1 2 3<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> 4<html xmlns="http://www.w3.org/1999/xhtml" xmlns:v="urn:schemas-microsoft-com:vml" 5xml:lang="en" lang="en"> 6<head id="Head1">
6<script type="text/javascript">window.NREUM||(NREUM={});NREUM.info = {"beacon":"bam.nr-data.net","errorBeacon":"bam.nr-data.net","licenseKey":"8f0e834daf","applicationID":"1007448362","transactionName":"b1RUZ0cFXUEFAhBaVlYed2BlS0NHBg0NUBZbUEJSWQtUHQAEEFJQVEIYUkYUSw==","queueTime":0,"applicationTime":130,"agent":"","atts":""}</script>
6<script type="text/javascript">(window.NREUM||(NREUM={})).init={privacy:{cookies_enabled:true},ajax:{deny_list:["bam.nr-data.net"]},distributed_tracing:{enabled:true}};(window.NREUM||(NREUM={})).loader_config={agentID:"1007448677",accountID:"911097",trustKey:"911097",xpid:"XQcGUV9UGwIAVFZWAwkEUFY=",licenseKey:"8f0e834daf",applicationID:"1007448362",browserID:"1007448677"};;/*! For license information please see nr-loader-spa-1.322.0.min.js.LICENSE.txt */ 7(()=>{var e={8122(e,t,r){"use strict";r.d(t,{a:()=>i});var n=r(944);function i(e,t){try{if(!e||"object"!=typeof e)return(0,n.R)(3);if(!t||"object"!=typeof t)return(0,n.R)(4);const r=Object.create(Object.getPrototypeOf(t),Object.getOwnPropertyDescriptors(t)),s=0===Object.keys(r).length?e:r;for(let a in s)if(void 0!==e[a])try{if(null===e[a]){r[a]=null;continue}Array.isArray(e[a])&&Array.isArray(t[a])?r[a]=Array.from(new Set([...e[a],...t[a]])):e[a]instanceof Map||e[a]instanceof Set||e[a]instanceof Date||e[a]instanceof RegExp?r[a]=e[a]:"object"==typeof e[a]&&null!==t[a]&&"object"==typeof t[a]?r[a]=i(e[a],t[a]):r[a]=e[a]}catch(e){r[a]||(0,n.R)(1,e)}return r}catch(e){(0,n.R)(2,e)}}},2555(e,t,r){"use strict";r.d(t,{f:()=>a});var n=r(384),i=r(8122);const s={beacon:n.NT.beacon,errorBeacon:n.NT.errorBeacon,licenseKey:void 0,applicationID:void 0,sa:void 0,queueTime:void 0,applicationTime:void 0,ttGuid:void 0,user:void 0,account:void 0,product:void 0,extra:void 0,jsAttributes:{},userAttributes:void 0,atts:void 0,transactionName:void 0,tNamePlain:void 0};function a(e){try{return!!e.licenseKey&&!!e.errorBeacon&&!!e.applicationID}catch(e){return!1}}r.d(t,["D",0,e=>(0,i.a)(e,s)])},7699(e,t,r){"use strict";var n=r(860);const i={[n.K7.logging]:!0,[n.K7.genericEvents]:!0,[n.K7.jserrors]:!0,[n.K7.ajax]:!0};r.d(t,["It",0,1e6,"KC",0,i,"qh",0,"SESSION_ERROR"])},9324(e,t,r){"use strict";r.d(t,["A",0,"@newrelic/rrweb","x",0,"1.322.0"])},981(e,t,r){"use strict";r.d(t,["R",0,{AJAX:"AjaxRequest",PA:"PageAction",UA:"UserAction",BP:"BrowserPerformance",WS:"WebSocket",SPV:"SecurityPolicyViolation",JSE:"JavaScriptError",LOG:"Log",PVE:"PageView",PVT:"PageViewTiming",SR:"SessionReplay",ST:"SessionTrace",BI:"BrowserInteraction"}])},9752(e,t,r){"use strict";const n="newrelic-iframe-",i=n+"timing-update",s=n+"api",a=n+"api-response",o=n+"vitals-update",c=n+"ajax";r.d(t,["$8",0,o,"Gi",0,a,"KU",0,c,"Pl",0,n,"cS",0,s,"cr",0,i])},6154(e,t,r){"use strict";var n=r(1863);const i="undefined"!=typeof window&&!!window.document,s="undefined"!=typeof WorkerGlobalScope&&("undefined"!=typeof self&&self instanceof WorkerGlobalScope&&self.navigator instanceof WorkerNavigator||"undefined"!=typeof globalThis&&globalThis instanceof WorkerGlobalScope&&globalThis.navigator instanceof WorkerNavigator),a=i?window:"undefined"!=typeof WorkerGlobalScope&&("undefined"!=typeof self&&self instanceof WorkerGlobalScope&&self||"undefined"!=typeof globalThis&&globalThis instanceof WorkerGlobalScope&&globalThis),o=Boolean("hidden"===a?.document?.visibilityState),c=""+a?.location,d=/iPad|iPhone|iPod/.test(a.navigator?.userAgent),u=d&&"undefined"==typeof SharedWorker,l=(()=>{const e=a.navigator?.userAgent?.match(/Firefox[/\s](\d+\.\d+)/);return Array.isArray(e)&&e.length>=2?+e[1]:0})(),f=Date.now()-(0,n.t)();r.d(t,["OF",0,d,"RI",0,i,"WN",0,f,"bv",0,s,"gm",0,a,"lR",0,l,"m",0,c,"mw",0,o,"sb",0,u,"zk",0,()=>{const e=a?.performance?.getEntriesByType?.("navigation")?.[0];if(e&&e.responseStart>0&&e.responseStart<a.performance.now())return e}])},7295(e,t,r){"use strict";r.d(t,{Xv:()=>a,gX:()=>i,iW:()=>s});var n=[];function i(e){if(!e||s(e))return!1;if(0===n.length)return!0;if("*"===n[0].hostname)return!1;for(var t=0;t<n.length;t++){var r=n[t];if(r.hostname.test(e.hostname)&&r.pathname.test(e.pathname))return!1}return!0}function s(e){return void 0===e.hostname}function a(e){if(n=[],e&&e.length)for(var t=0;t<e.length;t++){let r=e[t];if(!r)continue;if("*"===r)return void(n=[{hostname:"*"}]);0===r.indexOf("http://")?r=r.substring(7):0===r.indexOf("https://")&&(r=r.substring(8));const i=r.indexOf("/");let s,a;i>0?(s=r.substring(0,i),a=r.substring(i)):(s=r,a="*");let[c]=s.split(":");n.push({hostname:o(c),pathname:o(a,!0)})}}function o(e,t=!1){const r=e.replace(/[.+?^${}()|[\]\\]/g,e=>"\\"+e).replace(/\*/g,".*?");return new RegExp((t?"^":"")+r+"$")}},3241(e,t,r){"use strict";r.d(t,{W:()=>i});var n=r(6154);function i(e={}){try{n.gm.dispatchEvent(new CustomEvent("newrelic",{detail:e}))}catch(e){}}},1687(e,t,r){"use strict";r.d(t,{Ak:()=>o,Ze:()=>d,x3:()=>c});var n=r(3241),i=r(3606),s=r(860),a=r(2646);function o(e,t){if(!e)return;const r={staged:!1,priority:s.P3[t]||0};
7e.runtime.drainRegistry.get(t)||e.runtime.drainRegistry.set(t,r)}function c(e,t){if(!e)return;const r=e.runtime.drainRegistry;r&&(r.get(t)&&r.delete(t),l(e,t,!1),r.size&&u(e))}function d(e,t="feature",r=!1){if(e){if(!e.runtime.drainRegistry.get(t)||r)return l(e,t);e.runtime.drainRegistry.get(t).staged=!0,u(e)}}function u(e){if(!e)return;const t=Array.from(e.runtime.drainRegistry);t.every(([e,t])=>t.staged)&&(t.sort((e,t)=>e[1].priority-t[1].priority),t.forEach(([t])=>{e.runtime.drainRegistry.delete(t),l(e,t)}))}function l(e,t,r=!0){if(!e)return;const s=e.ee,o=i.i.handlers;if(s&&!s.aborted&&s.backlog&&o){if((0,n.W)({type:"lifecycle",name:"drain",feature:t}),r){const e=s.backlog[t],r=o[t];if(r){for(let t=0;e&&t<e.length;++t)f(e[t],r);Object.entries(r).forEach(([e,t])=>{Object.values(t||{}).forEach(t=>{t[0]?.on&&t[0].context()instanceof a.y&&!t[0].listeners(e).includes(t[1])&&t[0].on(e,t[1])})})}}s.isolatedBacklog||delete o[t],s.backlog[t]=null,s.emit("drain-"+t,[])}}function f(e,t){var r=e[1];Object.values(t[r]||{}).forEach(t=>{var r=e[0];if(t[0]===r){var n=t[1],i=e[3],s=e[2];n.apply(i,s)}})}},7836(e,t,r){"use strict";var n=r(384),i=r(8990),s=r(2646),a=r(5607);const o="nr@context:".concat(a.W),c=function e(t,r){var n={},a={},u={},l=!1;try{l=16===r.length&&d.initializedAgents?.[r]?.runtime.isolatedBacklog}catch(e){}var f={on:p,addEventListener:p,removeEventListener:function(e,t){var r=n[e];if(!r)return;for(var i=0;i<r.length;i++)r[i]===t&&r.splice(i,1)},emit:function(e,r,n,i,s){!1!==s&&(s=!0);if(c.aborted&&!i)return;t&&s&&t.emit(e,r,n);var o=h(n);g(e).forEach(e=>{e.apply(o,r)});var d=v()[a[e]];d&&d.push([f,e,r,o]);return o},get:m,listeners:g,context:h,buffer:function(e,t){const r=v();if(t=t||"feature",f.aborted)return;Object.entries(e||{}).forEach(([e,n])=>{a[n]=t,t in r||(r[t]=[])})},abort:function(){f._aborted=!0,Object.keys(f.backlog).forEach(e=>{delete f.backlog[e]})},isBuffering:function(e){return!!v()[a[e]]},debugId:r,backlog:l?{}:t&&"object"==typeof t.backlog?t.backlog:{},isolatedBacklog:l};return Object.defineProperty(f,"aborted",{get:()=>{let e=f._aborted||!1;return e||(t&&(e=t.aborted),e)}}),f;function h(e){return e&&e instanceof s.y?e:e?(0,i.I)(e,o,()=>new s.y(o)):new s.y(o)}function p(e,t){n[e]=g(e).concat(t)}function g(e){return n[e]||[]}function m(t){return u[t]=u[t]||e(f,t)}function v(){return f.backlog}}(void 0,"globalEE"),d=(0,n.Zm)();d.ee||(d.ee=c),r.d(t,["P",0,o,"ee",0,c])},2646(e,t,r){"use strict";r.d(t,{y:()=>n});class n{constructor(e){this.contextId=e}}},9908(e,t,r){"use strict";r.d(t,{d:()=>n,p:()=>i});var n=r(7836).ee.get("handle");function i(e,t,r,i,s){s?(s.buffer([e],i),s.emit(e,t,r)):(n.buffer([e],i),n.emit(e,t,r))}},3606(e,t,r){"use strict";r.d(t,{i:()=>s});var n=r(9908);s.on=a;var i=s.handlers={};function s(e,t,r,s){a(s||n.d,i,e,t,r)}function a(e,t,r,i,s){s||(s="feature"),e||(e=n.d);var a=t[s]=t[s]||{};(a[r]=a[r]||[]).push([e,i])}},3878(e,t,r){"use strict";function n(e,t){return{capture:e,passive:!1,signal:t}}function i(e,t,r=!1,i){window.addEventListener(e,t,n(r,i))}function s(e,t,r=!1,i){document.addEventListener(e,t,n(r,i))}r.d(t,{DD:()=>s,jT:()=>n,sp:()=>i})},5607(e,t,r){"use strict";const n=(0,r(9566).bz)();r.d(t,["W",0,n])},9566(e,t,r){"use strict";r.d(t,{LA:()=>a,ZF:()=>o,bz:()=>s,el:()=>c});var n=r(6154);function i(e,t){return e?15&e[t]:16*Math.random()|0}function s(){const e=n.gm?.crypto||n.gm?.msCrypto;let t,r=0;return e&&e.getRandomValues&&(t=e.getRandomValues(new Uint8Array(30))),"xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".split("").map(e=>"x"===e?i(t,r++).toString(16):"y"===e?(3&i()|8).toString(16):e).join("")}function a(e){const t=n.gm?.crypto||n.gm?.msCrypto;let r,s=0;t&&t.getRandomValues&&(r=t.getRandomValues(new Uint8Array(e)));const a=[];for(var o=0;o<e;o++)a.push(i(r,s++).toString(16));return a.join("")}function o(){return a(16)}function c(){return a(32)}},2614(e,t,r){"use strict";r.d(t,["BB",0,18e5,"Wt",0,"NRBA_SESSION::","g",0,{OFF:0,FULL:1,ERROR:2},"iL",0,{SAME_TAB:"same-tab",CROSS_TAB:"cross-tab"},"tS",0,{STARTED:"session-started",PAUSE:"session-pause",RESET:"session-reset",RESUME:"session-resume",UPDATE:"session-update"},"wk",0,144e5])},733(e,t,r){"use strict";function n(e,t){return function(e){let t=2166136261;for(let r=0;r<e.length;r++)t^=e.charCodeAt(r),t=Math.imul(t,16777619);return(t>>>0).toString(16).padStart(8,"0")}("".concat(String(e),":").concat(String(t)))}r.d(t,{Y:()=>n})},1863(e,t,r){"use strict";function n(){return Math.floor(performance.now())}r.d(t,{t:()=>n})},9119(e,t,r){"use strict";r.d(t,{L:()=>s});var n=/([^?#]*)[^#]*(#[^?]*|$).*/,i=/([^?#]*)().*/;function s(e,t){return e?e.replace(t?n:i,"$1$2"):e}},7485(e,t,r){"use strict";r.d(t,{D:()=>i});var n=r(6154);function i(e){if(0===(e||"").indexOf("data:"))return{protocol:"data"};try{const t=new URL(e,location.href),r={port:t.port,hostname:t.hostname,pathname:t.pathname,search:t.search,protocol:t.protocol.slice(0,t.protocol.indexOf(":")),sameOrigin:t.protocol===n.gm?.location?.protocol&&t.host===n.gm?.location?.host};return r.port&&""!==r.port||("http:"===t.protocol&&(r.port="80"),"https:"===t.protocol&&(r.port="443")),r.pathname&&""!==r.pathname?r.pathname.startsWith("/")||(r.pathname="/".concat(r.pathname)):r.pathname="/",r}catch(e){return{}}}},7866(e,t,r){"use strict";r.d(t,["Nc",0,/^\s*at Function code \(Function code:\d+:\d+\)\s*/i,"cn",0,/^\s*(?:([^@]*)(?:\(.*?\))?@)?((?:file|http|https|chrome|safari-extension).*?):(\d+)(?::(\d+))?\s*$/i,"fL",0,/^\s*at .+ \(eval at \S+ \((?:(?:file|http|https):[^)]+)?\)(?:, [^:]*:\d+:\d+)?\)$/i,"h3",0,/function (.+?)\s*\(/,"hB",0,/^\s*at (?:((?:\[object object\])?(?:[^(]*\([^)]*\))*[^()]*(?: \[as \S+\])?) )?\(?((?:file|http|https|chrome-extension):.*?)?:(\d+)(?::(\d+))?\)?\s*$/i])},944(e,t,r){"use strict";r.d(t,{R:()=>i});var n=r(3241);function i(e,t){"function"==typeof console.debug&&(console.debug("New Relic Warning: https://github.com/newrelic/newrelic-browser-agent/blob/main/docs/warning-codes.md#".concat(e),t),(0,n.W)({drained:null,type:"data",name:"warn",feature:"warn",data:{code:e,secondary:t}}))}},8990(e,t,r){"use strict";r.d(t,{I:()=>i});var n=Object.prototype.hasOwnProperty;function i(e,t,r){if(n.call(e,t))return e[t];var i=r();if(Object.defineProperty&&Object.keys)try{return Object.defineProperty(e,t,{value:i,writable:!0,enumerable:!1}),i}catch(e){}return e[t]=i,i}},6389(e,t,r){"use strict";function n(e,t=500,r={}){const n=r?.leading||!1;let i;return(...r)=>{n&&void 0===i&&(e.apply(this,r),i=setTimeout(()=>{i=clearTimeout(i)},t)),n||(clearTimeout(i),i=setTimeout(()=>{e.apply(this,r)},t))}}function i(e){let t=!1;return(...r)=>{t||(t=!0,e.apply(this,r))}}r.d(t,{J:()=>i,s:()=>n})},1910(e,t,r){"use strict";r.d(t,{i:()=>s});var n=r(944);const i=new Map;function s(...e){return e.every(e=>{if(i.has(e))return i.get(e);const t="function"==typeof e?e.toString():"",r=t.includes("[native code]"),s=t.includes("nrWrapper");return r||s||(0,n.R)(64,e?.name||t),i.set(e,r),r})}},3304(e,t,r){"use strict";r.d(t,{A:()=>i});var n=r(7836);function i(e){try{return JSON.stringify(e,(()=>{const e=new WeakSet;return(t,r)=>{if("object"==typeof r&&null!==r){if(e.has(r))return;e.add(r)}return r}})())??""}catch(e){try{n.ee.emit("internal-error",[e])}catch(e){}return""}}},9232(e,t,r){"use strict";r.d(t,["f",0,{MFE:"MFE",BA:"BA"}])},7560(e,t,r){"use strict";r.d(t,{N:()=>a,j:()=>c});var n=r(9119),i=r(944);const s=(0,r(6389).J)(e=>(0,i.R)(80,e));function a(e){if(!Array.isArray(e?.assets)||!e.assets.length)return;
7const t=e.assets.map(o).filter(Boolean);return t.length?{assets:t,scripts:t.filter(e=>e.isScript)}:void 0}function o(e){if(!e||"object"!=typeof e)return;const{matcher:t,type:r}=e;let i="string"==typeof t&&t.endsWith(".js");return void 0!==r&&(!function(e){return"script"===e||"asset"===e}(r)?s(r):i=function(e){return"script"===e}(r)),a=t,"[object RegExp]"===Object.prototype.toString.call(a)?{pattern:t,test:e=>(t.lastIndex=0,t.test((0,n.L)(e))),isScript:i}:"string"==typeof t&&t.length>0?{pattern:t,test:e=>(0,n.L)(e).includes(t),isScript:i}:void s(t);var a}function c(e,t,{scriptsOnly:r=!1}={}){if(!e||!t)return!1;return(r?e.scripts:e.assets).some(e=>e.test(t))}},5718(e,t,r){"use strict";r.d(t,{xo:()=>T,AZ:()=>v,cI:()=>g,Qr:()=>A,QL:()=>y});var n=r(6154),i=r(1863),s=r(9119),a=r(7866);class o{dom=new c;performance=new c;constructor(e){this.url=e,this.claimedBy=new Set}get script(){const e=Math.max(this.dom.start,this.performance.end);return{start:e,end:Math.max(this.dom.end,this.performance.end,e)}}}class c{start=0;end=0;value=void 0}function d(e=()=>{},t){return{get:()=>void 0!==t?t:e(),set:e=>{t=e}}}let u;try{u=v(y())[0]}catch(e){u=v(e)[0]}const l=new Map;let f=[];const h=new WeakMap;function p(e){let t=h.get(e);return t||(t={weighedAssetUrls:new Set,recordManifestScriptWindow:(t,r)=>{t&&(e.scriptStart=e.scriptStart>0?Math.min(e.scriptStart,t):t),r&&(e.scriptEnd=e.scriptEnd>0?Math.max(e.scriptEnd,r):r)}},h.set(e,t)),t}function g(e){return l.get(e)}function m(e){const t=g(e);
7if(t)return t;const r=new o(e);if(l.set(e,r),l.size>1e3){const e=l.keys().next().value;l.delete(e)}return r}if(n.gm.MutationObserver&&n.gm.document){new MutationObserver(e=>{e.forEach(e=>{e.addedNodes.forEach(e=>{if("SCRIPT"===e.nodeName&&e.src){const t=m((0,s.L)(e.src));t.dom.start=(0,i.t)(),t.dom.value=e;const r=()=>{t.dom.end=(0,i.t)()};["load","error"].forEach(t=>e.addEventListener(t,r,{once:!0}))}})})}).observe(n.gm.document,{childList:!0,subtree:!0})}if(n.gm.PerformanceObserver?.supportedEntryTypes.includes("resource")){new PerformanceObserver(e=>{e.getEntries().forEach(e=>{if((e=>"script"===e.initiatorType||["link","fetch"].includes(e.initiatorType)&&(0,s.L)(e.name).endsWith(".js"))(e)){const t=m((0,s.L)(e.name));t.performance.start=Math.floor(e.startTime),t.performance.end=Math.floor(e.responseEnd),t.performance.value=e}if(!f.length)return;const t=[];f.forEach(({test:r,addedAt:n},s)=>{(r(e)||(0,i.t)()-n>1e4)&&t.push(s)}),f=f.filter((e,r)=>!t.includes(r))})}).observe({type:"resource",buffered:!0})}function v(e){if(!e||"string"!=typeof e)return[];const t=new Set,r=e.split("\n");for(const e of r){const r=e.match(a.cn)||e.match(a.hB)||e.match(a.fL);if(r&&r[2])t.add((0,s.L)(r[2]));else{const r=e.match(/\(([^)]+\.js):\d+:\d+\)/)||e.match(/^\s+at\s+([^\s(]+\.js):\d+:\d+/);r&&r[1]&&t.add((0,s.L)(r[1]))}}return[...t]}function y(){let e;try{const t=Error.stackTraceLimit;Error.stackTraceLimit=50,e=(new Error).stack,Error.stackTraceLimit=t}catch(t){e=(new Error).stack}return e}function b(e,t){return(0,s.L)(e.name)===t}function E(e,t){e.fetchStart=Math.floor(t.startTime),e.fetchEnd=Math.floor(t.responseEnd),e.asset=t.name,e.type=t.initiatorType,w(e,t)}function w(e,t){const r=(0,s.L)(t.name),{weighedAssetUrls:n}=p(e);n.has(r)||(n.add(r),e.totalWeight=(e.totalWeight||0)+(t.transferSize||0),"blocking"===t.renderBlockingStatus?e.renderBlocking=!0:"non-blocking"===t.renderBlockingStatus&&!0!==e.renderBlocking&&(e.renderBlocking=!1))}function R(e,t,r,n,i){if(w(e,t),"scripts"!==i&&"all"!==i)return;if("all"===i||r.isScript){const r=Math.floor(t.startTime),n=Math.floor(t.responseEnd);e.fetchStart=e.fetchStart>0?Math.min(e.fetchStart,r):r,e.fetchEnd=e.fetchEnd>0?Math.max(e.fetchEnd,n):n}if(r.isScript){const r=g((0,s.L)(t.name));if(r){const t=()=>{const{start:t,end:n}=r.script;p(e).recordManifestScriptWindow(t,n)};t(),!r.dom.end&&r.dom.value&&["load","error"].forEach(e=>r.dom.value.addEventListener(e,t,{once:!0}))}n.resolved||(e.asset=t.name,e.type=t.initiatorType,n.resolved=!0)}}function T(e,t){const r=t?.manifest;if(!r||!r.assets.length)return;const s={resolved:!1},a=new Set(r.assets);(n.gm.performance?.getEntriesByType("resource")||[]).forEach(r=>{const n=[...a].find(e=>e.test(r.name));n&&(R(e,r,n,s,t.timingMethod),a.delete(n))}),a.size&&function(e,t,r,s){n.gm.PerformanceObserver?.supportedEntryTypes?.includes("resource")&&f.push({addedAt:(0,i.t)(),test:n=>{const i=[...t].find(e=>e.test(n.name));return i&&(R(e,n,i,r,s),t.delete(i)),0===t.size}})}(e,a,s,t.timingMethod)}function A(e){const t=e?.id,r={registeredAt:(0,i.t)(),reportedAt:void 0,fetchStart:0,fetchEnd:0,scriptStart:0,scriptEnd:0,asset:void 0,type:"unknown",totalWeight:0,renderBlocking:void 0},a=y();if(!a)return r;const o=n.gm.performance?.getEntriesByType("navigation")?.[0]?.name||"";try{const e=v(a),c=(e.length>1?e.filter(e=>u!==e):e)[0];if(!c)return r;if(o.includes(c))return r.asset=(0,s.L)(o),r.type="inline",r;r.correlation=g(c);const l=r.correlation?.performance.value||n.gm.performance?.getEntriesByType("resource")?.find(e=>b(e,c));if(l)E(r,l);else{(function(e){if(!e||!n.gm.document)return!1;try{const t=n.gm.document.querySelectorAll('link[rel="preload"][as="script"]');for(const r of t)if((0,s.L)(r.href)===e)return!0}catch(e){}return!1})(c)&&(r.asset=c,r.type="preload"),function(e,t){n.gm.PerformanceObserver?.supportedEntryTypes?.includes("resource")&&f.push({addedAt:(0,i.t)(),test:r=>!!b(r,t)&&(E(e,r),!0)})}(r,c)}const h=r.correlation,m=!!t&&!!h?.claimedBy.has(t);h&&t&&h.claimedBy.add(t);const y=()=>{const e=h?.script.start;if(!m||!e)return!1;return r.registeredAt-e>1e4};let w=0,R=0;p(r).recordManifestScriptWindow=(e,t)=>{e&&(w=w>0?Math.min(w,e):e),t&&(R=R>0?Math.max(R,t):t)},Object.defineProperty(r,"scriptStart",d(()=>{const e=y()?r.registeredAt:h?.script.start??r.fetchEnd;return w>0?Math.min(e,w):e})),Object.defineProperty(r,"scriptEnd",d(()=>{const e=y()?r.registeredAt:h?.script.end??r.registeredAt;return R>0?Math.max(e,R):e}))}catch(e){}return r}},5732(e,t,r){"use strict";r.d(t,{$5:()=>m,B5:()=>g,K6:()=>u,M$:()=>
7o,Ms:()=>d,NG:()=>c,Ux:()=>h,YA:()=>p,yx:()=>l});var n=r(5718),i=r(7560),s=r(9119),a=r(9232);function o(e){return e?.type===a.f.MFE}function c(e,t){if(!y(e,t))return;const r=t.runtime.registeredEntities;return r?.find(t=>t.metadata.target.iframeInterfaceId===e)}function d(e,t){if(!y(e,t))return[];const r=t.runtime.registeredEntities;return r?.filter(t=>String(t.metadata.target.id)===String(e)).map(e=>e.metadata.target)||[]}function u(e,t){if(!y(e,t))return[];const r=t.runtime.registeredEntities,n=(0,s.L)(e),a=r?.filter(t=>{const r=t.metadata.target?.manifest;return r?(0,i.j)(r,e,{scriptsOnly:!1}):!!t.metadata.timings?.asset&&(0,s.L)(t.metadata.timings.asset)===n});return f(a).map(e=>e.metadata.target)}function l(e,t){if(!y(e,t))return[];const r=t.runtime.registeredEntities,n=r?.filter(t=>{const r=t.metadata.target?.manifest;return r?(0,i.j)(r,e,{scriptsOnly:!0}):!!t.metadata.timings?.asset?.endsWith(e)});return f(n).map(e=>e.metadata.target)}function f(e){if(!e?.length)return e||[];const t=new Map,r=[];for(const n of e){const e=n.metadata?.timings?.asset;if(!e){r.push(n);continue}const i="".concat(e,"::").concat(n.metadata?.target?.id),s=t.get(i);if(s){if(s.metadata.target?.blocked&&!n.metadata.target?.blocked){const e=r.indexOf(s);-1!==e&&(r[e]=n),t.set(i,n)}}else t.set(i,n),r.push(n)}return r}function h(e,t){return v(t)?o(e)?e.attributes:t.agentRef.runtime.v2Target.attributes:{}}function p(e,t){return g(e,t)?{"child.id":e.id,"child.type":e.type,...h(void 0,t)}:{}}function g(e,t){return o(e)&&!!v(t)&&t.agentRef.init.api.register.duplicate_data_to_container}function m(e){if(!e?.runtime)return[];if(!y(!0,e)||!e.runtime.registeredEntities?.length)return[e.runtime.v2Target];const t=[];try{var r=(0,n.AZ)((0,n.QL)());let i=r.length-1;for(;r[i];)t.push(...l(r[i--],e))}catch(e){}const i=function(e){const t=new Set,r=[];for(const n of e){const e=n?.instance;t.has(e)||(t.add(e),r.push(n))}return r}(t);return i.length||i.push(e.runtime.v2Target),i}function v(e){return 2===e?.harvestEndpointVersion}function y(e,t){return!!e&&!!t?.init.api.register.enabled}},5289(e,t,r){"use strict";r.d(t,{GG:()=>a,Qr:()=>c,sB:()=>o});var n=r(3878),i=r(6389);function s(){return"undefined"==typeof document||"complete"===document.readyState}function a(e,t){if(s())return e();const r=(0,i.J)(e),a=setInterval(()=>{s()&&(clearInterval(a),r())},500);(0,n.sp)("load",r,t)}function o(e){if(s())return e();(0,n.DD)("DOMContentLoaded",e)}function c(e){if(s())return e();(0,n.sp)("popstate",e)}},384(e,t,r){"use strict";r.d(t,{Zm:()=>c,bQ:()=>u,dV:()=>d,pV:()=>l});var n=r(6154),i=r(1863),s=r(944),a=r(1910);const o={beacon:"bam.nr-data.net",errorBeacon:"bam.nr-data.net"};function c(){return n.gm.NREUM||(n.gm.NREUM={}),void 0===n.gm.newrelic&&(n.gm.newrelic=n.gm.NREUM),n.gm.NREUM}function d(){let e=c();return e.o||(e.o={ST:n.gm.setTimeout,SI:n.gm.setImmediate||n.gm.setInterval,CT:n.gm.clearTimeout,XHR:n.gm.XMLHttpRequest,REQ:n.gm.Request,EV:n.gm.Event,PR:n.gm.Promise,MO:n.gm.MutationObserver,FETCH:n.gm.fetch,WS:n.gm.WebSocket},(0,a.i)(...Object.values(e.o))),e}function u(e,t){let r=c();r.initializedAgents??={},t.initializedAt={ms:(0,i.t)(),date:new Date},r.initializedAgents[e]=t,2===Object.keys(r.initializedAgents).length&&(0,s.R)(69)}function l(){return function(){let e=c();const t=e.info||{};e.info={beacon:o.beacon,errorBeacon:o.errorBeacon,...t}}(),function(){let e=c();const t=e.init||{};e.init={...t}}(),d(),function(){let e=c();const t=e.loader_config||{};e.loader_config={...t}}(),c()}r.d(t,["NT",0,o])},2843(e,t,r){"use strict";r.d(t,{G:()=>s,u:()=>i});var n=r(3878);function i(e,t=!1,r,i){(0,n.DD)("visibilitychange",function(){if(t)return void("hidden"===document.visibilityState&&e());e(document.visibilityState)},r,i)}function s(e,t,r){(0,n.sp)("pagehide",e,t,r)}},8139(e,t,r){"use strict";r.d(t,{u:()=>f});var n=r(7836),i=r(3434),s=r(8990),a=r(6154);const o={},c=a.gm.XMLHttpRequest,d="addEventListener",u="removeEventListener",l="nr@wrapped:".concat(n.P);function f(e,t){var r=function(e){return(e||n.ee).get("events")}(e);if(o[r.debugId]++)return r;o[r.debugId]=1;var f=(0,i.YM)(r,!0,t);function p(e){f.inPlace(e,[d,u],"-",g)}function g(e,t){return e[1]}return"getPrototypeOf"in Object&&(a.RI&&h(document,p),c&&h(c.prototype,p),h(a.gm,p)),r.on(d+"-start",function(e,t){var r=e[1];if(null!==r&&("function"==typeof r||"object"==typeof r)&&"newrelic"!==e[0]){var n=(0,s.I)(r,l,function(){var e={object:function(){if("function"!=typeof r.handleEvent)return;return r.handleEvent.apply(r,arguments)},function:r}[typeof r];return e?f(e,"fn-",null,e.name||"anonymous"):r});this.wrapped=e[1]=n}}),r.on(u+"-start",function(e){e[1]=this.wrapped||e[1]}),r}function h(e,t,...r){let n=e;for(;"object"==typeof n&&!Object.prototype.hasOwnProperty.call(n,d);)n=Object.getPrototypeOf(n);n&&t(n,...r)}},3434(e,t,r){"use strict";r.d(t,{YM:()=>d});var n=r(7836),i=r(5607),s=r(5732);const a="nr@original:".concat(i.W);var o=Object.prototype.hasOwnProperty,c=!1;function d(e,t,r){return e||(e=n.ee),i.inPlace=function(e,t,r,n,s,a){r||(r="");const o="-"===r.charAt(0);for(let c=0;c<t.length;c++){const d=t[c],u=e[d];l(u)||(e[d]=i(u,o?d+r:r,n,d,s,a))}},i.flag=a,i;function i(t,n,i,c,f,h){return l(t)?t:(n||(n=""),nrWrapper[a]=t,function(e,t,r){if(Object.defineProperty&&Object.keys)try{return Object.keys(e).forEach(function(r){Object.defineProperty(t,r,{get:function(){return e[r]},set:function(t){return e[r]=t,t}})}),t}catch(e){u([e],r)}for(var n in e)o.call(e,n)&&(t[n]=e[n])}
7(t,nrWrapper,e),nrWrapper);function nrWrapper(){var a,o,l,p;let g,m;try{o=this,a=[...arguments],m=h?(0,s.$5)(r):[r?.runtime?.v2Target],l="function"==typeof i?i(a,o):i||{}}catch(t){u([t,"",[a,o,c],l],e)}d(n+"start",[a,o,c,m],l,f);const v=performance.now();let y;try{return p=t.apply(o,a),y=performance.now(),p}catch(e){throw y=performance.now(),d(n+"err",[a,o,e,m],l,f),g=e,g}finally{const e=y-v,t={start:v,end:y,duration:e,isLongTask:e>=50,methodName:c,thrownError:g};t.isLongTask&&d("long-task",[t,o,m],l,f),d(n+"end",[a,o,p,m],l,f)}}}function d(r,n,i,s){if(!c||t){var a=c;c=!0;try{e.emit(r,n,i,t,s)}catch(t){u([t,r,n,i],e)}c=a}}}function u(e,t){t||(t=n.ee);try{t.emit("internal-error",e)}catch(e){}}function l(e){return!(e&&"function"==typeof e&&e.apply&&!e[a])}r.d(t,["Jt",0,a])},9300(e,t,r){"use strict";const n=r(860).K7.ajax;r.d(t,["TZ",0,n,"f5",0,"ajaxRequest.id","mo",0,{NONE:"none",FAILURES:"failures",ALL:"all"}])},3333(e,t,r){"use strict";var n=r(981);const i=r(860).K7.genericEvents,s=[n.R.PA,n.R.UA,n.R.BP];r.d(t,["$v",0,{RESOURCES:"experimental.resources",REGISTER:"register"},"TZ",0,i,"Zp",0,["auxclick","click","copy","keydown","paste","scrollend"],"kd",0,s,"qN",0,["focus","blur"]])},6774(e,t,r){"use strict";const n=r(860).K7.jserrors;r.d(t,["T",0,n])},993(e,t,r){"use strict";const n=r(860).K7.logging;r.d(t,["A$",0,{OFF:0,ERROR:1,WARN:2,INFO:3,DEBUG:4,TRACE:5},"TZ",0,n,"p_",0,{ERROR:"ERROR",WARN:"WARN",INFO:"INFO",DEBUG:"DEBUG",TRACE:"TRACE"}])},3785(e,t,r){"use strict";r.d(t,{R:()=>c,b:()=>d});var n=r(9908),i=r(1863),s=r(860),a=r(3969),o=r(993);function c(e,t,r={},c=o.p_.INFO,d=!0,u,l=(0,i.t)()){(0,n.p)(a.xV,["API/logging/".concat(c.toLowerCase(),"/called")],void 0,s.K7.metrics,e),(0,n.p)("log",[l,t,r,c,d,u],void 0,s.K7.logging,e)}function d(e){return"string"==typeof e&&Object.values(o.p_).some(t=>t===e.toUpperCase().trim())}},3969(e,t,r){"use strict";const n=r(860).K7.metrics;r.d(t,["TZ",0,n,"XG",0,"storeEventMetrics","xV",0,"storeSupportabilityMetrics"])},6630(e,t,r){"use strict";const n=r(860).K7.pageViewEvent;r.d(t,["T",0,n])},782(e,t,r){"use strict";const n=r(860).K7.pageViewTiming;r.d(t,["T",0,n])},6344(e,t,r){"use strict";var n=r(2614);const i=r(860).K7.sessionReplay,s={[n.g.ERROR]:15e3,[n.g.FULL]:3e5,[n.g.OFF]:0}
7;r.d(t,["Qb",0,{API:"api",RESUME:"resume",SWITCH_TO_FULL:"switchToFull",INITIALIZE:"initialize",PRELOAD:"preload"},"TZ",0,i,"Vh",0,"errorDuringReplay","_s",0,{DomContentLoaded:0,Load:1,FullSnapshot:2,IncrementalSnapshot:3,Meta:4,Custom:5},"bc",0,{RESET:{message:"Session was reset",sm:"Reset"},IMPORT:{message:"Recorder failed to import",sm:"Import"},TOO_MANY:{message:"429: Too Many Requests",sm:"Too-Many"},TOO_BIG:{message:"Payload was too large",sm:"Too-Big"},CROSS_TAB:{message:"Session Entity was set to OFF on another tab",sm:"Cross-Tab"},ENTITLEMENTS:{message:"Session Replay is not allowed and will not be started",sm:"Entitlement"}},"yP",0,s])},5270(e,t,r){"use strict";r.d(t,{Aw:()=>a,SR:()=>s,rF:()=>o});var n=r(384),i=r(7767);function s(e){return!!(0,n.dV)().o.MO&&(0,i.V)(e)&&!0===e?.session_trace.enabled}function a(e){return!0===e?.session_replay.preload&&s(e)}function o(e,t){try{if("string"==typeof t?.type&&"password"===t.type.toLowerCase())return"*".repeat(e?.length||0);if(void 0!==t?.dataset?.nrUnmask||t?.classList?.contains("nr-unmask"))return e}catch(e){}return"string"==typeof e?e.replace(/[\S]/g,"*"):"*".repeat(e?.length||0)}},3738(e,t,r){"use strict";const n=r(860).K7.sessionTrace,i="-start",s="-end",a="fn"+i,o="fn"+s;r.d(t,["He",0,"bstResource","Kp",0,s,"Lc",0,o,"Rz",0,"pushState","TZ",0,n,"bD",0,"resource","bc",0,{CROSS_TAB:{message:"Session Entity was set to OFF on another tab"},ENTITLEMENTS:{message:"Session Trace is not allowed and will not be started"},RESET:{message:"Session was reset"},SESSION_CHANGED:{message:"Session identifier changed unexpectedly"}},"d3",0,i,"uP",0,a])},3962(e,t,r){"use strict";const n=r(860).K7.softNav;r.d(t,["O2",0,{INITIAL_PAGE_LOAD:"",ROUTE_CHANGE:1,UNSPECIFIED:2},"OV",0,"popstate","Qu",0,{INTERACTION:1,AJAX:2,CUSTOM_END:3,CUSTOM_TRACER:4},"TZ",0,n,"ih",0,{IP:"in progress",PF:"pending finish",FIN:"finished",CAN:"cancelled"},"pP",0,"initialPageLoad","tC",0,["click","keydown","submit"]])},4234(e,t,r){"use strict";r.d(t,{W:()=>i});var n=r(1687);class i{constructor(e,t){this.agentRef=e,this.ee=e?.ee,this.featureName=t,this.blocked=!1}deregisterDrain(){(0,n.x3)(this.agentRef,this.featureName)}}},7767(e,t,r){"use strict";var n=r(6154);r.d(t,["V",0,e=>n.RI&&!0===e?.privacy.cookies_enabled])},8362(e,t,r){"use strict";r.d(t,{d:()=>s});var n=r(9566),i=r(1741);class s extends i.W{agentIdentifier=(0,n.LA)(16)}},1741(e,t,r){"use strict";r.d(t,{W:()=>s});var n=r(944),i=r(4261);class s{#e(e,...t){if(this[e]!==s.prototype[e])return this[e](...t);(0,n.R)(35,e)}addPageAction(e,t){return this.#e(i.hG,e,t)}register(e){return this.#e(i.eY,e)}recordCustomEvent(e,t){return this.#e(i.fF,e,t)}setPageViewName(e,t){return this.#e(i.Fw,e,t)}setCustomAttribute(e,t,r){return this.#e(i.cD,e,t,r)}noticeError(e,t){return this.#e(i.o5,e,t)}setUserId(e,t=!1){return this.#e(i.Dl,e,t)}setApplicationVersion(e){return this.#e(i.nb,e)}setErrorHandler(e){return this.#e(i.bt,e)}addRelease(e,t){return this.#e(i.k6,e,t)}log(e,t){return this.#e("log",e,t)}start(){return this.#e("start")}finished(e){return this.#e(i.BL,e)}recordReplay(){return this.#e(i.CH)}pauseReplay(){return this.#e(i.Tb)}addToTrace(e){return this.#e(i.U2,e)}setCurrentRouteName(e){return this.#e(i.PA,e)}interaction(e){return this.#e(i.dT,e)}wrapLogger(e,t,r){return this.#e(i.Wb,e,t,r)}measure(e,t){return this.#e(i.V1,e,t)}consent(e){return this.#e(i.Pv,e)}}},4261(e,t,r){"use strict";r.d(t,["BL",0,"finished","CH",0,"recordReplay","Dl",0,"setUserId","Fw",0,"setPageViewName","PA",0,"setCurrentRouteName","Pv",0,"consent","Tb",0,"pauseReplay","U2",0,"addToTrace","V1",0,"measure","Wb",0,"wrapLogger","bt",0,"setErrorHandler","cD",0,"setCustomAttribute","dT",0,"interaction","eY",0,"register","fF",0,"recordCustomEvent","hG",0,"addPageAction","hw",0,"api-ixn-","k6",0,"addRelease","nb",0,"setApplicationVersion","o5",0,"noticeError"])},1738(e,t,r){"use strict";r.d(t,{U:()=>l,Y:()=>u});var n=r(3241),i=r(9908),s=r(1863),a=r(944),o=r(3969),c=r(8362),d=r(860);function u(e,t,r,s){const u=s||r;!u||u[e]&&u[e]!==c.d.prototype[e]||(u[e]=function(){(0,i.p)(o.xV,["API/"+e+"/called"],void 0,d.K7.metrics,r.ee),(0,n.W)({drained:!!r.runtime?.activatedFeatures,type:"data",name:"api",feature:"api-"+e,data:{}});try{return t.apply(this,arguments)}catch(e){(0,a.R)(23,e)}})}function l(e,t,r,n,a){const o=e.info;null===r?delete o.jsAttributes[t]:o.jsAttributes[t]=r,(a||null===r)&&(0,i.p)("api-"+n,[(0,s.t)(),t,r],void 0,"session",e.ee)}},8374(e,t,r){r.nc=(()=>{try{return document?.currentScript?.nonce}catch(e){}return""})()},860(e,t,r){"use strict";const n="events",i="jserrors",s="browser/blobs",a="browser/logs",o={ajax:"ajax",genericEvents:"generic_events",jserrors:i,logging:"logging",metrics:"metrics",pageAction:"page_action",pageViewEvent:"page_view_event",pageViewTiming:"page_view_timing",sessionReplay:"session_replay",sessionTrace:"session_trace",softNav:"soft_navigations"},c={[o.pageViewEvent]:1,[o.pageViewTiming]:2,[o.metrics]:3,[o.jserrors]:4,[o.softNav]:5,[o.ajax]:6,[o.sessionTrace]:7,[o.sessionReplay]:8,[o.logging]:9,[o.genericEvents]:10},d={[o.pageViewEvent]:"rum",[o.pageViewTiming]:n,[o.ajax]:n,[o.softNav]:n,[o.metrics]:i,[o.jserrors]:i,[o.sessionTrace]:s,[o.sessionReplay]:s,[o.logging]:a,[o.genericEvents]:"ins"};r.d(t,["$J",0,d,"K7",0,o,"P3",0,c,"XX",0,i,"Yy",0,a,"df",0,s,"hg",0,"connect"])}};const t={};function r(n){const i=t[n];if(void 0!==i)return i.exports;const s=t[n]={exports:{}};return e[n](s,s.exports,r),s.exports}r.m=e,r.d=(e,t)=>{if(Array.isArray(t))for(var n=0;n<t.length;){var i=t[n++],s=t[n++];r.o(e,i)?0===s&&n++:0===s?Object.defineProperty(e,i,{enumerable:!0,value:t[n++]}):Object.defineProperty(e,i,{enumerable:!0,get:s})}else for(var i in t)r.o(t,i)&&!r.o(e,i)&&Object.defineProperty(e,i,{enumerable:!0,get:t[i]})},r.f={},r.e=e=>Promise.all(Object.keys(r.f).reduce((t,n)=>(r.f[n](e,t),t),[])),r.u=e=>({212:"nr-spa-compressor",238:"nr-spa-iframe-message-handler",249:"nr-spa-recorder",478:"nr-spa"}[e]+"-1.322.0.min.js"),r.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),(()=>{const e={},t="NRBA-1.322.0.PROD:";r.l=(n,i,s,a)=>
7{if(e[n])return void e[n].push(i);let o,c;if(void 0!==s){const e=document.getElementsByTagName("script");for(var d=0;d<e.length;d++){const r=e[d];if(r.getAttribute("src")==n||r.getAttribute("data-webpack")==t+s){o=r;break}}}if(!o){c=!0;var u={478:"sha512-SARROoir04gFygxlr/+mTI+PyMeFL+epi1vnUA2G5mTQ7s3G44ItQBJKbOaIMdIE5OBzuaKhb4k5JYta0NICxg==",249:"sha512-6DKQo5WP7YlpzX6l9UfYkgGLGK2oITdoaYTcZtgl5Foa22NY63lED/0z1hBBLeD7qZCz/YdlY19/r8drlol1tg==",212:"sha512-CYxuvSpDx6ErqWJwAvpoHn54eY37YdMcFao/axOumlw3BsSL7yioOeB2LWViY/Njs818sQG10dSglUhYCMfLPw==",238:"sha512-mvbMILWa3ohYst+u6TLfNrmtY2swUIB3rbJFN/uzt3W62KhgvUVwB81UEZ1R0/it5bfrQ5EVz864pi/CAmucNQ=="};o=document.createElement("script"),o.charset="utf-8",r.nc&&o.setAttribute("nonce",r.nc),o.setAttribute("data-webpack",t+s),o.src=n,0!==o.src.indexOf(window.location.origin+"/")&&(o.crossOrigin="anonymous"),u[a]&&(o.integrity=u[a])}e[n]=[i];const l=(t,r)=>{o.onerror=o.onload=null,clearTimeout(f);const i=e[n];if(delete e[n],o.parentNode?.removeChild(o),i?.forEach(e=>e(r)),t)return t(r)},f=setTimeout(l.bind(null,void 0,{type:"timeout",target:o}),12e4);o.onerror=l.bind(null,o.onerror),o.onload=l.bind(null,o.onload),c&&document.head.appendChild(o)}})(),r.r=e=>{Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},r.p="https://js-agent.newrelic.com/",(()=>{const e={38:0,788:0};r.f.j=(t,n)=>{let i=r.o(e,t)?e[t]:void 0;if(0!==i)if(i)n.push(i[2]);else{const s=new Promise((r,n)=>i=e[t]=[r,n]);n.push(i[2]=s);const a=r.p+r.u(t),o=new Error,c=n=>{if(r.o(e,t)&&(i=e[t],0!==i&&(e[t]=void 0),i)){const e=n&&("load"===n.type?"missing":n.type),r=n&&n.target&&n.target.src;o.message="Loading chunk "+t+" failed: ("+e+": "+r+")",o.name="ChunkLoadError",o.type=e,o.request=r,i[1](o)}};r.l(a,c,"chunk-"+t,t)}};const t=(t,n)=>{let[i,s,a]=n;var o,c,d=0;if(i.some(t=>0!==e[t])){for(o in s)r.o(s,o)&&(r.m[o]=s[o]);if(a)a(r)}for(t&&t(n);d<i.length;d++)c=i[d],r.o(e,c)&&e[c]&&e[c][0](),e[c]=0},n=self["webpackChunk:NRBA-1.322.0.PROD"]=self["webpackChunk:NRBA-1.322.0.PROD"]||[];n.forEach(t.bind(null,0)),n.push=t.bind(null,n.push.bind(n))})(),(()=>{"use strict";r(8374);var e=r(8362),t=r(860);const n=Object.values(t.K7);var i=r(384),s=r(1741);var a=r(2555),o=r(3333),c=r(9300);const d=e=>{if(!e||"string"!=typeof e)return!1;try{document.createDocumentFragment().querySelector(e)}catch{return!1}return!0};var u=r(2614),l=r(944),f=r(8122);const h="[data-nr-mask]",p=e=>(0,f.a)(e,(()=>{const e={feature_flags:[],experimental:{register:!1,resources:!1,iframe_bridge:!1,iframe_domains:[]},mask_selector:"*",block_selector:"[data-nr-block]",mask_input_options:{color:!1,date:!1,"datetime-local":!1,email:!1,month:!1,number:!1,range:!1,search:!1,tel:!1,text:!1,time:!1,url:!1,week:!1,textarea:!1,select:!1,password:!0}};return{ajax:{deny_list:void 0,block_internal:!0,enabled:!0,autoStart:!0,capture_payloads:c.mo.NONE},api:{register:{get enabled(){return e.feature_flags.includes(o.$v.REGISTER)||e.experimental.register},set enabled(t){e.experimental.register=t},duplicate_data_to_container:!1,get allow_iframe_bridge(){return e.feature_flags.includes(o.$v.IFRAME_BRIDGE)||e.experimental.iframe_bridge},set allow_iframe_bridge(t){e.experimental.iframe_bridge=t},get iframe_domains(){return e.experimental.iframe_domains},set iframe_domains(t){Array.isArray(t)?e.experimental.iframe_domains=t:(0,l.R)(1,t)}}},browser_consent_mode:{enabled:!1},distributed_tracing:{enabled:void 0,exclude_newrelic_header:void 0,cors_use_newrelic_header:void 0,cors_use_tracecontext_headers:void 0,allowed_origins:void 0},get feature_flags(){return e.feature_flags},set feature_flags(t){e.feature_flags=t},generic_events:{enabled:!0,autoStart:!0},harvest:{interval:30},jserrors:{enabled:!0,autoStart:!0},logging:{enabled:!0,autoStart:!0},metrics:{enabled:!0,autoStart:!0},obfuscate:void 0,page_action:{enabled:!0},page_view_event:{enabled:!0,autoStart:!0},page_view_timing:{enabled:!0,autoStart:!0},performance:{capture_marks:!1,capture_measures:!1,capture_detail:!0,resources:{get enabled(){return e.feature_flags.includes(o.$v.RESOURCES)||e.experimental.resources},set enabled(t){e.experimental.resources=t},asset_types:[],first_party_domains:[],ignore_newrelic:!0}},privacy:{cookies_enabled:!0},proxy:{assets:void 0,beacon:void 0},session:{expiresMs:u.wk,inactiveMs:u.BB},session_replay:{autoStart:!0,enabled:!1,preload:!1,sampling_rate:10,error_sampling_rate:100,collect_fonts:!1,inl
7ine_images:!1,fix_stylesheets:!0,mask_all_inputs:!0,get mask_text_selector(){return e.mask_selector},set mask_text_selector(t){d(t)?e.mask_selector="".concat(t,",").concat(h):""===t||null===t?e.mask_selector=h:(0,l.R)(5,t)},get block_class(){return"nr-block"},get ignore_class(){return"nr-ignore"},get mask_text_class(){return"nr-mask"},get block_selector(){return e.block_selector},set block_selector(t){d(t)?e.block_selector+=",".concat(t):""!==t&&(0,l.R)(6,t)},get mask_input_options(){return e.mask_input_options},set mask_input_options(t){t&&"object"==typeof t?e.mask_input_options={...t,password:!0}:(0,l.R)(7,t)}},session_trace:{enabled:!0,autoStart:!0},soft_navigations:{enabled:!0,autoStart:!0},ssl:void 0,user_actions:{enabled:!0,elementAttributes:["id","className","tagName","type"]},web_sockets:{enabled:!1}}})());var g=r(6154),m=r(9324);let v=0;const y={buildEnv:"PROD",distMethod:"CDN",version:m.x,originTime:g.WN},b={consented:!1},E={activatedFeatures:void 0,appMetadata:{},configured:!1,get consented(){return this.session?.state?.consent||b.consented},set consented(e){b.consented=e},customTransaction:void 0,denyList:[],disabled:!1,drainRegistry:new Map,connector:void 0,harvester:void 0,v2Target:void 0,isolatedBacklog:!1,isRecording:!1,loaderType:void 0,maxBytes:3e4,obfuscator:void 0,onerror:void 0,ptid:void 0,releaseIds:{},session:void 0,timeKeeper:void 0,registeredEntities:[],jsAttributesMetadata:{bytes:0},get harvestCount(){return++v},listeningForIframeMessages:!1};var w=r(9232);var R=r(7836),T=r(3241);const A={accountID:void 0,trustKey:void 0,agentID:void 0,licenseKey:void 0,applicationID:void 0,xpid:void 0};var S=r(9908),x=r(9752);function O(e,t={},n,o){let{init:c,info:d,loader_config:u,runtime:l={},exposed:h=!0}=t;if(!d){const e=(0,i.pV)();c=e.init,d=e.info,u=e.loader_config}var m;e.init=p(c||{}),e.loader_config=(m=u||{},(0,f.a)(m,A)),d.jsAttributes??={},g.bv&&(d.jsAttributes.isWorker=!0),e.info=(0,a.D)(d);const v=e.init;e.runtime??=(e=>{const t=(0,f.a)(e,E),r=Object.keys(y).reduce((e,t)=>(e[t]={value:y[t],writable:!1,configurable:!0,enumerable:!0},e),{});return Object.defineProperties(t,r)})(l),e.runtime.v2Target??={type:w.f.BA,instance:e.agentIdentifier,get id(){return e.runtime.appMetadata?.agents?.[0]?.entityGuid},get attributes(){return{"entity.guid":this.id,appId:e.info.applicationID}}},v.proxy.assets&&(e=>{const t=e.startsWith("http");e+="/",r.p=t?e:"https://"+e})(v.proxy.assets),e.runtime.configured||(Object.defineProperty(e,"beacons",{get:()=>[e.info.beacon,e.info.errorBeacon,e.init.proxy.assets,e.init.proxy.beacon].filter(Boolean)}),Object.defineProperty(e.runtime,"denyList",{get:()=>[...e.init.ajax.deny_list||[],...e.init.ajax.block_internal?e.beacons:[]]}),e.runtime.ptid=e.agentIdentifier,function(e){const t=(0,i.pV)();Object.getOwnPropertyNames(s.W.prototype).forEach(r=>{const n=s.W.prototype[r];if("function"!=typeof n||"constructor"===n)return;let i=t[r];e[r]&&!1!==e.exposed&&"micro-agent"!==e.runtime?.loaderType&&(t[r]=(...t)=>{const n=e[r](...t);return i?i(...t):n})})}(e),e.runtime.loaderType=n,e.ee=R.ee.get(e.agentIdentifier),e.exposed=h,(0,T.W)({drained:!!e.runtime.activatedFeatures,type:"lifecycle",name:"initialize",feature:void 0,data:e.config}),e.init.api.register.allow_iframe_bridge&&g.gm.addEventListener("message",t=>{"string"==typeof t.data?.type&&t.data.type.startsWith(x.Pl)&&(0,S.p)("iframe-message",[t],void 0,"IFRAME",e.ee)}),e.runtime.configured=!0)}var _=r(1863),k=r(4261),N=r(1738);var L=r(1687),M=r(4234),P=r(5289),I=r(5270),j=r(7767),C=r(6389),D=r(7699);const B=new WeakSet,H=new WeakMap;class W extends M.W{constructor(e,t){super(e,t),this.abortHandler=void 0,this.featAggregate=void 0,this.loadedSuccessfully=void 0,this.onAggregateImported=new Promise(e=>{this.loadedSuccessfully=e}),this.deferred=Promise.resolve(),!1===e.init[this.featureName].autoStart?this.deferred=new Promise((t,r)=>{this.ee.on("manual-start-all",(0,C.J)(()=>{(0,L.Ak)(e,this.featureName),t()}))}):(0,L.Ak)(e,t)}importAggregator(e,t,n={}){if(this.featAggregate)return;const i=async()=>{if(await this.deferred,this.#t(e),!(0,a.f)(e.info))return(0,l.R)(43),e.ee.abort(),void this.loadedSuccessfully(!1);try{await async function(e,t,n){if(H.has(e))return H.get(e);const i=(async()=>
7{if((0,j.V)(e.init))try{const{setupAgentSession:t}=await r.e(478).then(r.bind(r,8766));t(e)}catch(e){(0,l.R)(20,e),t.emit("internal-error",[e]),(0,S.p)(D.qh,[e],void 0,n,t)}if(e.init.api.register.allow_iframe_bridge)try{const{setupIframeMFEMessageListener:t}=await r.e(238).then(r.bind(r,6417));t(e)}catch(e){(0,l.R)(23,e)}const[{Connector:i},{Harvester:s}]=await Promise.all([r.e(478).then(r.bind(r,6589)),r.e(478).then(r.bind(r,5237))]);e.runtime.connector=new i(e),e.runtime.harvester=new s(e);const a=Object.values(e.features).filter(t=>e.runtime.drainRegistry.has(t.featureName));Promise.all(a.map(e=>e.onAggregateImported)).then(()=>e.runtime.harvester.startTimer())})();H.set(e,i),await i}(e,this.ee,this.featureName)}catch(e){return(0,l.R)(79,e),this.ee.abort(),void this.loadedSuccessfully(!1)}try{if(!this.#r(this.featureName,e.runtime.session,e.init))return this.abortHandler?.(),(0,L.Ze)(this.agentRef,this.featureName),void this.loadedSuccessfully(!1);const{Aggregate:r}=await t();this.featAggregate=new r(e,n),e.runtime.harvester.initializedAggregates.push(this.featAggregate),this.loadedSuccessfully(!0)}catch(e){(0,l.R)(34,e),this.abortHandler?.(),(0,L.Ze)(this.agentRef,this.featureName,!0),this.loadedSuccessfully(!1)}};g.RI?(0,P.GG)(()=>i(),!0):i()}#r(e,r,n){if(this.blocked)return!1;switch(e){case t.K7.sessionReplay:return(0,I.SR)(n)&&!!r;case t.K7.sessionTrace:return!!r;default:return!0}}#t(e){if(!B.has(e)&&(B.add(e),!(0,a.f)(e.info))){const t=(0,i.pV)();let r={...t.info?.jsAttributes};try{r={...r,...e.info?.jsAttributes}}catch(e){}O(e,{...t,info:{...t.info,jsAttributes:r},runtime:e.runtime},e.runtime.loaderType)}}}var U=r(6630);class K extends W{static featureName=U.T;constructor(e){var t;super(e,U.T),this.setupInspectionEvents(),t=e,(0,N.Y)(k.Fw,function(e,r){"string"==typeof e&&("/"!==e.charAt(0)&&(e="/"+e),t.runtime.customTransaction=(r||"http://custom.transaction")+e,(0,S.p)("api-"+k.Fw,[(0,_.t)()],void 0,void 0,t.ee))},t),this.importAggregator(e,()=>e.init.feature_flags.includes("rum_v2")?r.e(478).then(r.bind(r,908)):r.e(478).then(r.bind(r,7927)))}setupInspectionEvents(){const e=(e,t)=>{e&&(0,T.W)({timeStamp:e.timeStamp,loaded:"complete"===e.target.readyState,type:"window",name:t,data:e.target.location+""})};(0,P.sB)(t=>{e(t,"DOMContentLoaded")}),(0,P.GG)(t=>{e(t,"load")}),(0,P.Qr)(t=>{e(t,"navigate")}),this.ee.on(u.tS.UPDATE,(e,t)=>{(0,T.W)({type:"lifecycle",name:"session",data:t})})}}class F extends e.d{constructor(e){var t;(super(),g.gm)?(this.features={},(0,i.bQ)(this.agentIdentifier,this),this.desiredFeatures=new Set(e.features||[]),this.desiredFeatures.add(K),O(this,e,e.loaderType||"agent"),t=this,(0,N.Y)(k.cD,function(e,r,n=!1){if("string"==typeof e){if(["string","number","boolean"].includes(typeof r)||null===r)return(0,N.U)(t,e,r,k.cD,n);(0,l.R)(40,typeof r)}else(0,l.R)(39,typeof e)},t),function(e){(0,N.Y)(k.Dl,function(t,r=!1){if("string"!=typeof t&&null!==t)return void(0,l.R)(41,typeof t);const n=e.info.jsAttributes["enduser.id"];r&&null!=n&&n!==t?(0,S.p)("api-setUserIdAndResetSession",[t],void 0,"session",e.ee):(0,N.U)(e,"enduser.id",t,k.Dl,!0)},e)}(this),function(e){(0,N.Y)(k.nb,function(t){if("string"==typeof t||null===t)return(0,N.U)(e,"application.version",t,k.nb,!1);(0,l.R)(42,typeof t)},e)}(this),function(e){(0,N.Y)("start",function(){e.ee.emit("manual-start-all")},e)}(this),function(e){(0,N.Y)(k.Pv,function(t=!0){if("boolean"==typeof t){if((0,S.p)("api-"+k.Pv,[t],void 0,"session",e.ee),e.runtime.consented=t,t){const t=e.features.page_view_event;t.onAggregateImported.then(e=>{const r=t.featAggregate;e&&!r.sentRum&&r.sendRum?.()})}}else(0,l.R)(65,typeof t)},e)}(this),this.run()):(0,l.R)(21)}get config(){return{info:this.info,init:this.init,loader_config:this.loader_config,runtime:this.runtime}}get api(){return this}run(){try{const e=function(e){const t={};return n.forEach(r=>{t[r]=!!e[r]?.enabled}),t}(this.init),r=[...this.desiredFeatures],i=this.init.feature_flags.includes("rum_v2");r.sort((e,r)=>t.P3[e.featureName]-t.P3[r.featureName]),r.forEach(r=>{if(!e[r.featureName]&&(i||r.featureName!==t.K7.pageViewEvent))return;const n=function(e){switch(e){case t.K7.ajax:return[t.K7.jserrors];case t.K7.sessionTrace:return[t.K7.ajax,t.K7.pageViewEvent];case t.K7.sessionReplay:return[t.K7.sessionTrace];case t.K7.pageViewTiming:return[t.K7.pageViewEvent];default:return[]}}(r.featureName).filter(e=>!(e in this.features));n.length>0&&(0,l.R)(36,{targetFeature:r.featureName,missingDependencies:n}),this.features[r.featureName]=new r(this)})}catch(e){(0,l.R)(22,e);for(const e in this.features)this.features[e].abortHandler?.();const t=(0,i.Zm)();delete t.initializedAgents[this.agentIdentifier]?.features,delete this.sharedAggregator;return t.ee.get(this.agentIdentifier).abort(),!1}}}var V=r(2843),z=r(782);class G extends W{static featureName=z.T;constructor(e){super(e,z.T),g.RI&&((0,V.u)(()=>(0,S.p)("docHidden",[(0,_.t)()],void 0,z.T,this.ee),!0),(0,V.G)(()=>(0,S.p)("winPagehide",[(0,_.t)()],void 0,z.T,this.ee)),this.importAggregator(e,()=>r.e(478).then(r.bind(r,9917))))}}var q=r(3969);class Y extends W{static featureName=q.TZ;constructor(e){super(e,q.TZ),this.importAggregator(e,()=>r.e(478).then(r.bind(r,6555)))}}var Z=r(6774),J=r(3878),X=r(3304);class Q{constructor(e,t,r,n,i){this.name="UncaughtError",this.message="string"==typeof e?e:(0,X.A)(e),this.sourceURL=t,this.line=r,this.column=n,this.__newrelic=i}}function ee(e){return ne(e)?e:new Q(void 0!==e?.message?e.message:e,e?.filename||e?.sourceURL,e?.lineno||e?.line,e?.colno||e?.col,e?.__newrelic,e?.cause)}function te(e){const t="Unhandled Promise Rejection: ";if(!e?.reason)return;if(ne(e.reason)){try{e.reason.message.startsWith(t)||(e.reason.message=t+e.reason.message)}catch(e){}return ee(e.reason)}const r=ee(e.reason);return(r.message||"").startsWith(t)||(r.message=t+r.message),r}function re(e){if(e.error instanceof SyntaxError&&!/:\d+$/.test(e.error.stack?.trim())){const t=new Q(e.message,e.filename,e.lineno,e.colno,e.error.__newrelic,e.cause);return t.name=SyntaxError.name,t}return ne(e.error)?e.error:ee(e)}function ne(e){return e instanceof Error&&!!e.stack}function ie(e,r,n,i,s=(0,_.t)()){"string"==typeof e&&(e=new Error(e)),(0,S.p)("err",[e,s,!1,r,n.runtime.isRecording,void 0,i],void 0,t.K7.jserrors,n.ee),(0,S.p)("uaErr",[],void 0,t.K7.genericEvents,n.ee)}var se=r(993),ae=r(3785);function oe(e,{customAttributes:t={},level:r=se.p_.INFO}={},n,i,s=(0,_.t)()){(0,ae.R)(n.ee,e,t,r,!1,i,s)}function ce(e,r,n,i,s=(0,_.t)()){(0,S.p)("api-"+k.hG,[s,e,r,i],void 0,t.K7.genericEvents,n.ee)}function de(e,r,n,i,s=(0,_.t)()){const{start:a,end:o,customAttributes:c}=r||{},d={customAttributes:c||{}};if("object"!=typeof d.customAttributes||"string"!=typeof e||0===e.length)return void(0,l.R)(57);const u=(e,t)=>
7null==e?t:"number"==typeof e?e:e instanceof PerformanceMark?e.startTime:Number.NaN;if(d.start=u(a,0),d.end=u(o,s),Number.isNaN(d.start)||Number.isNaN(d.end))(0,l.R)(57);else{if(d.duration=d.end-d.start,!(d.duration<0))return(0,S.p)("api-"+k.V1,[d,e,i],void 0,t.K7.genericEvents,n.ee),d;(0,l.R)(58)}}function ue(e,r={},n,i,s=(0,_.t)()){(0,S.p)("api-"+k.fF,[s,e,r,i],void 0,t.K7.genericEvents,n.ee)}var le=r(5718);const fe=(e,t)=>e?.nrMfeId===t.id&&(!e?.nrMfeObserved||e?.nrMfeObserved===t.instance),he=e=>{try{return g.gm.CSS.escape(e)}catch(t){return e}},pe=(e,t={})=>{const r=t.id,n=t.instance;if(!e||!r||!n)return!1;try{let r=1===e.nodeType?e:e.parentElement;for(;r?.tagName;){if(fe(r.dataset,t))return r.dataset.nrMfeObserved=n,!0;r=r.parentNode}}catch(e){}return!1},ge=(e,t)=>{const r=g.gm.document?.querySelectorAll('[data-nr-mfe-id="'.concat(he(e.id),'"]')),n=(Array.from(r)||[]).find(t=>fe(t.dataset,e));let i=!!n;i&&(n.dataset.nrMfeObserved??=e.instance);const s=new g.gm.MutationObserver(r=>{r.forEach(r=>{r.addedNodes.forEach(r=>{const n=1===r.nodeType?r:null;!i&&fe(n?.dataset,e)&&(s.disconnect(),s.observe(n,{childList:!0,subtree:!0}),i=!0,n.dataset.nrMfeObserved=e.instance),(e=>{try{return e?.textContent?.trim()||["img","video","canvas","svg"].includes(e?.nodeName?.toLowerCase())}catch(e){return!1}})(r)&&(i||pe(r,e))&&t(r,s)})})});return s.observe(n||g.gm.document,{childList:!0,subtree:!0}),s},me=(e,t,r)=>{try{const n=new g.gm.PerformanceObserver(e=>{e.getEntries().forEach(r)});return n.observe(t),e.push(n),n}catch(e){return null}};function ve(e,t){let r,n,i=!1;const s=e=>null==e?e:e-(t?.scriptStart||t?.registeredAt||0),a={fcp:{get value(){const e=s(r);return e>1e4?void 0:e},set value(e){i||(r=e)}},lcp:{get value(){if(void 0!==a.fcp.value)return s(n)},set value(e){i||(n=e)}},cls:{value:void 0},inp:{value:void 0},disconnect:()=>{}};if(!(e&&g.RI&&g.gm.MutationObserver&&g.gm.PerformanceObserver))return a;const o=[];setTimeout(()=>{r||a.disconnect()},1e4);const c=()=>{if(!i){if(null==r){const e=(0,_.t)();if(s(e)>1e4)return void a.disconnect();r=e}n??=(0,_.t)(),a.cls.value??=0}},d=ge(e,(e,t)=>{c(),t.disconnect()});o.push(d);let u=0,l=null;const f=new Set;try{l=new g.gm.ResizeObserver(e=>{i||e.forEach(e=>{try{const t=e.contentRect.width*e.contentRect.height;t>u&&(u=t,a.lcp.value=(0,_.t)()),l.unobserve(e.target)}catch(e){}})})}catch(e){}const h=ge(e,e=>{if(c(),l)try{const t=1===e.nodeType?e:e.parentElement;t&&!f.has(t)&&(f.add(t),"IMG"===t.tagName?t.complete?l.observe(t):t.addEventListener("load",()=>{l.observe(t)},{once:!0}):"VIDEO"===t.tagName?t.readyState>=2?l.observe(t):t.addEventListener("loadeddata",()=>{l.observe(t)},{once:!0}):l.observe(t))}catch(e){}});l&&o.push(l),o.push(h),me(o,{type:"layout-shift",buffered:!0},t=>{i||t.hadRecentInput||(t.sources||[]).some(r=>!!pe(r.node,e)&&(c(),a.cls.value+=t.value,!0))}),me(o,{type:"event",buffered:!0,durationThreshold:40},t=>{!i&&t.interactionId&&pe(t.target,e)&&(void 0===a.inp.value||t.duration>a.inp.value)&&(c(),a.inp.value=t.duration)});const p=["pointerdown","keydown"],m=()=>{p.forEach(e=>{g.gm.removeEventListener(e,v,{passive:!0})})};a.disconnect=()=>{i=!0,o.forEach(e=>{try{e?.disconnect()}catch(e){}}),m(),["visibilitychange","pagehide"].forEach(e=>{g.gm.removeEventListener(e,a.disconnect,{once:!0,passive:!0})})};const v=t=>{pe(t?.target,e)&&((()=>{try{h?.disconnect(),l?.disconnect()}catch(e){}})(),m())};p.forEach(e=>{g.gm.addEventListener(e,v,{passive:!0})}),["visibilitychange","pagehide"].forEach(e=>{g.gm.addEventListener(e,a.disconnect,{once:!0,passive:!0})});const y=g.gm.document?.querySelectorAll('[data-nr-mfe-id="'.concat(he(e.id),'"]'));return Array.from(y||[]).some(t=>fe(t.dataset,e))&&c(),a}var ye=r(9566),be=r(7560),Ee=r(9119);const we=["entry","scripts","all"],Re=["name","id","type"],Te=new Map([[ce,"addPageAction"],[oe,"log"],[de,"measure"],[ie,"noticeError"],[ue,"recordCustomEvent"]]),Ae={experimental:(0,C.J)(()=>(0,l.R)(54,"newrelic.register")),disabled:(0,C.J)(()=>(0,l.R)(55)),invalidTarget:(0,C.J)(e=>(0,l.R)(48,e)),deregistered:(0,C.J)(()=>(0,l.R)(68)),invalidTimingMethod:(0,C.J)(e=>(0,l.R)(80,e)),duplicateName:(0,C.J)(e=>(0,l.R)(81,e)),duplicateId:(0,C.J)(e=>(0,l.R)(82,e))};function Se(e){(0,N.Y)(k.eY,function(t){return xe(e,t)},e)}function xe(e,r){Ae.experimental(),r||={},r.instance=(0,ye.LA)(8),r.type=w.f.MFE,r.licenseKey||=e.info.licenseKey,r.blocked=!1,("object"!=typeof r.tags||null===r.tags||Array.isArray(r.tags))&&(r.tags={}),r.parent??={get id(){return e.runtime.appMetadata.agents?.[0].entityGuid},type:w.f.BA},r.manifest=(0,be.N)(r.manifest),void 0===r.timingMethod||we.includes(r.timingMethod)||(Ae.invali
7dTimingMethod(r.timingMethod),r.timingMethod=void 0);const n=(0,le.Qr)(r);r.manifest&&(0,le.xo)(n,r);const i=ve(r,n),s=(0,Ee.L)(""+location),a={};Object.prototype.hasOwnProperty.call(r,"attributes")||Object.defineProperty(r,"attributes",{get:()=>({...a,"source.id":r.id,"source.name":r.name,"source.type":r.type,"parent.type":r.parent?.type||w.f.BA,"parent.id":r.parent?.id})}),Object.entries(r.tags).forEach(([e,t])=>{Re.includes(e)||(a["source.".concat(e)]=t)});let o=()=>{};const c=e.runtime.registeredEntities,d=e=>{r.blocked=!0,o=e};function u(e){return"string"==typeof e&&!!e.trim()&&e.trim().length<501}e.init.api.register.enabled||d(Ae.disabled),u(r.id)&&u(r.name)||d(()=>Ae.invalidTarget(r)),c.forEach(e=>{try{const{name:t,id:n}=e.metadata.target;t===r.name&&n!==r.id&&Ae.duplicateName(r),n===r.id&&t!==r.name&&Ae.duplicateId(r)}catch(e){}});const f={addPageAction:(t,n={})=>m(ce,[t,{...a,...n},e],r),deregister:()=>{p(),d(Ae.deregistered)},log:(t,n={})=>m(oe,[t,{...n,customAttributes:{...a,...n.customAttributes||{}}},e],r),measure:(t,n={})=>m(de,[t,{...n,customAttributes:{...a,...n.customAttributes||{}}},e],r),noticeError:(t,n={})=>m(ie,[t,{...a,...n},e],r),recordCustomEvent:(t,n={})=>m(ue,[t,{...a,...n},e],r),setApplicationVersion:e=>g("application.version",e),setCustomAttribute:(e,t)=>g(e,t),setUserId:e=>g("enduser.id",e),metadata:{get customAttributes(){return a},target:r,timings:n,vitals:i,events:{latestTimestamp:void 0}}},h=()=>(r.blocked&&o(),r.blocked);function p(){if(n.reportedAt)return;n.reportedAt=(0,_.t)(),i.disconnect(),n.fcp=i.fcp,n.lcp=i.lcp,n.cls=i.cls,n.inp=i.inp;const e=n.fetchEnd-n.fetchStart,t=n.scriptEnd-n.scriptStart,r={assetUrl:n.asset,assetType:n.type,registerUrl:s,deregisterUrl:(0,Ee.L)(""+location),pageUrl:void 0,currentUrl:void 0,timeAlive:n.reportedAt-n.registeredAt,timeToBeRequested:n.fetchStart,timeToExecute:t,timeToFetch:e,timeToLoad:e+t,t
7imeToRegister:n.registeredAt,totalWeight:n.totalWeight,...void 0!==n.renderBlocking&&{renderBlocking:n.renderBlocking},...i.fcp.value>=0&&{"vitals.fcp.value":i.fcp.value},...i.lcp.value>=0&&{"vitals.lcp.value":i.lcp.value},...i.cls.value>=0&&{"vitals.cls.value":i.cls.value},...i.inp.value>=0&&{"vitals.inp.value":i.inp.value}};f.recordCustomEvent("MicroFrontEndTiming",r)}h()||(c.push(f),(0,V.G)(p));const g=(e,t)=>{h()||(a[e]=t)},m=(r,n,i)=>{if(h()&&r!==xe)return;const s=f.metadata.events.latestTimestamp??(0,_.t)();f.metadata.events.latestTimestamp=void 0;const a=Te.get(r)||"unknown";(0,S.p)(q.xV,["API/register/".concat(a,"/called")],void 0,t.K7.metrics,e.ee);try{return r(...n,i,s)}catch(e){(0,l.R)(50,e)}};return f}class Oe extends W{static featureName=Z.T;constructor(e){var t;super(e,Z.T),t=e,(0,N.Y)(k.o5,(e,r)=>ie(e,r,t),t),function(e){(0,N.Y)(k.bt,function(t){e.runtime.onerror=t},e)}(e),function(e){let t=0;(0,N.Y)(k.k6,function(e,r){++t>10||(this.runtime.releaseIds[e.slice(-200)]=(""+r).slice(-200))},e)}(e),Se(e);try{this.removeOnAbort=new AbortController}catch(e){}this.ee.on("internal-error",(t,r)=>{this.abortHandler&&(0,S.p)("ierr",[ee(t),(0,_.t)(),!0,{},e.runtime.isRecording,r],void 0,this.featureName,this.ee)}),g.gm.addEventListener("unhandledrejection",t=>{this.abortHandler&&(0,S.p)("err",[te(t),(0,_.t)(),!1,{unhandledPromiseRejection:1},e.runtime.isRecording],void 0,this.featureName,this.ee)},(0,J.jT)(!1,this.removeOnAbort?.signal)),g.gm.addEventListener("error",t=>{this.abortHandler&&(0,S.p)("err",[re(t),(0,_.t)(),!1,{},e.runtime.isRecording],void 0,this.featureName,this.ee)},(0,J.jT)(!1,this.removeOnAbort?.signal)),this.abortHandler=this.#n,this.importAggregator(e,()=>r.e(478).then(r.bind(r,9377)))}#n(){this.removeOnAbort?.abort(),this.abortHandler=void 0}}var _e=r(8990);let ke=1;function Ne(e){const t=typeof e;return!e||"object"!==t&&"function"!==t?-1:e===g.gm?0:(0,_e.I)(e,"nr@id",function(){return ke++})}function Le(e){if("string"==typeof e)return e.length;if("object"==typeof e){if("undefined"!=typeof ArrayBuffer&&e instanceof ArrayBuffer&&e.byteLength)return e.byteLength;if("undefined"!=typeof Blob&&e instanceof Blob&&e.size)return e.size;if(!("undefined"!=typeof FormData&&e instanceof FormData))try{return(0,X.A)(e).length}catch(e){return}}}var Me=r(8139),Pe=r(3434),Ie=r(5732);const je={},Ce=["open","send","setRequestHeader"];function De(e,t){var r=e||R.ee;const n=function(e){return(e||R.ee).get("xhr")}(r);if(void 0===g.gm.XMLHttpRequest)return n;if(je[n.debugId]++)return n;je[n.debugId]=1,(0,Me.u)(r,t);var i=(0,Pe.YM)(n,void 0,t),s=g.gm.XMLHttpRequest,a=g.gm.MutationObserver,o=g.gm.Promise,c=g.gm.setInterval,d="readystatechange",u=["onload","onerror","onabort","onloadstart","onloadend","onprogress","ontimeout"],f=[],h=g.gm.XMLHttpRequest=function(e){const r=new s(e),a=n.context(r);a.targets=(0,Ie.$5)(t);try{n.emit("new-xhr",[r],a),r.addEventListener(d,(o=a,function(){var e=this;e.readyState>3&&!o.resolved&&(o.resolved=!0,n.emit("xhr-resolved",[],e)),i.inPlace(e,u,"fn-",E)}),(0,J.jT)(!1))}catch(e){(0,l.R)(15,e);try{n.emit("internal-error",[e])}catch(e){}}var o;return r};function p(e,t){i.inPlace(t,["onreadystatechange"],"fn-",E)}if(function(e,t){for(var r in e)t[r]=e[r]}(s,h),h.prototype=s.prototype,i.inPlace(h.prototype,Ce,"-xhr-",E),n.on("send-xhr-start",function(e,t){p(e,t),function(e){f.push(e),a&&(m?m.then(b):c?c(b):(v=-v,y.data=v))}(t)}),n.on("open-xhr-start",p),a){var m=o&&o.resolve();if(!c&&!o){var v=1,y=document.createTextNode(v);new a(b).observe(y,{characterData:!0})}}else r.on("fn-end",function(e){e[0]&&e[0].type===d||b()});function b(){for(var e=0;e<f.length;e++)p(0,f[e]);f.length&&(f=[])}function E(e,t){return t}return n}var Be="fetch-",He=Be+"body-",We=["arrayBuffer","blob","json","text","formData"],Ue=g.gm.Request,Ke=g.gm.Response,Fe="prototype";const Ve={};function ze(e,t){const r=function(e){return(e||R.ee).get("fetch")}(e);if(!(Ue&&Ke&&g.gm.fetch))return r;if(Ve[r.debugId]++)return r;function n(e,n,i){var s=e[n];"function"==typeof s&&(e[n]=function(){var e=[...arguments];const n={},a=(0,Ie.$5)(t);var o;r.emit(i+"before-start",[e],n),n[R.P]&&n[R.P].dt&&(o=n[R.P].dt);var c=s.apply(this,e);return r.emit(i+"start",[e,o],c),c.then(function(e){return r.emit(i+"end",[null,e,a],c),e},function(e){throw r.emit(i+"end",[e,void 0,a],c),e})})}
7return Ve[r.debugId]=1,We.forEach(e=>{n(Ue[Fe],e,He),n(Ke[Fe],e,He)}),n(g.gm,"fetch",Be),r.on(Be+"end",function(e,n,i){var s=this;if(s.targets=i||[t.runtime.v2Target],n){var a=n.headers.get("content-length");null!==a&&(s.rxSize=a),r.emit(Be+"done",[null,n],s)}else r.emit(Be+"done",[e],s)}),r}var Ge=r(7485);class qe{constructor(e){this.agentRef=e}generateTracePayload(e){const t=this.agentRef.loader_config;if(!this.shouldGenerateTrace(e)||!t)return null;var r=(t.accountID||"").toString()||null,n=(t.agentID||"").toString()||null,i=(t.trustKey||"").toString()||null;if(!r||!n)return null;var s=(0,ye.ZF)(),a=(0,ye.el)(),o=Date.now(),c={spanId:s,traceId:a,timestamp:o};return(e.sameOrigin||this.isAllowedOrigin(e)&&this.useTraceContextHeadersForCors())&&(c.traceContextParentHeader=this.generateTraceContextParentHeader(s,a),c.traceContextStateHeader=this.generateTraceContextStateHeader(s,o,r,n,i)),(e.sameOrigin&&!this.excludeNewrelicHeader()||!e.sameOrigin&&this.isAllowedOrigin(e)&&this.useNewrelicHeaderForCors())&&(c.newrelicHeader=this.generateTraceHeader(s,a,o,r,n,i)),c}generateTraceContextParentHeader(e,t){return"00-"+t+"-"+e+"-01"}generateTraceContextStateHeader(e,t,r,n,i){return i+"@nr=0-1-"+r+"-"+n+"-"+e+"----"+t}generateTraceHeader(e,t,r,n,i,s){if(!("function"==typeof g.gm?.btoa))return null;var a={v:[0,1],d:{ty:"Browser",ac:n,ap:i,id:e,tr:t,ti:r}};return s&&n!==s&&(a.d.tk=s),btoa((0,X.A)(a))}shouldGenerateTrace(e){return this.agentRef.init?.distributed_tracing?.enabled&&this.isAllowedOrigin(e)}isAllowedOrigin(e){var t=!1;const r=this.agentRef.init?.distributed_tracing;if(e.sameOrigin)t=!0;else if(r?.allowed_origins instanceof Array)for(var n=0;n<r.allowed_origins.length;n++){var i=(0,Ge.D)(r.allowed_origins[n]);if(e.hostname===i.hostname&&e.protocol===i.protocol&&e.port===i.port){t=!0;break}}return t}excludeNewrelicHeader(){var e=this.agentRef.init?.distributed_tracing;return!!e&&!!e.exclude_newrelic_header}useNewrelicHeaderForCors(){var e=this.agentRef.init?.distributed_tracing;return!!e&&!1!==e.cors_use_newrelic_header}useTraceContextHeadersForCors(){var e=this.agentRef.init?.distributed_tracing;return!!e&&!!e.cors_use_tracecontext_headers}}var Ye=r(7295);function Ze(e){return"string"==typeof e?e:e instanceof(0,i.dV)().o.REQ?e.url:g.gm?.URL&&e instanceof URL?e.href:void 0}function $e(e,t){var r=(0,Ge.D)(t),n=e.params||e;n.hostname=r.hostname,n.port=r.port,n.protocol=r.protocol,n.host=r.hostname+":"+r.port,n.pathname=r.pathname,e.parsedOrigin=r,e.sameOrigin=r.sameOrigin}var Je=["load","error","abort","timeout"],Xe=Je.length,Qe=(0,i.dV)().o.REQ,et=(0,i.dV)().o.XHR;const tt="X-NewRelic-App-Data",rt="internal-error";class nt extends W{static featureName=c.TZ;constructor(e){super(e,c.TZ),this.dt=new qe(e),this.handler=(e,t,r,n)=>(0,S.p)(e,t,r,n,this.ee);try{const e={xmlhttprequest:"xhr",fetch:"fetch",beacon:"beacon"};g.gm?.performance?.getEntriesByType("resource").forEach(r=>{if(r.initiatorType in e&&0!==r.responseStatus){const n={status:r.responseStatus},i={rxSize:r.transferSize,duration:Math.floor(r.duration),cbTime:0};$e(n,r.name),this.handler("xhr",[n,i,r.startTime,r.responseEnd,e[r.initiatorType]],void 0,t.K7.ajax)}})}catch(e){}ze(this.ee,e),De(this.ee,e),function(e,r,n,i){const s=[c.mo.ALL,c.mo.FAILURES].includes(e.init.ajax?.capture_payloads);function a(e){var t=this;t.totalCbs=0,t.called=0,t.cbTime=0,t.end=A,t.ended=!1,t.xhrGuids={},t.lastSize=null,t.loadCaptureCalled=!1,t.params=this.params||{},t.metrics=this.metrics||{},t.latestLongtaskEnd=0,e.addEventListener("load",function(r){O(t,e)},(0,J.jT)(!1)),g.lR||e.addEventListener("progress",function(e){t.lastSize=e.loaded},(0,J.jT)(!1))}function o(e){this.params={method:e[0]},$e(this,e[1]),this.metrics={}}function d(t,r){e.loader_config.xpid&&this.sameOrigin&&r.setRequestHeader("X-NewRelic-ID",e.loader_config.xpid);var n=i.generateTracePayload(this.parsedOrigin);if(n){var s=!1;n.newrelicHeader&&(r.setRequestHeader("newrelic",n.newrelicHeader),s=!0),n.traceContextParentHeader&&(r.setRequestHeader("traceparent",n.traceContextParentHeader),n.traceContextStateHeader&&r.setRequestHeader("tracestate",n.traceContextStateHeader),s=!0),s&&(this.dt=n)}}function u(e,t){s&&e.length>=2&&(this.requestHeaders??={},this.requestHeaders[e[0].toLowerCase()]=e[1])}function l(e,t){var n=this.metrics,i=e[0],s=this;if(n&&i){var a=Le(i);a&&(n.txSize=a)}this.startTime=(0,_.t)(),this.requestBody=i,this.listener=function(e){try{"abort"!==e.type||s.loadCaptureCalled||(s.params.aborted=!0),("load"
7!==e.type||s.called===s.totalCbs&&(s.onloadCalled||"function"!=typeof t.onload)&&"function"==typeof s.end)&&s.end(t)}catch(e){try{r.emit(rt,[e])}catch(e){}}};for(var o=0;o<Xe;o++)t.addEventListener(Je[o],this.listener,(0,J.jT)(!1))}function f(e,t,r){this.cbTime+=e,t?this.onloadCalled=!0:this.called+=1,this.called!==this.totalCbs||!this.onloadCalled&&"function"==typeof r.onload||"function"!=typeof this.end||this.end(r)}function h(e,t){var r=""+Ne(e)+!!t;this.xhrGuids&&!this.xhrGuids[r]&&(this.xhrGuids[r]=!0,this.totalCbs+=1)}function p(e,t){var r=""+Ne(e)+!!t;this.xhrGuids&&this.xhrGuids[r]&&(delete this.xhrGuids[r],this.totalCbs-=1)}function m(){this.endTime=(0,_.t)()}function v(e,t){t instanceof et&&"load"===e[0]&&r.emit("xhr-load-added",[e[1],e[2]],t)}function y(e,t){t instanceof et&&"load"===e[0]&&r.emit("xhr-load-removed",[e[1],e[2]],t)}function b(e,t,r){t instanceof et&&("onload"===r&&(this.onload=!0),("load"===(e[0]&&e[0].type)||this.onload)&&(this.xhrCbStart=(0,_.t)()))}function E(e,t){this.xhrCbStart&&r.emit("xhr-cb-time",[(0,_.t)()-this.xhrCbStart,this.onload,t],t)}function w(e){var t,r=e[1]||{};if("string"==typeof e[0]?0===(t=e[0]).length&&g.RI&&(t=""+g.gm.location.href):e[0]&&e[0].url?t=e[0].url:g.gm?.URL&&e[0]&&e[0]instanceof URL?t=e[0].href:"function"==typeof e[0].toString&&(t=e[0].toString()),"string"==typeof t&&0!==t.length){t&&(this.parsedOrigin=(0,Ge.D)(t),this.sameOrigin=this.parsedOrigin.sameOrigin);var n=i.generateTracePayload(this.parsedOrigin);if(n&&(n.newrelicHeader||n.traceContextParentHeader))if(e[0]&&e[0].headers)o(e[0].headers,n)&&(this.dt=n);else{var s={};for(var a in r)s[a]=r[a];s.headers=new Headers(r.headers||{}),o(s.headers,n)&&(this.dt=n),e.length>1?e[1]=s:e.push(s)}}function o(e,t){var r=!1;return t.newrelicHeader&&(e.set("newrelic",t.newrelicHeader),r=!0),t.traceContextParentHeader&&(e.set("traceparent",t.traceContextParentHeader),t.traceContextStateHeader&&e.set("tracestate",t.traceContextStateHeader),r=!0),r}}function R(e,t){this.params={},this.metrics={},this.startTime=(0,_.t)(),this.dt=t;let[r,n={}]=e;$e(this,Ze(r));const i=(""+(r&&r instanceof Qe&&r.method||n.method||"GET")).toUpperCase();this.params.method=i,this.txSize=Le(n.body||r?.body)||0;try{var a=n.headers||r?.headers;if(s&&a)if(this.requestHeaders??={},a instanceof Headers)a.forEach(function(e,t){this.requestHeaders[t.toLowerCase()]=e}.bind(this));else if("object"==typeof a)for(var o in a)this.requestHeaders[o.toLowerCase()]=a[o]}catch(e){}this.requestBody=n.body||r?.body}function T(e,t){if(this.endTime=(0,_.t)(),this.params||(this.params={}),(0,Ye.iW)(this.params))return;this.params.status=t?t.status:0;const n=()=>{const e=+this.rxSize,t=null==this.rxSize||isNaN(e)?void 0:e,r={txSize:this.txSize,rxSize:t,duration:this.endTime-this.startTime},n=[this.params,r,this.startTime,this.endTime,"fetch"];this.targets.forEach(e=>x(n,this,e))};t&&s?t.clone().text().then(e=>{this.responseBody=e,this.rxSize&&"0"!==this.rxSize&&0!==this.rxSize||void 0===e||0===this.params.status||(this.rxSize=Le(e)),t?.headers&&(this.responseHeaders={},t.headers.forEach(function(e,t){this.responseHeaders[t.toLowerCase()]=e}.bind(this)))}).catch(e=>{r.emit(rt,[e])}).finally(()=>{n()}):n()}function A(e){const t=this.params,n=this.metrics;if(this.ended)return;this.ended=!0;for(let t=0;t<Xe;t++)e.removeEventListener(Je[t],this.listener,!1);if(t.aborted)return;if((0,Ye.iW)(t))return;if(n.duration=this.endTime-this.startTime,this.loadCaptureCalled||4!==e.readyState?null==t.status&&(t.status=0):O(this,e),n.cbTime=this.cbTime,s){try{this.responseBody=e.responseText}catch(t){this.responseBody=e.response}if((!n.rxSize||0===n.rxSize)&&void 0!==this.responseBody&&0!==t.status){const e=Le(this.responseBody);void 0!==e&&(n.rxSize=e)}try{this.responseHeaders=function(e){const t={};return e?(e.split("\r\n").forEach(function(e){const r=e.indexOf(": ");if(r>0){const n=e.substring(0,r),i=e.substring(r+2);t[n.toLowerCase()]=i}}),t):t}(e.getAllResponseHeaders())}catch(e){r.emit(rt,[e])}}const i=[t,n,this.startTime,this.endTime,"xhr"];this.targets.forEach(e=>x(i,this,e))}function x(e,r,i){n("xhr",[...e,i],r,t.K7.ajax)}function O(e,n){e.params.status=n.status;var i=function(e,t){var r=e.responseType;return"json"===r&&null!==t?t:"arraybuffer"===r||"blob"===r||"json"===r?Le(e.response):"text"===r||""===r||void 0===r?Le(e.responseText):void 0}(n,e.lastSize);if(void 0!==i&&0!==n.status&&(e.metrics.rxSize=i),e.sameOrigin&&n.getAllResponseHeaders().indexOf(tt)>=0){var s=n.getResponseHeader(tt);s&&((0,S.p)("sm",["Ajax/CrossApplicationTracing/Header/Seen"],void 0,t.K7.metrics,r),e.params.cat=s.split(", ").pop())}e.loadCaptureCalled=!0}r.on("new-xhr",a),r.on("open-xhr-start",o),r.on("open-xhr-end",d),r.on("send-xhr-start",l),r.on("setRequestHeader-xhr-start",u),r.on("xhr-cb-time",f),r.on("xhr-load-added",h),r.on("xhr-load-removed",p),r.on("xhr-resolved",m),r.on("addEventListener-end",v),r.on("removeEventListener-end",y),r.on("fn-end",E),r.on("fetch-before-start",w),r.on("fetch-start",R),r.on("fn-start",b),r.on("fetch-done",T)}(e,this.ee,this.handler,this.dt),this.importAggregator(e,()=>r.e(478).then(r.bind(r,3845)))}}const it={},st=["pushState","replaceState"];function at(e,t){const r=function(e){return(e||R.ee).get("history")}(e);return!g.RI||it[r.debugId]++||(it[r.debugId]=1,(0,Pe.YM)(r,void 0,t).inPlace(window.history,st,"-")),r}var ot=r(3738);function ct(e){(0,N.Y)(k.BL,function(r=Date.now()){const n=r-g.WN;n<0&&(0,l.R)(62,r),(0,S.p)(q.XG,[k.BL,{time:n}],void 0,t.K7.metrics,e.ee),e.addToTrace({name:k.BL,start:r,origin:"nr"}),(0,S.p)("api-"+k.hG,[n,k.BL],void 0,t.K7.genericEvents,e.ee)},e)}const{He:dt,bD:ut,d3:lt,Kp:ft,TZ:ht,Lc:pt,uP:gt,Rz:mt}=ot;class vt extends W{static featureName=ht;constructor(e){var n;super(e,ht),n=e,(0,N.Y)(k.U2,function(e){if(!(e&&"object"==typeof e&&e.name&&e.start))return;const r={n:e.name,s:e.start-g.WN,e:(e.end||e.start)-g.WN,o:e.origin||"",t:"api"};r.s<0||r.e<0||r.e<r.s?(0,l.R)(61,{start:r.s,end:r.e}):(0,S.p)("bstApi",[r],void 0,t.K7.sessionTrace,n.ee)},n),ct(e);
7if(!(0,j.V)(e.init))return void this.deregisterDrain();const i=this.ee;let s;at(i,e),this.eventsEE=(0,Me.u)(i,e),this.eventsEE.on(gt,function(e,t){this.bstStart=(0,_.t)()}),this.eventsEE.on(pt,function(e,r){(0,S.p)("bst",[e[0],r,this.bstStart,(0,_.t)()],void 0,t.K7.sessionTrace,i)}),i.on(mt+lt,function(e){this.time=(0,_.t)(),this.startPath=location.pathname+location.hash}),i.on(mt+ft,function(e){(0,S.p)("bstHist",[location.pathname+location.hash,this.startPath,this.time],void 0,t.K7.sessionTrace,i)});try{s=new PerformanceObserver(e=>{const r=e.getEntries();(0,S.p)(dt,[r],void 0,t.K7.sessionTrace,i)}),s.observe({type:ut,buffered:!0})}catch(e){}this.importAggregator(e,()=>r.e(478).then(r.bind(r,6974)),{resourceObserver:s})}}var yt=r(733),bt=r(6344);class Et extends W{static featureName=bt.TZ;#i;recorder;constructor(e){var n;let i;super(e,bt.TZ),n=e,(0,N.Y)(k.CH,function(){(0,S.p)(k.CH,[],void 0,t.K7.sessionReplay,n.ee)},n),function(e){(0,N.Y)(k.Tb,function(){(0,S.p)(k.Tb,[],void 0,t.K7.sessionReplay,e.ee)},e)}(e);const s="".concat(u.Wt).concat((0,yt.Y)(e.info.licenseKey,e.info.applicationID));try{i=JSON.parse(localStorage.getItem(s))}catch(e){}(0,I.SR)(e.init)&&this.ee.on(k.CH,()=>this.#s()),this.#a(i)&&this.importRecorder().then(e=>{e.startRecording(bt.Qb.PRELOAD,i?.sessionReplayMode)}),this.abortHandler=this.#n,this.importAggregator(this.agentRef,()=>r.e(478).then(r.bind(r,6167)),this),this.ee.on("err",e=>{this.blocked||this.agentRef.runtime.isRecording&&(this.errorNoticed=!0,(0,S.p)(bt.Vh,[e],void 0,this.featureName,this.ee))})}#a(e){return e&&(e.sessionReplayMode===u.g.FULL||e.sessionReplayMode===u.g.ERROR)||(0,I.Aw)(this.agentRef.init)}importRecorder(){return this.recorder?Promise.resolve(this.recorder):(this.#i??=Promise.all([r.e(478),r.e(249)]).then(r.bind(r,4866)).then(({Recorder:e})=>(this.recorder=new e(this),this.recorder)).catch(e=>{throw this.ee.emit("internal-error",[e]),this.blocked=!0,e}),this.#i)}#s(){this.blocked||(this.featAggregate?this.featAggregate.mode!==u.g.FULL&&this.featAggregate.initializeRecording(u.g.FULL,!0,bt.Qb.API):this.importRecorder().then(()=>{this.recorder.startRecording(bt.Qb.API,u.g.FULL)}))}#n(){this.recorder?.stopRecording()}}var wt=r(3962);class Rt extends W{static featureName=wt.TZ;constructor(e){if(super(e,wt.TZ),function(e){const r=e.ee.get("tracer");function n(){}(0,N.Y)(k.dT,function(e){return(new n).get("object"==typeof e?e:{})},e);const i=n.prototype={createTracer:function(n,i){var s={},a=this,o="function"==typeof i;return(0,S.p)(q.xV,["API/createTracer/called"],void 0,t.K7.metrics,e.ee),function(){if(r.emit((o?"":"no-")+"fn-start",[(0,_.t)(),a,o],s),o)try{return i.apply(this,arguments)}catch(e){const t="string"==typeof e?new Error(e):e;throw r.emit("fn-err",[arguments,this,t],s),t}finally{r.emit("fn-end",[(0,_.t)()],s)}}}};["actionText","setName","setAttribute","save","ignore","onEnd","getContext","end","get"].forEach(r=>{N.Y.apply(this,[r,function(){return(0,S.p)(k.hw+r,[performance.now(),...arguments],this,t.K7.softNav,e.ee),this},e,i])}),(0,N.Y)(k.PA,function(){(0,S.p)(k.hw+"routeName",[performance.now(),...arguments],void 0,t.K7.softNav,e.ee)},e)}(e),!g.RI||!(0,i.dV)().o.MO)return;const n=at(this.ee,e);try{this.removeOnAbort=new AbortController}catch(e){}wt.tC.forEach(e=>{(0,J.sp)(e,e=>{c(e)},!0,this.removeOnAbort?.signal)}
7);const s=()=>(0,S.p)("newURL",[(0,_.t)(),""+window.location],void 0,this.featureName,this.ee);n.on("pushState-end",s),n.on("replaceState-end",s),(0,J.sp)(wt.OV,e=>{c(e),(0,S.p)("newURL",[e.timeStamp,""+window.location],void 0,this.featureName,this.ee)},!0,this.removeOnAbort?.signal);let a=!1;const o=new((0,i.dV)().o.MO)((e,t)=>{a||(a=!0,requestAnimationFrame(()=>{(0,S.p)("newDom",[(0,_.t)()],void 0,this.featureName,this.ee),a=!1}))}),c=(0,C.s)(e=>{"loading"!==document.readyState&&((0,S.p)("newUIEvent",[e],void 0,this.featureName,this.ee),o.observe(document.body,{attributes:!0,childList:!0,subtree:!0,characterData:!0}))},100,{leading:!0});this.abortHandler=function(){this.removeOnAbort?.abort(),o.disconnect(),this.abortHandler=void 0},this.importAggregator(e,()=>r.e(478).then(r.bind(r,4393)),{domObserver:o})}}var Tt=r(981);const At={},St=new Set;function xt(e){return"string"==typeof e?{type:"string",size:(new TextEncoder).encode(e).length}:e instanceof ArrayBuffer?{type:"ArrayBuffer",size:e.byteLength}:e instanceof Blob?{type:"Blob",size:e.size}:e instanceof DataView?{type:"DataView",size:e.byteLength}:ArrayBuffer.isView(e)?{type:"TypedArray",size:e.byteLength}:{type:"unknown",size:0}}class Ot{constructor(e,t){this.timestamp=(0,_.t)(),this.currentUrl=(0,Ee.L)(window.location.href),this.socketId=(0,ye.LA)(8),this.requestedUrl=(0,Ee.L)(e),this.requestedProtocols=Array.isArray(t)?t.join(","):t||"",this.openedAt=void 0,this.protocol=void 0,this.extensions=void 0,this.binaryType=void 0,this.messageOrigin=void 0,this.messageCount=0,this.messageBytes=0,this.messageBytesMin=0,this.messageBytesMax=0,this.messageTypes=void 0,this.sendCount=0,this.sendBytes=0,this.sendBytesMin=0,this.sendBytesMax=0,this.sendTypes=void 0,this.closedAt=void 0,this.closeCode=void 0,this.closeReason="unknown",this.closeWasClean=void 0,this.connectedDuration=0,this.hasErrors=void 0}}class _t extends W{static featureName=o.TZ;constructor(e){super(e,o.TZ);const n=e.init.feature_flags.includes("websockets")||e.init.web_sockets?.enabled,s=!e.init.feature_flags.includes("no_spv"),a=[e.init.page_action.enabled,e.init.performance.capture_marks,e.init.performance.capture_measures,e.init.performance.resources.enabled,e.init.user_actions.enabled,n,s];var c;let d;if(c=e,(0,N.Y)(k.hG,(e,t)=>ce(e,t,c),c),function(e){(0,N.Y)(k.fF,(t,r)=>ue(t,r,e),e)}(e),ct(e),Se(e),function(e){(0,N.Y)(k.V1,(t,r)=>de(t,r,e),e)}(e),this.removeOnAbort=new AbortController,this.abortHandler=()=>{this.removeOnAbort.abort(),this.abortHandler=void 0},n){const u=function(e,t){if(!(0,i.dV)().o.WS)return e;const r=e.get("websockets");if(At[r.debugId]++)return r;At[r.debugId]=1,(0,V.G)(()=>{const e=(0,_.t)();St.forEach(t=>{t.nrData.closedAt=e,t.nrData.closeCode=1001,t.nrData.closeReason="Page navigating away",t.nrData.closeWasClean=!1,t.nrData.openedAt&&(t.nrData.connectedDuration=e-t.nrData.openedAt),r.emit("ws",[t.nrData,t.targets],t)})});
7class n extends WebSocket{static name=Tt.R.WS;static toString(){return"function WebSocket() { [native code] }"}toString(){return"[object WebSocket]"}get[Symbol.toStringTag](){return n.name}#o(e){(e.__newrelic??={}).socketId=this.nrData.socketId,this.nrData.hasErrors??=!0}constructor(...e){super(...e),this.nrData=new Ot(e[0],e[1]),this.targets=(0,Ie.$5)(t),this.addEventListener("open",()=>{this.nrData.openedAt=(0,_.t)(),["protocol","extensions","binaryType"].forEach(e=>{this.nrData[e]=this[e]}),St.add(this)}),this.addEventListener("message",e=>{const{type:t,size:r}=xt(e.data);this.nrData.messageOrigin??=(0,Ee.L)(e.origin),this.nrData.messageCount++,this.nrData.messageBytes+=r,this.nrData.messageBytesMin=Math.min(this.nrData.messageBytesMin||1/0,r),this.nrData.messageBytesMax=Math.max(this.nrData.messageBytesMax,r),(this.nrData.messageTypes??"").includes(t)||(this.nrData.messageTypes=this.nrData.messageTypes?"".concat(this.nrData.messageTypes,",").concat(t):t)}),this.addEventListener("close",e=>{this.nrData.closedAt=(0,_.t)(),this.nrData.closeCode=e.code,e.reason&&(this.nrData.closeReason=e.reason),this.nrData.closeWasClean=e.wasClean,this.nrData.connectedDuration=this.nrData.closedAt-this.nrData.openedAt,St.delete(this),r.emit("ws",[this.nrData,this.targets],this)})}addEventListener(e,t,...r){const n=this,i="function"==typeof t?function(...e){try{return t.apply(this,e)}catch(e){throw n.#o(e),e}}:t?.handleEvent?{handleEvent:function(...e){try{return t.handleEvent.apply(t,e)}catch(e){throw n.#o(e),e}}}:t;return super.addEventListener(e,i,...r)}send(e){if(this.readyState===WebSocket.OPEN){const{type:t,size:r}=xt(e);this.nrData.sendCount++,this.nrData.sendBytes+=r,this.nrData.sendBytesMin=Math.min(this.nrData.sendBytesMin||1/0,r),this.nrData.sendBytesMax=Math.max(this.nrData.sendBytesMax,r),(this.nrData.sendTypes??"").includes(t)||(this.nrData.sendTypes=this.nrData.sendTypes?"".concat(this.nrData.sendTypes,",").concat(t):t)}try{return super.send(e)}catch(e){throw this.#o(e),e}}close(...e){try{super.close(...e)}catch(e){throw this.#o(e),e}}}return g.gm.WebSocket=n,r}(this.ee,e);u.on("ws",(e,t)=>{(0,S.p)("ws-complete",[e,t],void 0,this.featureName,this.ee)})}if(s){if("function"==typeof g.gm.ReportingObserver){const l=new g.gm.ReportingObserver(e=>{e.forEach(e=>{(0,S.p)("spv",[kt(e),(0,_.t)()],void 0,t.K7.genericEvents,this.ee)}),l.disconnect()},{types:["csp-violation"],buffered:!0});l.observe()}g.gm.addEventListener("securitypolicyviolation",e=>{(0,S.p)("spv",[kt(e),e.timeStamp],void 0,t.K7.genericEvents,this.ee)},(0,J.jT)(!1,this.removeOnAbort.signal))}if(g.RI){if(ze(this.ee,e),De(this.ee,e),d=at(this.ee,e),e.init.user_actions.enabled){function f(t){const r=(0,Ge.D)(t);return e.beacons.includes(r.hostname+":"+r.port)}function h(){d.emit("navChange")}o.Zp.forEach(e=>(0,J.sp)(e,e=>(0,S.p)("ua",[e],void 0,this.featureName,this.ee),!0)),o.qN.forEac
7h(e=>{const t=(0,C.s)(e=>{(0,S.p)("ua",[e],void 0,this.featureName,this.ee)},500,{leading:!0});(0,J.sp)(e,t)}),g.gm.addEventListener("error",()=>{(0,S.p)("uaErr",[],void 0,t.K7.genericEvents,this.ee)},(0,J.jT)(!1,this.removeOnAbort.signal)),this.ee.on("open-xhr-start",(e,r)=>{f(e[1])||r.addEventListener("readystatechange",()=>{2===r.readyState&&(0,S.p)("uaXhr",[],void 0,t.K7.genericEvents,this.ee)},(0,J.jT)(void 0,this.removeOnAbort.signal))}),this.ee.on("fetch-start",e=>{e.length>=1&&!f(Ze(e[0]))&&(0,S.p)("uaXhr",[],void 0,t.K7.genericEvents,this.ee)}),d.on("pushState-end",h),d.on("replaceState-end",h),window.addEventListener("hashchange",h,(0,J.jT)(!0,this.removeOnAbort.signal)),window.addEventListener("popstate",h,(0,J.jT)(!0,this.removeOnAbort.signal))}if(e.init.performance.resources.enabled&&g.gm.PerformanceObserver?.supportedEntryTypes.includes("resource")){new PerformanceObserver(e=>{e.getEntries().forEach(e=>{(0,S.p)("browserPerformance.resource",[e],void 0,this.featureName,this.ee)})}).observe({type:"resource",buffered:!0})}}a.some(e=>e)?this.importAggregator(e,()=>r.e(478).then(r.bind(r,8019))):this.deregisterDrain()}}function kt(e){const t=e.body??e;return{blockedUrl:t.blockedURL??e.blockedURI,documentUrl:t.documentURL??e.documentURI,effectiveDirective:t.effectiveDirective,originalPolicy:t.originalPolicy,sourceFile:t.sourceFile,statusCode:t.statusCode,lineNumber:t.lineNumber,columnNumber:t.columnNumber,disposition:"reporting"===t.disposition?"report":t.disposition,sample:t.sample,referrer:t.referrer}}var Nt=r(2646);const Lt=new Map;function Mt(e,t,r,n,i=!0,s){if("object"!=typeof t||!t||"string"!=typeof r||!r||"function"!=typeof t[r])return(0,l.R)(29);const a=function(e){return(e||R.ee).get("logger")}(e),o=(0,Pe.YM)(a,void 0,s),c=new Nt.y(R.P);c.level=n.level,c.customAttributes=n.customAttributes,c.autoCaptured=i;const d=t[r]?.[Pe.Jt]||t[r];return Lt.set(d,c),o.inPlace(t,[r],"wrap-logger-",()=>Lt.get(d),void 0,!0),a}var Pt=r(1910);class It extends W{static featureName=se.TZ;constructor(e){var t;super(e,se.TZ),t=e,(0,N.Y)("log",(e,r)=>oe(e,r,t),t),function(e){(0,N.Y)(k.Wb,(t,r,{customAttributes:n={},level:i=se.p_.INFO}={})=>{Mt(e.ee,t,r,{customAttributes:n,level:i},!1,e)},e)}(e),Se(e);const n=this.ee;["log","error","warn","info","debug","trace"].forEach(t=>{(0,Pt.i)(g.gm.console[t]),Mt(n,g.gm.console,t,{level:"log"===t?"info":t},void 0,e)}),this.ee.on("wrap-logger-end",function([t],r,i,s=[e.runtime.v2Target]){const{level:a,customAttributes:o,autoCaptured:c}=this;s.forEach(e=>{(0,ae.R)(n,t,o,a,c,e)})}),this.importAggregator(e,()=>r.e(478).then(r.bind(r,5288)))}}new F({features:[nt,K,G,vt,Et,Y,Oe,_t,It,Rt],loaderType:"spa"})})()})();</script>
7<title> 8 Quality Essentials Learning Bundle | 2026 9</title><link id="ApplicationRoot" rel="home" href="../../Default.aspx" hreflang="en" type="text/html" /><link href="https://fonts.googleapis.com/css?family=Source+Sans+Pro:400,400i,700,700i" rel="stylesheet" type="text/css" /><link type="text/css" rel="stylesheet" href="https://ajax.googleapis.com/ajax/libs/jqueryui/1.11.4/themes/ui-lightness/jquery-ui.css" /><link type="text/css" rel="stylesheet" href="https://cdn.jsdelivr.net/npm/[email protected]/dist/components/card.min.css" /><link type="text/css" rel="stylesheet" href="https://cdn.jsdelivr.net/npm/[email protected]/dist/components/item.min.css" /><link type="text/css" rel="stylesheet" href="https://cdn.jsdelivr.net/npm/[email protected]/dist/components/label.min.css" /><link type="text/css" rel="stylesheet" href="https://cdn.jsdelivr.net/npm/[email protected]/dist/components/icon.min.css" /><link type="text/css" rel="stylesheet" href="https://cdn.jsdelivr.net/npm/[email protected]/dist/components/input.min.css" /><link type="text/css" rel="stylesheet" href="https://cdn.jsdelivr.net/npm/[email protected]/dist/components/button.min.css" /><link type="text/css" rel="stylesheet" href="https://cdn.jsdelivr.net/npm/[email protected]/dist/components/image.min.css" /><link type="text/css" rel="stylesheet" href="https://cdn.jsdelivr.net/npm/[email protected]/dist/components/segment.min.css" /><link type="text/css" rel="stylesheet" href="https://cdn.jsdelivr.net/npm/[email protected]/dist/components/menu.min.css" /><link type="text/css" rel="stylesheet" href="https://cdn.jsdelivr.net/npm/[email protected]/dist/components/table.min.css" /><link type="text/css" rel="stylesheet" href="https://cdn.jsdelivr.net/npm/[email protected]/dist/components/step.min.css" /><link type="text/css" rel="stylesheet" href="https://cdn.jsdelivr.net/npm/[email protected]/dist/components/statistic.min.css" /><link type="text/css" rel="stylesheet" href="https://cdn.jsdelivr.net/npm/[email protected]/dist/components/divider.min.css" /><link rel="stylesheet" href="/Styles/bootstrap/css/bootstrap.min.css" type="text/css" /><link href="/Scripts/BootstrapToggle/css/bootstrap-toggle.min.css" rel="stylesheet" type="text/css" /><link href="/Styles/Fancybox2/source/jquery.fancybox.css?v=2.1.0" rel="stylesheet" type="text/css" /><link href="/Styles/Fancybox2/source/helpers/jquery.fancybox-buttons.css?v=11_14_2016" rel="stylesheet" type="text/css" /><link href="/Styles/Fancybox2/source/helpers/jquery.fancybox-zoom.css?v=1.0.0" rel="stylesheet" type="text/css" /><link href="../../Styles/site.css?v=360.2.49.css33" rel="stylesheet" type="text/css" /><link href="../../Styles/Exam.css?v=7_11_2016" rel="stylesheet" type="text/css" /><link href="../../Styles/learningActivityCatalog.css?v=360.2.49.lac1" rel="stylesheet" type="text/css" />
9<script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jquery/2.2.0/jquery.min.js"></script>
9<script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jqueryui/1.11.4/jquery-ui.min.js"></script>
9<script src="/Styles/bootstrap/js/bootstrap.min.js" type="text/javascript"></script>
9<script> 10window.dataLayer = window.dataLayer || []; 11window.dataLayer.push({"course_name":"Quality Essentials Learning Bundle | 2026","product_code":"OLQUALBUN2026","module_name":null}); 12window.dataLayer.push({ 13 "event": "launch_course", 14 "course_name": "Quality Essentials Learning Bundle | 2026", 15 "product_code": "OLQUALBUN2026", 16 "module_name": null 17}); 18</script>
18 19
20<script> 21window.OasisGlassDataLayer = window.OasisGlassDataLayer || []; 22window.OasisGlassDataLayer.push({"course_name":"Quality Essentials Learning Bundle | 2026","product_code":"OLQUALBUN2026","module_name":null}); 23window.OasisGlassDataLayer.push({ 24 "event": "launch_course", 25 "course_name": "Quality Essentials Learning Bundle | 2026", 26 "product_code": "OLQUALBUN2026", 27 "module_name": null 28}); 29</script>
29 30 31 32
32<script src="/Scripts/jquery.ui.touch-punch.min.js" type="text/javascript"></script>
32 33 34
34<script src="/Scripts/js/noty/jquery.noty.min.js" type="text/javascript"></script>
34 35
35<script src="/Scripts/js/noty/layouts/topRight.js" type="text/javascript"></script>
35 36
36<script src="/Scripts/js/noty/layouts/bottomRight.js" type="text/javascript"></script>
36 37
37<script src="/Scripts/js/noty/layouts/center.js" type="text/javascript"></script>
37 38
38<script src="/Scripts/js/noty/layouts/topCenter.js" type="text/javascript"></script>
38 39
39<script src="/Scripts/js/noty/themes/oasis.js?v=360.2.40.15" type="text/javascript"></script>
39 40 41 42
42<script src="/Scripts/SessionTimeout/jquery.idletimeout.js" type="text/javascript"></script>
42 43
43<script src="/Scripts/SessionTimeout/jquery.idletimer.js" type="text/javascript"></script>
43 44 45
45<script src="/Scripts/ie10fix.js" type="text/javascript"></script>
45 46 47
47<script type="text/javascript" src="https://learn.asge.org/Scripts/jquery.blockUI.min.js"></script>
47<script type="text/javascript" src="https://cloud.tinymce.com/5/tinymce.min.js?apiKey=b12vtljriegpyx8t9bn8xjgvbeb9rqao2umsk83bm7ntoq9m"></script>
47<link href="//vjs.zencdn.net/4.6/video-js.css" rel="stylesheet" />
47<script type="text/javascript" src="https://vjs.zencdn.net/4.6/video.js"></script>
47 48
48<script src="/Scripts/video-js/4.5.1/youtube.min.js" type="text/javascript"></script>
48 49
49<script type="text/javascript"> 50 videojs.options.flash.swf = "/Scripts/video-js/video-js.swf"; 51 </script>
51 52
52<script src="https://cdn.jwplayer.com/libraries/wGjZW9II.js" type="text/javascript"></script>
52 53 54 55
55<script type="text/javascript" src="/Scripts/overlib.js"></script>
55 56 57 58 59
59<script src="/Scripts/BootstrapToggle/js/bootstrap-toggle.min.js" type="text/javascript"></script>
59 60 61 62
62<script src="/Styles/Fancybox2/source/jquery.fancybox.pack.js?v=2.1.0" type="text/javascript"></script>
62 63
63<script src="/Styles/Fancybox2/source/helpers/jquery.fancybox-zoom.js?v=1.0.0" type="text/javascript"></script>
63 64
64<script src="/Styles/Fancybox2/source/helpers/jquery.fancybox-buttons.js?v=2.1.4" type="text/javascript"></script>
64 65 66 67 <link href="/fontawesome/css/all.min.css?v=360.2.49.css2" rel="stylesheet" /><link href="/fontawesome/css/custom-icons.min.css?v=360.2.49.ci3" rel="stylesheet" />
67<script src="/Scripts/jquery.easing-1.3.pack.min.js" type="text/javascript"></script>
67 68 69
69<script src="/Scripts/jquery.signalR-2.4.3.min.js" type="text/javascript"></script>
69 70 71 72
72<script src="/Scripts/readmore.min.js" type="text/javascript"></script>
72 73 74 75
75<script src="//cdn.jsdelivr.net/npm/sweetalert2@11"></script>
75 76 77 78
78<script type="text/javascript" src="/Scripts/features.js?v=360.2.49.10"></script>
78 79 80
80<script type="text/javascript" src="/Scripts/webServiceSessionExpiredHandler.js?v=360.2.49.10"></script>
80 81
81<script type="text/javascript" src="/Scripts/factor360richtextfeature.js?v=360.2.49rt1"></script>
81 82
82<script type="text/javascript" src="/Scripts/learningActivityCatalog.js?v=360.2.49.lac4"></script>
82 83 84 <style type="text/css"> 85 #imgNotification { 86 opacity: 0.6; 87 filter: alpha(opacity=60); /* For IE8 and earlier */ 88 } 89 90 .wordWrapWordBreak { 91 display: block; 92 word-wrap: break-word; /* This will not be recognized by Visual Studio, but it works. */ 93 } 94 95 #imgNotification:hover { 96 opacity: 1; 97 filter: alpha(opacity=100); /* For IE8 and earlier */ 98 } 99 100 .RadGrid { 101 outline: none; 102 } 103 104 a.ui-dialog-titlebar-close { 105 display: none; 106 } 107 108 .languageDropdown ul.rcbList li img.rcbImage { 109 height: 24px; 110 } 111 112 input.rcbInput.languageDropdownInput { 113 height: 24px; 114 } 115 116 #divLanguageSelectorBox { 117 text-align: center; 118 } 119 120 .factor360AccountNavigation { 121 margin-top: -10px; 122 } 123 124 .navbar.factor360AccountNavigation { 125 margin-bottom: 0px; /* so that it does not block our main menu */ 126 z-index: 1001; 127 } 128 129 .factor360Nav { 130 display: -webkit-box; 131 display: -ms-flexbox; 132 display: flex; 133 -webkit-box-align: start; 134 -ms-flex-align: start; 135 align-items: flex-start; 136 -webkit-box-pack: end; 137 -ms-flex-pack: end; 138 justify-content: flex-end; 139 -webkit-box-orient: horizontal; 140 -webkit-box-direction: normal; 141 -ms-flex-flow: row wrap; 142 flex-flow: row wrap; 143 } 144 /* use flexbox so that shopping cart icon does not get dragged to the bottom when account menu is opened */ 145 146 .factor360Nav > li { 147 /*display: inline-block; prevent this navigation item to wrap into multiple line on small screen */ 148 } 149 150 .factor360Nav > li > a:hover, 151 .factor360Nav > li > a:active, 152 .factor360Nav > li > a:focus, 153 .factor360Nav .open > a, .factor360Nav .open > a:focus, .factor360Nav .open > a:hover { 154 background-color: transparent; 155 } 156 157 @media (max-width: 767px) { /* follows navbar.less from bootstrap */ 158 .navbar-nav .open .dropdown-menu { 159 background-color: #fff; 160 border-bottom: 3px solid #444444; 161 } 162 } 163 164 .factor360Nav > li > a { 165 padding-bottom: 5px; 166 } 167
168 .modal-dialog { 169 margin-top: 15%; 170 } 171 172 173 174 .languageSelectorPanel { 175 position: absolute; 176 top: 8px; 177 right: 0px; 178 margin: 5px; 179 } 180 181 182 #noty_topRight_layout_container { 183 display: none; 184 } 185 /* Medium Devices, Desktops */ 186 @media only screen and (min-width : 768px) { 187 #noty_topRight_layout_container { 188 display: inherit; 189 } 190 } 191 192 .divHeadLogin { 193 margin: 10px auto; 194 } 195 </style> 196 197 198 <!-- Latest compiled and minified CSS --> 199 <meta name="viewport" content="width=device-width, initial-scale=1.0" /> 200 <link href='../../Styles/Site_Responsive.css?v=360.2.40.sr1' rel="stylesheet" type="text/css" /> 201 <style type="text/css"> 202 .catalogContainer { 203 display: -webkit-flex; 204 display: flex; 205 } 206 207 .mainCatalogColumn { 208 -webkit-flex: 1 0 65%; 209 flex: 1 0 66%; 210 } 211 212 .mainCatalogColumn95 { 213 -webkit-flex: 1 0 95%; 214 flex: 1 0 95%; 215 } 216 217 .sideCatalogColumn { 218 -webkit-flex: 0 1 35%; 219 flex: 0 1 34%; 220 margin-left: 10px; 221 } 222 223 @media all and (max-width: 768px) { 224 225 .catalogContainer { 226 -webkit-flex-direction: column; 227 flex-direction: column; 228 } 229 230 .mainCatalogColumn { 231 flex: 0,0, auto; 232 -webkit-order: 2; 233 order: 2; 234 } 235 236 .sideCatalogColumn { 237 margin-left: 0; 238 flex: 0,0, auto; 239 -webkit-order: 1; 240 order: 1; 241 } 242 243 .mobile-content-separator { 244 margin-bottom: 20px; 245 } 246 } 247 </style> 248 249 <style type="text/css"> 250 /*Add transition to containers so they can push in and out.*/ 251 #divCatalogWithSideBar_MainLayout, 252 #divCatalogWithSideBar_LeftSideBar, 253 .catalogWithSideBar_hamburger { 254 -webkit-transition: all 0.2s ease-out; 255 -moz-transition: all 0.2s ease-out; 256 -ms-transition: all 0.2s ease-out; 257 -o-transition: all 0.2s ease-out; 258 transition: all 0.2s ease-out; 259 } 260 /*This is the parent div that contains the menu and the content area.*/ 261 #divCatalogWithSideBar_MainLayout { 262 position: relative; 263 padding-left: 0; 264 } 265 /* -- Dynamic vertical menu button on the left side -------------------------------------*/ 266 /*`.catalogWithSideBar_hamburger` represents the responsive menu toggle that shows/hides onsmall screens.*/ 267 .catalogWithSideBar_hamburger { 268 position: absolute; 269 display: block; 270 /* show this only on small screens */ 271 top: 0; 272 left: 0; 273 font-size: 1.5em; 274 /* change this value to increase/decrease button size */ 275 z-index: 1; /* so that it does not show up on top of the bootstrap My Account menu dropdown */ 276 height: auto; 277 padding: 5px; 278 color: inherit !important; 279 cursor: pointer; 280 } 281 282 .catalogWithSideBar_hamburger:hover { 283 color: inherit; 284 } 285 /* Active components (when user clicks on hamburger) */ 286 #divCatalogWithSideBar_MainLayout.active #divCatalogWithSideBar_LeftSideBar { 287 left: 300px; 288 width: 150px; 289 } 290 291 #divCatalogWithSideBar_MainLayout.active .catalogWithSideBar_hamburger { 292 left: 150px; 293 } 294 295 296 /* -- Responsive Styles (Media Queries) ------------------------------------- */ 297 @media all { 298 /* < 1300 px : Hide */ 299 #divCatalogWithSideBar_LeftSideBar { 300 left: -150px; /* as if the side bar disappear */ 301 width: 150px; 302 } 303 304 #divCatalogWithSideBar_LeftSideBar.active { 305 left: 150px; 306 width: 150px; 307 } 308 309 .catalogWithSideBar_hamburger { 310 display: block; 311 } 312 313 .catalogWithSideBar_hamburger.active { 314 left: 150px; /* for the active left sidebar width*/ 315 } 316 } 317 318 @media all and (min-width:1075px) { 319 /* 1175 - 1300 px : Icon only */ 320 #divCatalogWithSideBar_MainLayout { 321 padding-left: 0; 322 /* left col width "#divCatalogWithSideBar_LeftSideBar" */ 323 left: 0; 324 } 325 326 #divCatalogWithSideBar_LeftSideBar { 327 left: 70px; /* as if the side bar sticking to left boarder (150px original - 80 px width) */ 328 width: 80px; 329 } 330 331 #divCatalogWithSideBar_LeftSideBar.active { 332 left: 70px; 333 width: 80px; 334 } 335 336 #divCatalogWithSideBar_MainLayout.active .catalogWithSideBar_hamburger { 337 left: 150px; 338 } 339 340 .catalogWithSideBar_hamburger { 341 display: none; 342 } 343 344 .catalogWithSideBar_hamburger.active { 345 left: 150px; /* for the active left sidebar width*/ 346 } 347 } 348 349 @media all and (min-width:1300px) { 350 /* 1176 - 1400 px : Icon only */ 351 #divCatalogWithSideBar_MainLayout { 352 padding-left: 0; 353 /* left col width "#divCatalogWithSideBar_LeftSideBar" */ 354 left: 0; 355 } 356 357 #divCatalogWithSideBar_LeftSideBar { 358 left: 70px; /* as if the side bar sticking to left boarder (150px original - 80 px width) */ 359 width: 80px; 360 } 361 362 #divCatalogWithSideBar_LeftSideBar.active { 363 left: 70px; 364 width: 80px; 365 } 366 367 #divCatalogWithSideBar_MainLayout.active .catalogWithSideBar_hamburger { 368 left: 150px; 369 } 370 371 .catalogWithSideBar_hamburger { 372 display: none; 373 } 374 375 .catalogWithSideBar_hamburger.active { 376 left: 150px; /* for the active left sidebar width*/ 377 } 378 } 379 380 @media all and (min-width:1401px) { 381 /* 1400 --> 1500 px: Icon + New Line + Description */ 382 #divCatalogWithSideBar_LeftSideBar { 383 left: 30px; 384 width: 120px; 385 } 386 387 .catalogWithSideBar_hamburger { 388 display: none; 389 } 390 391 #divCatalogWithSideBar_LeftSideBar.active { 392 left: 30px; 393 width: 120px; 394 } 395 } 396 397 @media all and (min-width:1501px) { 398 /* 1500+ px: Icon + Description */ 399 #divCatalogWithSideBar_LeftSideBar { 400 left: 0; 401 width: 150px; 402 } 403 404 #divCatalogWithSideBar_LeftSideBar.active { 405 left: 0; 406 width: 150px; 407 } 408 } 409 410 @media all and (min-width: 1300px) { 411 .divPublicMenuWrapper .oasisWrap.fullwidth { 412 padding-left: 75px; 413 padding-right: 75px; 414 width: 100%; 415 } 416 417 .oasisWrap.fullwidth.fullScreenWithSideBar #divCatalogWithSideBar_MainLayout { 418 padding-left: 75px; 419 padding-right: 75px; 420 width: 100%; 421 } 422 } 423 424 @media all and (min-width: 1401px) { 425 .divPublicMenuWrapper .oasisWrap.fullwidth { 426 padding-left: 110px; 427 padding-right: 110px; 428 width: 100%; 429 } 430 431 .oasisWrap.fullwidth.fullScreenWithSideBar #divCatalogWithSideBar_MainLayout { 432 padding-left: 110px; 433 padding-right: 110px; 434 width: 100%; 435 } 436 } 437 438 @media all and (min-width: 1501px) { 439 .divPublicMenuWrapper .oasisWrap.fullwidth { 440 padding-left: 152px; 441 padding-right: 152px; 442 width: 100%; 443 } 444 445 .oasisWrap.fullwidth.fullScreenWithSideBar #divCatalogWithSideBar_MainLayout { 446 padding-left: 152px; 447 padding-right: 152px; 448 width: 100%; 449 } 450 } 451 452 453 fullScreenWithSideBar .factor360LeftSideBarWrapper { 454 margin-left: 0px; 455 } 456 457 .fullScreenWithSideBar #divUserPageWithSideBar_LeftSideBar { 458 left: 0px; 459 width: 150px; 460 } 461 462 .fullScreenWithSideBar #divUserPageWithSideBar_LeftSideBar.expand { 463 width: 150px; 464 left: 150px; 465 } 466 467 .fullScreenWithSideBar #divUserPageWithSideBar_MainLayout { 468 padding-left: 1px; 469 padding-right: 1px; 470 } 471 472 @media all and (min-width:1200px) { 473 /*1176 - 1400 px : Icon only*/ 474 .fullScreenWithSideBar .factor360LeftSideBarWrapper { 475 margin-left: 0px; 476 } 477 478 .fullScreenWithSideBar #divUserPageWithSideBar_LeftSideBar { 479 left: 0px; 480 width: 65px; 481 overflow: hidden; 482 } 483 484 .fullScreenWithSideBar #divUserPageWithSideBar_LeftSideBar.expand { 485 width: 65px; 486 } 487 488 .fullScreenWithSideBar #divUserPageWithSideBar_MainLayout { 489 padding-left: 75px; 490 padding-right: 75px; 491 } 492 } 493 494 @media all and (min-width:1300px) { 495 .fullScreenWithSideBar .factor360LeftSideBarWrapper { 496 margin-left: 0px; 497 } 498 499 .fullScreenWithSideBar #divUserPageWithSideBar_LeftSideBar { 500 left: 0px; 501 width: 65px; 502 } 503 504 .fullScreenWithSideBar #divUserPageWithSideBar_LeftSideBar.expand { 505 width: 65px; 506 } 507 508 .fullScreenWithSideBar #divUserPageWithSideBar_MainLayout { 509 padding-left: 75px; 510 padding-right: 75px; 511 } 512 } 513 514 @media all and (min-width:1401px) { 515 .fullScreenWithSideBar .factor360LeftSideBarWrapper { 516 margin-left: 0px; 517 } 518 519 .fullScreenWithSideBar #divUserPageWithSideBar_LeftSideBar { 520 left: 30px; 521 width: 120px; 522 } 523 524 .fullScreenWithSideBar .factor360LeftSideBarWrapper { 525 padding-left: 15px; 526 } 527 528 .fullScreenWithSideBar #divUserPageWithSideBar_LeftSideBar.expand { 529 left: 30px; 530 width: 120px; 531 } 532 533 .fullScreenWithSideBar #divUserPageWithSideBar_MainLayout { 534 padding-left: 110px; 535 padding-right: 110px; 536 } 537 } 538 539 @media all and (min-width:1501px) { 540 .fullScreenWithSideBar .factor360LeftSideBarWrapper { 541 margin-left: 0px; 542 } 543 544 .fullScreenWithSideBar #divUserPageWithSideBar_LeftSideBar { 545 left: 0px; 546 width: 150px; 547 } 548 549 .fullScreenWithSideBar #divUserPageWithSideBar_LeftSideBar.expand { 550 width: 150px; 551 } 552 553 .fullScreenWithSideBar #divUserPageWithSideBar_MainLayout { 554 padding-left: 152px; 555 padding-right: 152px; 556 } 557 } 558 </style> 559 560 <link rel="canonical" href="https://learn.asge.org/Listing/Quality-Essentials-Learning-Bundle-2026-5172" /> 561
562<link href="../../images/ASGE/asge.ico" rel="shortcut icon" type="image/x-icon" /><link href="../../Styles/__bahamaBlue.css?v=360.2.47.16" rel="stylesheet" type="text/css" /><link rel="stylesheet" type="text/css" /><style id="clientCustomStyling" type="text/css" rel="stylesheet">body { font-family: 'Arial';}body { background:none; background-color:#FFFFFF;}.box_notification.error.failedLearningActivityNotification { background-color: #66FFFF;}.box_notification.error.failedLearningActivityNotification { color: #111111;}.factor360ClientCustomPurchaseButton, .btnAccessClass { 563 564 565 }.oasisCustomNottyWrapper.error, .oasisCustomNottyContainer.error { 566 567 568 569 }.oasisCustomNottyWrapper.warning, .oasisCustomNottyContainer.warning { 570 571 572 573 }.oasisCustomNottyWrapper.information , .oasisCustomNottyContainer.information { 574 575 576 577 }:root { 578 579 580 581 582 583 584 585 586 587 588 589 590 591 592 593 594 595 }</style><link href="https://fonts.googleapis.com/css2?family=Alex+Brush&display=swap" rel="stylesheet" type="text/css" /><link href="https://fonts.googleapis.com/css2?family=Source+Sans+Pro:ital,wght@0,300;0,400;0,600;0,700;1,300;1,400;1,600;1,700&display=swap" rel="stylesheet" type="text/css" /><link href="https://fonts.googleapis.com/css2?family=Source+Sans+3:ital,wght@0,200..900;1,200..900&display=swap" rel="stylesheet" type="text/css" /><link href="https://fonts.googleapis.com/css2?family=Noto+Sans:wght@300;400&display=swap" rel="stylesheet" type="text/css" /><link href="https://fonts.googleapis.com/css2?family=Poppins:wght@400;600;700&display=swap" rel="stylesheet" type="text/css" /><meta name="ROBOTS" content="INDEX,NOFOLLOW" /><meta name="CourseName" content="Quality Essentials Learning Bundle | 2026" /><meta name="CourseName" content="GI Unit Leadership: Shaping a High-Performing Endoscopy Unit (On-Demand) | February 2026" /><meta name="CourseName" content="The ASGE Quality Course: Improving Quality and Safety in the Endoscopy Unit (On-demand) | November 2025" /><meta name="CreditType" content="CME" /><meta name="CreditType" content="Participation" /><meta name="MemberPrice" content="$600.00" /><meta name="Non-MemberPrice" content="$800.00" /><link href="/WebResource.axd?d=urCACUaUZeT6oPoIZXShbrtebslNNaPQ94R80p_5ti-c3afVxIILq_GE2rctEJuyhDB0dNmZ4RaWaOKXRBlQzfefY8ve-PWznHenIcDQ8Ye6KkLDHkjFrye6mt61WlsH0&t=639264198921335729" type="text/css" rel="stylesheet" class="Telerik_stylesheet" /><link href="/WebResource.axd?d=4ytSv8sIF7k2K6JRNAeY3XTFk_LIfceBezreb-F4-emuH9H21H7fyhYsBn56Mx0SWJwPF9tJSYCLhqcT1VBEnBHHeoY4Im1-GyWtf2lurADhwi35EX4TVE_KE2C8hm8ZLujtx1WPxfKcQ5YELvL3bQ2&t=639264198921335729" type="text/css" rel="stylesheet" class="Telerik_stylesheet" /></head> 596<body> 597 <div id="seoContent" style="display: none;"> 598 599 600 601 602 </div> 603 <!-- Global site tag (gtag.js) - Google Analytics -->
vendor: 65 bytes, lines 603-604
603 604<script async src="https://www.googletagmanager.com/gtag/js?id=
604UA-34293309-2
vendor: 13 bytes, line 604
604"></script>
605<script> 606
vendor: 138 bytes, lines 606-610
606window.dataLayer = window.dataLayer || []; 607 function gtag(){dataLayer.push(arguments);} 608 gtag('js', new Date()); 609 610 gtag('config', '
610UA-34293309-2
vendor: 5 bytes, line 610
610');
611</script>
vendor: 2 bytes, line 611
611
612<script src="https://capture.oasis-analytics.com/tracker/glassAnalytics.js" data-client-secret-key="0b7a4e3396b64096990ad9953a65784d" data-api-url="https://capture.oasis-analytics.com" async></script>
612 613 614 615 616 617 618 619 620 621 622<div id="divEnableMathEditor" style="display: none"> 623 false 624</div> 625 626</script>
626 627 628 629
630<script type="text/javascript"> 631 $(function () { 632 var $ltrEnableMathEditor = $('#divEnableMathEditor').html(); 633 var enableMathEditor = ($ltrEnableMathEditor.toLowerCase() === 'true'); 634 if (enableMathEditor) { 635 if (typeof com !== 'undefined') { 636 com.wiris.js.JsPluginViewer.parseElement(document.getElementById("divMainContent"), true, function () { }); 637 } 638 } 639 }); 640</script>
640 641 642 643 <div id="overDiv" style="position: absolute; visibility: hidden; z-index: 1000;"> 644 </div> 645 <form method="post" action="./Details.aspx?id=7E%2bwSyg4oDAuf7mCLOHTQw%3d%3d" id="frmMaster" enctype="multipart/form-data"> 646<div class="aspNetHidden"> 647<input type="hidden" name="RadScriptManager1_TSM" id="RadScriptManager1_TSM" value="" /> 648<input type="hidden" name="__LASTFOCUS" id="__LASTFOCUS" value="" /> 649<input type="hidden" name="__EVENTTARGET" id="__EVENTTARGET" value="" /> 650<input type="hidden" name="__EVENTARGUMENT" id="__EVENTARGUMENT" value="" /> 651<input type="hidden" name="__VIEWSTATE" id="__VIEWSTATE" value="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" /> 652</div> 653
654<script type="text/javascript"> 655//<![CDATA[ 656var theForm = document.forms['frmMaster']; 657if (!theForm) { 658 theForm = document.frmMaster; 659} 660function __doPostBack(eventTarget, eventArgument) { 661 if (!theForm.onsubmit || (theForm.onsubmit() != false)) { 662 theForm.__EVENTTARGET.value = eventTarget; 663 theForm.__EVENTARGUMENT.value = eventArgument; 664 theForm.submit(); 665 } 666} 667//]]> 668</script>
668 669 670
671<script src="/WebResource.axd?d=pynGkmcFUV13He1Qd6_TZGYME_74v0sjKdDJ8uAaVdJWtNlPOO95K8fHWJqVN3rEAc8iqk8vBKl3HlrP3fMPyw2&t=639190653332169432" type="text/javascript"></script>
671 672 673
674<script src="/Telerik.Web.UI.WebResource.axd?_TSM_HiddenField_=RadScriptManager1_TSM&compress=1&_TSM_CombinedScripts_=%3b%3bSystem.Web.Extensions%2c+Version%3d4.0.0.0%2c+Culture%3dneutral%2c+PublicKeyToken%3d31bf3856ad364e35%3aen-US%3add3ac3d5-1e29-4112-8fed-529caffa8f24%3aea597d4b%3ab25378d2%3bTelerik.Web.UI%2c+Version%3d2026.3.812.462%2c+Culture%3dneutral%2c+PublicKeyToken%3d121fae78165ba3d4%3aen-US%3aab6aa57e-34e3-4a88-a53e-99567e45582d%3a16e4e7cd%3aed16cbdc%3af7645509%3a88144a7a" type="text/javascript"></script>
vendor: 2 bytes, line 674
674
675<script src="/WebResource.axd?d=JoBkLzP19aTuxbWOhHobYrsrE7BM9u4mqJMJyLI7whpZZimW2fCI7H045jxxr8F7lHyUO-tKJvVSzYwiSNIXJw2&t=639190653332169432" type="text/javascript"></script>
675 676<div class="aspNetHidden"> 677 678 <input type="hidden" name="__VIEWSTATEGENERATOR" id="__VIEWSTATEGENERATOR" value="0ACAD0AF" /> 679</div> 680 681 682 683
683<script type="text/javascript"> 684//<![CDATA[ 685Sys.WebForms.PageRequestManager._initialize('ctl00$ctl00$RadScriptManager1', 'frmMaster', ['tctl00$ctl00$RadAjaxManager1SU','RadAjaxManager1SU'], [], [], 90, 'ctl00$ctl00'); 686//]]> 687</script>
687 688 689 <!-- 2026.3.812.462 --><div id="RadAjaxManager1SU"> 690 <span id="ctl00_ctl00_RadAjaxManager1" style="display:none;"></span> 691</div> 692 <div id="raLoadingPanel" style="display:none;"> 693 694 <div class="AJAXLoading"> 695 <img id="Image1" class="AJAXLoadingImage" src="../../images/AJAXloading.gif" alt="loading animation" /> 696 </div> 697 698</div> 699 <div id="raDefaultLoadingPanel" class="RadAjax RadAjax_Default" style="display:none;"> 700 <div class="raDiv"> 701 702 703 </div><div class="raColor raTransp"> 704 705 </div> 706</div> 707 <input type="hidden" name="ctl00$ctl00$hfIANATimeZone" id="hfIANATimeZone" /> 708 <span class="singularClientSpecificTinyMCEFormattedCustomFontJSON"> 709 <input type="hidden" name="ctl00$ctl00$hfClientSpecificTinyMCEFormattedCustomFontJSON" id="hfClientSpecificTinyMCEFormattedCustomFontJSON" value="["{\"fontFormat\":\"Alex Brush=Alex Brush\",\"fontFamilyUrl\":\"https://fonts.googleapis.com/css2?family=Alex+Brush&display=swap\"}","{\"fontFormat\":\"Source Sans Pro=Source Sans Pro\",\"fontFamilyUrl\":\"https://fonts.googleapis.com/css2?family=Source+Sans+Pro:ital,wght@0,300;0,400;0,600;0,700;1,300;1,400;1,600;1,700&display=swap\"}","{\"fontFormat\":\"Source Sans 3=Source Sans 3\",\"fontFamilyUrl\":\"https://fonts.googleapis.com/css2?family=Source+Sans+3:ital,wght@0,200..900;1,200..900&display=swap\"}","{\"fontFormat\":\"Noto Sans=Noto Sans\",\"fontFamilyUrl\":\"https://fonts.googleapis.com/css2?family=Noto+Sans:wght@300;400&display=swap\"}","{\"fontFormat\":\"Poppins=Poppins\",\"fontFamilyUrl\":\"https://fonts.googleapis.com/css2?family=Poppins:wght@400;600;700&display=swap\"}"]" /> 710 </span> 711 <input type="hidden" name="ctl00$ctl00$ltrUTCOffset" id="ltrUTCOffset" /> 712 713 <input type="hidden" name="ctl00$ctl00$hfBrowserWidth" id="hfBrowserWidth" /> 714 <input type="hidden" name="ctl00$ctl00$hfBrowserHeight" id="hfBrowserHeight" /> 715 716
716<script type="text/javascript"> 717 718 function captureBrowserSize() { 719 720 console.log("captureBrowserSize") 721 var width = window.innerWidth || document.body.clientWidth; 722 var height = window.innerHeight || document.body.clientHeight; 723 724 $('#hfBrowserWidth').val(width); 725 $('#hfBrowserHeight').val(height); 726 }; 727 728 729 //for mobile phone the combobox is scrolling the page 730 //with this function its not gonna happen anymore 731 function fixGridSchedulerComboBoxDropDownList() { 732 // For RadGrid - .RadGrid .RadTouchExtender 733 // For RadScheduler - .rsContentScrollArea.RadTouchExtender 734 // For RadComboBox - .rcbScroll 735 // For RadDropDownList - .rddlList 736 var fixed = $telerik.$(".RadGrid .RadTouchExtender, .rsContentScrollArea.RadTouchExtender, .rcbScroll, .rddlList"); 737 fixed.on('touchmove', function (e) { 738 e.preventDefault(); 739 }); 740 } 741 Sys.Application.add_load(fixGridSchedulerComboBoxDropDownList); 742 743 744 $(function () { 745 746 var $hiddenfield = $('#ltrUTCOffset'); 747 if ($hiddenfield) 748 $hiddenfield.val(new Date().getTimezoneOffset().toString()); 749 else 750 alert('no data!'); 751 752 var $hfIANATimeZone = $('#hfIANATimeZone'); 753 if (!$hfIANATimeZone.val()) { 754 updateCurrentLocalDateTime(); 755 } 756 757 var hfBrowserWidth = $('#hfBrowserWidth'); 758 if (!hfBrowserWidth.val()) { 759 updateCaptureBrowserSize(); 760 } 761 762 // if for some reason clicking on noty message does not close the noty, this will. 763 $('.noty_message').on('click', function () { 764 var notyId = $(this).closest('.noty_bar').attr('id'); 765 $.noty.close(notyId); // Close a NOTY 766 }); 767 });// end of document ready 768 function updateCurrentLocalDateTime() { 769 console.log('updateCurrentLocalDateTime called'); 770 var postData = getLocalDateTimeZone(); 771 console.log('UpdateCurrentLocalDateTime with: ' + JSON.stringify(postData)); 772 $.ajax({
773 type: 'POST', 774 url: '/Webservices/ClientServices.asmx/UpdateCurrentLocalDateTime', 775 contentType: 'application/json; charset=utf-8', 776 dataType: 'json', 777 data: JSON.stringify(postData), 778 success: function (data) { 779 console.log('updateCurrentLocalDateTime SUCCESS'); 780 }, 781 failure: function () { 782 console.log('updateCurrentLocalDateTime FAILED'); 783 } 784 }); 785 } 786 787 function updateCaptureBrowserSize() { 788 console.log('updateCaptureBrowserSize called'); 789 790 captureBrowserSize(); 791 792 var width = $('#hfBrowserWidth').val(); 793 var height = $('#hfBrowserHeight').val(); 794 795 var postData = new Object(); 796 postData.BrowserWidth = width; 797 postData.BrowserHeight = height; 798 799 console.log('updateCaptureBrowserSize with: ' + JSON.stringify(postData)); 800 $.ajax({
801 type: 'POST', 802 url: '/Webservices/ClientServices.asmx/UpdateCaptureBrowserSize', 803 contentType: 'application/json; charset=utf-8', 804 dataType: 'json', 805 data: JSON.stringify(postData), 806 success: function (data) { 807 console.log('updateCaptureBrowserSize SUCCESS'); 808 }, 809 failure: function () { 810 console.log('updateCaptureBrowserSize FAILED'); 811 } 812 }); 813 } 814 815 function getLocalDateTimeZone() { 816 var ianaTimeZone = getIANATimeZone(); 817 const dateForUpdateCurrentLocalDateTime = new Date() 818 const options_long = { timeZone: ianaTimeZone, timeZoneName: "long" } 819 const timeZoneName_long = new Intl.DateTimeFormat("en-US", options_long) 820 .formatToParts(dateForUpdateCurrentLocalDateTime) 821 .find((part) => part.type === "timeZoneName").value 822 823 const options_short = { timeZone: ianaTimeZone, timeZoneName: "short" } 824 const timeZoneName_short = new Intl.DateTimeFormat("en-US", options_short) 825 .formatToParts(dateForUpdateCurrentLocalDateTime) 826 .find((part) => part.type === "timeZoneName").value 827 828 var _localDateTimeZoneData = new Object(); 829 _localDateTimeZoneData.IANATimeZone = ianaTimeZone; 830 _localDateTimeZoneData.TimeZoneName_Long = timeZoneName_long; 831 _localDateTimeZoneData.TimeZoneName_Short = timeZoneName_short; 832 return _localDateTimeZoneData 833 } 834 function getIANATimeZone() { 835 var ianaTimeZone = ''; 836 // Because IE 11 does NOT support Intl.DateTimeFormat().resolvedOptions().timeZone, we will always assume it is Eastern Time 837 if (window.navigator.userAgent.indexOf("MSIE ") > 0 || !!navigator.userAgent.match(/Trident.*rv\:11\./)) { 838 // Internet Explorer 839 ianaTimeZone = 'America/New_York'; 840 } else { 841 // Other 842 ianaTimeZone = Intl.DateTimeFormat().resolvedOptions().timeZone; 843 } 844 return ianaTimeZone; 845 } 846 function displaySystemNotification(message) { 847 var $hfSystemNotificationIsDisplayed = $('#hfSystemNotificationIsDisplayed'); 848 if ($hfSystemNotificationIsDisplayed.val() == '') { 849 $hfSystemNotificationIsDisplayed.val(false); 850 } 851 if ($hfSystemNotificationIsDisplayed.val()) { 852 $hfSystemNotificationIsDisplayed.val(false); 853 var n = noty({ 854 text: message, 855 layout: 'topRight', 856 theme: 'oasisTheme', 857 type: 'information', 858 timeout: 60000 // milli-seconds 859 860 }); 861 } else { 862 $hfSystemNotificationIsDisplayed.val(true); 863 } 864 865 } 866 function showLanguageSelector() { 867 $('#divLanguageSelectorBox').modal('show'); 868 } 869 870 function languageCombo_OnClientSelectedIndexChanging(sender, eventArgs) { 871 var input = sender.get_inputDomElement() 872 input.style.background = "url(" + eventArgs.get_item().get_imageUrl() + ") no-repeat"; 873 input.style.backgroundSize = "24px" 874 input.style.paddingLeft = "32px" 875 } 876 877 function languageCombo_OnClientLoad(sender) { 878 var input = sender.get_inputDomElement() 879 var selectedItem = sender.get_selectedItem(); 880 input.style.background = "url(" + selectedItem.get_imageUrl() + ") no-repeat"; 881 input.style.backgroundSize = "24px" 882 input.style.paddingLeft = "32px" 883 } 884 885 886 887 888 889 </script>
889 890 891<style type="text/css"> 892 .RadNotification { 893 height: auto !important; 894 } 895</style>
896<script type="text/javascript"> 897 var modalDiv = null; 898 899 function showModalDiv(sender, args) { 900 if (!modalDiv) { 901 modalDiv = document.createElement("div"); // create element if not existed yet 902 modalDiv.className = "customNotificationOverlay"; 903 modalDiv.setAttribute("unselectable", "on"); 904 modalDiv.style.zIndex = (sender.get_zIndex() - 1).toString(); 905 document.body.appendChild(modalDiv); 906 } 907 modalDiv.style.display = ""; 908 } 909 910 function hideModalDiv() { 911 modalDiv.style.display = "none"; 912 } 913 914 function logDownloadNotificationSeenAndClose() { 915 var postData = new Object(); 916 postData.DoNotShowNextTime = $("#ctl00_ctl00___mobileAppDownloadNotification_radNotifyMobileAppDownload_C_cbxDontDisplayMobileAppNotification").is(":checked"); 917 918 $.ajax({ 919 type: 'POST', 920 url: '/Webservices/UserPreferenceServices.asmx/RememberMobileAppDownloadNotification', 921 contentType: 'application/json; charset=utf-8', 922 dataType: 'json', 923 data: JSON.stringify(postData) 924 }); 925 926 var radNotifyIOSAppDownload = $find("ctl00_ctl00___mobileAppDownloadNotification_radNotifyMobileAppDownload"); 927 radNotifyIOSAppDownload.hide(); 928 } 929</script>
929 930 931 932 <div style="position: fixed; right: 10px; z-index: 99999;"> 933 <input type="hidden" name="ctl00$ctl00$hfSystemNotificationIsDisplayed" id="hfSystemNotificationIsDisplayed" /> 934 935 </div> 936 <div class="contentWrapper"> 937 <header id="header"> 938 <h1 class="factor360srOnly">OasisLMS</h1> 939 940 <div id="HeaderMenuPlaceHolder_ucRegularHeader_pnlRegularHeader" style="position: relative;"> 941 942 <div id="HeaderMenuPlaceHolder_ucRegularHeader_pnlHeaderLogoWrap" class="headerLogoWrap publicMenuHeaderLogoWrapBorder"> 943 944 <style> 945 .pageLoginContainer { 946 margin: 10px 2px; 947 text-align: right; 948 } 949 950 @media all and (max-width: 768px) { 951 .pageLoginContainer { 952 text-align: right; 953 } 954 } 955 956 957 /*/* 958 #header:hover .headerLogoWrap>hover .placeForBannerImage > .hlnkHeaderRedirectURL, .placeForBannerImage:hover > .hlnkHeaderRedirectURL { 959 z-index: 40000; 960 }*/ 961 </style> 962 963 <div id="HeaderMenuPlaceHolder_ucRegularHeader_pnlHeaderLogo" class="headerLogoWrap headerLogo placeForBannerImage"> 964 965 <a id="HeaderMenuPlaceHolder_ucRegularHeader_hlnkHeaderRedirectURL" class="hlnkHeaderRedirectURL" href="http://www.asge.org/" target="_blank" style="border: none; z-index: 1031; position: relative;"><img id="HeaderMenuPlaceHolder_ucRegularHeader_imgLogo" class="customImageLogo" src="../../ImageHandler.ashx?path=ASGE\ASGE_Logo.png" alt="ASGE logo" style="border-style:None;" /></a> 966 967 968 969 970 </div> 971 972 </div> 973 974 975 976</div> 977 978 979 980 981 982 983 984 985 986 987 988 989 990 991 <div class="oasisWrap"> 992
993<script type="text/javascript" src="/Public/Catalog/catalogLoginModal.js?v=360.2.49.clm1"></script>
993 994<style> 995 #header { 996 z-index: auto; 997 } 998</style> 999<div class="pageLoginContainer" style="display: none;"> 1000 <input type="submit" name="ctl00$ctl00$HeaderMenuPlaceHolder$HeaderMenuPlaceHolder$ucLoginPanel$btnLogin" value="Login" onclick="return false;" id="HeaderMenuPlaceHolder_HeaderMenuPlaceHolder_ucLoginPanel_btnLogin" class="button" data-toggle="modal" data-target="#divUserLoginBox" /> 1001 <input type="submit" name="ctl00$ctl00$HeaderMenuPlaceHolder$HeaderMenuPlaceHolder$ucLoginPanel$btnloginViaSSO" value="Login" id="HeaderMenuPlaceHolder_HeaderMenuPlaceHolder_ucLoginPanel_btnloginViaSSO" class="button" /> 1002</div> 1003 1004<div class="loginModalPopup"> 1005 1006 <!-- Login Modal --> 1007 <style type="text/css"> 1008 .modal-dialog { 1009 margin-top: 15%; 1010 } 1011 </style> 1012 1013 <div class="modal fade" tabindex="-1" id="divUserLoginBox" role="dialog"> 1014 <div class="modal-dialog modal-sm" role="document"> 1015 <!-- Modal content--> 1016 <div class="modal-content"> 1017 <div class="modal-header"> 1018 <div class="titleBar noMargin noPadding"> 1019 <span class="glyphicon glyphicon-lock" style="margin-right: 10px;"></span> 1020 <span id="HeaderMenuPlaceHolder_HeaderMenuPlaceHolder_ucLoginPanel_lblModalHeaderTitle">Login</span> 1021 </div> 1022 </div> 1023 <div class="modal-body" style="padding: 0;"> 1024 1025<link href="/Public/__loginBox.css?v=360.2.49.lb1" rel="stylesheet" type="text/css" />
1026<script type="text/javascript" src="/Public/__loginBox.js?v=360.2.49.lb1"></script>
1026 1027 1028 1029 </div> 1030 </div> 1031 </div> 1032 </div> 1033 <!-- End of Modal --> 1034 1035</div> 1036 1037 </div> 1038 1039 1040 1041 <div id="divSiteMasterNavigationMenuWrapper"> 1042 1043 1044 1045 <div id="divSiteMasterNavigationMenuWrapper"> 1046 1047<style> 1048 .publicMenuLoginButton { 1049 -moz-box-shadow: 0px 0px 1px 1px #ccc; 1050 -webkit-box-shadow: 0px 0px 1px 1px #ccc; 1051 box-shadow: 0px 0px 1px 1px #ccc; 1052 line-height: normal; 1053 } 1054 1055 .mobilePublicMenudivider { 1056 height: 1px; 1057 margin: 6px 0; 1058 overflow: hidden; 1059 background-color: #e5e5e5; 1060 } 1061 1062 /* ========================= 1063 Nested Mega Header (Desktop first) 1064 ========================= */ 1065 1066 /* Top navigation wrapper */ 1067 .main-nav { 1068 position: relative; 1069 } 1070 1071 .publicMenuNestedMainNavList { 1072 display: flex; 1073 margin: 0; 1074 padding: 0; 1075 list-style: none; 1076 align-items: center; 1077 } 1078 1079 .main-nav__item { 1080 position: relative; /* needed so publicMenuMegaMenu can align under each item */ 1081 } 1082 1083 .main-nav__link { 1084 border: none; 1085 background: none; 1086 font: inherit; 1087 cursor: pointer; 1088 padding: 20px 0; 1089 text-decoration: none; 1090 white-space: nowrap; 1091 } 1092 1093 .main-nav__link:hover, 1094 .main-nav__link:focus { 1095 outline: none; 1096 } 1097 1098 /* dropdown arrow indicator on items that have child/grandchild */ 1099 .publicMenuHasGrandChild > .main-nav__link::after, 1100 .publicMenuHasChild > .main-nav__link::after { 1101 content: "▾"; 1102 margin-left: 2px; 1103 font-size: 1em; 1104 color: inherit; 1105 background: none; 1106 } 1107 1108 /* Mega menu panel (desktop) */ 1109 .publicMenuMegaMenu { 1110 text-align: left; 1111 position: absolute; 1112 top: 100%; 1113 transform: translateX(-50%) translateY(10px); 1114 min-width: 225px; 1115 border-radius: 0 0 4px 4px; 1116 border: 0px solid var(--factor360MainNavigationBackgroundColor); 1117 box-shadow: 0 8px 20px rgba(0, 0, 0, 0.08); 1118 /* Hidden by default (desktop hover shows it) */ 1119 opacity: 0; 1120 visibility: hidden; 1121 pointer-events: none; 1122 transition: opacity 0.15s ease, transform 0.15s ease, visibility 0.15s; 1123 background: var(--factor360MainNavigationBackgroundColor); 1124 z-index: 9999; 1125 } 1126 1127 1128 @media all and (min-width:1200px) { 1129 .publicMenuMegaMenu { 1130 left: 50%; 1131 } 1132 } 1133 1134 1135 /* Inner content grid */ 1136 .publicMenuMegaMenu__inner { 1137 display: flex; 1138 padding: 15px 0px 0px 0px; 1139 } 1140 1141 /* Each column */ 1142 .publicMenuMegaMenu__column { 1143 flex: auto !important; 1144 text-align: left; 1145 } 1146 1147 /* Links inside each column */ 1148 .publicMenuMegaMenu__links { 1149 display: flex; 1150 flex-direction: column; 1151 list-style: none; 1152 margin: 0; 1153 padding: 0px !important; 1154 min-width: 225px !important; 1155 } 1156 1157 .publicMenuMegaMenu__links li + li { 1158 margin-top: 6px; 1159 } 1160 1161 .publicMenuMegaMenu__links a { 1162 text-decoration: none; 1163 } 1164 1165 .publicMenuMegaMenu__links a:hover, 1166 .publicMenuMegaMenu__links a:focus { 1167 text-decoration: underline; 1168 } 1169 1170 /* Hover color keep */ 1171 .publicMenuHasGrandChild:hover .main-nav__link--toggle, 1172 .publicMenuHasChild:hover .main-nav__link--toggle { 1173 color: var(--factor360MainNavigationHoverForeColor) !important; 1174 } 1175 1176 @media (hover: hover) { 1177 .publicMenuHasChild:hover > .publicMenuMegaMenu, 1178 .publicMenuHasChild:focus-within > .publicMenuMegaMenu { 1179 opacity: 1; 1180 visibility: visible; 1181 pointer-events: auto; 1182 transform: translateX(0%) translateY(0); 1183 } 1184 1185 .publicMenuHasChild:first-child:hover > .publicMenuMegaMenu, 1186 .publicMenuHasChild:first-child:focus-within > .publicMenuMegaMenu { 1187 opacity: 1;
1188 visibility: visible; 1189 pointer-events: auto; 1190 transform: translateX(0%) translateY(0); 1191 } 1192 } 1193 1194 /* Force closed after click */ 1195 .publicMenuHasChild.publicMenuHoverLocked:hover > .publicMenuMegaMenu, 1196 .publicMenuHasChild.publicMenuHoverLocked:focus-within > .publicMenuMegaMenu { 1197 opacity: 0; 1198 visibility: hidden; 1199 pointer-events: none; 1200 transform: translateX(0) translateY(10px); 1201 } 1202 1203 @media (min-width: 768px) { 1204 @media (hover: hover) { 1205 1206 .publicMenuHasGrandChild:hover > .publicMenuMegaMenu, 1207 .publicMenuHasGrandChild:focus-within > .publicMenuMegaMenu { 1208 opacity: 1; 1209 visibility: visible; 1210 pointer-events: auto; 1211 transform: translateX(-15%) translateY(0); 1212 } 1213 } 1214 1215 .publicMenuMegaMenu__inner { 1216 flex-wrap: wrap; 1217 } 1218 1219 .publicMenuMegaMenu__column { 1220 border-bottom: 1px solid gray; 1221 } 1222 } 1223 1224 @media (min-width: 1108px) { 1225 .publicMenuMegaMenu__column { 1226 border-bottom: unset; 1227 } 1228 1229 .publicMenuMegaMenu__inner { 1230 flex-wrap: nowrap; 1231 } 1232 /* Show on hover (desktop) */ 1233 @media (hover: hover) { 1234 .publicMenuHasGrandChild:hover > .publicMenuMegaMenu, 1235 .publicMenuHasGrandChild:focus-within > .publicMenuMegaMenu { 1236 opacity: 1; 1237 visibility: visible; 1238 pointer-events: auto; 1239 transform: translateX(-15%) translateY(0); 1240 } 1241 1242 .publicMenuHasChild:hover > .publicMenuMegaMenu, 1243 .publicMenuHasChild:focus-within > .publicMenuMegaMenu { 1244 opacity: 1; 1245 visibility: visible; 1246 pointer-events: auto; 1247 transform: translateX(-50%) translateY(0); 1248 } 1249 } 1250 } 1251 /* Title styling */ 1252 .publicMenuMegaMenu__column .publicMenuMegaMenu__title { 1253 padding: 5px 5px !important; 1254 font-weight: 700; 1255 width: 100%; 1256 text-wrap-mode: nowrap !important; 1257 white-space: pre; 1258 } 1259 1260 .nav_top ul.publicMenuMegaMenu__links {
1261 margin-top: 1px !important; 1262 } 1263 1264 .nav_top .publicMenuMegaMenu__links li { 1265 padding: 10px 10px !important; 1266 } 1267 1268 .nav_top .publicMenuMegaMenu__links li a { 1269 padding: 0px !important; 1270 } 1271 1272 .nav_top .publicMenuMegaMenu__links li:hover { 1273 color: var(--factor360MainNavigationHoverForeColor); 1274 } 1275 1276 .publicMenuMegaMenu__title:hover { 1277 color: var(--factor360MainNavigationHoverForeColor); 1278 background: var(--factor360MainNavigationBackgroundHoverColor) !important; 1279 } 1280 1281 .nav_top .publicMenuMegaMenu__links li:hover a { 1282 color: var(--factor360MainNavigationHoverForeColor) !important; 1283 } 1284 1285 /* Apply border-right to ALL columns except the last */ 1286 .publicMenuMegaMenu__inner > .publicMenuMegaMenu__column:not(:last-child) { 1287 border-right: 1px solid var(--factor360MainNavigationBackgroundColor); 1288 padding-right: 5px; 1289 margin-right: 5px; 1290 } 1291 1292 /* smaller dropdown panel for normal child menu */ 1293 .publicMenuHasChild .publicMenuMegaMenu { 1294 min-width: 200px; 1295 } 1296 1297 /* ========================= 1298 Mobile Trigger (Nested Menu) 1299 - Only show "Menu" row first 1300 - Nav is hidden until wrapper has .is-open 1301 ========================= */ 1302 1303 /* desktop: hide trigger */ 1304 .publicMenuNestedMobileTrigger { 1305 display: none; 1306 } 1307 1308 @media (max-width: 768px) { 1309 1310 /* Hide all dropdown panels by default on mobile */ 1311 .publicMenuHasChild > .publicMenuMegaMenu, 1312 .publicMenuHasGrandChild > .publicMenuMegaMenu { 1313 display: none; 1314 } 1315 1316 /* Show panel only when <li> has .is-open */ 1317 .main-nav__item.is-open > .publicMenuMegaMenu { 1318 display: block; 1319 } 1320 1321 /* Make the root link feel like a toggle row */ 1322 .main-nav__link--toggle { 1323 width: 100%; 1324 } 1325 1326 /* Optional: rotate the arrow when open (if you want) */ 1327 .main-nav__item.is-open > .main-nav__link--toggle::after { 1328 content: "▴"; 1329 } 1330 1331 /* IMPORTANT: ensure nested wrapper is visible on mobile 1332 (your previous CSS had display:none, we override it) */ 1333 .nestedPublicMenuWrapper { 1334 display: block !important; 1335 } 1336 1337 /* show only the trigger by default */ 1338 .publicMenuNestedMobileTrigger { 1339 display: block; 1340 padding: 12px; 1341 text-align: center; 1342 border-bottom: 1px solid rgba(0,0,0,0.12); 1343 } 1344 1345 .publicMenuNestedTriggerLink { 1346 display: inline-flex; 1347 align-items: center; 1348 justify-content: center; 1349 width: 100%; 1350 text-decoration: none; 1351 cursor: pointer; 1352 padding: 5px 12px; 1353 font-size: 1.5em 1354 } 1355 1356 /* hide nav until user taps Menu */ 1357 .publicMenuNestedNav { 1358 display: none; 1359 } 1360 1361 /* opened state */ 1362 .nestedPublicMenuWrapper.is-open .publicMenuNestedNav { 1363 display: block; 1364 } 1365 1366 /* vertical list */ 1367 .publicMenuNestedMainNavList { 1368 flex-direction: column; 1369 align-items: stretch; 1370 width: 100%; 1371 gap: 0; 1372 } 1373 1374 .main-nav__item { 1375 width: 100%; 1376 border-bottom: 1px solid rgba(0,0,0,0.08); 1377 } 1378 1379 .main-nav__link { 1380 display: flex; 1381 align-items: center; 1382 justify-content: space-between; 1383 width: 100%; 1384 padding: 14px 12px; 1385 } 1386 1387 /* mega menu becomes part of flow on mobile (no overlay) */ 1388 .publicMenuMegaMenu { 1389 position: static; 1390 left: auto; 1391 top: auto; 1392 transform: none; 1393 min-width: 100%; 1394 width: 100%; 1395 box-shadow: none; 1396 border-radius: 0; 1397 opacity: 1; 1398 visibility: visible; 1399 pointer-events: auto; 1400 } 1401 1402 .publicMenuMegaMenu__inner { 1403 flex-direction: column; 1404 padding: 12px 0; 1405 } 1406 1407 .publicMenuMegaMenu__column { 1408 min-width: 100%; 1409 width: 100%; 1410 } 1411 1412 /* remove column borders on mobile */ 1413 .publicMenuMegaMenu__inner > .publicMenuMegaMenu__column:not(:last-child) {
1414 border-right: none; 1415 padding-right: 0; 1416 margin-right: 0; 1417 border-bottom: 1px solid rgba(0,0,0,0.08); 1418 } 1419 } 1420 1421 1422</style> 1423
1424<script type="text/javascript"> 1425 $(document).ready(function () { 1426 $(".mobile-menu-trigger a.trigger-link").click(function () { 1427 var $mobileMenu = $(".mobile-menu"); 1428 $mobileMenu.toggle(); 1429 1430 var publicMenuDropdownClass = $('.publicMenuDropdownClass'); 1431 if (publicMenuDropdownClass.is(".caret.down.icon.publicMenuDropdownClass")) { 1432 publicMenuDropdownClass.removeClass("down"); 1433 publicMenuDropdownClass.addClass("up"); 1434 } else { 1435 publicMenuDropdownClass.removeClass("up"); 1436 publicMenuDropdownClass.addClass("down"); 1437 } 1438 }); 1439 1440 1441 $(".simplePublicMenu.menu-list-toggle").click(function () { 1442 console.log('toggle') 1443 $toggledItem = $(this); 1444 $menuListToggleIcon = $(this).find('.menuListToggleIcon'); 1445 if ($toggledItem.is(".simplePublicMenu.menu-list-toggle.active")) { 1446 //We already expanded the item, close the item here 1447 $toggledItem.removeClass("active"); 1448 $toggledItem.parent().siblings(".publicMenuChildItem").removeClass("active"); 1449 $menuListToggleIcon.removeClass('up') 1450 $menuListToggleIcon.addClass('down') 1451 1452 } else { 1453 //Item not yet expanded, expand it here 1454 $toggledItem.addClass("active"); 1455 $toggledItem.parent().siblings(".publicMenuChildItem").addClass("active"); 1456 $menuListToggleIcon.removeClass('down') 1457 $menuListToggleIcon.addClass('up') 1458 } 1459 1460 }); 1461 }); 1462 $(document).on("click", ".publicMenuNestedTriggerLink", function (e) { 1463 e.preventDefault(); 1464 1465 var $wrapper = $(".nestedPublicMenuWrapper"); 1466 var $caret = $wrapper.find(".publicMenuNestedCaret"); 1467 1468 $wrapper.toggleClass("is-open"); 1469 1470 if ($wrapper.hasClass("is-open")) { 1471 $caret.removeClass("fa-caret-down").addClass("fa-caret-up"); 1472 } else { 1473 $caret.removeClass("fa-caret-up").addClass("fa-caret-down"); 1474 } 1475 }); 1476 1477 1478 // Mobile: Accordion behavior for each root menu item (one-by-one) 1479 $(document).on("click", ".nestedPublicMenuWrapper .main-nav__link--toggle", function (e) { 1480 1481 // On mobile only 1482 if (window.matchMedia("(max-width: 768px)").matches === false) return; 1483 1484 // If link is "#" or empty, prevent jump. 1485 // If it is a real URL, we still want toggle behavior, so prevent default on first tap. 1486 e.preventDefault(); 1487 1488 var $li = $(this).closest(".main-nav__item"); 1489 1490 // close other open siblings (one-by-one behavior) 1491 $li.siblings(".main-nav__item.is-open").removeClass("is-open"); 1492 1493 // toggle current 1494 $li.toggleClass("is-open"); 1495 }); 1496 $(document).on("click", ".publicMenuMegaMenu a", function () { 1497 setTimeout(function () { 1498 $(document).trigger("click"); 1499 }, 0); 1500 }); 1501</script>
1501 1502 1503<div id="NavigationMenuContent_NavigationMenuContent_ucPublicMenu_pnlPublicMenuWrapper" class=" publicMenuWrapper oasisWrap"> 1504 1505 1506 1507 1508 1509 1510 1511 1512 1513 1514</div> 1515 1516 </div> 1517 1518 1519 </div> 1520 </header> 1521 <div class="clear"> 1522 </div> 1523 <div id="pnlSiteMasterMainContent" class="oasisWrap main divMainContent"> 1524 1525 <main> 1526 1527 <input type="hidden" name="ctl00$ctl00$MainContent$lblNetworkSpeed" id="MainContent_lblNetworkSpeed" /> 1528 <!-- Menu toggle --> 1529 <a href="#divCatalogWithSideBar_LeftSideBar" id="aCatalogWithSideBar_SideBar" class="catalogWithSideBar_hamburger" aria-label="catalogWithSideBar_SideBar"> 1530 <!-- Hamburger icon --> 1531 <span class="glyphicon glyphicon-menu-hamburger"></span> 1532 <span id="MainContent_lblADAComplianceForHamburgerIcon" style="display: none">Hamburger Menu</span> 1533 </a> 1534 <div id="divCatalogWithSideBar_LeftSideBar" class="factor360LeftSideBarWrapper"> 1535 1536<style type="text/css"> 1537 .userDashboardItemInnerWrapper { 1538 display: flex; 1539 display: -webkit-flex; 1540 flex-flow: row nowrap; 1541 align-items: center; 1542 justify-content: flex-start; 1543 } 1544 1545 .userDashboardItemInnerWrapper.columnMode { 1546 flex-flow: column wrap; 1547 } 1548 1549 .userDashboardItemInnerWrapper.horizontalCenter { 1550 justify-content: center; 1551 } 1552 1553 .userDashboardItemInnerWrapper.horizontalRight { 1554 justify-content: flex-end; 1555 } 1556 1557 .userDasboardItemIcon { 1558 vertical-align: middle; 1559 flex: 0 1 10%; /* not auto so we can scale the userDasboardItemTitle*/ 1560 } 1561 1562 .userDasboardItemTitle { 1563 vertical-align: middle; 1564 flex: 0 1 90%; 1565 -webkit-flex: 0 1 90%; 1566 margin-left: 2px; 1567 text-align: center; 1568 } 1569 1570 @media only screen and (min-width : 1500px) { 1571 .userDasboardItemTitle { 1572 text-align: left; 1573 } 1574 } 1575 1576 .PreviewIcon { 1577 vertical-align: middle; 1578 padding-left: 5px; 1579 font-size: 20px; 1580 } 1581 1582 /* Aug 26, 2026 Gevin Valerian 1583 Unread Circle messages, on the Community item. Only rendered for clients whose Community is Circle — 1584 see the code-behind. 1585 1586 A flex item rather than an absolutely-positioned dot, because this menu changes shape with the window: 1587 between 1075px and 1400px the title is hidden and only the icon shows, and a badge pinned to the corner 1588 of the link would be sitting over the icon at exactly those widths. As a flex item it simply follows 1589 whatever is still visible. `margin-left: auto` pushes it to the far edge when the title is there and 1590 leaves it beside the icon when it is not. 1591 1592 Its own class rather than the admin site's `badge adminAlertBadge error`: that pair is defined in the 1593 admin stylesheet, which the learner site does not load, so borrowing the name here would have produced 1594 an unstyled number. */ 1595 .circleUnreadBadge { 1596 flex: 0 0 auto; 1597 margin-left: auto; 1598 min-width: 18px; 1599 height: 18px; 1600 padding: 0 5px; 1601 border-radius: 9px; 1602 background-color: #d9534f; 1603 color: #ffffff; 1604 font-size: 11px; 1605 font-weight: 700; 1606 line-height: 18px; 1607 text-align: center; 1608 box-sizing: border-box; 1609 } 1610 1611 /* Stacked layout: nothing to push against, so the auto margin has to go or it lands off to one side of 1612 the column. */ 1613 .userDashboardItemInnerWrapper.columnMode .circleUnreadBadge { 1614 margin-left: 0; 1615 margin-top: 3px; 1616 } 1617</style> 1618<div id="MainContent_ucVerticalUserSubNavigation_pnlUserSubNavigation"> 1619 1620 1621 <input type="hidden" name="ctl00$ctl00$MainContent$ucVerticalUserSubNavigation$rptUserSubNavigation$ctl00$hfUserDashboardItemEnum" id="MainContent_ucVerticalUserSubNavigation_rptUserSubNavigation_hfUserDashboardItemEnum_0" value="2" /> 1622 <div id="MainContent_ucVerticalUserSubNavigation_rptUserSubNavigation_pnlUserDashboardItemWrapper_0" class="sidebarItemWrapper selected" style="margin: 20px 0px;"> 1623 1624 <a id="MainContent_ucVerticalUserSubNavigation_rptUserSubNavigation_hlnkTargetURL_0" aria-label="target url" data-bs-toggle="tooltip" href="https://learn.asge.org/Site/Catalog" target="_self" style="text-decoration: none; color: inherit; text-align: left; position: relative; margin-bottom: 5px; white-space: normal;"> 1625 <div class="userDashboardItemInnerWrapper" style=""> 1626 <div class="userDasboardItemIcon" style=""> 1627 <i id="MainContent_ucVerticalUserSubNavigation_rptUserSubNavigation_iUserDashboardItemIcon_0" class="globe icon userDashboardItemIcon selectedUserDashboard"></i> 1628 </div> 1629 <div class="userDasboardItemTitle" style="">
1630 <span id="MainContent_ucVerticalUserSubNavigation_rptUserSubNavigation_lblMenuTitle_0" style="opacity: 0.8;">Catalog</span> 1631 </div> 1632 1633 1634 </div> 1635 </a> 1636 1637 1638 </div> 1639 1640 <input type="hidden" name="ctl00$ctl00$MainContent$ucVerticalUserSubNavigation$rptUserSubNavigation$ctl01$hfUserDashboardItemEnum" id="MainContent_ucVerticalUserSubNavigation_rptUserSubNavigation_hfUserDashboardItemEnum_1" value="19" /> 1641 <div id="MainContent_ucVerticalUserSubNavigation_rptUserSubNavigation_pnlUserDashboardItemWrapper_1" class="sidebarItemWrapper" style="margin: 20px 0px;"> 1642 1643 <a id="MainContent_ucVerticalUserSubNavigation_rptUserSubNavigation_hlnkTargetURL_1" aria-label="target url" data-bs-toggle="tooltip" href="https://learn.asge.org/Site/Library" target="_self" style="text-decoration: none; color: inherit; text-align: left; position: relative; margin-bottom: 5px; white-space: normal;"> 1644 <div class="userDashboardItemInnerWrapper" style=""> 1645 <div class="userDasboardItemIcon" style=""> 1646 <i id="MainContent_ucVerticalUserSubNavigation_rptUserSubNavigation_iUserDashboardItemIcon_1" class="book icon userDashboardItemIcon"></i> 1647 </div> 1648 <div class="userDasboardItemTitle" style=""> 1649 <span id="MainContent_ucVerticalUserSubNavigation_rptUserSubNavigation_lblMenuTitle_1" style="opacity: 0.8;">Library</span> 1650 </div> 1651 1652 1653 </div> 1654 </a> 1655 1656 1657 </div> 1658 1659 1660 </div>
1661<script type="text/javascript"> 1662 $(function () { 1663 updateUserDashboardItemDisplay(); 1664 }); // end of document ready 1665 $(window).resize(function () { 1666 setTimeout(updateUserDashboardItemDisplay(), 150); 1667 1668 }); 1669 1670 window.onclick = function (event) { 1671 //event.preventDefault(); 1672 if (!(event.target instanceof Element)) return; 1673 1674 if (!event.target.matches('.glyphicon-menu-hamburger') && !event.target.matches('.factor360LeftSideBarWrapper')) { 1675 if ($('.userPageWithSideBar_hamburger').hasClass('active') && $('.factor360LeftSideBarWrapper').hasClass('active')) { 1676 $('.userPageWithSideBar_hamburger').removeAttr('class').addClass('userPageWithSideBar_hamburger'); 1677 $('.factor360LeftSideBarWrapper').removeAttr('class').addClass('factor360LeftSideBarWrapper'); 1678 } 1679 } 1680 }; 1681 1682 function updateUserDashboardItemDisplay() { 1683 // make it as if the dashboard item wrapper responsive 1684 // Width range is from UserPageWithSidebar.master (the one that controls divUserPageWithSideBar_LeftSideBar) 1685 var windowWidth = $(window).width(); 1686 //console.log('panel width: ' + windowWidth); 1687 var $userDashboardItemInnerWrappers = $('.userDashboardItemInnerWrapper'); 1688 $userDashboardItemInnerWrappers.each(function () { $(this).removeClass('columnMode') }) 1689 $userDashboardItemInnerWrappers.each(function () { $(this).removeClass('horizontalCenter') }) 1690 $userDashboardItemInnerWrappers.each(function () { $(this).removeClass('horizontalRight') }) 1691 1692 if (windowWidth <= 1075) { 1693 $('.userDasboardItemTitle').show();//the whole box will be hidden, but we need to show the title 1694 } else if (windowWidth <= 1300) { 1695 /* only icon shows up */ 1696 $userDashboardItemInnerWrappers.each(function () { $(this).addClass('horizontalRight') }) 1697 $('.userDasboardItemTitle').hide(); 1698 } else if (windowWidth <= 1400) { 1699 /* only icon shows up */ 1700 $userDashboardItemInnerWrappers.each(function () { $(this).addClass('horizontalCenter') }) 1701 $('.userDasboardItemTitle').hide(); 1702 1703 } else if (windowWidth <= 1500) { 1704 /* icon and text shows up but because the container becomes tinier, we display in column */ 1705 $userDashboardItemInnerWrappers.each(function () { $(this).addClass('columnMode') }) 1706 $('.userDasboardItemTitle').show(); 1707 //NOTE: we are going to call master page's js function! to adjust the height/avoid scrolling 1708 // because icon and text stacked together can increase the height beyond its container 1709 updateSideBarAndContentHeight(); 1710 } else { 1711 $('.userDasboardItemTitle').show(); 1712 } 1713 1714 } 1715</script>
1715 1716 1717 </div> 1718 <div id="divCatalogWithSideBar_MainLayout"> 1719 <div id="divCatalogWithSideBar_MainContent" class="content container-fluid wrapper_container withSideBar"> 1720 1721 1722 1723<style type="text/css"> 1724 .learningActivitySummaryBox { 1725 /*flex: 0 1 100%;*/ 1726 flex: 0 1 100%; 1727 order: 1; 1728 } 1729 1730 .learningActivityInformationClass { 1731 flex: 0 1 100%; 1732 order: 2; 1733 position: relative; /* used for the Less-More element to be placed correctly at the bottom of this class element*/ 1734 } 1735 1736 .divRecommendedLearningActivity { 1737 flex: 0 1 100%; 1738 } 1739 1740 1741 @media screen and (min-width:768px) { 1742 /*.learningActivityDetailWrapper { 1743 display: inline-block; 1744 width: 100%; 1745 }*/ 1746 1747 .learningActivitySummaryBox { 1748 flex: 0 1 35%; 1749 order: 2; 1750 } 1751 1752 .learningActivityInformationClass { 1753 flex: 0 1 65%; 1754 padding-right: 20px; 1755 order: 1; 1756 } 1757 1758 1759 .divRecommendedLearningActivity { 1760 float: right; 1761 width: 35%; 1762 } 1763 } 1764 1765 .tooltip-wrapper { 1766 display: block; /* display: block works as well */ 1767 } 1768 1769 .LearningActivityInformationActionButtonTooltip[disabled] { 1770 /* don't let button block mouse events from reaching wrapper */ 1771 pointer-events: none; 1772 } 1773 1774 <!-- Login Modal --> 1775 .modal-dialog { 1776 margin-top: 15%; 1777 } 1778</style> 1779<div class="container-fluid"> 1780 <div> 1781 <div id="MainContent_MainContent_ucLearningActivityCatalog_Details_pnlLearningActivityDetailSideBySide"> 1782 1783 1784 1785<style type="text/css"> 1786 .sideBySideLoginWrapper { 1787 display: -webkit-box; /* OLD - iOS 6-, Safari 3.1-6, BB7 */ 1788 display: -ms-flexbox; /* TWEENER - IE 10 */ 1789 display: -webkit-flex; /* NEW - Safari 6.1+. iOS 7.1+, BB10 */ 1790 display: flex; /* NEW, Spec - Firefox, Chrome, Opera */ 1791 -webkit-box-orient: horizontal; 1792 -webkit-box-direction: normal; 1793 -ms-flex-flow: row nowrap; 1794 flex-flow: row nowrap; 1795 -webkit-justify-content: space-between; /* Safari */ 1796 justify-content: space-between; 1797 -webkit-align-items: center; /* Safari */ 1798 align-items: center; 1799 margin-bottom: 0px; 1800 margin-top: 15px; 1801 text-align: center; 1802 } 1803 1804 .buttonInsideLoginPanel { 1805 -ms-flex: 1 1 50%; 1806 flex: 1 1 50%; 1807 padding: 10px !important; 1808 font-size: 14pt !important; 1809 margin-left: 5px; 1810 margin-right: 5px; 1811 /* max-width: 49%;*/ 1812 } 1813 1814 .learningActivitySummaryBox { 1815 /*flex: 0 1 100%;*/ 1816 flex: 0 1 100%; 1817 order: 1; 1818 } 1819 1820 .learningActivityInformationClass { 1821 flex: 0 1 100%; 1822 order: 2; 1823 position: relative; /* used for the Less-More element to be placed correctly at the bottom of this class element*/ 1824 } 1825 1826 .divRecommendedLearningActivity { 1827 flex: 0 1 100%; 1828 } 1829 1830 1831 @media screen and (min-width:768px) { 1832 /*.learningActivityDetailWrapper { 1833 display: inline-block; 1834 width: 100%; 1835 }*/ 1836 1837 .learningActivitySummaryBox { 1838 flex: 0 1 35%; 1839 order: 2; 1840 } 1841 1842 .learningActivityInformationClass { 1843 flex: 0 1 65%; 1844 padding-right: 20px; 1845 order: 1; 1846 } 1847 1848 1849 .divRecommendedLearningActivity { 1850 float: right; 1851 width: 35%; 1852 } 1853 } 1854 1855 .tooltip-wrapper { 1856 display: block; /* display: block works as well */ 1857 } 1858 1859 .LearningActivityInformationActionButtonTooltip[disabled] { 1860 /* don't let button block mouse events from reaching wrapper */ 1861 pointer-events: none; 1862 } 1863 1864 <!-- Login Modal --> 1865 .modal-dialog { 1866 margin-top: 15%; 1867 } 1868</style>
1869<script src="/Scripts/purchaseLearningActivityViaAjax.js?v=360.2.49plava1" type="text/javascript"></script>
1869 1870<div id="divLearningActivityBreadCrumb" class="factor360BreadCrumbWrapper"> 1871 <ol class="breadcrumb"> 1872<li class=""><a href="https://learn.asge.org/Site/Catalog">Catalog</a></li> 1873<li class="active" >Quality Essentials Learning Bundle | 2026</li> 1874</ol> 1875</div> 1876<div id="MainContent_MainContent_ucLearningActivityCatalog_Details___learningActivityCatalog_SideBySideDetails_pnlLearningActivityCoverImage" style="float: left; margin: 10px 8px 0 20px;"> 1877 1878 <img id="MainContent_MainContent_ucLearningActivityCatalog_Details___learningActivityCatalog_SideBySideDetails_imgLearningActivityCoverImage" class="img-responsive" alt="" src="https://dmit3s8isosa3.cloudfront.net/ASGE/c4c6804a-0d9e-4b5c-991e-0ef29a1cb2fc.png" style="width:50px;" /> 1879 1880 </div> 1881<div style="float: left;" class="titleBar"> 1882 Quality Essentials Learning Bundle | 2026 1883 1884 1885 <div id="MainContent_MainContent_ucLearningActivityCatalog_Details___learningActivityCatalog_SideBySideDetails_pnlLearningActivityKeywordTileView" class="factor360PageHeaderFlexboxItem pnlLearningActivityKeywordClass" style="display: inline;"> 1886 1887 1888 1889 </div> 1890</div> 1891<div style="clear: both;"></div> 1892<div style="height: 15px;"></div> 1893<div id="MainContent_MainContent_ucLearningActivityCatalog_Details___learningActivityCatalog_SideBySideDetails_pnllearningActivityDetailWrapper" class="factor360PageHeaderFlexboxWrapper topVerticalAligned enableWrap learningActivityDetailWrapper" class="factor360PageHeaderFlexboxWrapper topVerticalAligned enableWrap learningActivityDetailWrapper"> 1894 1895 <div id="MainContent_MainContent_ucLearningActivityCatalog_Details___learningActivityCatalog_SideBySideDetails_pnlLearningActivityInfomation" class="factor360PageHeaderFlexboxItem learningActivityInformationClass" style="overflow: hidden;"> 1896 1897 <div class="learningActivityInformationClass_InnerPanelClass pnllearningActivityInformationClass"> 1898 1899 <div class="title"> 1900 Description 1901 </div> 1902 1903 <div style="margin-left: 50px; overflow-x: auto;"> 1904 <p>Build a stronger, safer, higher-performing endoscopy unit with ASGE's Quality Essentials Learning Bundle. This comprehensive learning experience combines The ASGE Quality Course: Improving Quality and Safety in the Endoscopy Unit (November 2025), which equips your entire team with the knowledge and tools to deliver safe, consistent, high-quality care, with the GI Unit Leadership Course: Shaping a High-Performing Endoscopy Unit (February 2026), which empowers GI unit leaders to optimize operations, strengthen culture and drive sustainable performance improvement. Together, these complementary courses align frontline staff and leadership around a shared commitment to quality, safety and patient-centered care. By completing both programs, you can support your team to be better prepared to demonstrate measurable excellence and pursue recognition through the ASGE Endoscopy Unit Recognition Program (EURP).</p> 1905 1906 1907 1908 1909 </div> 1910 1911 </div> 1912 1913 </div> 1914 <div id="MainContent_MainContent_ucLearningActivityCatalog_Details___learningActivityCatalog_SideBySideDetails_pnlLearningActivitysummaryBox" class="factor360PageHeaderFlexboxItem learningActivitySummaryBox" class="factor360PageHeaderFlexboxItem learningActivitySummaryBox"> 1915 1916 <div class="panel panel-primary"> 1917 <div class="panel-heading"> 1918 <div class="panel-title"> 1919 <span id="MainContent_MainContent_ucLearningActivityCatalog_Details___learningActivityCatalog_SideBySideDetails_lblLearningActivity_Summary">Summary</span> 1920 </div> 1921 </div> 1922 <div class="panel-body"> 1923 1924<!-- Modal margins so it's in the center --> 1925<style type="text/css"> 1926 .modal-dialog { 1927 margin-top: 15%; 1928 } 1929 1930 .price-option { 1931 display: flex; 1932 align-items: flex-start; 1933 } 1934 1935 .price-option input[type="radio"] { 1936 margin-top: 4px; 1937 } 1938 1939 .price-details { 1940 margin-left: 10px; 1941 } 1942 1943 .price-details div { 1944 line-height: 1.6; 1945 } 1946</style> 1947<div id="MainContent_MainContent_ucLearningActivityCatalog_Details___learningActivityCatalog_SideBySideDetails_ucLearningActivityCatalog_SideBySide_pnlCourseAvailability"> 1948 1949 <div class="factor360PageHeaderFlexboxWrapper topVerticalAligned leftAligned thinBottom"> 1950 <div class="factor360PageHeaderFlexboxItem topAligned rowDescriptionLabel percent35">
1951 <span id="MainContent_MainContent_ucLearningActivityCatalog_Details___learningActivityCatalog_SideBySideDetails_ucLearningActivityCatalog_SideBySide_lblLearningActivity_AvailabilityWord">Availability:</span> 1952 </div> 1953 <div class="factor360PageHeaderFlexboxItem topAligned percent65"> 1954 <span id="MainContent_MainContent_ucLearningActivityCatalog_Details___learningActivityCatalog_SideBySideDetails_ucLearningActivityCatalog_SideBySide_lblStatusLabel">On-Demand</span> 1955 </div> 1956 </div> 1957 <div class="factor360PageHeaderFlexboxWrapper topVerticalAligned leftAligned thinBottom"> 1958 <div class="factor360PageHeaderFlexboxItem topAligned rowDescriptionLabel percent35"> 1959 </div> 1960 <div class="factor360PageHeaderFlexboxItem topAligned percent65"> 1961 <span id="MainContent_MainContent_ucLearningActivityCatalog_Details___learningActivityCatalog_SideBySideDetails_ucLearningActivityCatalog_SideBySide_lblAvailabilityLabel"></span> 1962 </div> 1963 </div> 1964 <div class="lineSeparator"></div> 1965 1966 </div> 1967 1968 1969 1970 1971<div id="MainContent_MainContent_ucLearningActivityCatalog_Details___learningActivityCatalog_SideBySideDetails_ucLearningActivityCatalog_SideBySide_pnlLearningActivityPrices"> 1972 1973 <div class="factor360PageHeaderFlexboxWrapper topVerticalAligned leftAligned thinBottom"> 1974 <div class="factor360PageHeaderFlexboxItem topAligned rowDescriptionLabel percent35"> 1975 Cost: 1976 </div> 1977 1978 <div id="MainContent_MainContent_ucLearningActivityCatalog_Details___learningActivityCatalog_SideBySideDetails_ucLearningActivityCatalog_SideBySide_pnlLearningActivityPriceInfo"> 1979 1980 <div class="factor360PageHeaderFlexboxItem topAligned percent65"> 1981 <span id="MainContent_MainContent_ucLearningActivityCatalog_Details___learningActivityCatalog_SideBySideDetails_ucLearningActivityCatalog_SideBySide_lblLearningActivityPrice">Member: $600.00<br />Non-Member: $800.00</span> 1982 </div> 1983 1984 </div> 1985 </div> 1986 <div class="lineSeparator"></div> 1987 1988 </div> 1989 1990<div id="MainContent_MainContent_ucLearningActivityCatalog_Details___learningActivityCatalog_SideBySideDetails_ucLearningActivityCatalog_SideBySide_pnlLearningActivityCreditations"> 1991 1992 <div class="factor360PageHeaderFlexboxWrapper topVerticalAligned leftAligned thinBottom"> 1993 <div class="factor360PageHeaderFlexboxItem topAligned rowDescriptionLabel percent35"> 1994 <span id="MainContent_MainContent_ucLearningActivityCatalog_Details___learningActivityCatalog_SideBySideDetails_ucLearningActivityCatalog_SideBySide_lblCreditOfferedLabel" style="font-weight:bold;">Credit Offered:</span> 1995 </div> 1996 <div class="factor360PageHeaderFlexboxItem topAligned percent65"> 1997 1998 <div> 1999 <span id="MainContent_MainContent_ucLearningActivityCatalog_Details___learningActivityCatalog_SideBySideDetails_ucLearningActivityCatalog_SideBySide_rptLearningActivityCreditations_lblLearningActivityCreditationInfo_0">12.25 CME Credits</span> 2000 2001 </div> 2002 2003 <div class="lineSeparator thinSeparator"></div> 2004 2005 <div> 2006 <span id="MainContent_MainContent_ucLearningActivityCatalog_Details___learningActivityCatalog_SideBySideDetails_ucLearningActivityCatalog_SideBySide_rptLearningActivityCreditations_lblLearningActivityCreditationInfo_1">12.25 Participation Credits</span> 2007 2008 </div> 2009 2010 </div> 2011 </div> 2012 <div class="lineSeparator"></div> 2013 2014 </div> 2015<div id="MainContent_MainContent_ucLearningActivityCatalog_Details___learningActivityCatalog_SideBySideDetails_ucLearningActivityCatalog_SideBySide_pnlLearningActivityContained"> 2016 2017 <div> 2018 <div class="factor360PageHeaderFlexboxWrapper topVerticalAligned leftAligned thinBottom"> 2019 <div class="factor360PageHeaderFlexboxItem topAligned rowDescriptionLabel percent35">
2020 <span id="MainContent_MainContent_ucLearningActivityCatalog_Details___learningActivityCatalog_SideBySideDetails_ucLearningActivityCatalog_SideBySide_lblLearningActivity_ContainsWord">Contains:</span> 2021 </div> 2022 <div class="factor360PageHeaderFlexboxItem topAligned percent65"> 2023 <a onclick="displayLearningActivitySummaryCourseListPopup();return false;" id="MainContent_MainContent_ucLearningActivityCatalog_Details___learningActivityCatalog_SideBySideDetails_ucLearningActivityCatalog_SideBySide_lnkBtnLearningActivityContainedSummary" class="factor360ModernHyperlink" href="javascript:WebForm_DoPostBackWithOptions(new WebForm_PostBackOptions("ctl00$ctl00$MainContent$MainContent$ucLearningActivityCatalog_Details$__learningActivityCatalog_SideBySideDetails$ucLearningActivityCatalog_SideBySide$lnkBtnLearningActivityContainedSummary", "", true, "", "", false, true))">2 Courses</a> 2024 2025 </div> 2026 </div> 2027 </div> 2028 2029 </div> 2030<div id="divLearningActivitySummaryDisplay_CourseListPopup" class="modal fade bs-example-modal-lg" tabindex="-1" role="dialog"> 2031 <div class="modal-dialog modal-lg" role="document"> 2032 <div class="modal-content"> 2033 <div class="modal-header"> 2034 <button type="button" class="close" data-dismiss="modal">×</button> 2035 <div class="titleBar" style="padding: 0;"> 2036 Quality Essentials Learning Bundle | 2026 Course List 2037 </div> 2038 </div> 2039 <div id="MainContent_MainContent_ucLearningActivityCatalog_Details___learningActivityCatalog_SideBySideDetails_ucLearningActivityCatalog_SideBySide_pnlBundledOrChildLearningActivityList" style="overflow:auto;padding: 15px; max-height: 350px;"> 2040 2041 The ASGE Quality Course: Improving Quality and Safety in the Endoscopy Unit (On-demand) | November 2025<br><br>GI Unit Leadership: Shaping a High-Performing Endoscopy Unit (On-Demand) | February 2026 2042 2043 </div> 2044 2045 </div> 2046 2047 </div> 2048</div>
2049<script type="text/javascript"> 2050 function displayLearningActivitySummaryCourseListPopup() { 2051 $('#divLearningActivitySummaryDisplay_CourseListPopup').modal('show'); 2052 } 2053</script>
2053 2054 2055 2056 2057 <div id="MainContent_MainContent_ucLearningActivityCatalog_Details___learningActivityCatalog_SideBySideDetails_pnlLogin" class="spnAccessClass"> 2058 2059 <div id="MainContent_MainContent_ucLearningActivityCatalog_Details___learningActivityCatalog_SideBySideDetails_pnlLoginWrapper" class="sideBySideLoginWrapper"> 2060 2061 2062 2063 2064 2065 </div> 2066 2067 </div> 2068 2069 2070 </div> 2071 </div> 2072 2073 2074 </div> 2075 2076 </div> 2077 2078 2079 2080 2081<div class="modal fade" id="divUserLoginBox" role="dialog"> 2082 <div class="modal-dialog modal-sm" role="document"> 2083 <!-- Modal content--> 2084 <div class="modal-content"> 2085 <div class="modal-header"> 2086 <div class="titleBar noMargin noPadding"><span class="glyphicon glyphicon-lock" style="margin-right: 10px;"></span>Login</div> 2087 </div> 2088 <div class="modal-body" style="padding: 0;"> 2089 2090<link href="/Public/__loginBox.css?v=360.2.49.lb1" rel="stylesheet" type="text/css" />
2091<script type="text/javascript" src="/Public/__loginBox.js?v=360.2.49.lb1"></script>
2091 2092 2093 2094 </div> 2095 </div> 2096 </div> 2097</div> 2098 2099 2100
2101<script type="text/javascript"> 2102 $('.containsClass_InnerPanelClass').readmore({ 2103 collapsedHeight: 195, 2104 heightMargin: 15,//in pixels, avoids collapsing blocks that are only slightly larger than collapsedHeight 2105 moreLink: '<div class="factor360ReadMore" style="position: inherit; padding-top:15px;"><a href="#" class="button factor360Hyperlink factor360ReadMoreButton">Show More</a></div>', 2106 lessLink: '<div class="factor360ReadMore expanded" style="padding-top:10px;"><a href="#" class="button factor360Hyperlink factor360ReadLessButton">Show Less</a></div>', 2107 embedCSS: true, 2108 blockCSS: 'display: block; width: 100%;'//default css 2109 }); 2110 2111 function pageLoad() { 2112 $('.learningActivityInformationClass_InnerPanelClass').readmore({ 2113 collapsedHeight: 500,// to compensate if there is video player displayed. 2114 heightMargin: 16,//in pixels, avoids collapsing blocks that are only slightly larger than collapsedHeight 2115 moreLink: '<div class="factor360ReadMore"><a href="#" class="button factor360Hyperlink factor360ReadMoreButton">Show More</a></div>', 2116 lessLink: '<div class="factor360ReadMore expanded"><a href="#" class="button factor360Hyperlink factor360ReadLessButton">Show Less</a></div>', 2117 embedCSS: true, 2118 blockCSS: 'display: block; width: 100%;'//default css 2119 2120 }); // end of readmore 2121 2122 var $learningActivityInformationTooltip = $('.LearningActivityInformationTooltip'); 2123 $learningActivityInformationTooltip.each(function () { 2124 assignTooltip(this.id, this.title, 'top'); 2125 }); 2126 2127 var $toolTip = $('.LearningActivityInformationActionButtonTooltip'); 2128 $toolTip.each(function () { 2129 assignTooltip(this.id, this.title, 'top'); 2130 }); 2131 2132 var $tooltipWrapper = $('.tooltip-wrapper'); 2133 $tooltipWrapper.each(function () { 2134 assignTooltip(this.id, this.title, 'top'); 2135 }); 2136 2137 } // end of pageLoad 2138 2139 function retainLoginModal() { 2140 // to retain bootstrap modal to close on invalid form validation 2141 $('#divUserLoginBox').modal('show'); 2142 } // end of retainLoginModal 2143 2144 // Invitation Code 2145 function closeWindowAfterEnrollingUserViaInvitationCode() { 2146 $.fancybox.close(); 2147 setTimeout("UpdatePageAfterEnrollingUserViaInvitationCode();", 300); 2148 } 2149 function UpdatePageAfterEnrollingUserViaInvitationCode() { 2150 __doPostBack('__page', 'JavascriptUpdatePageAfterEnrollingUserViaInvitationCode'); 2151 } 2152 2153 function closeOptionalPriceModalAndContinue(selectedOptionalPrice) { 2154 $.fancybox.close(); 2155 setTimeout(function () { __doPostBack('__page', "UpdateOptionalPriceAndContinue_" + selectedOptionalPrice); }, 100); 2156 } 2157 2158 function closeUserDonationPromptWindowAndOpenAddDonationWindowPopup() { 2159 $.fancybox.close(); 2160 setTimeout(function () { __doPostBack('__page', "JavascriptOpenAddDonationWindowPopup"); }, 100); 2161 } 2162 2163 2164 2165</script>
2165 2166 2167 2168 </div> 2169 2170 2171 2172 </div> 2173</div>
2174<script type="text/javascript"> 2175 2176 function pageLoad() { 2177 $('.learningActivityInformationClass_InnerPanelClass').readmore({ 2178 collapsedHeight: 500,// to compensate if there is video player displayed. 2179 heightMargin: 16,//in pixels, avoids collapsing blocks that are only slightly larger than collapsedHeight 2180 moreLink: '<div class="factor360ReadMore"><a href="#" class="button factor360Hyperlink factor360ReadMoreButton">Show More</a></div>', 2181 lessLink: '<div class="factor360ReadMore expanded"><a href="#" class="button factor360Hyperlink factor360ReadLessButton">Show Less</a></div>', 2182 embedCSS: true, 2183 blockCSS: 'display: block; width: 100%;'//default css 2184 2185 }); // end of readmore 2186 2187 var $learningActivityInformationTooltip = $('.LearningActivityInformationTooltip'); 2188 $learningActivityInformationTooltip.each(function () { 2189 assignTooltip(this.id, this.title, 'top'); 2190 }); 2191 2192 var $toolTip = $('.LearningActivityInformationActionButtonTooltip'); 2193 $toolTip.each(function () { 2194 assignTooltip(this.id, this.title, 'top'); 2195 }); 2196 2197 var $tooltipWrapper = $('.tooltip-wrapper'); 2198 $tooltipWrapper.each(function () { 2199 assignTooltip(this.id, this.title, 'top'); 2200 }); 2201 2202 } // end of pageLoad 2203 2204 function retainLoginModal() { 2205 // to retain bootstrap modal to close on invalid form validation 2206 $('#divUserLoginBox').modal('show'); 2207 } // end of retainLoginModal 2208 2209 // Invitation Code 2210 function closeWindowAfterEnrollingUserViaInvitationCode() { 2211 $.fancybox.close(); 2212 setTimeout("UpdatePageAfterEnrollingUserViaInvitationCode();", 300); 2213 } 2214 function UpdatePageAfterEnrollingUserViaInvitationCode() { 2215 __doPostBack('__page', 'JavascriptUpdatePageAfterEnrollingUserViaInvitationCode'); 2216 } 2217 2218 function closeOptionalPriceModalAndContinue(selectedOptionalPrice) { 2219 $.fancybox.close(); 2220 setTimeout(function () { __doPostBack('__page', "UpdateOptionalPriceAndContinue_" + selectedOptionalPrice); }, 100); 2221 } 2222 2223 function closeUserDonationPromptWindowAndOpenAddDonationWindowPopup() { 2224 $.fancybox.close(); 2225 setTimeout(function () { __doPostBack('__page', "JavascriptOpenAddDonationWindowPopup"); }, 100); 2226 } 2227 2228</script>
2228 2229 2230 2231 </div> 2232 </div> 2233 2234
2234<script type="text/javascript"> 2235 function toggleClass(jQueryElement, className) { 2236 var classes = []; 2237 if (jQueryElement.attr('class') !== undefined) { 2238 classes = jQueryElement.attr('class').split(/\s+/); 2239 } 2240 var length = classes.length; 2241 var i = 0; 2242 2243 for (; i < length; i++) { 2244 if (classes[i] === className) { 2245 classes.splice(i, 1); 2246 break; 2247 } 2248 } 2249 // The className is not found 2250 if (length === classes.length) { 2251 classes.push(className); 2252 } 2253 var newClass = classes.join(' '); 2254 jQueryElement.attr('class', newClass); 2255 }// end of toggleClass 2256 2257 $(function () { 2258 var $aCatalogWithSideBar_SideBar = $('#aCatalogWithSideBar_SideBar'); 2259 var $divCatalogWithSideBar_MainLayout = $('#divCatalogWithSideBar_MainLayout'); 2260 var $divCatalogWithSideBar_LeftSideBar = $('#divCatalogWithSideBar_LeftSideBar'); 2261 2262 $aCatalogWithSideBar_SideBar.on('click touchstart', function (e) { 2263 var active = 'active'; 2264 e.preventDefault(); 2265 toggleClass($divCatalogWithSideBar_MainLayout, active); 2266 toggleClass($divCatalogWithSideBar_LeftSideBar, active); 2267 toggleClass($aCatalogWithSideBar_SideBar, active); 2268 }) 2269 2270 //adjust main content height with the sidebar height so that at least its height is as tall as the sidebar 2271 setMainContentMinHeightBySideBarHeight(); 2272 //adjust left side bar so that: it displays all the menus without scroll (done with css height: auto) and tall enough to have the same height as the main content when main content height exceeds the original side bar height 2273 // Note that this height would not have the correct height with pages with delayed content, like Admin/LearningActivity/Dashboard.aspx, unless we use interval. 2274 var count = 0;// we will give 100 * 100 = 10000ms = 10 seconds for the system to have COMPLETE height of the divCatalogWithSideBar_MainContent 2275 var _leftSideBarHeightAdjustmentInterval = window.setInterval(function () { 2276 if (count === 100) { 2277 clearInterval(_leftSideBarHeightAdjustmentInterval); 2278 } else { 2279 setSideBarHeightByMainContentHeight(); 2280 count += 1; 2281 } 2282 }, 100); 2283 //if there is no anything in the sidebar, we will hide the sidebar altogether 2284 var $divCatalogWithSideBar_LeftSideBar = $('#divCatalogWithSideBar_LeftSideBar'); 2285 var divCatalogPageWithSideBarChildDiv = $divCatalogWithSideBar_LeftSideBar.children('div'); 2286 if (divCatalogPageWithSideBarChildDiv.length === 0) { 2287 $divCatalogWithSideBar_LeftSideBar.hide(); 2288 $('#aCatalogWithSideBar_SideBar').hide(); 2289 } else { 2290 $divCatalogWithSideBar_LeftSideBar.show(); 2291 } 2292 });// end of document ready 2293 function setMainContentMinHeightBySideBarHeight() { 2294 // IMPORTANT: this function is use somewhere else too 2295 $('#divCatalogWithSideBar_MainContent').css('min-height', $('#divCatalogWithSideBar_LeftSideBar').outerHeight() + 'px'); 2296 } 2297 function setSideBarHeightByMainContentHeight() { 2298 // IMPORTANT: this function is use somewhere else too 2299 $('#divCatalogWithSideBar_LeftSideBar').css('height', 'auto'); // this will make the side bar height just tall enough to fit all the menu items without scroll bar, and then we will compare this height with main content height to decide if we need to set side bar height same as main content height 2300 var newSidebarHeight = $('#divCatalogWithSideBar_LeftSideBar').outerHeight(); 2301 var mainContentHeight = $('#divCatalogWithSideBar_MainContent').outerHeight(); 2302 if (mainContentHeight > newSidebarHeight) { 2303 $('#divCatalogWithSideBar_LeftSideBar').outerHeight(mainContentHeight); 2304 } 2305 } 2306 function updateSideBarAndContentHeight() { 2307 // IMPORTANT: this function is use somewhere else too 2308 // this is used to avoid side bar having scroll when resizing 2309 var $divCatalogWithSideBar_LeftSideBar = $('#divCatalogWithSideBar_LeftSideBar'); 2310 var originalSidebarHeight = $divCatalogWithSideBar_LeftSideBar.outerHeight(); 2311 $divCatalogWithSideBar_LeftSideBar.css('height', 'auto'); 2312 var newSidebarHeight = $divCatalogWithSideBar_LeftSideBar.outerHeight(); 2313 var mainContentHeight = $('#divCatalogWithSideBar_MainContent').outerHeight(); 2314 if (newSidebarHeight > originalSidebarHeight) { 2315 setMainContentMinHeightBySideBarHeight(); 2316 } else if (mainContentHeight > newSidebarHeight) { 2317 setSideBarHeightByMainContentHeight(); 2318 } 2319 }// end of updateSideBarAndContentHeight 2320 </script>
2320 2321 2322 2323 2324 2325 2326 </main> 2327 2328 2329</div> 2330 <div id="pnlFooterAndPoweredBy" class="oasisWrap divFooterAndPoweredBy" class="oasisWrap divFooterAndPoweredBy"> 2331 2332 <footer> 2333 <div> 2334 <div id="pnlCustomFooterContent"> 2335 2336 2337 2338 </div> 2339 <div id="pnlPoweredBy" class="factor360PageHeaderFlexboxWrapper topVerticalAligned" style="margin-top: 15px;"> 2340 2341 <div id="pnlComputerInfo" class="factor360PageHeaderFlexboxItem topAligned" style="padding-left: 15px; color: #fff; font-size: 0.8em;"> 2342 2343 2344 2345 </div> 2346 <div class="factor360PageHeaderFlexboxItem topAligned" 2347 style="padding-left: 15px; padding-right: 15px; text-align: right;"> 2348 <a id="hlAndroidAppDownload" href="https://play.google.com/store/apps/details?id=org.asge.oasismobile.gileap" target="_blank"><img id="imgAndroidAppDownload" alt="Android App Download" src="../../images/google-play-badge.png" style="height:40px;border: 0;" /></a> 2349 <a id="hlIOSAppDownload" href="https://itunes.apple.com/us/app/asge-gi-leap/id1381451470?ls=1&mt=8" target="_blank"><img id="imgIOSAppDownload" alt="IOS App Download" src="../../images/ios-appstore-badge.png" style="height:40px;border: 0;" /></a> 2350 <a id="hlkPoweredBy" href="https://www.asge.org/home/foundation/beyond-our-walls-campaign" target="_blank"><img id="imgPoweredBy" alt="Powered By" src="../../images/ASGE/ASGE-PowerBy.png" style="border: 0;" /></a> 2351 </div> 2352 2353 </div> 2354 </div> 2355 </footer> 2356 2357</div> 2358 </div> 2359 2360 <!-- Language Selector Modal --> 2361 <div id="divLanguageSelectorBox" class="modal fade" tabindex="-1" role="dialog"> 2362 <div class="modal-dialog" role="document"> 2363 <!-- Modal content--> 2364 <div class="modal-content"> 2365 <div class="modal-header"> 2366 <button type="button" class="close" data-dismiss="modal" aria-label="Close"><span aria-hidden="true">×</span></button> 2367 <div class="titleBar noMargin noPadding" style="text-align: center;"> 2368 Please select your language 2369 </div> 2370 </div> 2371 <div class="modal-body" style=""> 2372 2373<style type="text/css"> 2374 .well.languageItemBox { 2375 margin-bottom: 3px; 2376 background-color: transparent; 2377 border-color: #d6e9c6; 2378 color: inherit; 2379 border-radius: 4px; 2380 font-size: 120%; 2381 } 2382 2383 .well.languageItemBox:hover { 2384 background-color: #dff0d8; 2385 color: #3c763d; 2386 } 2387 2388 .alert.selectedLanguageItemBox { 2389 margin-bottom: 0px; 2390 font-size: 120%; 2391 padding:9px;/* made it same as well class */ 2392 border-color:#56a957; 2393 border-width:2px; 2394 } 2395</style> 2396 2397 <div class="factor360PageHeaderFlexboxWrapper topVerticalAligned leftAligned noBottom enableWrap"> 2398 2399 <div id="ucSelectLanguage_rptSelectLanguage_pnlEachLanguageWrapper_0" class="factor360PageHeaderFlexboxItem topAligned paddedFlexboxItem width100p"> 2400 2401 <span id="ucSelectLanguage_rptSelectLanguage_lblLanguageID_0" style="display:none;">1</span> 2402 <a id="ucSelectLanguage_rptSelectLanguage_lnkBtnSelectLanguage_0" class="factor360NoDecorationHyperlink" href="javascript:WebForm_DoPostBackWithOptions(new WebForm_PostBackOptions("ctl00$ctl00$ucSelectLanguage$rptSelectLanguage$ctl01$lnkBtnSelectLanguage", "", true, "", "", false, true))" style=""><div id="ucSelectLanguage_rptSelectLanguage_pnlEachLanguageInnerWrapper_0" class="alert alert-success selectedLanguageItemBox"> 2403 2404 <div class="factor360PageHeaderFlexboxWrapper topVerticalAligned topVerticalAligned leftAligned noBottom"> 2405 <div class="factor360PageHeaderFlexboxItem topAligned paddedFlexboxItem3px"> 2406 <img id="ucSelectLanguage_rptSelectLanguage_imgLanguageFlag_0" src="https://learn.asge.org/images/Flags/flag-usa.png" alt="English Flag" style="width:32px;" /> 2407 </div> 2408 <div class="factor360PageHeaderFlexboxItem topAligned paddedFlexboxItem3px">
2409 <span id="ucSelectLanguage_rptSelectLanguage_lblLanguageName_0">English</span> 2410 </div> 2411 </div> 2412 2413 </div></a> 2414 2415</div> 2416 2417 </div> 2418 2419 </div> 2420 </div> 2421 </div> 2422 </div> 2423 <!-- End of Language Selector Modal --> 2424 2425 2426 2427 2428 2429 2430 2431
2432<script type="text/javascript"> 2433//<![CDATA[ 2434window.onload=assignTooltip('MainContent_ucVerticalUserSubNavigation_rptUserSubNavigation_hlnkTargetURL_0','Catalog','bottom',false, 'body');window.onload=assignTooltip('MainContent_ucVerticalUserSubNavigation_rptUserSubNavigation_hlnkTargetURL_1','Library','bottom',false, 'body');window.__TsmHiddenField = $get('RadScriptManager1_TSM');WebForm_AutoFocus('ctl00_ctl00_MainContent_MainContent_ucLearningActivityCatalog_Details___learningActivityCatalog_TopAndTabDetails_ucLoginBox_txtUserName');Sys.Application.add_init(function() { 2435 $create(Telerik.Web.UI.RadAjaxManager, {"_updatePanels":"","ajaxSettings":[],"clientEvents":{OnRequestStart:"",OnResponseEnd:""},"defaultLoadingPanelID":"","enableAJAX":true,"enableHistory":false,"links":[],"styles":[],"uniqueID":"ctl00$ctl00$RadAjaxManager1","updatePanelsRenderMode":0}, null, null, $get("ctl00_ctl00_RadAjaxManager1")); 2436}); 2437Sys.Application.add_init(function() { 2438 $create(Telerik.Web.UI.RadAjaxLoadingPanel, {"initialDelayTime":0,"isSticky":false,"minDisplayTime":0,"skin":"","transparency":10,"uniqueID":"ctl00$ctl00$raLoadingPanel","zIndex":90000}, null, null, $get("raLoadingPanel")); 2439}); 2440Sys.Application.add_init(function() { 2441 $create(Telerik.Web.UI.RadAjaxLoadingPanel, {"initialDelayTime":0,"isSticky":false,"minDisplayTime":0,"skin":"Default","uniqueID":"ctl00$ctl00$raDefaultLoadingPanel","zIndex":90000}, null, null, $get("raDefaultLoadingPanel")); 2442}); 2443//]]> 2444</script>
2444 2445</form> 2446 2447 <!-- dialog window markup for session timeout warning --> 2448 2449 2450 2451 2452 2453 2454 2455 2456 2457 2458
2458<script type="text/javascript"> 2459 $(function () { 2460 adaComplianceFixer(); 2461 }) 2462 </script>
2462 2463
2463<script type="text/javascript" src="/Scripts/adaComplianceFixes.js?v=360.2.40.15"></script>
2463 2464 2465
2465<script type="text/javascript"> 2466 function closeFancyboxPopupAndRedirectToTargetURL(url) { 2467 $.fancybox.close(); 2468 window.location = url; 2469 }// end of closeFancyboxAndRedirectToTargetURL 2470 </script>
2470 2471 2472 2473</body> 2474 2475 2476</html>
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.