;
(self.AMP=self.AMP||[]).push({m:1,v:"2608131752000",n:"amp-analytics",ev:"0.1",l:!0,f:function(t,i){(()=>{var i;function s(){return i||(i=Promise.resolve(void 0))}var e=class{constructor(){this.promise=new Promise(((t,i)=>{this.resolve=t,this.reject=i}))}},{isArray:n}=Array;function r(t,i){for(let s=0;s<t.length;s++)if(i(t[s],s,t))return s;return-1}function o(t,i){const s=t.length-i.length;return s>=0&&t.indexOf(i,s)==s}function h(t,i,s){const e=s||1;for(let s=0;s<e;s++){let s=0;if(t=t.replace(/\${([^{}]*)}/g,((t,e)=>(s++,i(e)))),!s)break}return t}var{hasOwnProperty:u,toString:c}=Object.prototype;function a(t){return"[object Object]"===c.call(t)}function l(t){const i=Object.create(null);return t&&Object.assign(i,t),i}function f(t,i){return u.call(t,i)}function d(t,i,s=10){const e=[],n=[];for(n.push({t:t,s:i,d:0});n.length>0;){const{d:t,s:i,t:r}=n.shift();if(e.includes(i))throw new Error("Source object has a circular reference.");if(e.push(i),r!==i)if(t>s)Object.assign(r,i);else for(const s of Object.keys(i)){const e=i[s];if(f(r,s)){const i=r[s];if(a(e)&&a(i)){n.push({t:i,s:e,d:t+1});continue}}r[s]=e}}return t}function _(t){return"number"==typeof t&&isFinite(t)}function m(t,i,s,e,n,r,o,h,u,c,a){return t}function A(t){return JSON.parse(t)}function P(t,i){try{return A(t)}catch(t){return null==i||i(t),null}}function p(t){return(t.ownerDocument||t).defaultView}function T(t,i){return t.replace(/^|,/g,`$&${i} `)}function E(t,i){return t.closest(i)}function g(t,i,s){return function(t,i){for(const s in i)t.setAttribute(s,i[s]);return t}(t.createElement(i),s)}function I(t,i,s){const e=i||(t=>t),{dataset:n}=t,r={},o=s||/^param(.+)/;for(const t in n){const i=t.match(o);i&&(r[e(i[1][0].toLowerCase()+i[1].substr(1))]=n[t])}return r}function v(t){return t.parent&&t.parent!=t}function R(t){const i=Object.getOwnPropertyDescriptor(t,"message");if(null!=i&&i.writable)return t;const{message:s,stack:e}=t,n=new Error(s);for(const i in t)n[i]=t[i];return n.stack=e,n}function M(t){let i=null,s="";for(const t of arguments)t instanceof Error&&!i?i=R(t):(s&&(s+=" "),s+=t);return i?s&&(i.message=s+": "+i.message):i=new Error(s),i}function b(t){var i,s;null===(i=(s=self).__AMP_REPORT_ERROR)||void 0===i||i.call(s,t)}function S(t){const i=M.apply(null,arguments);setTimeout((()=>{throw b(i),i}))}var y=/(?:^[#?]?|&)([^=&]+)(?:=([^&]*))?/g;function w(t,i=""){try{return decodeURIComponent(t)}catch(t){return i}}function O(t){const i=l();if(!t)return i;let s;for(;s=y.exec(t);){const t=w(s[1],s[1]),e=s[2]?w(s[2].replace(/\+/g," "),s[2]):"";i[t]=e}return i}function V(t){const{location:i}=t||self;return O(i.originalHash||i.hash)}var N="";function C(t){const i=t||self;return i.__AMP_MODE?i.__AMP_MODE:i.__AMP_MODE=function(t){return{localDev:!1,development:L(t,V(t)),esm:!0,test:!1,rtvVersion:k(t),ssrReady:!1}}(i)}function k(t){var i;return N||(N=(null===(i=t.AMP_CONFIG)||void 0===i?void 0:i.v)||"012608131752000"),N}function L(t,i){const s=i||V(t);return["1","actions","amp","amp4ads","amp4email"].includes(s.development)||!!t.AMP_DEV_MODE}var D=(()=>self.AMP.config.urls)();self.__AMP_LOG=self.__AMP_LOG||{user:null,dev:null,userForEmbed:null};var x=self.__AMP_LOG;function U(t,i){throw new Error("failed to call initLogConstructor")}function H(t){return x.user||(x.user=j()),function(t,i){return i&&i.ownerDocument.defaultView!=t}(x.user.win,t)?x.userForEmbed||(x.userForEmbed=j()):x.user}function j(t){return U()}function F(){return x.dev||(x.dev=U())}function q(t,i,s,e,n,r,o,h,u,c,a){return t}function $(t,i,s,e,n,r,o,h,u,c,a){return H().assert(t,i,s,e,n,r,o,h,u,c,a)}function B(t,i){return Q(t=K(t),i)}function G(t,i){return Q(Z(J(t)),i)}function W(t,i){const s=Z(J(t));return et(s,i)?Q(s,i):null}function z(t,i){return function(t,i){const s=it(t,i);if(s)return s;const n=st(t);return n[i]=function(){const t=new e,{promise:i,reject:s,resolve:n}=t;return i.catch((()=>{})),{obj:null,promise:i,resolve:n,reject:s,context:null,ctor:null}}(),n[i].promise}(Z(t),i)}function Y(t,i){return it(Z(t),i)}function K(t){return t.__AMP_TOP||(t.__AMP_TOP=t)}function X(t,i){const s=(t.ownerDocument||t).defaultView,e=i||K(s);if(s&&s!=e&&K(s)==e)try{return s.frameElement}catch(t){}return null}function J(t){return t.nodeType?(i=p(t),B(i,"ampdoc")).getAmpDoc(t):t;var i}function Z(t){const i=J(t);return i.isSingleDoc()?i.win:i}function Q(t,i){q(et(t,i));const s=st(t)[i];return s.obj||(q(s.ctor),q(s.context),s.obj=new s.ctor(s.context),q(s.obj),s.context=null,s.resolve&&s.resolve(s.obj)),s.obj}function tt(t,i,s,e,n,r){const o=st(t);let h=o[s];h||(h=o[s]={obj:null,promise:null,resolve:null,reject:null,context:null,ctor:null,sharedInstance:r||!1}),!n&&h.ctor||(h.ctor=e,h.context=i,h.sharedInstance=r||!1,h.resolve&&Q(t,s))}function it(t,i){const s=st(t)[i];return s?s.promise?s.promise:(Q(t,i),s.promise=Promise.resolve(s.obj)):null}function st(t){let i=t.__AMP_SERVICES;return i||(i=t.__AMP_SERVICES={}),i}function et(t,i){const s=t.__AMP_SERVICES&&t.__AMP_SERVICES[i];return!(!s||!s.ctor)}function nt(t,i,s,e){const n=Y(t,i);if(n)return n;const r=J(t);return r.whenExtensionsKnown().then((()=>{const t=r.getExtensionVersion(s);return t?B(r.win,"extensions").waitForExtension(s,t):null})).then((s=>s?e?Y(t,i):z(t,i):null))}var rt,ot=t=>J(t),ht=t=>B(t,"crypto"),ut=t=>B(t,"performance"),ct=t=>B(t,"preconnect"),at=t=>Q(t,"timer"),lt=t=>W(t,"url-replace"),ft=t=>nt(t,"consentPolicyManager","amp-consent"),dt=t=>W(t,"url"),_t=t=>G(t,"viewport"),mt=t=>B(t,"xhr");function At(t,i,s,e){let n=t,r=s,o=t=>{try{return r(t)}catch(t){var i,s;throw null===(i=(s=self).__AMP_REPORT_ERROR)||void 0===i||i.call(s,t),t}};const h=function(){if(void 0!==rt)return rt;rt=!1;try{const t={get capture(){return rt=!0,!1}};self.addEventListener("test-options",null,t),self.removeEventListener("test-options",null,t)}catch(t){}return rt}(),u=!(null==e||!e.capture);return n.addEventListener(i,o,h?e:u),()=>{null==n||n.removeEventListener(i,o,h?e:u),r=null,n=null,o=null}}function Pt(t,i,s,e){return At(t,i,s,e)}function pt(t){return t.data}function Tt(t,i,s,e){let n=s;const r=At(t,i,(t=>{try{n(t)}finally{n=null,r()}}),e);return r}function Et(t){return"AUDIO"===t.tagName||"VIDEO"===t.tagName}var gt="active";function It(t,i){let s=0;return t.type===gt&&(s=5),Math.min(i-t.time,s)}var vt=["mousedown","mouseup","mousemove","keydown","keyup"],Rt=["mouseleave"];function Mt(t,i,s){return i in t?Object.defineProperty(t,i,{value:s,enumerable:!0,configurable:!0,writable:!0}):t[i]=s,t}function bt(t,i){var s=Object.keys(t);if(Object.getOwnPropertySymbols){var e=Object.getOwnPropertySymbols(t);i&&(e=e.filter((function(i){return Object.getOwnPropertyDescriptor(t,i).enumerable}))),s.push.apply(s,e)}return s}function St(t){for(var i=1;i<arguments.length;i++){var s=null!=arguments[i]?arguments[i]:{};i%2?bt(Object(s),!0).forEach((function(i){Mt(t,i,s[i])})):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(s)):bt(Object(s)).forEach((function(i){Object.defineProperty(t,i,Object.getOwnPropertyDescriptor(s,i))}))}return t}var yt="__AMP__EXPERIMENT_TOGGLES",wt=JSON.parse('{"transport":{"beacon":true,"xhrpost":true,"image":true},"vars":{"accessReaderId":"ACCESS_READER_ID","ampGeo":"AMP_GEO","ampState":"AMP_STATE","ampVersion":"AMP_VERSION","ampdocHost":"AMPDOC_HOST","ampdocHostname":"AMPDOC_HOSTNAME","ampdocMeta":"AMPDOC_META","ampdocUrl":"AMPDOC_URL","authdata":"AUTHDATA","availableScreenHeight":"AVAILABLE_SCREEN_HEIGHT","availableScreenWidth":"AVAILABLE_SCREEN_WIDTH","backgroundState":"BACKGROUND_STATE","browserLanguage":"BROWSER_LANGUAGE","canonicalHost":"CANONICAL_HOST","canonicalHostname":"CANONICAL_HOSTNAME","canonicalPath":"CANONICAL_PATH","canonicalUrl":"CANONICAL_URL","clientId":"CLIENT_ID","consentState":"CONSENT_STATE","consentString":"CONSENT_STRING","contentLoadTime":"CONTENT_LOAD_TIME","cookie":"COOKIE","counter":"COUNTER","cumulativeLayoutShift":"CUMULATIVE_LAYOUT_SHIFT","documentCharset":"DOCUMENT_CHARSET","documentReferrer":"DOCUMENT_REFERRER","domInteractiveTime":"DOM_INTERACTIVE_TIME","domainLookupTime":"DOMAIN_LOOKUP_TIME","experimentBranches":"EXPERIMENT_BRANCHES","externalReferrer":"EXTERNAL_REFERRER","firstContentfulPaint":"FIRST_CONTENTFUL_PAINT","firstInputDelay":"FIRST_INPUT_DELAY","firstViewportReady":"FIRST_VIEWPORT_READY","fragmentParam":"FRAGMENT_PARAM","htmlAttr":"HTML_ATTR","incrementalEngagedTime":"INCREMENTAL_ENGAGED_TIME","interactionToNextPaint":"INTERACTION_TO_NEXT_PAINT","largestContentfulPaint":"LARGEST_CONTENTFUL_PAINT","makeBodyVisible":"MAKE_BODY_VISIBLE","navRedirectCount":"NAV_REDIRECT_COUNT","navTiming":"NAV_TIMING","navType":"NAV_TYPE","pageDownloadTime":"PAGE_DOWNLOAD_TIME","pageLoadTime":"PAGE_LOAD_TIME","pageViewId":"PAGE_VIEW_ID","pageViewId64":"PAGE_VIEW_ID_64","queryParam":"QUERY_PARAM","random":"RANDOM","redirectTime":"REDIRECT_TIME","resourceTiming":"RESOURCE_TIMING","screenColorDepth":"SCREEN_COLOR_DEPTH","screenHeight":"SCREEN_HEIGHT","screenWidth":"SCREEN_WIDTH","scrollHeight":"SCROLL_HEIGHT","scrollLeft":"SCROLL_LEFT","scrollTop":"SCROLL_TOP","scrollWidth":"SCROLL_WIDTH","sessionId":"SESSION_ID","sessionCount":"SESSION_COUNT","sessionEngaged":"SESSION_ENGAGED","sessionEventTimestamp":"SESSION_EVENT_TIMESTAMP","sessionTimestamp":"SESSION_TIMESTAMP","serverResponseTime":"SERVER_RESPONSE_TIME","sourceHost":"SOURCE_HOST","sourceHostname":"SOURCE_HOSTNAME","sourcePath":"SOURCE_PATH","sourceUrl":"SOURCE_URL","tcpConnectTime":"TCP_CONNECT_TIME","timestamp":"TIMESTAMP","timezone":"TIMEZONE","timezoneCode":"TIMEZONE_CODE","title":"TITLE","totalEngagedTime":"TOTAL_ENGAGED_TIME","uach":"UACH","userAgent":"USER_AGENT","viewer":"VIEWER","viewportHeight":"VIEWPORT_HEIGHT","viewportWidth":"VIEWPORT_WIDTH"}}');function Ot(t){return"undefined"!=typeof TextEncoder?(new TextEncoder).encode(t):Vt(unescape(encodeURIComponent(t)))}function Vt(t){const i=new Uint8Array(t.length);for(let s=0;s<t.length;s++){const e=t.charCodeAt(s);m(e<=255),i[s]=e}return i}function Nt(t){const i=new Array(t.length);for(let s=0;s<t.length;s++)i[s]=String.fromCharCode(t[s]);return i.join("")}var Ct={"-":"+","_":"/",".":"="},kt={"+":"-","/":"_","=":"."};function Lt(t){return function(t){const i=Nt(t);return btoa(i).replace(/[+/=]/g,(t=>kt[t]))}(Ot(t))}var Dt,xt=(()=>self.AMP.config.urls)(),Ut=new Set(["c","v","a","ad"]),Ht=t=>"string"==typeof t?jt(t):t;function jt(t,i){return Dt||(Dt=self.document.createElement("a")),function(t,i,s){return t.href="",new URL(i,t.href)}(Dt,t)}function Ft(t,i,s){if(!i)return t;const e=t.split("#",2),n=e[0].split("?",2);let r=n[0]+(n[1]?s?`?${i}&${n[1]}`:`?${n[1]}&${i}`:`?${i}`);return r+=e[1]?`#${e[1]}`:"",r}function qt(t,i){return`${encodeURIComponent(t)}=${encodeURIComponent(i)}`}function $t(t){const i=[];for(const e in t){let r=t[e];if(null!=r){r=n(s=r)?s:[s];for(let t=0;t<r.length;t++)i.push(qt(e,r[t]))}}var s;return i.join("&")}function Bt(t,i,s="source"){var e;return $(null!=t,"%s %s must be available",i,s),$("https:"==(e=Ht(e=t)).protocol||"localhost"==e.hostname||"127.0.0.1"==e.hostname||o(e.hostname,".localhost")||/^\/\//.test(t),'%s %s must start with "https://" or "//" or be relative and served from either https or from localhost. Invalid value: %s',i,s,t),t}function Gt(t){return xt.cdnProxyRegex.test(Ht(t).origin)}function Wt(t,i){if(!t||"?"==t)return"";const s=new RegExp(`[?&]${i}\\b[^&]*`,"g"),e=t.replace(s,"").replace(/^[?&]/,"");return e?"?"+e:""}var zt,Yt=(()=>self.AMP.config.urls)(),Kt="-test-amp-cookie-tmp",Xt="None";function Jt(t,i){const s=function(t){try{return t.document.cookie}catch(t){return""}}(t);if(!s)return null;const e=s.split(";");for(let t=0;t<e.length;t++){const s=e[t].trim(),n=s.indexOf("=");if(-1!=n&&w(s.substring(0,n).trim())==i){const t=s.substring(n+1).trim();return w(t,t)}}return null}function Zt(t){const i=t.document.head&&t.document.head.querySelector("meta[name='amp-cookie-scope']");if(i){const s=i.getAttribute("content")||"",e=jt(function(t){if(!Gt(t=Ht(t)))return t.href;const i=t.pathname.split("/"),s=i[1];$(Ut.has(s),"Unknown path prefix in url %s",t.href);const e=i[2],n="s"==e?"https://"+decodeURIComponent(i[3]):"http://"+decodeURIComponent(e);return $(n.indexOf(".")>0,"Expected a . in origin %s",n),i.splice(1,"s"==e?3:2),n+i.join("/")+Wt(t.search,"(amp_(js[^&=]*|gsa|r|kit)|usqp)")+(t.hash||"")}(t.location.href)).origin;return o(e,"."+s)?s:e.split("://")[1]}if(!Gt(t.location.href)){const i=t.location.hostname.split(".");let s=i[i.length-1];const e=function(t){let i=Kt,s=0;for(;Jt(t,i);)i=Kt+s++;return i}(t);for(let n=i.length-2;n>=0;n--)if(s=i[n]+"."+s,Qt(t,e,"delete",Date.now()+1e3,s),"delete"==Jt(t,e))return Qt(t,e,"delete",Date.now()-1e3,s),s}return null}function Qt(t,i,s,e,n,r,o){"ampproject.org"==n&&(s="delete",e=0);const h=encodeURIComponent(i)+"="+encodeURIComponent(s)+"; path=/"+(n?"; domain="+n:"")+"; expires="+new Date(e).toUTCString()+function(t,i){return i?`; SameSite=${i}`:""}(0,r)+(o?"; Secure":"");try{t.document.cookie=h}catch(t){}}function ti(t){return"string"==typeof t&&t.startsWith("amp-")&&-1!=t.indexOf("{")}var ii=["Webkit","webkit","Moz","moz","ms","O","o"],si={"getPropertyPriority":()=>"","getPropertyValue":()=>""};function ei(t,i,s){if(i.startsWith("--"))return i;zt||(zt=l());let e=zt[i];if(!e||s){if(e=i,void 0===t[i]){const s=function(t){return t.charAt(0).toUpperCase()+t.slice(1)}(i),n=function(t,i){for(let s=0;s<ii.length;s++){const e=ii[s]+i;if(void 0!==t[e])return e}return""}(t,s);void 0!==t[n]&&(e=n)}s||(zt[i]=e)}return e}function ni(t,i,s,e,n){const r=ei(t.style,i,n);if(!r)return;const o=e?s+e:s;t.style.setProperty(function(t){const i=t.replace(/[A-Z]/g,(t=>"-"+t.toLowerCase()));return ii.some((t=>i.startsWith(t+"-")))?`-${i}`:i}(r),o)}function ri(t,i){void 0===i&&(i=t.hasAttribute("hidden")),i?t.removeAttribute("hidden"):t.setAttribute("hidden","")}var oi="unlisten";function hi(t,i,s){const e=function(t,i){let{listeningFors:s}=t;return!s&&i&&(s=t.listeningFors=Object.create(null)),s||null}(t,s);if(!e)return e;let n=e[i];return!n&&s&&(n=e[i]=[]),n||null}function ui(t,i){for(let s=i;s&&s!=s.parent;s=s.parent)if(s==t)return!0;return!1}function ci(t){const i={"sentinel":oi};for(let s=t.length-1;s>=0;s--){const e=t[s];if(!e.frame.contentWindow){t.splice(s,1);const{events:n}=e;for(const t in n)n[t].splice(0,1/0).forEach((t=>{t(i)}))}}}function ai(t,i){return i?t.getAttribute("data-amp-3p-sentinel"):"amp"}function li(t){return t.__AMP_EMBED__}function fi(t){return t.classList.contains("i-amphtml-fie")||!!E(t,".i-amphtml-fie")}function di(t,i){return!(fi(i)||Gt(t.location)||"inabox"==C(t).runtime)}var _i=class{static getTop(t){return t.top}static getLocation(t){return t.location}static getDocumentReferrer(t){return t.document.referrer}static getHostname(t){return t.location.hostname}static getUserAgent(t){return t.navigator.userAgent}static getUserLanguage(t){return t.navigator.userLanguage||t.navigator.language}static getDevicePixelRatio(){return self.devicePixelRatio||1}static getSendBeacon(t){if(t.navigator.sendBeacon)return t.navigator.sendBeacon.bind(t.navigator)}static getXMLHttpRequest(t){return t.XMLHttpRequest}static getImage(t){return t.Image}},mi=null,Ai="*",Pi=/^[a-zA-Z0-9\-_.]+$/,pi="amp-analytics/linker";function Ti(t,i){const s=(e=i)?Object.keys(e).filter((t=>{const i=Pi.test(t);return i||H().error(pi,"Invalid linker key: "+t),i})).map((t=>{return t+Ai+(i=e[t],Lt(String(i)));var i})).join(Ai):"";var e;return""===s?"":[t,Ei(s),s].join(Ai)}function Ei(t,i){const s=i||0;return function(t){mi||(mi=function(){const t=new Array(256);for(let i=0;i<256;i++){let s=i;for(let t=0;t<8;t++)1&s?s=s>>>1^3988292384:s>>>=1;t[i]=s}return t}());const i=Ot(t);let s=-1>>>0;for(let t=0;t<i.length;t++){const e=255&(s^i[t]);s=s>>>8^mi[e]}return(-1^s)>>>0}([function(){const t=(new Date).getTimezoneOffset(),i=_i.getUserLanguage(window);return[_i.getUserAgent(window),t,i].join(Ai)}(),Math.floor(Date.now()/6e4)-s,t].join(Ai)).toString(36)}function gi(t){return function(t){const i=function(t){return Vt(atob(t.replace(/[-_.]/g,(t=>Ct[t]))))}(t);return function(t){if("undefined"!=typeof TextDecoder)return new TextDecoder("utf-8").decode(t);const i=Nt(new Uint8Array(t.buffer||t));return decodeURIComponent(escape(i))}(i)}(String(t))}var Ii="visible",vi="amp-analytics/session-manager",Ri="sessionId",Mi="creationTimestamp",bi="accessTimestamp",Si="engaged",yi="eventTimestamp",wi="count";function Oi(t){return t.accessTimestamp+18e5<Date.now()}function Vi(t){return"amp-session:"+t}function Ni(t,i=1){return{[Ri]:Math.round(1e4*Math.random()),[Mi]:Date.now(),[bi]:Date.now(),[wi]:i,[yi]:void 0,[Si]:t}}function Ci(t){return z(t,"amp-analytics-session")}function ki(t,i="default"){return ft(t).then((t=>t?t.getConsentStringInfo(i):null))}var Li="amp-analytics/variables",Di=/^(?:([^\s]*)(\([^)]*\))|[^]+)$/,xi={1:"sufficient",2:"insufficient",3:"not_required",4:"unknown"},Ui=class{constructor(t,i,s){this.vars=t,this.iterations=void 0===i?2:i,this.noEncode=!!s,this.freezeVars={}}freezeVar(t){this.freezeVars[t]=!0}getVar(t){let i=this.vars[t];return null==i&&(i=""),i}};function Hi(t,i,s){const e=Number(i);let{length:n}=t;return $(_(e),"Start index "+e+"in substr macro should be a number"),s&&(n=Number(s),$(_(n),"Length "+n+" in substr macro should be a number")),t.substr(e,n)}function ji(t,i){return t&&t.length?t:i}function Fi(t,i,s){s||(s="");const e=new RegExp(i,"g");return t.replace(e,s)}function qi(t,i,s){let e=0;s&&(e=parseInt(s,10),(0!=e&&!e||e<0)&&(H().error(Li,"Third argument in MATCH macro must be a number >= 0"),e=0));const n=new RegExp(i),r=t.match(n);return r&&r[e]?r[e]:""}function $i(t,i,s,e){const n=Number(t),r=Number(i);$(!isNaN(n),"CALC macro - left operand must be a number"),$(!isNaN(r),"CALC macro - right operand must be a number");let o=0;switch(s){case"add":o=n+r;break;case"subtract":o=n-r;break;case"multiply":o=n*r;break;case"divide":$(r,"CALC macro - cannot divide by 0"),o=n/r;break;default:H().error(Li,"CALC macro - Invalid operation")}return Ki(e)?Math.round(o):o}function Bi(t){if(null==t)return"";if(n(t))return t.map(Bi).join(",");const{argList:i,name:s}=Gi(String(t));return encodeURIComponent(s)+i}function Gi(t){if(!t)return{name:"",argList:""};const i=t.match(Di);return $(i,"Variable with invalid format found: "+t),{name:i[1]||i[0],argList:i[2]||""}}function Wi(t){return G(t,"amp-analytics-variables")}function zi(t){return z(t,"amp-analytics-variables")}function Yi(t){return function(t,i="default"){return ft(t).then((t=>t?t.whenPolicyResolved(i):null))}(t).then((t=>t?xi[t]:null))}function Ki(t){return"false"!==t&&""!==t&&"0"!==t&&"null"!==t&&"NaN"!==t&&"undefined"!==t}var Xi="amp-analytics/config";function Ji(t,i,s){null==i&&(i={}),$(s||!t||!t.optout||"_gaUserPrefs.ioo"==t.optout||"__gaOptOutExtension"==t.optoutElementId,"optout property is only available to vendor config.");for(const e in t)$(s||"iframePing"!=e,"iframePing config is only available to vendor config."),f(t,e)&&(n(t[e])?(n(i[e])||(i[e]=[]),i[e]=Ji(t[e],i[e],s)):a(t[e])?(a(i[e])||(i[e]={}),i[e]=Ji(t[e],i[e],s)):i[e]=t[e]);return i}function Zi(t){if(!t.requests)return t;for(const s in t.requests)f(t.requests,s)&&(t.requests[s]=a(i=t.requests[s])?i:{"baseUrl":i});var i;return function(t){if(f(t,"requests")&&f(t,"requestOrigin")){const i=t.requestOrigin;for(const s in t.requests)f(t.requests[s],"origin")||(t.requests[s].origin=i)}return t}(t)}var Qi=31536e6,ts=!1,is=/nochunking=1/.test(self.location.hash),ss=s();function es(t,i,s){is?ss.then(i):function(t){return function(t,i,s,e){const n=J(t);tt(Z(n),n,"chunk",s)}(t,0,hs),G(t,"chunk")}(t).run(i,s)}var ns="not_run",rs=class{constructor(t){this.state=ns,this.$i=t}Fi(t){if("run"!=this.state){this.state="run";try{this.$i(t)}catch(t){throw this.Bi(t),t}}}Hi(){return this.$i.displayName||this.$i.name}Bi(t){}ji(){return!1}zi(){return!1}},os=class extends rs{constructor(t,i,s){super(t),this.Gi=s}Bi(t){var i;q((i=self.document).defaultView),ts||(ts=!0,function(t){!function(t,i){for(const s in i)ni(t,s,i[s])}(t.body,{opacity:1,visibility:"visible","animation":"none"})}(i))}ji(){return this.qi()}zi(){return this.Gi.Wi}qi(){return this.Gi.ampdoc.isVisible()}},hs=class{constructor(t){var i;this.ampdoc=t,this.i=t.win,this.Ki=new class{constructor(){this.Di=[]}peek(){const t=this.length;return t?this.Di[t-1].item:null}enqueue(t,i){if(isNaN(i))throw new Error("Priority must not be NaN.");const s=this.Li(i);this.Di.splice(s,0,{item:t,priority:i})}Li(t){let i=-1,s=0,e=this.length;for(;s<=e&&(i=Math.floor((s+e)/2),i!==this.length);)if(this.Di[i].priority<t)s=i+1;else{if(!(i>0&&this.Di[i-1].priority>=t))break;e=i-1}return i}forEach(t){let i=this.length;for(;i--;)t(this.Di[i].item)}dequeue(){const t=this.Di.pop();return t?t.item:null}get length(){return this.Di.length}},this.Yi=this.Ji.bind(this),this.Qi=0,this.Xi=!(!this.i.navigator.scheduling||!this.i.navigator.scheduling.isInputPending),this.Zi=!1,this.Ui=this.i.document.documentElement.hasAttribute("i-amphtml-no-boilerplate"),this.i.addEventListener("message",(t=>{"amp-macro-task"==pt(t)&&this.Ji(null)})),this.Wi=!1,(i=t,z(i,"viewer")).then((()=>{this.Wi=!0})),t.onVisibilityChanged((()=>{t.isVisible()&&this.ts()}))}run(t,i){const s=new rs(t);this.ss(s,i)}runForStartup(t){const i=new os(t,this.i,this);this.ss(i,Number.POSITIVE_INFINITY)}ss(t,i){this.Ki.enqueue(t,i),this.ts()}es(t){let i=this.Ki.peek();for(;i&&i.state!==ns;)this.Ki.dequeue(),i=this.Ki.peek();return i&&t&&this.Ki.dequeue(),i}Ji(t){const i=this.es(!0);if(!i)return this.Zi=!1,this.Qi=0,!1;let s;try{s=Date.now(),i.Fi(t)}finally{ss.then().then().then().then().then().then().then().then().then((()=>{this.Zi=!1,this.Qi+=Date.now()-s,this.ts()}))}return!0}ns(t){if(this.Ui&&(this.Xi?this.i.navigator.scheduling.isInputPending():this.Qi>5))return this.Qi=0,void this.rs();ss.then((()=>{this.Yi(t)}))}ts(){if(this.Zi)return;const t=this.es();return t?t.ji()?(this.Zi=!0,void this.ns(null)):void(t.zi()&&this.i.requestIdleCallback?function(t,i,s,e){const n=Date.now();t.requestIdleCallback((function i(s){if(s.timeRemaining()<15){const r=2e3-(Date.now()-n);r<=0||s.didTimeout?e(s):t.requestIdleCallback(i,{timeout:r})}else e(s)}),{timeout:2e3})}(this.i,0,0,this.Yi):this.rs()):void 0}rs(){this.i.postMessage("amp-macro-task","*")}},us="amp-analytics/cookie-writer",cs={"referrerDomains":!0,"enabled":!0,"cookiePath":!0,"cookieMaxAge":!0,"cookieSecure":!0,"cookieDomain":!0,"sameSite":!0,"SameSite":!0,"secure":!0},as=class{constructor(){this.At=null}add(t){return this.At||(this.At=[]),this.At.push(t),()=>{this.remove(t)}}remove(t){this.At&&function(t,i){const s=t.indexOf(i);-1!=s&&t.splice(s,1)}(this.At,t)}removeAll(){this.At&&(this.At.length=0)}fire(t){if(this.At)for(const i of this.At.slice())i(t)}getHandlerCount(){var t,i;return null!==(t=null===(i=this.At)||void 0===i?void 0:i.length)&&void 0!==t?t:0}},ls="video-session-visible",fs="video-seconds-played",ds=["video-ended","video-pause","video-play","video-session","video-session-visible","video-seconds-played","video-hosted-custom","video-percentage-played","video-ad-start","video-ad-end"],_s=/^vars(.+)/,ms=function(){},As="amp-analytics/events",Ps="click",ps="browser-event",Ts="custom",Es="hidden",gs="ini-load",Is="render-start",vs="scroll",Rs="story",Ms="timer",bs="video",Ss="visible",ys=["ampdoc","embed"],ws=Object.freeze({[Ps]:{name:Ps,allowedFor:ys.concat(["timer"]),klass:function(t){return new Us(t)}},[ps]:{name:ps,allowedFor:ys.concat(["timer"]),klass:function(t){return new Ls(t)}},[Ts]:{name:Ts,allowedFor:ys.concat(["timer"]),klass:function(t){return new Ds(t)}},[Es]:{name:Ss,allowedFor:ys.concat(["timer"]),klass:function(t){return new Bs(t)}},[gs]:{name:gs,allowedFor:ys.concat(["timer","visible"]),klass:function(t){return new Fs(t)}},[Is]:{name:Is,allowedFor:ys.concat(["timer","visible"]),klass:function(t){return new js(t)}},[vs]:{name:vs,allowedFor:ys.concat(["timer"]),klass:function(t){return new Hs(t)}},[Rs]:{name:Rs,allowedFor:ys,klass:function(t){return new xs(t)}},[Ms]:{name:Ms,allowedFor:ys,klass:function(t){return new qs(t)}},[bs]:{name:bs,allowedFor:ys.concat(["timer"]),klass:function(t){return new $s(t)}},[Ss]:{name:Ss,allowedFor:ys.concat(["timer"]),klass:function(t){return new Bs(t)}}});function Os(t){$(!n(t)||new Set(t).size===t.length,"Cannot have duplicate selectors in selectors list: %s",t)}function Vs(t){return t.startsWith("video")?bs:"blur"===(i=t)||"change"===i?ps:t.startsWith("story")?Rs:function(t){return"click"===(i=t)||"browser-event"===i||"custom"===i||"hidden"===i||"ini-load"===i||"render-start"===i||"scroll"===i||"story"===i||"timer"===i||"video"===i||"visible"===i;var i}(t)?f(ws,t)?ws[t].name:t:Ts;var i}function Ns(t){const i={};return Object.keys(ws).forEach((s=>{f(ws,s)&&-1!=ws[s].allowedFor.indexOf(t)&&(i[s]=ws[s].klass)})),i}var Cs=class{constructor(t,i,s={},e=!0){this.target=t,this.type=i,this.vars=e?function(t,i){const s=I(t,void 0,_s);return d(s,i,0),s}(t,s):s}},ks=class{constructor(t){this.root=t}dispose(){}add(t,i,s,e){}},Ls=class extends ks{constructor(t){super(t),this.HAt=new as,this.qAt={},this.BAt=this.HAt.fire.bind(this.HAt),this.WAt=function(t,i,s){let e=0,n=0,r=null;function o(){e=0;const s=500-(t.Date.now()-n);var h;s>0?e=t.setTimeout(o,s):(h=r,r=null,i.apply(null,h))}return function(...i){n=t.Date.now(),r=i,e||(e=t.setTimeout(o,500))}}(this.root.ampdoc.win,this.BAt)}dispose(){const t=this.root.getRoot();Object.keys(this.qAt).forEach((i=>{t.removeEventListener(i,this.WAt)})),this.BAt=null,this.HAt=null}add(t,i,s,e){$(function(t,i){const s=function(t){var i,s,e,r,o;if(t[yt])return t[yt];t[yt]=l();const h=t[yt];m(h);const u=St(St({},null!==(i=t.AMP_CONFIG)&&void 0!==i?i:{}),null!==(s=t.AMP_EXP)&&void 0!==s?s:A((null===(e=t.__AMP_EXP)||void 0===e?void 0:e.textContent)||"{}"));for(const t in u){const i=u[t];"number"==typeof i&&i>=0&&i<=1&&(h[t]=Math.random()<i)}const c=null===(r=t.AMP_CONFIG)||void 0===r?void 0:r["allow-doc-opt-in"];if(n(c)&&c.length){const i=t.document.head.querySelector('meta[name="amp-experiments-opt-in"]');if(i){var a;const t=(null===(a=i.getAttribute("content"))||void 0===a?void 0:a.split(","))||[];for(const i of t)c.includes(i)&&(h[i]=!0)}}Object.assign(h,function(t){var i;let s="";try{var e;"localStorage"in t&&(s=null!==(e=t.localStorage.getItem("amp-experiment-toggles"))&&void 0!==e?e:"")}catch(t){}const n=(null===(i=s)||void 0===i?void 0:i.split(/\s*,\s*/g))||[],r=l();for(const t of n)t&&("-"==t[0]?r[t.substr(1)]=!1:r[t]=!0);return r}(t));const f=null===(o=t.AMP_CONFIG)||void 0===o?void 0:o["allow-url-opt-in"];if(n(f)&&f.length){const i=O(t.location.originalHash||t.location.hash);for(const t of f){const s=i[`e-${t}`];"1"==s&&(h[t]=!0),"0"==s&&(h[t]=!1)}}return h}(t);return!!s["analytics-browser-events"]}(this.root.ampdoc.win),'expected global "analytics-browser-events" experiment to be enabled');const{"on":r,"selectionMethod":o=null,"selector":h}=s;$(null==h?void 0:h.length,"Missing required selector on browser event trigger"),Os(h);const u=this.root.getElements(t,h,o,!1);return this.qAt[r]||(this.root.getRootElement().addEventListener(r,this.WAt,!0),this.qAt[r]=!0),this.HAt.add((t=>{t.type===r&&u.then((i=>{i.forEach((i=>{const s=t.target;i.contains(s)&&e(new Cs(i,r,{}))}))}))}))}},Ds=class extends ks{constructor(t){super(t),this.HAt={},this.YAt={},this.XAt={},setTimeout((()=>{this.YAt=void 0}),1e4)}dispose(){this.YAt=void 0,this.XAt=void 0;for(const t in this.HAt)this.HAt[t].removeAll()}add(t,i,s,e){let n=s.selector;n||(n=":root");const r=s.selectionMethod||null,o=this.root.getElement(t,n,r),h=i.startsWith("sandbox-"),u=h?this.XAt&&this.XAt[i]:this.YAt&&this.YAt[i];if(u){const t=u.length;o.then((s=>{setTimeout((()=>{for(let i=0;i<t;i++){const t=u[i];s.contains(t.target)&&e(t)}h&&(this.XAt[i]=void 0)}),1)}))}let c=this.HAt[i];return c||(c=new as,this.HAt[i]=c),this.HAt[i].add((t=>{o.then((i=>{i.contains(t.target)&&e(t)}))}))}trigger(t){const i=t.type,s=i.startsWith("sandbox-"),e=this.HAt[i];e&&(e.fire(t),s)||(s?(this.XAt[i]=this.XAt[i]||[],this.XAt[i].push(t)):this.YAt&&(this.YAt[i]=this.YAt[i]||[],this.YAt[i].push(t)))}},xs=class extends Ds{constructor(t){super(t)}add(t,i,s,e){const n=this.root.getRootElement(),r=this.YAt&&this.YAt[i];if(r){const t=r.length;for(let i=0;i<t;i++){const t=r[i];this.ZAt(t,n,s,e)}}let o=this.HAt[i];return o||(o=new as,this.HAt[i]=o),this.HAt[i].add((t=>{this.ZAt(t,n,s,e)}))}ZAt(t,i,s,e){const n=t.type,r=t.vars,o=s.storySpec||{},h=void 0===o.repeat||o.repeat,u=r.eventDetails,c=s.tagName;c&&u.tagName&&c.toLowerCase()!==u.tagName||!1===h&&u.repeated||e(new Cs(i,n,r))}trigger(t){const i=t.type,s=this.HAt[i];s&&s.fire(t),this.YAt&&(this.YAt[i]=this.YAt[i]||[],this.YAt[i].push(t))}},Us=class extends ks{constructor(t){super(t),this.QAt=new as,this.tPt=this.QAt.fire.bind(this.QAt),this.root.getRoot().addEventListener("click",this.tPt)}dispose(){this.root.getRoot().removeEventListener("click",this.tPt),this.QAt.removeAll()}add(t,i,s,e){const n=$(s.selector,"Missing required selector on click trigger"),r=s.selectionMethod||null;return this.QAt.add(this.root.createSelectiveListener(this.$c.bind(this,e),t.parentElement||t,n,r))}$c(t,i,s){t(new Cs(i,"click"))}},Hs=class extends ks{constructor(t){super(t),this.pu=t,this.iPt=null}dispose(){null!==this.iPt&&(this.pu.getScrollManager().removeScrollHandler(this.iPt),this.iPt=null)}add(t,i,s,e){if(!s.scrollSpec)return H().error(As,"Missing scrollSpec on scroll trigger."),ms;if(!Array.isArray(s.scrollSpec.verticalBoundaries)&&!Array.isArray(s.scrollSpec.horizontalBoundaries))return H().error(As,"Boundaries are required for the scroll trigger to work."),ms;const n=this.sPt(s.scrollSpec.verticalBoundaries),r=this.sPt(s.scrollSpec.horizontalBoundaries),o=!!s.scrollSpec.useInitialPageSize;return this.iPt=this.wf.bind(this,r,n,o,e),this.pu.getScrollManager().addScrollHandler(this.iPt)}wf(t,i,s,e,n){const{scrollHeight:r,scrollWidth:o}=s?n.initialSize:n;this.ePt(i,100*(n.top+n.height)/r,"verticalScrollBoundary",e),this.ePt(t,100*(n.left+n.width)/o,"horizontalScrollBoundary",e)}sPt(t){const i={};if(!t||!Array.isArray(t))return i;for(let s=0;s<t.length;s++){let e=t[s];if("number"!=typeof e||!isFinite(e))return H().error(As,"Scroll trigger boundaries must be finite."),i;e=Math.min(5*Math.round(e/5),100),i[e]=!1}return i}ePt(t,i,s,e){if(i)for(const n in t){if(!f(t,n))continue;const r=parseInt(n,10);if(r>i||t[r])continue;t[r]=!0;const o={};o[s]=n,e(new Cs(this.pu.getRootElement(),vs,o,!1))}}},js=class extends ks{constructor(t){super(t)}dispose(){}add(t,i,s,e){let n,r;const o=s.selector||":root";if(":root"==o||":host"==o)n=this.root.getRootElement(),r=this.getRootSignal(i);else{const e=s.selectionMethod;r=this.root.getAmpElement(t.parentElement||t,o,e).then((t=>(n=t,this.getElementSignal(i,n))))}return r.then((()=>{e(new Cs(n,i))})),ms}getRootSignal(t){return this.root.signals().whenSignal(t)}getElementSignal(t,i){return"function"!=typeof i.signals?s():i.signals().whenSignal(t)}},Fs=class extends ks{constructor(t){super(t)}dispose(){}add(t,i,s,e){let n,r;const o=s.selector||":root";if(":root"==o||":host"==o)n=this.root.getRootElement(),r=this.getRootSignal();else{const i=s.selectionMethod;r=this.root.getAmpElement(t.parentElement||t,o,i).then((t=>(n=t,this.getElementSignal("ini-load",n))))}return r.then((()=>{e(new Cs(n,i))})),ms}getRootSignal(){return this.root.whenIniLoaded()}getElementSignal(t,i){if("function"!=typeof i.signals)return s();const e=i.signals();return Promise.race([e.whenSignal("ini-load"),e.whenSignal("load-end")])}},qs=class extends ks{constructor(t){super(t),this.nPt={},this.rPt=1}getTrackedTimerKeys(){return Object.keys(this.nPt)}dispose(){this.getTrackedTimerKeys().forEach((t=>{this.oPt(t)}))}add(t,i,s,e){const n=s.timerSpec;$(n&&"object"==typeof n,"Bad timer specification");const r="startSpec"in n?n.startSpec:null;$(!r||"object"==typeof r,"Bad timer start specification");const o="stopSpec"in n?n.stopSpec:null;$(!r&&!o||"object"==typeof o,"Bad timer stop specification");const h=this.hPt();let u,c;if(r){const s=this.uPt(r);$(s,"Cannot track timer start"),u=s.add.bind(s,t,r.on,r,this.cPt.bind(this,h,i,e))}if(o){const s=this.uPt(o);$(s,"Cannot track timer stop"),c=s.add.bind(s,t,o.on,o,this.cPt.bind(this,h,i,e))}const a=new class{constructor(t,i,s){this.aPt=void 0,$("interval"in t,"Timer interval specification required"),this.lPt=Number(t.interval)||0,$(this.lPt>=.5,"Bad timer interval specification"),this.fPt="maxTimerLength"in t?Number(t.maxTimerLength):7200,$(this.fPt>0,"Bad maxTimerLength specification"),this.dPt="maxTimerLength"in t,this._Pt=!("immediate"in t)||Boolean(t.immediate),this.mPt=null,this.APt=null,this.PPt=null,this.pPt=i||null,this.TPt=s||null,this.zn=void 0,this.EPt=void 0}init(t){this.pPt?this.gPt():t()}dispose(){this.IPt(),this.vPt()}gPt(){this.pPt&&(this.APt=this.pPt())}vPt(){this.APt&&(this.APt(),this.APt=null)}RPt(){if(this.TPt)try{this.PPt=this.TPt()}catch(t){throw this.dispose(),t}}IPt(){this.PPt&&(this.PPt(),this.PPt=null)}isRunning(){return!!this.aPt}startIntervalInWindow(t,i,s){this.isRunning()||(this.zn=Date.now(),this.EPt=void 0,this.mPt=i,this.aPt=t.setInterval((()=>{i()}),1e3*this.lPt),(!this.TPt||this.TPt&&this.dPt)&&t.setTimeout((()=>{s()}),1e3*this.fPt),this.vPt(),this._Pt&&i(),this.RPt())}MPt(t){this.isRunning()&&(this.mPt(),this.mPt=null,t.clearInterval(this.aPt),this.aPt=void 0,this.EPt=void 0,this.IPt(),this.gPt())}bPt(){return this.zn?Date.now()-(this.EPt||this.zn):0}getTimerVars(){let t=0;return this.isRunning()&&(t=this.bPt(),this.EPt=Date.now()),{"timerDuration":t,"timerStart":this.zn||0}}}(n,u,c);return this.nPt[h]=a,a.init(this.SPt.bind(this,h,i,e)),()=>{this.oPt(h)}}hPt(){return++this.rPt}uPt(t){const i=Vs(H().assertString(t.on));return this.root.getTrackerForAllowlist(i,Ns("timer"))}cPt(t,i,s){const e=this.nPt[t];e&&(e.isRunning()?this.MPt(t):this.SPt(t,i,s))}SPt(t,i,s){this.nPt[t].startIntervalInWindow(this.root.ampdoc.win,(()=>{s(this.yPt(t,i))}),this.oPt.bind(this,t))}MPt(t){this.nPt[t].MPt(this.root.ampdoc.win)}yPt(t,i){return new Cs(this.root.getRootElement(),i,this.nPt[t].getTimerVars(),!1)}oPt(t){this.nPt[t]&&(this.MPt(t),this.nPt[t].dispose(),delete this.nPt[t])}},$s=class extends ks{constructor(t){super(t),this.wPt=new as,this.BAt=this.wPt.fire.bind(this.wPt),ds.forEach((t=>{this.root.getRoot().addEventListener(t,this.BAt)}))}dispose(){const t=this.root.getRoot();ds.forEach((i=>{t.removeEventListener(i,this.BAt)})),this.BAt=null,this.wPt=null}add(t,i,s,e){const n=s.videoSpec||{},r=$(s.selector||n.selector,"Missing required selector on video trigger");$(r.length,"Missing required selector on video trigger"),Os(r);const o=s.selectionMethod||null,h=this.root.getElements(t,r,o,!1),u=n["end-session-when-invisible"],c=n["exclude-autoplay"],a=n.interval,l=n.percentages,f=s.on;let d=0,m=0;return this.wPt.add((t=>{const{type:i}=t,s=pt(t),n=function(t,i){return t==ls?"video-session":"video-hosted-custom"==t?i["__amp:eventType"]:t}(i,s);if(n!==f)return;if(n===fs&&!a)return void H().error(As,"video-seconds-played requires interval spec with non-zero value");if(n===fs&&(d++,d%a!=0))return;if("video-percentage-played"===n){if(!l)return void H().error(As,"video-percentage-played requires percentages spec.");for(let t=0;t<l.length;t++){const i=l[t];if(i<=0||i%5!=0)return void H().error(As,"Percentages must be set in increments of %s with non-zero values",5)}const t=s.normalizedPercentage,i=parseInt(t,10);if(q(_(i)),q(i%5==0),m==i&&l.length>1)return;if(l.indexOf(i)<0)return;m=i}if(i===ls&&!u)return;if(c&&"playing_auto"===s.state)return;const r=t.target;h.then((t=>{t.forEach((t=>{if(!t.contains(r))return;const i=function(t){if(!t)return{};const i=St({},t);return delete i["__amp:eventType"],i}(s);e(new Cs(t,n,i))}))}))}))}},Bs=class extends ks{constructor(t){super(t),this.OPt={}}dispose(){}add(t,i,s,e){const n=s.visibilitySpec||{},r=s.selector||n.selector,o=n.waitFor;let h=n.reportWhen,u=null;h&&$(!n.repeat,"reportWhen and repeat are mutually exclusive."),i===Es&&(h&&H().error(As,'ReportWhen should not be defined when eventType is "hidden"'),h="documentHidden");const c=this.root.getVisibilityManager();if("documentHidden"==h?u=this.VPt.bind(this):"documentExit"==h?u=this.NPt.bind(this):$(!h,'reportWhen value "%s" not supported.',h),!r||":root"==r||":host"==r){const t=o||(r?"ini-load":"none");return c.listenRoot(n,this.getReadyPromise(t),u,this.CPt.bind(this,i,e,this.root.getRootElement()))}const a=s.selectionMethod||n.selectionMethod;Os(r);const l=this.root.getElements(t.parentElement||t,r,a).then((t=>{const s=[];for(let r=0;r<t.length;r++)s.push(c.listenElement(t[r],n,this.getReadyPromise(o,t[r]),u,this.CPt.bind(this,i,e,t[r])));return s}));return function(){l.then((t=>{for(let i=0;i<t.length;i++)t[i]()}))}}VPt(){const{ampdoc:t}=this.root;return t.isVisible()?new Promise((i=>{t.onVisibilityChanged((()=>{t.isVisible()||i()}))})):s()}NPt(){const t=new e,{win:i}=this.root.ampdoc;let s,n;return this.kPt()||i.addEventListener("unload",s=()=>{i.removeEventListener("unload",s),t.resolve()}),i.addEventListener("pagehide",n=()=>{i.removeEventListener("pagehide",n),t.resolve()}),t.promise}kPt(){return"onpagehide"in this.root.ampdoc.win}getReadyPromise(t,i){if(i&&(function(t){const i=t.tagName;return i.startsWith("AMP-")&&!("AMP-STICKY-AD-TOP-PADDING"==i||"AMP-BODY"==i)}(i)?t=t||"ini-load":$(!t||"none"==t,"waitFor for non-AMP elements must be none or null. Found %s",t)),!t||"none"==t)return null;const s=Ns("visible");$(void 0!==s[t],"waitFor value %s not supported",t);const e=this.OPt[t]||this.root.getTrackerForAllowlist(t,s);return e?(this.OPt[t]=e,i?e.getElementSignal(t,i):e.getRootSignal(t)):null}CPt(t,i,s,e){const n=I(s,void 0,_s);for(const t in n)e[t]=n[t];i(new Cs(s,t,e,!1))}},Gs="inside";function Ws(t,i,s,e){return{left:t,top:i,width:s,height:e,bottom:i+e,right:t+s,x:t,y:i}}function zs(t,i,s){const e=(n={top:s,bottom:s+i.getHeight(),left:0,right:i.getWidth()},Ws(Number(n.left),Number(n.top),Number(n.width),Number(n.height)));var n,r,o;return o=e,(r=t).top<=o.bottom&&o.top<=r.bottom&&r.left<=o.right&&o.left<=r.right?Gs:function(t,i){return t.top<i.top?"top":t.bottom>i.bottom?"bottom":Gs}(t,e)}function Ys(t){const i=function(t){const i=[];if(!t)return i;let s,e=t;i.push(e);for(let t=0;t<50;t++)if(s=e.parentNode||e.parentElement,s&&1==s.nodeType)e=s,i.push(e);else{if(!s||9!=s.nodeType)break;if(s=e.ownerDocument.defaultView.frameElement,!s||1!=s.nodeType)break;e=s,i.push(e)}return i}(t.parentElement);i.push(t);let s,e=1;for(let t=0;t<i.length;t++)if(s=Ks(i[t]),s<e&&(e=s),0===e)return e;return e}function Ks(t){const i=window;if(!t)return 1;const{opacity:s,visibility:e}=function(t,i){return t.getComputedStyle(i)||si}(i,t);if("hidden"===e)return 0;const n=""===s?1:parseFloat(s);return isNaN(n)?1:n}var Xs=class{constructor(t,i){this.LPt=i,this.DPt={"visiblePercentageMin":Number(t.visiblePercentageMin)/100||0,"visiblePercentageMax":Number(t.visiblePercentageMax)/100||1,"totalTimeMin":Number(t.totalTimeMin)||0,"totalTimeMax":Number(t.totalTimeMax)||1/0,"continuousTimeMin":Number(t.continuousTimeMin)||0,"continuousTimeMax":Number(t.continuousTimeMax)||1/0},"0"===String(t.visiblePercentageMax).trim()&&(this.DPt.visiblePercentageMax=0),this.xPt=void 0!==t.reportWhen,this.UPt=!0===t.repeat,this.HPt=new as;const s=new e;this.jPt=s.promise,this.FPt=s.resolve,this.jPt.then((()=>{this.HPt.fire()})),this.qPt=[],this.$Pt=Date.now(),this.Xt=!0,this.BPt=!0,this.GPt=null,this.WPt=null,this.zPt=!1,this.YPt=!1,this.KPt=0,this.XPt=0,this.JPt=0,this.ZPt=0,this.QPt=0,this.yu=0,this.jt=0,this.tTt=0,this.iTt=0,this.sTt=0,this.eTt=0,this.nTt=0,this.rTt=!1,this.oTt=!1,this.hTt=null}Ns(){q(!this.FPt);const t=new e;this.jPt=t.promise,this.FPt=t.resolve,this.jPt.then((()=>{this.HPt.fire()})),this.hTt=null,this.YPt=!1,this.zPt=!1,this.KPt=0,this.XPt=0,this.JPt=0,this.yu=0,this.ZPt=0,this.QPt=0,this.jt=0,this.iTt=0,this.sTt=0,this.eTt=0,this.oTt=!1}maybeDispose(){this.UPt||this.dispose()}dispose(){this.WPt&&(clearTimeout(this.WPt),this.WPt=null),this.hTt&&(clearTimeout(this.hTt),this.hTt=null),this.qPt.forEach((t=>{t()})),this.qPt.length=0,this.FPt=null,this.HPt&&(this.HPt.removeAll(),this.HPt=null)}unsubscribe(t){this.qPt.push(t)}onTriggerEvent(t){this.HPt&&this.HPt.add(t),this.jPt&&!this.FPt&&t()}setReady(t){this.Xt=t,this.update()}setReportReady(t){this.BPt=!1,this.GPt=t}uTt(){return this.Xt?this.LPt():0}update(){this.wt(this.uTt())}getState(t){return{"firstSeenTime":Js(this.ZPt,t),"lastSeenTime":Js(this.QPt,t),"lastVisibleTime":Js(this.jt,t),"firstVisibleTime":Js(this.yu,t),"maxContinuousVisibleTime":this.XPt,"totalVisibleTime":this.JPt,"loadTimeVisibility":100*this.tTt||0,"minVisiblePercentage":100*this.iTt,"maxVisiblePercentage":100*this.sTt}}wt(t){if(this.oTt)this.cTt(t)||this.Ns();else if(this.FPt)if(this.aTt(t)||this.xPt){if(this.WPt&&(clearTimeout(this.WPt),this.WPt=null),this.BPt)this.FPt(),this.FPt=null,this.UPt&&(this.oTt=!0,this.KPt=0);else if(this.GPt){const t=this.GPt();this.GPt=null,t.then((()=>{this.BPt=!0,this.update()}))}}else if(this.zPt&&!this.WPt){const t=this.lTt();t>0&&(this.WPt=setTimeout((()=>{this.WPt=null,this.update()}),t))}else!this.zPt&&this.WPt&&(clearTimeout(this.WPt),this.WPt=null)}cTt(t){return q(t>=0&&t<=1),1==this.DPt.visiblePercentageMin?1==t:0==this.DPt.visiblePercentageMax?0==t:t>this.DPt.visiblePercentageMin&&t<=this.DPt.visiblePercentageMax}aTt(t){q(t>=0&&t<=1);const i=Date.now();t>0&&(this.ZPt=this.ZPt||i,this.QPt=i,!this.tTt&&i-this.$Pt<300&&(this.tTt=t));const s=this.zPt,e=this.eTt?i-this.eTt:0;return this.zPt=this.cTt(t),this.zPt?(this.YPt=!0,s?(this.JPt+=e,this.KPt+=e,this.XPt=Math.max(this.XPt,this.KPt)):(q(!this.eTt),this.yu=this.yu||i),this.eTt=i,this.iTt=this.iTt>0?Math.min(this.iTt,t):t,this.sTt=Math.max(this.sTt,t),this.jt=i):s&&(q(this.eTt>0),this.XPt=Math.max(this.XPt,this.KPt+e),this.eTt=0,this.JPt+=e,this.KPt=0,this.jt=i),this.YPt&&this.JPt>=this.DPt.totalTimeMin&&this.JPt<=this.DPt.totalTimeMax&&this.XPt>=this.DPt.continuousTimeMin&&this.XPt<=this.DPt.continuousTimeMax}maybeSetInitialScrollDepth(t){this.rTt||(this.nTt=t,this.rTt=!0)}getInitialScrollDepth(){return this.nTt}lTt(){const t=Math.max(this.DPt.continuousTimeMin-this.KPt,0),i=Math.max(this.DPt.totalTimeMin-this.JPt,0),s=Math.max(t,i);return Math.min(s,t||1/0,i||1/0)}};function Js(t,i){return t>=i?t-i:0}var Zs="amp-analytics/visibility-manager",Qs="__AMP_VIS",te=[0,.05,.1,.15,.2,.25,.3,.35,.4,.45,.5,.55,.6,.65,.7,.75,.8,.85,.9,.95,1],ie=1;function se(t){let i=t.__AMP_VIS_ID;return i||(i=++ie,t.__AMP_VIS_ID=i),i}function ee(t){return t[Qs]||(t[Qs]=function(t){const i=ot(t),s=X(t),e=s&&li(s),n=s&&function(t){if(Node.prototype.getRootNode)return t.getRootNode();let i;for(i=t;i.parentNode&&(!(s=i)||"I-AMPHTML-SHADOW-ROOT"!=s.tagName&&(11!=s.nodeType||"[object ShadowRoot]"!==Object.prototype.toString.call(s)));i=i.parentNode);var s;return i}(s);return e&&n?new oe(ee(n),e):new re(i)}(t)),t[Qs]}var ne=class{constructor(t,i){this.parent=t,this.ampdoc=i,this.fTt=0,this.dTt=[],this.x4=null,this.qPt=[],this._Tt=0,this.parent&&this.parent.mTt(this);const s=_t(this.ampdoc);s.onChanged((()=>{this.maybeUpdateMaxScrollDepth(s.getScrollTop())}))}mTt(t){this.x4||(this.x4=[]),this.x4.push(t)}ATt(t){if(this.x4){const i=this.x4.indexOf(t);-1!=i&&this.x4.splice(i,1)}}dispose(){this.setRootVisibility(0);for(let t=this.dTt.length-1;t>=0;t--)this.dTt[t].dispose();if(this.qPt.forEach((t=>{t()})),this.qPt.length=0,this.parent&&this.parent.ATt(this),this.x4)for(let t=0;t<this.x4.length;t++)this.x4[t].dispose()}unsubscribe(t){this.qPt.push(t)}getStartTime(){}isBackgrounded(){}isBackgroundedAtStart(){}getRootMinOpacity(){}getRootLayoutBox(){}getRootVisibility(){return this.parent?this.parent.getRootVisibility()>0?this.fTt:0:this.fTt}setRootVisibility(t){if(this.fTt=t,this.PTt(),this.x4)for(let t=0;t<this.x4.length;t++)this.x4[t].PTt()}maybeUpdateMaxScrollDepth(t){t>this._Tt&&(this._Tt=t)}getMaxScrollDepth(){return this._Tt}PTt(){for(let t=0;t<this.dTt.length;t++)this.dTt[t].update()}listenRoot(t,i,s,e){const n=this.getRootVisibility.bind(this);return this.pTt(n,t,i,s,e)}listenElement(t,i,s,e,n){const r=this.getElementVisibility.bind(this,t);return this.pTt(r,i,s,e,n,t)}pTt(t,i,s,e,r,o){if(i.visiblePercentageThresholds&&null==i.visiblePercentageMin&&null==i.visiblePercentageMax){const h=[],u=i.visiblePercentageThresholds;if(!u||!n(u))return H().error(Zs,"invalid visiblePercentageThresholds"),()=>{};for(let c=0;c<u.length;c++){const a=u[c];if(!n(a)||2!=a.length){H().error(Zs,"visiblePercentageThresholds entry length is not 2");continue}if(!_(a[0])||!_(a[1])){H().error(Zs,"visiblePercentageThresholds entry is not valid number");continue}const l=Number(a[0]),f=Number(a[1]);if(l<0||f>100||l>f||l==f&&100!=l&&0!=f){H().error(Zs,"visiblePercentageThresholds entry invalid min/max value");continue}const d=i;d.visiblePercentageMin=l,d.visiblePercentageMax=f;const m=new Xs(d,t,_t(this.ampdoc));h.push(this.bI(m,i,s,e,r,o))}return()=>{h.forEach((t=>t()))}}const h=new Xs(i,t,_t(this.ampdoc));return this.bI(h,i,s,e,r,o)}bI(t,i,s,e,n,r){e&&t.setReportReady(e);const o=_t(this.ampdoc),h=o.getScrollTop();return this.maybeUpdateMaxScrollDepth(h),s?(t.setReady(!1),s.then((()=>{t.setReady(!0),t.maybeSetInitialScrollDepth(h)}))):t.maybeSetInitialScrollDepth(h),t.onTriggerEvent((()=>{const i=this.getStartTime(),s=t.getState(i);let e;if(s.backgrounded=this.isBackgrounded()?1:0,s.backgroundedAtStart=this.isBackgroundedAtStart()?1:0,s.totalTime=Date.now()-i,r){s.elementId=r.id,s.opacity=Ys(r),e=o.getLayoutRect(r);const t=this.getElementVisibility(r),i=this.getElementIntersectionRect(r);Object.assign(s,{"intersectionRatio":t,"intersectionRect":JSON.stringify(i)})}else s.opacity=this.getRootMinOpacity(),s.intersectionRatio=this.getRootVisibility(),e=this.getRootLayoutBox();t.maybeDispose(),e&&(Object.assign(s,{"elementX":e.left,"elementY":e.top,"elementWidth":e.width,"elementHeight":e.height}),s.initialScrollDepth=zs(e,o,t.getInitialScrollDepth()),s.maxScrollDepth=zs(e,o,this.getMaxScrollDepth())),n(s)})),this.dTt.push(t),t.unsubscribe((()=>{const i=this.dTt.indexOf(t);-1!=i&&this.dTt.splice(i,1)})),r&&t.unsubscribe(this.observe(r,(()=>t.update()))),t.update(),function(){t.dispose()}}observe(t,i){}getElementVisibility(t){}getElementIntersectionRect(t){}},re=class extends ne{constructor(t){if(super(null,t),this.Uu=_t(t),this.TTt=!t.isVisible(),this.ETt=this.isBackgrounded(),this.gTt=l(),this.mb=null,"inabox"==C(this.ampdoc.win).runtime){const t=this.ampdoc.getRootNode(),i=t.documentElement||t.body||t;this.unsubscribe(this.observe(i,this.setRootVisibility.bind(this)));const s=()=>{const t=se(i),s=this.gTt[t];s&&(this.ampdoc.win.innerHeight<1||this.ampdoc.win.innerWidth<1?s.isVisible=!1:s.isVisible=!0,this.setRootVisibility(s.isVisible?s.intersectionRatio:0))};this.ampdoc.win.addEventListener("resize",s),this.unsubscribe((()=>{this.ampdoc.win.removeEventListener("resize",s)}))}else this.setRootVisibility(this.ampdoc.isVisible()?1:0),this.unsubscribe(this.ampdoc.onVisibilityChanged((()=>{const t=this.ampdoc.isVisible();t||(this.TTt=!0),this.setRootVisibility(t?1:0)})))}dispose(){super.dispose(),this.mb&&(this.mb.disconnect(),this.mb=null)}getStartTime(){return this.ampdoc.getFirstVisibleTime()}isBackgrounded(){return this.TTt}isBackgroundedAtStart(){return this.ETt}getRootMinOpacity(){const t=this.ampdoc.getRootNode();return Ys(t.documentElement||t.body||t)}getRootLayoutBox(){const t=this.ampdoc.getRootNode(),i=t.documentElement||t.body||t;return this.Uu.getLayoutRect(i)}observe(t,i){const s=se(t);let e=this.gTt[s];return e?e.intersectionRatio>0&&e.isVisible&&i(e.intersectionRatio):(e={element:t,intersectionRatio:0,intersectionRect:null,isVisible:!1,boundingClientRect:null,listeners:[]},this.gTt[s]=e),e.listeners.push(i),this.ITt().observe(t),()=>{const e=this.gTt[s];if(e){const n=e.listeners.indexOf(i);-1!=n&&e.listeners.splice(n,1),0==e.listeners.length&&(this.mb.unobserve(t),delete this.gTt[s])}}}getElementVisibility(t){if(0==this.getRootVisibility())return 0;const i=se(t),s=this.gTt[i];return s&&s.isVisible&&s.intersectionRatio||0}getElementIntersectionRect(t){if(this.getElementVisibility(t)<=0)return null;const i=se(t),s=this.gTt[i];return s?s.intersectionRect:null}ITt(){if(!this.mb){const{win:t}=this.ampdoc;this.mb=new t.IntersectionObserver(this.vTt.bind(this),{threshold:te})}return this.mb}vTt(t){t.forEach((t=>{let i=t.intersectionRect;i=Ws(Number(i.left),Number(i.top),Number(i.width),Number(i.height));let{boundingClientRect:s}=t;s=s&&Ws(Number(s.left),Number(s.top),Number(s.width),Number(s.height)),this.RTt(t.target,t.intersectionRatio,i,s)}))}RTt(t,i,s,e){i=Math.min(Math.max(i,0),1);const n=se(t),r=this.gTt[n];let o=!0;if((e.width<1||e.height<1)&&(o=!1),r){r.isVisible=o,r.intersectionRatio=i,r.intersectionRect=s,r.boundingClientRect=e;for(let t=0;t<r.listeners.length;t++)r.listeners[t](r.isVisible?i:0)}}},oe=class extends ne{constructor(t,i){super(t,t.ampdoc),this.embed=i,this.ETt=this.parent.isBackgrounded(),this.unsubscribe(this.parent.observe(i.host,this.setRootVisibility.bind(this)))}getStartTime(){return this.embed.getStartTime()}isBackgrounded(){return this.parent.isBackgrounded()}isBackgroundedAtStart(){return this.ETt}getRootMinOpacity(){return Ys(this.embed.iframe)}getRootLayoutBox(){const t=this.embed.iframe;return _t(this.ampdoc).getLayoutRect(t)}observe(t,i){return this.parent.observe(t,i)}getElementVisibility(t){return 0==this.getRootVisibility()?0:this.parent.getElementVisibility(t)}getElementIntersectionRect(t){return 0==this.getRootVisibility()?null:this.parent.getElementIntersectionRect(t)}},he=["AMP-AD","AMP-ANALYTICS","AMP-PIXEL","AMP-AD-EXIT"];var ue=/^vars(.+)/,ce=class{constructor(t){this.ampdoc=t,this.nPt=l(),this.MTt=null,this.bTt=null}dispose(){for(const t in this.nPt)this.nPt[t].dispose(),delete this.nPt[t];this.MTt&&this.MTt.dispose(),this.bTt&&this.bTt.dispose()}getType(){}getRoot(){}getRootElement(){const t=this.getRoot();return t.host||t.documentElement||t.body||t}getHostElement(){}signals(){}contains(t){return this.getRoot().contains(t)}getElementById(t){}getTrackerForAllowlist(t,i){const s=i[t];return s?this.getTracker(t,s):null}getTracker(t,i){let s=this.nPt[t];return s||(s=new i(this),this.nPt[t]=s),s}getTrackerOptional(t){return this.nPt[t]||null}getElement(t,i,s=null){return":root"==i?(e=()=>this.getRootElement(),new Promise((t=>{t(e())}))):":host"==i?new Promise((t=>{t(H().assertElement(this.getHostElement(),`Element "${i}" not found`))})):this.ampdoc.whenReady().then((()=>{let e,n=null;try{e="scope"==s?function(t,i){return t.querySelector(T(i,":scope"))}(t,i):"closest"==s?E(t,i):this.getRoot().querySelector(i)}catch(t){$(!1,`Invalid query selector ${i}`)}return e&&this.contains(e)&&(n=e),H().assertElement(n,`Element "${i}" not found`)}));var e}STt(t,i=!0){return this.ampdoc.whenReady().then((()=>{let s=[];for(let e=0;e<t.length;e++){let n,r=[];const o=t[e];try{n=this.getRoot().querySelectorAll(o)}catch(t){$(!1,`Invalid query selector ${o}`)}for(let t=0;t<n.length;t++)this.contains(n[t])&&r.push(n[t]);r=i?this.yTt(r,o):r,$(r.length,`Element "${o}" not found`),s=s.concat(r)}return s.filter(((t,i)=>s.indexOf(t)===i))}))}yTt(t,i){const s=[];for(let i=0;i<t.length;i++)Object.keys(I(t[i],void 0,ue)).length&&s.push(t[i]);return s}getAmpElement(t,i,s){return this.getElement(t,i,s).then((t=>(this.wTt([t],i),t)))}getElements(t,i,s,e=!0){return n(i)?($(!s,"Cannot have selectionMethod %s defined with an array selector.",s),this.STt(i,e)):this.getElement(t,i,s).then((t=>[t]))}wTt(t,i){for(let s=0;s<t.length;s++)$(t[s].classList.contains("i-amphtml-element"),'Element "%s" is required to be an AMP element',i)}createSelectiveListener(t,i,s,e=null){return n=>{if(":host"==s)return;const r=this.getRootElement(),o="*"==s,h=":root"==s;let{target:u}=n;for(;u&&this.contains(u)&&("scope"!=e||h||i.contains(u));)if("closest"!=e||u.contains(i)){if(o||h&&u==r||fe(u,s)){t(u,n);break}u=u.parentElement}else u=u.parentElement}}whenIniLoaded(){}getVisibilityManager(){return this.MTt||(this.MTt=ee(this.getRoot())),this.MTt}getScrollManager(){return this.bTt||(this.bTt=new class{constructor(t){this.Uu=_t(t.ampdoc),this.oc=G(t.ampdoc,"mutator"),this.OTt=null,this.Rr=new as,this.pu=t.getRootElement(),this.VTt=null}dispose(){this.Rr.removeAll(),this.NTt()}removeScrollHandler(t){this.Rr.remove(t),this.Rr.getHandlerCount()<=0&&this.NTt()}addScrollHandler(t){const i=this.Uu.getSize();return this.CTt().then((s=>{const{height:e,left:n,top:r,width:o}=s,h={top:this.Uu.getScrollTop()-r,left:this.Uu.getScrollLeft()-n,width:i.width,height:i.height,scrollHeight:e,scrollWidth:o,initialSize:{scrollHeight:e,scrollWidth:o}};t(h)})),0===this.Rr.getHandlerCount()&&this.kTt(),this.Rr.add(t)}$$(t){return Promise.all([this.CTt(),this.LTt()]).then((i=>{const{height:s,width:e}=i[0],{height:n,left:r,top:o,width:h}=i[1],u={top:t.top-o,left:t.left-r,width:t.width,height:t.height,scrollWidth:h,scrollHeight:n,initialSize:{scrollHeight:s,scrollWidth:e}};this.Rr.fire(u)}))}NTt(){this.OTt&&(this.OTt(),this.OTt=null)}kTt(){this.OTt=this.Uu.onChanged(this.$$.bind(this))}CTt(){return q(this.VTt||this.LTt())}LTt(){const t=this.oc.measureElement((()=>this.Uu.getLayoutRect(this.pu)));return this.VTt=this.VTt||t,t}}(this)),this.bTt}},ae=class extends ce{constructor(t){super(t)}getType(){return"ampdoc"}getRoot(){return this.ampdoc.getRootNode()}getHostElement(){return null}signals(){return this.ampdoc.signals()}getElementById(t){return this.ampdoc.getElementById(t)}whenIniLoaded(){const t=_t(this.ampdoc);let i;if("inabox"==C(this.ampdoc.win).runtime)i=t.getLayoutRect(this.getRootElement());else{const s=t.getSize();i=Ws(0,0,s.width,s.height)}return s=this.ampdoc,this.ampdoc.win,function(t,i){const s=ot(t);return s.signals().whenSignal("ready-scan").then((()=>{const t=(t=>G(t,"resources"))(s).get().filter((t=>!(i&&!t.prerenderAllowed()||he.includes(t.element.tagName)))).map((t=>t.element));return 0===t.length?Promise.resolve([]):new Promise((i=>{const{win:e}=s,n=new e.IntersectionObserver((t=>{n.disconnect();const s=[];for(let i=0;i<t.length;i++){const{isIntersecting:e,target:n}=t[i];e&&s.push(n)}i(s)}),{root:v(e)?e.document:null,threshold:.01});for(let i=0;i<Math.min(t.length,100);i++)n.observe(t[i])})).then((t=>Promise.all(t.map((t=>t.whenLoaded())))))}))}(s,e);var s,e}},le=class extends ce{constructor(t,i){super(t),this.embed=i}getType(){return"embed"}getRoot(){return this.embed.win.document}getHostElement(){return this.embed.iframe}signals(){return this.embed.signals()}getElementById(t){return this.embed.win.document.getElementById(t)}whenIniLoaded(){return this.embed.whenIniLoaded()}};function fe(t,i){try{return function(t,i){return t.matches(i)}(t,i)}catch(t){return H().error("amp-analytics/analytics-root","Bad query selector.",i,t),!1}}var de="__AMP_AN_ROOT";function _e(t,i){return me(t)===me(i)}function me(t){return t.replace(/^(?:www\.|m\.|amp\.)+/,"")}function Ae(t,i){const s=i.replace(/[-\/\\^$+?.()|[\]{}]/g,"\\$&").replace(/\*/g,".*");return new RegExp("^"+s+"$").test(t)}var Pe={"AMPDOC_HOST":!0,"AMPDOC_HOSTNAME":!0,"AMPDOC_URL":!0,"AMP_VERSION":!0,"AVAILABLE_SCREEN_HEIGHT":!0,"AVAILABLE_SCREEN_WIDTH":!0,"BACKGROUND_STATE":!0,"BROWSER_LANGUAGE":!0,"CANONICAL_HOST":!0,"CANONICAL_HOSTNAME":!0,"CANONICAL_PATH":!0,"CANONICAL_URL":!0,"DOCUMENT_CHARSET":!0,"FIRST_CONTENTFUL_PAINT":!0,"FIRST_VIEWPORT_READY":!0,"MAKE_BODY_VISIBLE":!0,"RANDOM":!0,"SCREEN_COLOR_DEPTH":!0,"SCREEN_HEIGHT":!0,"SCREEN_WIDTH":!0,"SOURCE_HOST":!0,"SOURCE_HOSTNAME":!0,"SOURCE_PATH":!0,"SOURCE_URL":!0,"TIMESTAMP":!0,"TIMEZONE":!0,"TIMEZONE_CODE":!0,"USER_AGENT":!0,"VIEWPORT_HEIGHT":!0,"VIEWPORT_WIDTH":!0},pe="${extraUrlParams}",Te={"default":new class{generateRequest(t,i,s=!1){return s?{url:t.replace(pe,""),payload:JSON.stringify(i.extraUrlParams)}:{url:Ee(t,[i])}}generateBatchRequest(t,i,s=!1){return s?{url:t.replace(pe,""),payload:JSON.stringify(i.map((t=>t.extraUrlParams)))}:{url:Ee(t,i)}}}};function Ee(t,i){const s=i.map((t=>$t(t.extraUrlParams))).filter(Boolean).join("&");let e;return e=t.indexOf(pe)>=0?t.replace(pe,s):Ft(t,s),e}var ge=class{constructor(t,i,s,e,n){this.mf=t,this.Ri=t.getAmpDoc(),this.win=this.Ri.win,this.DTt=i.origin,this.baseUrl=q(i.baseUrl),this.xTt=i.batchInterval,this.UTt=Number(i.reportWindow)||null,this.HTt=null,this.IT=Wi(t),this.Qj=lt(t),this.fv=dt(t),this.jTt=null,this.FTt=null,this.qTt=[],this.$Tt=s,this.aj=e,this.Yn=n?Pe:void 0,this.BTt=null,this.GTt=null,this.WTt=!0,this.zTt=null,this.Mst=0,this.zn=Date.now(),this.YTt(),this.KTt()}send(t,i,s){const e=!0===i.important;if(!this.WTt&&!e)return;this.Mst++,this.zTt=i;const n=this.IT.getMacros(this.mf);var o,h,u;if(n.RESOURCE_TIMING=(o=this.mf,h=i.resourceTimingSpec,u=this.zn,h&&Date.now()<u+6e4?function(t,i){const{win:s}=t.getAmpDoc();if(i.done||!s.performance||!s.performance.now||!s.performance.getEntriesByType||!a((e=i).resources)||!(e.encoding&&e.encoding.entry&&e.encoding.delim)||e.encoding.base<2||e.encoding.base>36||null!=e.responseAfter&&"number"!=typeof e.responseAfter)return i.done=!0,Promise.resolve("");var e;let n=function(t){return t.performance.getEntriesByType("resource")}(s);n.length>=150&&(i.done=!0);const o=i.responseAfter||0;return i.responseAfter=Math.max(o,s.performance.now()),n=n.filter((t=>t.startTime+t.duration>=o)),n.length?(h=()=>function(t,i,s){const e=i.resources,n=i.encoding,o=Wi(s),h=(t,i=0)=>Math.round(t-i).toString(n.base||10),u=function(t,i){const s=function(t){const i={};for(const s in t){const e=t[s].host||"",n=t[s].path||"",r=t[s].query||"",o={name:s,pathPattern:new RegExp(n),queryPattern:new RegExp(r)};i[e]?i[e].resources.push(o):i[e]={hostPattern:new RegExp(e),resources:[o]}}const s=[];for(const t in i)s.push(i[t]);return s}(i),e=[];return t.forEach((t=>{const i=function(t,i){const s=t.name;for(let t=0;t<i.length;++t){const{hostPattern:e,resources:n}=i[t];if(!e.test(s.host))continue;const o=r(n,(t=>t.pathPattern.test(s.pathname)&&t.queryPattern.test(s.search)));if(-1!=o)return n[o].name}return null}(t,s);i&&e.push({entry:t,name:i})})),e}(t,e).map((t=>{const{entry:i,name:s}=t;return function(t,i,s){const e={"key":i,"startTime":s(t.startTime),"redirectTime":s(t.redirectEnd,t.redirectStart),"domainLookupTime":s(t.domainLookupEnd,t.domainLookupStart),"tcpConnectTime":s(t.connectEnd,t.connectStart),"serverResponseTime":s(t.responseStart,t.requestStart),"networkTransferTime":s(t.responseEnd,t.responseStart),"transferSize":s(t.transferSize||0),"encodedBodySize":s(t.encodedBodySize||0),"decodedBodySize":s(t.decodedBodySize||0),"duration":s(t.duration),"initiatorType":t.initiatorType};return new Ui(e,1)}(i,s,h)})).map((t=>o.expandTemplate(n.entry,t,s)));return Promise.all(u).then((t=>t.join(n.delim)))}(n,i,t),new Promise((t=>{setTimeout((()=>t(h())))}))):Promise.resolve("");var h}(o,h):Promise.resolve("")),this.jTt||(s.freezeVar("extraUrlParams"),this.jTt=this.XTt(this.baseUrl,s,n)),!this.FTt&&this.DTt){const t=new Ui(s.vars,s.iterations,!0);this.FTt=this.XTt(this.DTt,t,n)}const c=St(St({},t),i.extraUrlParams),l=this.win.Date.now(),f=Ie(this.IT,this.Qj,c,s,n,this.mf,this.Yn).then((t=>({"trigger":i.on,"timestamp":l,"extraUrlParams":t})));this.qTt.push(f),this.le(e||!this.xTt)}dispose(){this.Ns(),this.BTt&&(this.win.clearTimeout(this.BTt),this.BTt=null),this.GTt&&(this.win.clearTimeout(this.GTt),this.GTt=null)}XTt(t,i,s){return this.IT.expandTemplate(t,i,this.mf,s,this.Yn).then((t=>this.Qj.expandUrlAsync(t,s,this.Yn).catch((i=>$(!1,`Could not expand URL "${t}": ${i.message}`)))))}le(t){0!=this.Mst&&t&&this.JTt()}JTt(){const{jTt:t,qTt:i,FTt:s}=this,e=this.zTt;this.Ns(),(s||t).then((t=>{this.$Tt.url(this.Ri,t,!0)})),Promise.all([t,Promise.all(i),s]).then((t=>{const i=this.ZTt(t[0],t[2]),s=t[1];0!==s.length&&(e.iframePing?($(e.on==Ss,"iframePing is only available on page view requests."),this.aj.sendRequestUsingIframe(i,s[0])):this.aj.sendRequest(i,s,!!this.xTt))}))}Ns(){this.Mst=0,this.jTt=null,this.qTt=[],this.zTt=null}KTt(){if(this.xTt){this.xTt=n(this.xTt)?this.xTt:[this.xTt];for(let t=0;t<this.xTt.length;t++){let i=this.xTt[t];$(_(i),"Invalid batchInterval value: %s",this.xTt),i=1e3*Number(i),$(i>=200,"Invalid batchInterval value: %s, interval value must be greater than %s ms.",this.xTt,200),this.xTt[t]=i}this.HTt=0,this.QTt()}}YTt(){this.UTt&&(this.GTt=this.win.setTimeout((()=>{this.le(!0),this.WTt=!1,this.BTt&&(this.win.clearTimeout(this.BTt),this.BTt=null)}),1e3*this.UTt))}QTt(){q(null!=this.HTt);const t=this.HTt<this.xTt.length?this.xTt[this.HTt++]:this.xTt[this.xTt.length-1];this.BTt=this.win.setTimeout((()=>{this.le(!0),this.QTt()}),t)}ZTt(t,i){return i?this.fv.parse(i).origin+t:t}};function Ie(t,i,s,e,r,o,h){const u={},c=[],l=new Ui(e.vars,e.iterations,!0),f=(s,e,u)=>{const d=s[e];if("string"==typeof d){u[e]=void 0;const s=t.expandTemplate(d,l,o).then((t=>i.expandStringAsync(t,r,h))).then((t=>{u[e]=t}));c.push(s)}else if(n(d)){u[e]=[];for(let t=0;t<d.length;t++)f(d,t,u[e])}else if(a(d)&&null!==d){u[e]={};const t=Object.keys(d);for(let i=0;i<t.length;i++)f(d,t[i],u[e])}else u[e]=d},d=Object.keys(s);for(let t=0;t<d.length;t++)f(s,d[t],u);return Promise.all(c).then((()=>u))}var ve=class{constructor(t,i){this._pt=i,this.dot=!1,this.tEt=[],this.Mdt=new class{constructor(t,i,s,e){this.eb=t,this.gb=s,this.vb=[],this.bb=function(t,i,s,e,n,r){q(t.src),q(!t.parentNode),q(s);const o=t.ownerDocument.defaultView;!function(t){t.listeningFors||t.addEventListener("message",(function(i){if(!pt(i))return;const s=function(t){return"string"==typeof t&&(t="{"==t.charAt(0)?P(t,(t=>{}))||null:ti(t)?function(t){if(!ti(t))return null;const i=t.indexOf("{");return m(-1!=i),P(t.substr(i),(i=>{S(new Error(`MESSAGING: Failed to parse message: ${t}\n${i.message}`))}))}(t):null),t}(pt(i));if(!s||!s.sentinel)return;const e=function(t,i,s,e){const n=hi(t,i);if(!n)return n;let r;for(let t=0;t<n.length;t++){const i=n[t],{contentWindow:s}=i.frame;if(s){if(e==s||ui(s,e)){r=i;break}}else setTimeout(ci,0,n)}return r?r.events:null}(t,s.sentinel,i.origin,i.source);if(!e)return;let n=e[s.type];if(n){n=n.slice();for(let t=0;t<n.length;t++)(0,n[t])(s,i.source,i.origin,i)}}))}(o);const h=function(t,i,s){const e=hi(t,ai(i,s),!0);let n;for(let t=0;t<e.length;t++){const s=e[t];if(s.frame===i){n=s;break}}return n||(n={frame:i,events:Object.create(null)},e.push(n)),n.events}(o,t,e),u=jt(t.src).origin;let c,a=h[i]||(h[i]=[]),l=function(i,e,o,h){if("amp"==i.sentinel){if(e!=t.contentWindow)return;const i="null"==o&&r;if(u!=o&&!i)return}(n||e==t.contentWindow)&&(i.sentinel!=oi?s(i,e,o,h):c())};return a.push(l),c=function(){if(l){const t=a.indexOf(l);t>-1&&a.splice(t,1),l=null,a=null,s=null}}}(this.eb,i,((t,i,s)=>{this.vb.some((t=>t.win==i))||this.vb.push({win:i,origin:s}),e(t,i,s)}),this.gb,this.gb)}send(t,i){(function(t,i){const s=[];let e=0;for(let i=0;i<t.length;i++){const n=t[i];n.win.parent?(e<i&&(t[e]=n),e++):s.push(n)}e<t.length&&(t.length=e)})(this.vb),function(t,i,s,e,n){if(!t.contentWindow)return;e.type=s,e.sentinel=ai(t,n);let r=e;n&&(r="amp-"+JSON.stringify(e));for(let t=0;t<i.length;t++){const s=i[t];s.win.postMessage(r,s.origin)}}(this.eb,this.vb,t,i,this.gb)}destroy(){this.bb(),this.vb.length=0}}(this._pt,"send-iframe-transport-events",!0,(()=>{this.setIsReady()}))}isReady(){return this.dot}setIsReady(){this.dot=!0,this.iEt()}queueSize(){return this.tEt.length}enqueue(t){q(t&&t.creativeId&&t.message),this.tEt.push(t),this.queueSize()>=100&&this.tEt.shift(),this.iEt()}iEt(){this.isReady()&&this.queueSize()&&(this.Mdt.send("iframe-transport-events",{events:this.tEt}),this.tEt=[])}},Re=(()=>self.AMP.config.urls)(),Me=class t{constructor(t,i,s,e){this.sEt=t,this.gC=i,this.eEt=e,q(s&&s.iframe),this.nEt=s.iframe,this.rEt=0,this.processCrossDomainIframe()}detach(){t.markCrossDomainIframeAsDone(this.sEt.document,this.gC)}processCrossDomainIframe(){let i;t.hasCrossDomainIframe(this.gC)?(i=t.getFrameData(this.gC),++i.usageCount):(i=this.createCrossDomainIframe(),this.sEt.document.body.appendChild(i.frame),this.dg()),q(i)}createCrossDomainIframe(){const i=t.oEt(),s=JSON.stringify({scriptSrc:(this.sEt,Re.thirdParty+"/2608131752000/iframe-transport-client-v0.js"),sentinel:i,type:this.gC}),e=g(this.sEt.document,"iframe",{sandbox:"allow-scripts allow-same-origin",name:s,"data-amp-3p-sentinel":i});e.sentinel=i,ri(e,!1),e.src=this.nEt;const n={frame:e,usageCount:1,queue:new ve(this.sEt,e)};return t.hEt[this.gC]=n,n}dg(){var i;(i=this.sEt).PerformanceObserver&&i.TaskAttributionTiming&&"containerName"in i.TaskAttributionTiming.prototype&&(t.uEt[this.gC]=new this.sEt.PerformanceObserver((t=>{t&&t.getEntries().forEach((t=>{t&&"longtask"==t.entryType&&"cross-origin-descendant"==t.name&&t.attribution&&t.attribution.forEach((t=>{this.nEt==t.containerSrc&&++this.rEt%5==0&&H().error("amp-analytics/iframe-transport",`Long Task: Vendor: "${this.gC}"`)}))}))})),t.uEt[this.gC].observe({entryTypes:["longtask"]}))}static markCrossDomainIframeAsDone(i,s){const e=t.getFrameData(s);q(e&&e.frame&&e.usageCount),--e.usageCount||(i.body.removeChild(e.frame),delete t.hEt[s],t.uEt[s]&&(t.uEt[s].disconnect(),t.uEt[s]=null))}static hasCrossDomainIframe(i){return f(t.hEt,i)}static oEt(){return String(++t.cEt)}sendRequest(i){const s=t.getFrameData(this.gC);q(s),q(s.queue),s.queue.enqueue({creativeId:this.eEt,message:i})}static getFrameData(i){return t.hEt[i]}static resetCrossDomainIframes(){t.hEt={}}getCreativeId(){return this.eEt}getType(){return this.gC}};function be(t,i,s=!1,e,n){const r=new(_i.getImage(t));s&&(r.referrerPolicy="no-referrer");let o=0;var h;return null!=e&&((null===(h=t.document.featurePolicy)||void 0===h?void 0:h.allowedFeatures().includes("attribution-reporting"))?(o=6,e=Se(t,o,n)(e),r.attributionSrc=e):o=5),i=Se(t,o,n)(i),r.src=i,r}function Se(t,i,s){const e={"ATTRIBUTION_REPORTING_STATUS":()=>i},n=lt(s||t.document),r={"ATTRIBUTION_REPORTING_STATUS":!0};return t=>n.expandUrlSync(t,e,r)}Me.hEt={},Me.cEt=0,Me.uEt={};var ye,we="amp-analytics/transport",Oe="amp-analytics",Ve=[Ss,Es,gs,Is],Ne=class extends t.BaseElement{constructor(t){super(t),this.aEt=s(),this.lEt=null,this.fEt=!1,this.mG={},this.Ej={},this.dEt=null,this._Et=null,this.IT=null,this.mEt=ht(this.win),this.AEt=null,this.aj=null,this.gC=this.element.getAttribute("type"),this.PEt="inabox"==C(this.win).runtime,this.pEt=null,this.TEt=null,this.EEt=null}getLayoutPriority(){return this.PEt?0:1}isAlwaysFixed(){return!fi(this.element)}isLayoutSupported(t){return!0}buildCallback(){var t;this.fEt=this.element.hasAttribute("sandbox"),this.element.setAttribute("aria-hidden","true"),this.lEt=this.element.getAttribute("data-consent-notification-id"),null!=this.lEt&&(this.aEt=(t=this.element,function(t,i,s,e){return nt(t,"userNotificationManager",s,void 0).then((t=>function(t,i,s){return $(t,"Service %s was requested to be provided through %s, but %s is not loaded in the current page. To fix this problem load the JavaScript file for %s in this page.","userNotificationManager",s,s,s)}(t,0,s)))}(t,0,"amp-user-notification")).then((t=>t.get(this.lEt)))),"immediate"==this.element.getAttribute("trigger")&&this.gEt()}layoutCallback(){return this.gEt()}detachedCallback(){this._Et&&(this._Et.dispose(),this._Et=null),this.pEt&&(this.pEt.dispose(),this.pEt=null);for(const t in this.mG)this.mG[t].dispose(),delete this.mG[t]}resumeCallback(){this.AEt&&this.AEt.then((()=>{this.aj.maybeInitIframeTransport(this.element)}))}unlayoutCallback(){return!this.getAmpDoc().isVisible()&&(this.AEt&&this.AEt.then((()=>{this.aj.deleteIframeTransport()})),super.unlayoutCallback())}gEt(){if(this.AEt)return this.AEt;const t=this.getAmpDoc();return this.AEt=t.whenFirstVisible().then((()=>at(this.win).promise(1))).then((()=>this.aEt)).then((()=>{return Promise.all([(i=t,z(i,"amp-analytics-instrumentation")),zi(t)]);var i})).then((t=>{this.dEt=t[0],this.IT=t[1];const i=new e,n=()=>{const t=new class{constructor(t){this.mf=t,this.i=null,this.IEt=wt||{},this.TAt={},this.Ej={},this.vEt={},this.fEt=!1,this.IT=Wi(t)}loadConfig(){return this.i=this.mf.ownerDocument.defaultView,this.fEt=this.mf.hasAttribute("sandbox"),Promise.all([this.REt(),this.MEt()]).then(this.bEt.bind(this)).then(this.SEt.bind(this)).then((()=>this.Ej))}yEt(t){const i=(this.i.location,D.cdn),s="bg"===t&&null!==(e=self.AMP_CONFIG)&&void 0!==e&&e.canary?".canary":"";var e;return`${i}/rtv/${C().rtvVersion}/v0/analytics-vendors/${t}${s}.json`}MEt(){const t=this.mf.getAttribute("type");if(!t)return s();const i=this.yEt(t),e=this.Hi();return mt(this.i).fetchJson(i,{ampCors:!1}).then((t=>t.json())).then((t=>{this.TAt=t||{}}),(t=>{H().error(e,"Error loading vendor config: ",i,t)}))}REt(){let t=this.mf.getAttribute("config");if(!t||this.fEt)return s();Bt(t,this.mf);const i=this.Hi(),e={};return this.mf.hasAttribute("data-credentials")&&(e.credentials=this.mf.getAttribute("data-credentials")),lt(this.mf).expandUrlAsync(t,this.IT.getMacros(this.mf)).then((i=>(t=i,mt(this.i).fetchJson(t,e)))).then((t=>t.json())).then((t=>{this.vEt=t}),(s=>{H().error(i,"Error loading remote config: ",t,s)}))}bEt(){const t=this.wEt().url,i={},e=this.Met();return this.OEt(e),Ji(e,i),Ji(this.vEt,i),!t||this.fEt?(this.Ej=this.VEt(i),s()):this.NEt(i,t)}NEt(t,i){Bt(i,this.mf);const s=this.Hi();return this.CEt(t).then((()=>{const e={method:"POST",body:t};return this.mf.hasAttribute("data-credentials")&&(e.credentials=this.mf.getAttribute("data-credentials")),lt(this.mf).expandUrlAsync(i).then((t=>mt(this.i).fetchJson(t,e))).then((t=>t.json())).then((t=>{this.Ej=this.VEt(t)}),(t=>{H().error(s,"Error rewriting configuration: ",i,t)}))}))}SEt(){this.Ej.warningMessage&&(this.Hi(),this.mf.getAttribute("type"),this.mf.getAttribute("config"),delete this.Ej.warningMessage)}CEt(t){const i=t.configRewriter,e=i&&i.varGroups,n=this.wEt().varGroups;if(!e&&!n)return s();if(e&&!n)return this.Hi(),s();t.configRewriter=t.configRewriter||{};const r=t.configRewriter;r.vars={};const o=[],h=e||{};return d(h,n),Object.keys(h).forEach((t=>{const i=h[t];if(!i.enabled)return;const s=this.shallowExpandObject(this.mf,i).then((t=>{delete t.enabled,Object.assign(r.vars,t)}));o.push(s)})),Promise.all(o).then((()=>{if(!Object.keys(r.vars).length)return delete t.configRewriter;e&&delete r.varGroups}))}VEt(t){const i={"vars":{"requestCount":0}};return Ji(Zi(this.IEt),i),Ji(Zi(this.TAt),i,!0),Ji(Zi(t),i,!0),i}wEt(){return this.TAt.configRewriter||{}}Met(){if(this.mf.CONFIG)return this.mf.CONFIG;let t={};const i=this.Hi();try{const{children:s}=this.mf;1==s.length?t=function(t){const i=(e=t,m(/^[\w-]+$/.test("script")),"> script",e.querySelectorAll(T("> script",":scope"))),{length:s}=i;var e;if(1!==s)throw new Error(`Found ${s} <script> children. Expected 1.`);const n=i[0];if(!function(t){var i;return"SCRIPT"==t.tagName&&"APPLICATION/JSON"==(null===(i=t.getAttribute("type"))||void 0===i?void 0:i.toUpperCase())}(n))throw new Error('<script> child must have type="application/json"');try{var r;return A(null!==(r=n.textContent)&&void 0!==r?r:"")}catch(t){throw new Error("Failed to parse <script> contents. Is it valid JSON?")}}(this.mf):s.length>1&&H().error(i,"The tag should contain only one <script> child.")}catch(t){H().error(i,t.message)}return t}OEt(t){if(this.mf.getAttribute("type")&&(t.transport||this.vEt.transport)){const t=this.Hi();H().error(t,"Inline or remote config should not overwrite vendor transport settings")}t.transport&&t.transport.iframe&&(H().error(Xi,"Inline configs are not allowed to specify transport iframe"),t.transport.iframe=void 0),this.vEt.transport&&this.vEt.transport.iframe&&(H().error(Xi,"Remote configs are not allowed to specify transport iframe"),this.vEt.transport.iframe=void 0)}Hi(){return"AmpAnalytics "+(this.mf.getAttribute("id")||"<unknown id>")}shallowExpandObject(t,i){const s={},e=[],n=[],r=lt(t),o=Wi(t).getMacros(t);return Object.keys(i).forEach((t=>{e.push(t);const s=r.expandStringAsync(i[t],o);n.push(s)})),Promise.all(n).then((t=>(e.forEach(((i,e)=>s[i]=t[e])),s)))}}(this.element).loadConfig();i.resolve(t)};return this.PEt?n():es(this.element,n,20),i.promise})).then((t=>(this.Ej=t,new class{constructor(t,i,s){this.i=t,this.mf=i,this.Qj=lt(i),this.kEt=null,this.Ej=s,this.qn=Wi(i).getMacros(i)}write(){if(!this.kEt){this.kEt=new e;const t=()=>{this.kEt.resolve(this.Au())};es(this.mf,t,10)}return this.kEt.promise}Au(){if(!di(this.i,this.mf))return s();if(!f(this.Ej,"cookies"))return s();if(!a(this.Ej.cookies))return H().error(us,"cookies config must be an object"),s();const t=this.Ej.cookies;if(!1===t.enabled)return s();const i=this.Net(t),e=Object.keys(t),n=[];for(let s=0;s<e.length;s++){const r=e[s],o=t[r],h=this.LEt(o.sameSite||o.SameSite||t.sameSite||t.SameSite);this.Let(r,o)&&n.push(this.Het(r,o.value,i,h))}return Promise.all(n)}Net(t){if(!f(t,"cookieMaxAge"))return Qi;const i=Number(t.cookieMaxAge);return i||0===i?1e3*i:(H().error(us,"invalid cookieMaxAge %s, falling back to default value (1 year)",t.cookieMaxAge),Qi)}Let(t,i){return!(cs[t]||(a(i)?!f(i,"value")&&(H().error(us,"value is required in the cookieValue object"),1):(H().error(us,"cookieValue must be configured in an object"),1)))}Het(t,i,s,e){return this.Qj.expandStringAsync(i,this.qn).then((i=>{if(i){const n=Date.now()+s,r=e===Xt;!function(t,i,s,e,n={}){let r;!function(t,i,s){if(i.allowOnProxyOrigin)return void $(!i.highestAvailableDomain,"Could not support highestAvailable Domain on proxy origin, specify domain explicitly");$(!Gt(t.location.href),`Should never attempt to set cookie on proxy origin: ${s}`);const e=jt(t.location.href).hostname.toLowerCase(),n=jt(Yt.cdn).hostname.toLowerCase();$(!(e==n||o(e,"."+n)),"Should never attempt to set cookie on proxy origin. (in depth check): "+s)}(t,n,i),n.domain?r=n.domain:n.highestAvailableDomain&&(r=Zt(t)),Qt(t,i,s,e,r,n.sameSite,n.secure)}(this.i,t,i,n,{highestAvailableDomain:!0,sameSite:e,secure:r})}})).catch((t=>{H().error(us,"Error expanding cookie string",t)}))}LEt(t){switch(t){case"Strict":return"Strict";case"Lax":return"Lax";case"None":return Xt;default:return}}}(this.win,this.element,this.Ej).write()))).then((()=>{this.aj=new class t{constructor(t,i={}){this.Ri=t,this.i=t.win,this.it=i,this.ue=this.it.referrerPolicy,"no-referrer"===this.ue&&(this.it.beacon=!1,this.it.xhrpost=!1),this.DEt=!!this.it.useBody,this.xEt=null,this.PEt="inabox"==C(this.i).runtime,this.UEt=this.it.attributionsrc}sendRequest(i,s,e){if(!i||0===s.length)return;const n=this.HEt(),r=function(t){const r={};return t=>{const o=String(t);return void 0===r[o]&&(r[o]=function(t){const r=e?n.generateBatchRequest(i,s,t):n.generateRequest(i,s[0],t);return r.url.startsWith("amp-script:")||(Bt(r.url,"amp-analytics request"),function(t){$(!("__amp_source_origin"in O(jt(t).search)),"Source origin is not allowed in %s",t)}(r.url)),r}(t)),r[o]}}();if(this.it.iframe)return this.xEt?void this.xEt.sendRequest(r(!1).url):void F().error(we,"iframe transport was inadvertently deleted");if(this.it["amp-script"])return void t.forwardRequestToAmpScript(this.Ri,{url:i,payload:r(!0).payload});if(this.it.beacon&&t.sendRequestUsingBeacon(this.i,r(this.DEt)))return;if(this.it.xhrpost&&t.sendRequestUsingXhr(this.i,r(this.DEt)))return;const o=this.it.image;if(o){const i="object"==typeof o&&o.suppressWarnings;t.sendRequestUsingImage(this.i,r(!1),i,this.ue,this.UEt,this.Ri)}}maybeInitIframeTransport(t){if(!this.it.iframe||this.xEt)return;const i=K(p(t)),s=t.getAttribute("type"),e=this.PEt?"1":H().assertString(function(t,i){try{const s=X(t,i).parentElement;if("AMP-AD"==s.nodeName)return String(s.getResourceId())}catch(t){}return null}(t,i),"No friendly amp-ad ancestor element was found for amp-analytics tag with iframe transport.");this.xEt=new Me(i,s,this.it,e)}deleteIframeTransport(){this.xEt&&(this.xEt.detach(),this.xEt=null)}sendRequestUsingIframe(t,i){const s=Ee(t,[i]);if(!s)return void H().error(we,"Request not sent. Contents empty.");Bt(s,"amp-analytics request"),$(jt(s).origin!=jt(this.i.location.href).origin,"Origin of iframe request must not be equal to the document origin. See https://github.com/ampproject/amphtml/blob/main/docs/spec/amp-iframe-origin-policy.md for details.");const e=this.i.document.createElement("iframe");ri(e,!1),e.onload=e.onerror=()=>{at(this.i).delay((()=>{var t,i;null===(i=(t=e).parentElement)||void 0===i||i.removeChild(t)}),5e3)},e.setAttribute("amp-analytics",""),e.setAttribute("sandbox","allow-scripts allow-same-origin"),e.src=s,this.i.document.body.appendChild(e)}HEt(){return Te.default}static sendRequestUsingImage(t,i,s,e,n,r){t&&function(t){let i,s;if(function(t){return!!(t.complete||"complete"==t.readyState||Et(t)&&t.readyState>0||t.document&&"complete"==t.document.readyState)}(t))return Promise.resolve(t);const e=Et(t);return e&&t.__AMP_MEDIA_LOAD_FAILURE_SRC===t.currentSrc?Promise.reject(t):new Promise(((n,r)=>{if(i=e?Tt(t,"loadedmetadata",n,{capture:!0}):Tt(t,"load",n),!t.tagName)return;let o=t;if(e&&!t.hasAttribute("src")&&(o=function(t,i){for(let s=t.lastElementChild;s;s=s.previousElementSibling)if(i(s))return s;return null}(t,(t=>"SOURCE"===t.tagName)),!o))return r(new Error("Media has no source."));s=Tt(o,"error",r)})).then((()=>(s&&s(),t)),(()=>{i&&i(),function(t){Et(t)&&(t.__AMP_MEDIA_LOAD_FAILURE_SRC=t.currentSrc||!0);let i=t;throw i&&i.src&&(i=i.src),H().createError("Failed to load:",i)}(t)}))}(function(t,i,s,e,n){return s&&"no-referrer"!==s&&H().error("pixel","Unsupported referrerPolicy: %s",s),"no-referrer"===s?function(t,i,s,e){if("referrerPolicy"in Image.prototype)return be(t,i,!0,s,e);{const s=g(t.document,"iframe",{"src":"about:blank","style":"display:none"});return s.onload=()=>{be(s.contentWindow,i,void 0,void 0,e)},t.document.body.appendChild(s),s}}(t,i,e,n):be(t,i,!1,e,n)}(t,i.url,e,n,r)).then((()=>{})).catch((()=>{}))}static sendRequestUsingBeacon(t,i){const s=_i.getSendBeacon(t);return!!s&&s(i.url,i.payload||"")}static sendRequestUsingXhr(t,i){const s=_i.getXMLHttpRequest(t);if(!s)return!1;const e=new s;return"withCredentials"in e&&(e.open("POST",i.url,!0),e.withCredentials=!0,e.setRequestHeader("Content-Type","text/plain"),e.onreadystatechange=()=>{e.readyState},e.send(i.payload||""),!0)}static forwardRequestToAmpScript(t,i){return(s=t,function(t,i,s){const e=W(t,i);return e?Promise.resolve(e):nt(t,i,"amp-script")}(s,"amp-script")).then((t=>{$(t,"AMP-SCRIPT is not installed"),t.fetch(i.url,JSON.parse(i.payload))}));var s}}(this.getAmpDoc(),this.Ej.transport||{})})).then(this.jEt.bind(this)).then(this.FEt.bind(this)).then(this.qEt.bind(this)),this.AEt.then((()=>{this.collapse()})),this.AEt}$Et(){return!!this.PEt||(null==this.EEt&&(this.EEt=fi(this.element)),this.EEt)}jEt(){return this.Ej.triggers&&Object.values(this.Ej.triggers).some((t=>{var i;return null==t||null===(i=t.session)||void 0===i?void 0:i.persistEvent}))&&this.gC?Ci(this.getAmpDoc()).then((t=>{this.TEt=t})):s()}FEt(){if(this.BEt())return this.Hi(),s();if(this.GEt(),!this.Ej.triggers){const t=this.Hi();return this.user().warn(t,"No triggers were found in the config. No analytics data will be sent."),s()}this.WEt(this.Ej.extraUrlParams,this.Ej.extraUrlParamsReplaceMap),this._Et=this.dEt.createAnalyticsGroup(this.element),this.aj.maybeInitIframeTransport(this.element);const t=[];for(const s in this.Ej.triggers)if(f(this.Ej.triggers,s)){const e=this.Ej.triggers[s],r=this.zEt({},e,void 0,!0),o=this.Hi();if(!e){this.user().error(o,"Trigger should be an object: ",s);continue}const h=e.request||e.parentPostMessage&&this.$Et();if(!e.on||!h){const t=this.$Et()?'/"parentPostMessage"':"";this.user().error(o,'"on" and "request"'+t+" attributes are required for data to be collected.");continue}if(this.fEt){const t=e.on;if(!("click"!==(i=t)&&"browser-event"!==i&&"custom"!==i&&"hidden"!==i&&"ini-load"!==i&&"render-start"!==i&&"scroll"!==i&&"story"!==i&&"timer"!==i&&"video"!==i&&"visible"!==i||Ve.includes(t))){this.user().error(o,t+" is not supported for amp-analytics in scope");continue}}this.WEt(e.extraUrlParams,this.Ej.extraUrlParamsReplaceMap),t.push(this.YEt(e).then((t=>{if(t){if(this.fEt){if(!this.element.parentElement)return;return e.selector=this.element.parentElement.tagName,e.selectionMethod="closest",this.KEt(e)}return e.selector&&!n(e.selector)?this.IT.expandTemplate(e.selector,r,this.element).then((t=>(e.selector=t,this.KEt(e)))):this.KEt(e)}})))}var i;return Promise.all(t)}preload(t,i){ct(this.win).preload(this.getAmpDoc(),t,i)}KEt(t){if(!this._Et)return s();try{return this._Et.addTrigger(t,this.my.bind(this,t))}catch(i){return S(this.Hi(),'Failed to process trigger "'+t.on+'"',i),s()}}WEt(t,i){if(t&&i){let s=0;for(const e in i){if(++s>16){const t=this.Hi();this.user().error(t,"More than 16 extraUrlParamsReplaceMap rules aren't allowed; Skipping the rest");break}for(const s in t){const n=s.replace(e,i[e]);if(s!=n){const i=t[s];delete t[s],t[n]=i}}}}}BEt(){const t=this.Ej.optoutElementId;if(t&&this.win.document.getElementById(t))return!0;if(!this.Ej.optout)return!1;const i=this.Ej.optout.split(".");let s=this.win;for(let t=0;t<i.length;t++){if(!s)return!1;s=s[i[t]]}return s()}GEt(){if(this.Ej.requests){if(this.Ej.requests){for(const t in this.Ej.requests)f(this.Ej.requests,t)&&(this.Ej.requests[t].baseUrl||(this.user().error(Oe,"request must have a baseUrl"),delete this.Ej.requests[t]));for(const t in this.Ej.requests)this.Ej.requests[t].baseUrl=h(this.Ej.requests[t].baseUrl,(t=>{const i=this.Ej.requests[t];return i&&i.baseUrl||"${"+t+"}"}),5);const t={};for(const i in this.Ej.requests)if(f(this.Ej.requests,i)){const s=this.Ej.requests[i];t[i]=new ge(this.element,s,ct(this.win),this.aj,this.fEt)}this.mG=t}}else if(!this.$Et()){const t=this.Hi();this.user().warn(t,"No request strings defined. Analytics data will not be sent from this page.")}}qEt(){this.pEt=new class{constructor(t,i,s,e){this.Ri=t,this.Ej=i.linkers,this.LG=i.vars||{},this.gC=s,this.mf=e,this.XEt={},this.fv=dt(this.mf),this.Mq=z(t,"form-submit-service"),this.JEt=null,this.IT=Wi(this.Ri),this.ZEt=null}init(){if(!a(this.Ej))return s();this.ZEt=Zt(this.Ri.win),this.Ej=this.QEt(this.Ej);const t=Object.keys(this.Ej).map((t=>{const i=this.Ej[t].ids,s=Object.keys(i),e=s.map((t=>{const s=new Ui(this.LG,void 0,!0);return this.tIt(i[t],s)}));return Promise.all(e).then((i=>{const e={};return i.forEach(((t,i)=>{t&&(e[s[i]]=t)})),this.XEt[t]=e,e}))}));if(t.length){const t=G(this.Ri,"navigation");t.registerAnchorMutator(((t,i)=>{t.href&&"click"===i.type&&(t.href=this.iIt(t.href))}),2),t.registerNavigateToMutator((t=>this.iIt(t)),2)}return this.sIt(),Promise.all(t)}dispose(){this.JEt&&this.JEt()}QEt(t){const i={},s={enabled:this.eIt()&&this.nIt()},e=Object.keys(t).filter((i=>{const e=t[i],n=a(e);return n||(s[i]=e),n})),n=_i.getLocation(this.Ri.win),r=this.fv.isProxyOrigin(n);return e.forEach((e=>{const n=St(St({},s),t[e]);!0===n.enabled&&(r||!1===n.proxyOnly)&&(n.ids?i[e]=n:H().error("amp-analytics/linker-manager",'"ids" is a required field for use of "linkers".'))})),i}tIt(t,i){const s=this.IT.getMacros(this.mf);return this.IT.expandTemplate(t,i,this.mf).then((t=>lt(this.mf).expandUrlAsync(t,s)))}eIt(){return"googleanalytics"===this.gC&&"googleanalytics"===this.Ri.getMetaByName("amp-google-client-id-api")&&this.Ri.registerSingleton(2)}nIt(){const t=B(this.Ri.win,"platform");return t.isSafari()&&t.getMajorVersion()>=12}iIt(t){const i=this.Ej;for(const s in i)this.XEt[s]&&(t=this.rIt(t,s,i[s]));return t}rIt(t,i,s){const e=this.fv.parse(t);if(this.oIt(e,i,s)&&this.hIt(e)){const s=Ti("1",this.XEt[i]);if(s){const e={};return e[i]=s,function(t,i){const s=O(jt(t).search),e={},n=Object.keys(i);for(let t=0;t<n.length;t++)f(s,n[t])||(e[n[t]]=i[n[t]]);return function(t,i){return Ft(t,$t(i))}(t,e)}(t,e)}}return t}oIt(t,i,s){const e=s.destinationDomains,{hostname:n}=t,r=_i.getHostname(this.Ri.win),o=s.sameDomainEnabled;if(!Boolean(o)&&r===n)return!1;if(e&&!Array.isArray(e))return!1;if(e)return this.uIt(e,n);const{canonicalUrl:h,sourceUrl:u}=G(this.Ri,"documentInfo").get(),c=_e(this.fv.parse(h).hostname,n);if(this.ZEt){const t=[this.ZEt,"*"+this.ZEt];return this.uIt(t,n)||c}return _e(this.fv.parse(u).hostname,n)||c}hIt(t){return"https:"===t.protocol||"http:"===t.protocol}uIt(t,i){for(let s=0;s<t.length;s++){const e=t[s];if(e===i)return!0;if(-1!==e.indexOf("*")&&Ae(i,e))return!0}return!1}sIt(){this.JEt||this.Mq.then((t=>{this.JEt=t.beforeSubmit(this.cIt.bind(this))}))}cIt(t){const{actionXhrMutator:i,form:s}=t;for(const t in this.Ej){const e=this.Ej[t],n=s.getAttribute("action-xhr")||s.getAttribute("action"),r=this.fv.parse(n);this.oIt(r,t,e)&&this.aIt(s,i,t)}}aIt(t,i,s){const e=this.XEt[s];if(!e)return;const n=Ti("1",e),r=t.getAttribute("action-xhr");if(r)return i(Ft(r,qt(s,n),void 0));this.lIt(t,s,n)}lIt(t,i,s){const e={"type":"hidden","name":i,"value":s},n=g(t.ownerDocument,"input",e);t.appendChild(n)}}(this.getAmpDoc(),this.Ej,this.gC,this.element);const t=()=>{this.pEt.init()};this.PEt?t():es(this.element,t,10)}my(t,i){var s,e;null===(s=t.session)||void 0===s||!s.persistEvent||null===(e=this.TEt)||void 0===e||e.updateEvent(this.gC);const r=n(t.request)?t.request:[t.request];for(let s=0;s<r.length;s++){const e=r[s];this.fIt(e,t,i)}}fIt(t,i,s){this.element.ownerDocument.defaultView||this.Hi();const e=this.mG[t],n=this.$Et()&&i.parentPostMessage;if(null!=t&&!e){const t=this.Hi();if(this.user().error(t,"Ignoring request for event. Request string not found: ",i.request),!n)return}this.dIt(i,s).then((t=>{const n=this.element.ownerDocument&&this.element.ownerDocument.defaultView;t&&n&&(this._It(e,i,s),i.parentPostMessage&&this.$Et()&&v(this.win)&&this.mIt(i,s))}))}_It(t,i,s){if(!t)return;this.Ej.vars.requestCount++;const e=this.zEt(s,i);t.send(this.Ej.extraUrlParams,i,e)}mIt(t,i){const s=t.parentPostMessage,e=this.zEt(i,t);(function(t,i,s,e,n,r){const o=Wi(t),h=lt(r),u=o.getMacros(r);n.freezeVar("extraUrlParams");const c=o.expandTemplate(i,n,r).then((t=>h.expandStringAsync(t,u)));return i.indexOf("${extraUrlParams}")<0?c:c.then((t=>{const i=St(St({},s),e.extraUrlParams);return Ie(o,h,i,n,u,r).then((i=>Ee(t,[{"extraUrlParams":i}])))}))})(this.getAmpDoc(),s,this.Ej.extraUrlParams,t,e,this.element).then((t=>{this.win.parent.postMessage(t,"*")}))}YEt(t){const i=t.sampleSpec,s=this.Hi();if(!i)return Promise.resolve(!0);const n=i.sampleOn;if(!n)return this.user().error(s,"Invalid sampleOn value."),Promise.resolve(!0);const r=parseFloat(i.threshold);if(r>=0&&r<=100){const i=new e,s=()=>{const s=this.zEt({},t),e=this.tIt(n,s).then((t=>this.mEt.uniform(t))).then((t=>100*t<r));i.resolve(e)};return this.PEt?s():es(this.element,s,10),i.promise}return H().error(s,"Invalid threshold for sampling."),Promise.resolve(!0)}dIt(t,i){const s=this.zEt(i,t),e=this.AIt(this.Ej.enabled,s),n=this.AIt(t.enabled,s);return Promise.all([e,n]).then((t=>(q(2===t.length),t[0]&&t[1])))}AIt(t,i){return void 0===t?Promise.resolve(!0):"boolean"==typeof t?Promise.resolve(t):this.tIt(t,i).then((t=>Ki(t)))}tIt(t,i){return this.IT.expandTemplate(t,i,this.element).then((t=>lt(this.element).expandUrlAsync(t,this.IT.getMacros(this.element))))}Hi(){return"AmpAnalytics "+(this.element.getAttribute("id")||"<unknown id>")}zEt(t,i,s,e){const n={};return Ji(this.Ej.vars,n),Ji(i.vars,n),Ji(t.vars,n),new Ui(n,s,e)}};t.registerServiceForDoc("amp-analytics-instrumentation",class{constructor(t){this.ampdoc=t,this.pu=this.PIt(t.getRootNode())}dispose(){this.pu.dispose()}getAnalyticsRoot(t){return this.PIt(t)}createAnalyticsGroup(t){const i=this.PIt(t);return new class{constructor(t,i){this.pu=t,this.pIt=i,this.Ca=[],this.TIt=0,this.i=p(i)}dispose(){this.Ca.forEach((t=>{t()}))}addTrigger(t,i){const s=t.on,n=Vs(s),r=Ns(this.pu.getType()),o=this.pu.getTrackerForAllowlist(n,r);let h;$(!!o,'Trigger type "%s" is not allowed in the %s',s,this.pu.getType());const u=new e,c=()=>{h=o.add(this.pIt,s,t,i),this.Ca.push(h),u.resolve()};if(this.TIt<1||"inabox"==C(this.i).runtime)c();else{const t=this.TIt<3?20:10;es(this.pIt,c,t)}return this.TIt++,u.promise}}(i,t)}EIt(t){return t===Rs?xs:Ds}triggerEventForTarget(t,i,s={},e=!0){const n=new Cs(t,i,s,e),r=this.PIt(t),o=Vs(i);r.getTracker(o,this.EIt(o)).trigger(n)}PIt(t){const i=ot(t),s=X(t),e=s&&li(s);return i==this.ampdoc&&!e&&this.pu?this.pu:this.gIt(e||i,(()=>e?new le(i,e):new ae(i)))}gIt(t,i){let s=t[de];return s||(s=i(),t[de]=s),s}}),t.registerServiceForDoc("activity",class{constructor(t){this.ampdoc=t,this.IIt=this.vIt.bind(this),this.RIt=this.MIt.bind(this),this.bIt=this.SIt.bind(this),this.yIt=this.wIt.bind(this),this.OIt={},this.VIt=[],this.NIt=!1,this.CIt=!1,this.kIt=new class{constructor(){this.LIt=0,this.DIt=void 0}push(t){this.DIt&&this.DIt.time<t.time&&(this.LIt+=It(this.DIt,t.time)),this.DIt=t}getTotalEngagedTime(t){let i=0;return void 0!==this.DIt&&(i=this.LIt+It(this.DIt,t)),i}},this.Uu=_t(this.ampdoc),this.ampdoc.whenFirstVisible().then(this.On.bind(this))}On(){this.zn=Date.now(),this.MIt(),this.xIt()}UIt(){const t=Date.now()-this.zn;return t>0?t:0}vIt(){this.NIt=!1,this.CIt=!1}xIt(){this.HIt(this.ampdoc.getRootNode(),vt,this.RIt),this.HIt(this.ampdoc.getRootNode(),Rt,this.bIt),this.VIt.push(this.ampdoc.onVisibilityChanged(this.yIt)),this.Uu.onScroll(this.RIt)}HIt(t,i,s){for(let e=0;e<i.length;e++)this.VIt.push(Pt(t,i[e],s))}MIt(){this.NIt||(this.NIt=!0,this.CIt=!1,this.jIt(gt))}SIt(){this.CIt||(this.CIt=!0,this.NIt=!1,this.jIt("inactive"))}jIt(t){const i=this.UIt(),s=Math.floor(i/1e3),e=1e3-i%1e3;setTimeout(this.IIt,e),this.kIt.push({type:t,time:s})}wIt(){this.ampdoc.isVisible()?this.MIt():this.SIt()}bb(){for(let t=0;t<this.VIt.length;t++){const i=this.VIt[t];"function"==typeof i&&i()}this.VIt=[]}Mn(){this.bb()}getTotalEngagedTime(){const t=Math.floor(this.UIt()/1e3);return this.kIt.getTotalEngagedTime(t)}getIncrementalEngagedTime(t,i=!0){if(!f(this.OIt,t))return i&&(this.OIt[t]=this.getTotalEngagedTime()),this.getTotalEngagedTime();const s=this.OIt[t];return!1===i?this.getTotalEngagedTime()-s:(this.OIt[t]=this.getTotalEngagedTime(),this.OIt[t]-s)}}),tt(ye=K(ye=t.win),ye,"amp-analytics-linker-reader",class{constructor(t){this.i=t,this.Uet={}}get(t,i){return t&&i?(f(this.Uet,t)||(this.Uet[t]=this.FIt(t)),this.Uet[t]&&this.Uet[t][i]?this.Uet[t][i]:null):(H().error("amp-analytics/linker-reader","LINKER_PARAM requires two params, name and id"),null)}FIt(t){const i=O(this.i.location.search);if(!f(i,t))return null;const s=i[t];return this.qIt(this.i.location,t),function(t){const i=function(t){const i=t.split(Ai),s=i.length%2==0;if(i.length<4||!s)return H().error(pi,`Invalid linker_param value ${t}`),null;const e=Number(i.shift());return 1!==e?(H().error(pi,`Invalid version number ${e}`),null):{checksum:i.shift(),serializedIds:i.join(Ai)}}(t);if(!i)return null;const{checksum:s,serializedIds:e}=i;return function(t,i){for(let s=0;s<=1;s++)if(Ei(t,s)==i)return!0;return!1}(e,s)?function(t){const i={},s=t.split(Ai);for(let t=0;t<s.length;t+=2){const e=s[t];if(!Pi.test(e)){H().error(pi,`Invalid linker key ${e}, value ignored`);continue}const n=gi(s[t+1]);i[e]=n}return i}(e):(H().error(pi,"LINKER_PARAM value checksum not valid"),null)}(s)}qIt(t,i){if(!this.i.history.replaceState)return;const s=Wt(t.search,i),e=t.origin+t.pathname+s+(t.hash||"");this.i.history.replaceState(null,"",e)}}),t.registerServiceForDoc("amp-analytics-session",class{constructor(t){this.Nst=z(t,"storage"),this.$It=l(),this.Ri=t,this.i=t.win,this.Yv=[],this.BIt=null,this.qi=null,this.GIt=!0,this.Au()}Au(){this.WIt(),this.Yv.push(Pt(this.i,"focus",(()=>{this.BIt=!0,this.zIt()})),Pt(this.i,"blur",(()=>{this.BIt=!1,this.zIt()})),Pt(this.i,"pageshow",(()=>{this.GIt=!0,this.zIt()})),Pt(this.i,"pagehide",(()=>{this.GIt=!1,this.zIt()})),this.Ri.onVisibilityChanged((()=>{this.qi=this.Ri.isVisible(),this.zIt()})))}WIt(){this.BIt=this.i.document.hasFocus(),this.qi=!(function(t){const i=t[ei(t,"visibilityState",!0)];if(i)return i;const s=ei(t,"hidden",!0);return s in t&&t[s]?"hidden":Ii}(this.i.document)!=Ii)}zIt(){Object.keys(this.$It).forEach((t=>{const i=this.$It[t];i.engaged=this.YIt(),this.KIt(t,i)}))}dispose(){this.Yv.forEach((t=>{t()})),this.Yv.length=0}getSessionValue(t,i){return this.get(t).then((t=>null==t?void 0:t[i]))}updateEvent(t){return this.get(t,(t=>{t.eventTimestamp=Date.now()}))}get(t,i){return t?f(this.$It,t)&&!Oi(this.$It[t])?(this.$It[t]=this.XIt(this.$It[t]),null==i||i(this.$It[t]),this.KIt(t,this.$It[t]),Promise.resolve(this.$It[t])):this.JIt(t,i):(H().error(vi,"Sessions can only be accessed with a vendor type."),Promise.resolve(null))}JIt(t,i){return this.Nst.then((i=>{const s=Vi(t);return i.get(s)})).then((t=>{return t?this.XIt(a(i=t)?{[Ri]:i.sessionId,[Mi]:i.creationTimestamp,[wi]:i.count,[bi]:i.accessTimestamp,[yi]:i.eventTimestamp,[Si]:null===(s=i.engaged)||void 0===s||s}:(F().error(vi,"Invalid stored session value"),Ni()),!0):Ni(this.YIt());var i,s})).then((s=>(t in this.$It&&!Oi(this.$It[t])||(null==i||i(s),this.KIt(t,s),this.$It[t]=s),this.$It[t])))}XIt(t,i){const s=t.count,e=Date.now();if(Oi(t)){const i=(null!=s?s:0)+1;t=Ni(this.YIt(),i)}else{const s=i&&t.engaged;t.engaged=s||this.YIt(),s&&(this.BIt=!0,this.GIt=!0,this.qi=!0)}return t.accessTimestamp=e,t}YIt(){return this.GIt&&this.qi&&this.BIt}KIt(t,i){return this.Nst.then((s=>{const e=Vi(t);s.setNonBoolean(e,i)}))}}),t.registerServiceForDoc("amp-analytics-variables",class{constructor(t){this.Ri=t,this.jN={},this.xet=B(this.Ri.win,"amp-analytics-linker-reader"),this.ZIt=Ci(this.Ri),this.A$("$DEFAULT",ji),this.A$("$SUBSTR",Hi),this.A$("$TRIM",(t=>t.trim())),this.A$("$TOLOWERCASE",(t=>t.toLowerCase())),this.A$("$TOUPPERCASE",(t=>t.toUpperCase())),this.A$("$NOT",(t=>String(!t))),this.A$("$BASE64",(t=>Lt(t))),this.A$("$HASH",this.QIt.bind(this)),this.A$("$IF",((t,i,s)=>Ki(t)?i:s)),this.A$("$REPLACE",Fi),this.A$("$MATCH",qi),this.A$("$CALC",$i),this.A$("$EQUALS",((t,i)=>t===i)),this.A$("LINKER_PARAM",((t,i)=>this.xet.get(t,i))),this.A$("TIMEZONE_CODE",(()=>{let t="";return"Intl"in this.Ri.win&&"DateTimeFormat"in this.Ri.win.Intl&&(t=(new this.Ri.win.Intl.DateTimeFormat).resolvedOptions().timeZone),t})),this.A$("SCROLL_TOP",(()=>Math.round(_t(this.Ri).getScrollTop()))),this.A$("SCROLL_LEFT",(()=>Math.round(_t(this.Ri).getScrollLeft()))),this.A$("EXPERIMENT_BRANCHES",(t=>function(t,i){if(i)return function(t,i){return t.__AMP_EXPERIMENT_BRANCHES?t.__AMP_EXPERIMENT_BRANCHES[i]:null}(t,i)||"";const s=function(t){const i=K(t);return i.__AMP_EXPERIMENT_BRANCHES||(i.__AMP_EXPERIMENT_BRANCHES={}),St({},i.__AMP_EXPERIMENT_BRANCHES)}(t);return Object.keys(s).map((t=>`${t}:${s[t]}`)).join(",")}(this.Ri.win,t))),this.A$("AMPDOC_META",((t,i="")=>{var s;return null!==(s=this.Ri.getMetaByName(t))&&void 0!==s?s:i}))}getMacros(t){const i=t.getAttribute("type"),s={"COOKIE":i=>function(t,i,s){return di(t,i)?Jt(t,s):null}(this.Ri.win,t,i),"CONSENT_STATE":Yi(t),"CONSENT_STRING":ki(t),"CONSENT_METADATA":i=>function(t,i){return function(t,i="default"){return ft(t).then((t=>t?t.getConsentMetadataInfo(i):null))}(t).then((t=>t?t[i]:null))}(t,$(i,"CONSENT_METADATA macro must contain a key")),"SESSION_ID":()=>this.tRt(i,Ri),"SESSION_TIMESTAMP":()=>this.tRt(i,Mi),"SESSION_COUNT":()=>this.tRt(i,wi),"SESSION_EVENT_TIMESTAMP":()=>this.tRt(i,yi),"SESSION_ENGAGED":()=>this.tRt(i,Si)},e=fi(t)?{}:{"FIRST_CONTENTFUL_PAINT":()=>ut(this.Ri.win).getMetric("fcpv"),"FIRST_VIEWPORT_READY":()=>ut(this.Ri.win).getMetric("pc"),"MAKE_BODY_VISIBLE":()=>ut(this.Ri.win).getMetric("mbv"),"LARGEST_CONTENTFUL_PAINT":()=>ut(this.Ri.win).getMetric("lcpv"),"FIRST_INPUT_DELAY":()=>ut(this.Ri.win).getMetric("fid"),"CUMULATIVE_LAYOUT_SHIFT":()=>ut(this.Ri.win).getMetric("cls"),"INTERACTION_TO_NEXT_PAINT":()=>ut(this.Ri.win).getMetric("inp")};return St(St(St({},this.jN),s),e)}tRt(t,i){return this.ZIt.then((s=>s.getSessionValue(t,i)))}A$(t,i){q(!this.jN[t]),this.jN[t]=i}expandTemplate(t,i,s,e,r){return function(t,i,s){const e=[];let n=0;return t.replace(i,(function(i){const r=arguments[arguments.length-2];e.push(t.slice(n,r)),n=r+i.length;const o=s.apply(null,arguments);return e.push(o),""})),e.push(t.slice(n)),Promise.all(e).then((t=>t.join("")))}(t,/\${([^{}]*)}/g,((t,o)=>{if(i.iterations<0)return H().error(Li,"Maximum depth reached while expanding variables. Please ensure that the variables are not recursive."),t;if(!o)return"";const{argList:h,name:u}=Gi(o);if(i.freezeVars[u])return t;let c=i.getVar(u);const a=lt(s);if("string"==typeof c)c=this.iRt(c,i,s,a,e,r,h);else if(n(c)){for(let t=0;t<c.length;t++)c[t]="string"==typeof c[t]?this.iRt(c[t],i,s,a,e,r):c[t];c=Promise.all(c)}return Promise.resolve(c).then((t=>i.noEncode?t:Bi(t)))}))}iRt(t,i,s,e,n,r,o){return this.expandTemplate(t,new Ui(i.vars,i.iterations-1,!0),s,n,r).then((t=>e.expandStringAsync(o?t+o:t,n||this.getMacros(s),r)))}QIt(t){return ht(this.Ri.win).sha384Base64(t)}}),t.registerElement(Oe,Ne)})();
/*! https://mths.be/cssescape v1.5.1 by @mathias | MIT license */}});
//# sourceMappingURL=amp-analytics-0.1.mjs.map