PageSourceSearch

https://www.careersuccesslaunchpad.in/s/store

html careersuccesslaunchpad.in collected 2026-10-08 15:03:43 UTC 319,787 bytes, 4,893 lines download raw bytes

1
2
3
4
5
6<!DOCTYPE html>
7<html>
8<head>
9	<title>CMA Interview Prep Courses | Career Success Launchpad</title>
10	<meta name="keywords" content="CMA Interview Training, CMA Placement Course, CMA Job Interview Skills, CMA Finance Interviews, Career Success for CMA, CMA Job Preparation"/>
11	<meta name="description" content="Browse CMA interview prep courses, company-specific blueprints, SAP FICO basics, and e-books by CMA Rohan Sharma. Designed for CMA freshers targeting PSU, MNC, and Big 4 placements."/>
12	
13
14
15
16
17 
18
19 
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37		
38		
39			
40		
41
42
43
44
45
46
47	
48	
49
50
51	
52		
53	
54	
55
56
57	
58	
59		
60	
61
62
63
64 
65 
66 	
67 	
68		<meta name="viewport" content="width=device-width, initial-scale=1.0">
69 	
70 	
71  
72    
73   		
74   		
75   		
76   		
77   		
78   		
79   		
80    
81    <meta name="google" content="notranslate">
82    
83    	
84        	<link rel="canonical" href="https://www.careersuccesslaunchpad.in/s/store" />
85  
86
87
88<link rel="shortcut icon" href="/favicon.ico" type="image/x-icon">
89<link rel="icon" href="/favicon.ico" type="image/x-icon">
90
91
92
93
94
95
96	
97		
97<script>var orgCountry = "IN";</script>
97
98	
99	
100
101
102<link id="theme" href="https://d502jbuhuh9wk.cloudfront.net/resources/themes/default/spectre.min.css" rel="stylesheet">
103
104<link rel="preconnect" href="https://fonts.googleapis.com"> 
105<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin> 
106
107<link rel="preload" href="https://fonts.googleapis.com/icon?family=Material+Icons|Material+Icons+Outlined" as="style" onload="this.onload=null;this.rel='stylesheet'">
108<noscript><link rel="stylesheet" href="https://fonts.googleapis.com/icon?family=Material+Icons|Material+Icons+Outlined" ></noscript>
109
110<link rel="preload" href="https://d502jbuhuh9wk.cloudfront.net/resources/css/intlTelInput.css?v=1" as="style" onload="this.onload=null;this.rel='stylesheet'">
111<noscript><link rel="stylesheet" href="https://d502jbuhuh9wk.cloudfront.net/resources/css/intlTelInput.css?v=1" ></noscript>
112
113<link rel="preload" href="https://d502jbuhuh9wk.cloudfront.net/fontawesome/css/all.min.css" as="style" onload="this.onload=null;this.rel='stylesheet'">
114<noscript><link rel="stylesheet" href="https://d502jbuhuh9wk.cloudfront.net/fontawesome/css/all.min.css" ></noscript>
115
116<link id="theme-exp" href="https://d502jbuhuh9wk.cloudfront.net/resources/themes/default/spectre-exp.min.css" rel="stylesheet">
117
118
119
120	
121	<link href="https://d502jbuhuh9wk.cloudfront.net/staticfiles/resources/stylesheets/sstyles_0f8f8346b730ed7f9d44d25335e652c6.css" rel="stylesheet">
122	<link rel="stylesheet" href="https://d502jbuhuh9wk.cloudfront.net/staticfiles/resources/stylesheets/sstore_052a28d8fc16dab749345a09dfcd63bf.css"/>
123	
124	<link rel="stylesheet" href="https://d502jbuhuh9wk.cloudfront.net/resources/stylesheets/gtheme3.css?v=7"/>
125	
126	<style type="text/css">
127		#loginLoader{
128			position: absolute;
129	    	left: 0;
130	    	right: 0;
131	    	margin-left: auto;
132	    	margin-right: auto;
133	    	width: 100px;
134	    	top: 50%;
135		}
136	    .customSocialBtn {
137	      	display: flex; 
138	    	white-space: nowrap;
139	    	justify-content: center;
140	    	align-items: center;
141	    	padding: 11px 67px;
142	    	position: static;
143	    	left: 0px;
144	    	top: 40px;
145	    	cursor: pointer;
146	    	margin: auto;
147	    	border: none;
148	    	gap: 10px;
149	    	/*width: 364px;
150	    	height: 48px;
151	      	 background: #000000; */
152	    	/*For New Button Remove Bellow Codes and Uncomment upper Code  */
153	    	background: white;
154	      	border-radius: 4px;
155	      	box-shadow: 0 2px 4px 0 rgb(0 0 0 / 25%);
156	      	width: 245px;
157	      	height: 40px;
158	    }
159	  
160	    .customSocialBtn img.icon {     
161	    	height: 20px;
162	    	width: 20px;
163	    }
164	    .customSocialBtn span.buttonText {
165	    	font-style: normal;
166	    	font-weight: 900;
167	    	font-size: 16px;
168	    	line-height: 120%;
169			opacity: 0.9;
170	    	font-family: 'Roboto', sans-serif;
171	    	/* color: #F7F7F7; */
172	    	/*For New Button Remove Bellow Codes and Uncomment upper Code  */
173	    	color: #808080;
174	    }
175	</style>
176	
177	
178		
179		
180		 
181			<style type="text/css">
182				
183			</style>
184		
185	
186	
187		
188		
189			<style type="text/css">
190				footer a, footer+div a {
191					color: var(--footerTextColor) !important;
192				}
193				footer .socialIcons {text-align: right;}
194				@media (max-width: 600px) {
195					footer .linksCont a { display: block !important; }
196					footer .socialIcons {text-align: center;margin-top: 20px;}
197				}
198			</style>
199		
200	
201
202
203
204
205
206<style type="text/css">
207	:root {
208	 	--themeColor: #5755d9;
209	 	--themeBGColor: #fff;
210		--headerHeight: 80px;
211		--headerTextColor: #0a0959;
212		--headerBGColor: #fdfbfb;
213		
214	}
215
216
217	:root {
218	 	--themeColor: #317AE7;
219	 	--themeBGColor: #EFF5FE;
220	 	--themeCornerRadius: 25px;
221	 	--themeGrayColor: #F5F5F5;
222	 }
223
224</style>
225
226<style type="text/css">
227	.is-overlay-bg {
228        opacity: 1;
229    }
230
231.navbar-section .nav-link:nth-child(8), .navbar-section .nav-link:nth-child(9), .navbar-section .nav-link:nth-child(10), .navbar-section .nav-link:nth-child(11){
232    display:none!important;
233}
234    
235
236</style>
237
238
239
240
241<script type="text/javascript">
242	window.onload = function(event) {
243	   document.querySelectorAll('header .avatar img').forEach(function(img){
244		   	if(img.naturalWidth == 0) {
245		   		img.style.display='none';
246		   	}
247	   })
248	};
249	var RESCDN = "https://d502jbuhuh9wk.cloudfront.net";
250	
251	function showCourseDefaultCover(img, cid) {
252		var rndm = ((parseInt(cid.replace(/[a-z]/g, '')) % 10) % 6) + 1;
253		rndm = isNaN(rndm) ? 1 : rndm;
254		if(img === null) {
255			return RESCDN + "/resources/images/cc"+rndm+".jpg";
256		}
257		
258		img.src = RESCDN + "/resources/images/cc"+rndm+".jpg";
259	}
260</script>
260
261
262
263
264	
265	
266
267
268
269
270
271
272
273<script type="text/javascript">var learnerConsentMsg = `We've updated our <a href='/termsofuse' target='_blank' style='text-decoration:underline'>terms and conditions</a> and <a href='/privacy-policy' target='_blank' style='text-decoration:underline'>privacy policy</a>.<br>By proceeding, you agree to our new terms.`;</script>
273
274
275<script type="text/javascript">var creatorConsentMsg = `We've updated our <a href='https://graphy.com/legal/terms' target='_blank' style='text-decoration:underline'>terms and conditions</a> and <a href='https://graphy.com/legal/privacy' target='_blank' style='text-decoration:underline'>privacy policy</a>.<br>By proceeding, you agree to our new terms.`;</script>
275
276
277<script type="text/javascript">var cookieMsg = `We use cookies to personalise your experience and to analyse our website traffic. By continuing to use our website, you consent to our cookies.`;</script>
277
278
279
280
281
282
283
284<script type="text/template" id="consentPromptTemplate">
285<div class="spectre">
286	<div class="modal active" id="consentPrompt">
287		    <a href="javascript:void(0);" class="modal-overlay" aria-label="Close"></a>
288		    <div class="modal-container" style="max-width:325px">
289		      <div class="modal-header" style="padding:0.8rem 0.8rem 0px 0.8rem;">
290		        <div class="modal-title h5 text-center">Updated Terms</div>
291		      </div>
292		      <div class="modal-body">
293		        
294				<form id="consentForm" style="text-align:center; font-size:13px">
295					<div class="content"></div><br>
296					<div class="text-center">
297						<button id="consentBtn" type="button" class="btn close btn-primary">I Agree</button>
298					</div>
299				</form>
300
301		    </div>
302		  </div>
303</div>
304</script>
304
305
306
307<script>
308	var hideCookiePopup = false;
309	var cookieConsentEnabled = true;
310	if(!cookieConsentEnabled){
311		hideCookiePopup = true;
312	}
313	var SPORG = {subscriptionPlan: "rise", checkout_version: "2", customer_type: "r"};
314</script>
vendor: 1 bytes, line 314
314
315<script type="text/template" id="cookiePopupTemplate">
316<div class="spectre" style="position: fixed; bottom: 0; width: 100%; opacity:1; z-index: 9999;">
317		<div class="modal-container p-0" id="cookiePopup">        
318			<form id="cookiePopupForm">
319				<div class="columns" style="align-items: center;">
320					<div class="column col-sm-12 content text-center"></div>
321					<div class="column col-sm-12 text-center">
322						<a href="/privacy-policy" class="btn" target="_blank" id="viewPrivacyPolicyBtn" style="margin-right:15px;">View privacy policy</a>
323						<button id="acceptCookiesBtn" type="button" class="btn close btn-primary">Accept cookies</button>
324					</div>
325				</div>
326			</form>
327		</div>
328</div>
329</script>
329
330
331
332
333	
334		
335		
336			
336<script type="application/ld+json">
337{"@context":"https://schema.org","@type":"Organization","name":"Career Success Launchpad","alternateName":"Career Success Launchpad by CMA Rohan Sharma","url":"https://www.careersuccesslaunchpad.in","description":"India's most trusted CMA interview preparation platform. Courses on campus placement, PSU interviews, MNC prep and off-campus strategy taught by CMA Rohan Sharma FCMA.","email":"[email protected]","telephone":"+919315338315","address":{"@type":"PostalAddress","addressLocality":"Hajipur","addressRegion":"Bihar","addressCountry":"IN"},"founder":{"@type":"Person","name":"CMA Rohan Sharma","jobTitle":"FCMA, CMA Interview Mentor","url":"https://www.careersuccesslaunchpad.in/aboutus","knowsAbout":["CMA Interview Preparation","Campus Placement","PSU Finance Interviews","CMA Fresher Jobs"],"award":"WIRC Influencer Award 2025"},"legalName":"Career Success Launchpad Pvt. Ltd."}
338</script>
vendor: 1 bytes, line 338
338
339<script type="application/ld+json">
340{"@context":"https://schema.org","@type":"FAQPage","mainEntity":[{"@type":"Question","name":"Who is CMA Rohan Sharma?","acceptedAnswer":{"@type":"Answer","text":"CMA Rohan Sharma (FCMA) is India's most trusted CMA interview mentor with 7+ years of corporate finance experience. He has mentored 2000+ CMA professionals placed at PSUs, MNCs and Big 4 firms. WIRC Influencer Award 2025 recipient."}},{"@type":"Question","name":"What courses does Career Success Launchpad offer?","acceptedAnswer":{"@type":"Answer","text":"Career Success Launchpad offers: Rock Your Interview (flagship), Rock Your CMA Campus, Rock Your Internship Interview, Interview Blueprints for PSU and MNC roles, and Interview Books - all focused on CMA interview preparation."}},{"@type":"Question","name":"What is the placement success rate?","acceptedAnswer":{"@type":"Answer","text":"Career Success Launchpad has a 90%+ interview success rate. Over 2000 CMA professionals have been placed at BPCL, IOCL, HPCL, ONGC, Deloitte, EY, KPMG, PwC, TCS, Infosys and more."}},{"@type":"Question","name":"Is Rock Your Interview suitable for CMA freshers?","acceptedA
340nswer":{"@type":"Answer","text":"Yes. Rock Your Interview is designed for CMA students and freshers preparing for campus placement, PSU interviews and MNC finance roles. It covers technical finance, behavioural rounds, resume writing, GD and salary negotiation."}},{"@type":"Question","name":"Does Career Success Launchpad offer free resources?","acceptedAnswer":{"@type":"Answer","text":"Yes. Free resources include a WhatsApp Channel with 5000+ followers, YouTube Channel with 16K+ subscribers and a community of 10000+ CMAs with interview tips and job alerts."}},{"@type":"Question","name":"What makes Career Success Launchpad different?","acceptedAnswer":{"@type":"Answer","text":"It is the only platform focused exclusively on CMA interview preparation, led by CMA Rohan Sharma FCMA who has real corporate experience at PSUs, MNCs and Big 4 firms giving students frameworks built from actual hiring room experience."}},{"@type":"Question","name":"How can I contact Career Success Launchpad?","acceptedAnswer":{"@type":"Answer","text":"Email: [email protected] | Phone: +91 93153 38315 | Location: Hajipur Bihar - Pan-India Online"}}]}
341</script>
341
342		
343	
344
345
346
347
348
349
350
351
352	
353
354
355<!-- Google Tag Manager -->
356<script>
vendor: 327 bytes, lines 356-360
356(function(w,d,s,l,i){w[l]=w[l]||[];w[l].push({'gtm.start':
357new Date().getTime(),event:'gtm.js'});var f=d.getElementsByTagName(s)[0],
358j=d.createElement(s),dl=l!='dataLayer'?'&l='+l:'';j.async=true;j.src=
359'https://www.googletagmanager.com/gtm.js?id='+i+dl;f.parentNode.insertBefore(j,f);
360})(window,document,'script','dataLayer','
360GTM-KW7N9P2
vendor: 4 bytes, line 360
360');
361</script>
361
362<!-- End Google Tag Manager -->
363 
364 	
364<script defer type="text/javascript" src="https://api.pirsch.io/pirsch-extended.js" 
365    id="pirschextendedjs" 
366    data-code="4ORie9SpKotiJ9SlhWJ1IcBZnnIggLpg"></script>
366
367 
368	<meta name="google-site-verification" content="" />
369
370<script type="text/javascript">window.NREUM||(NREUM={});NREUM.info={"errorBeacon":"bam.nr-data.net","licenseKey":"NRJS-3c5e94b79297c3f66ad","agent":"","beacon":"bam.nr-data.net","applicationTime":27,"applicationID":"1108160141","transactionName":"Y1RVZkAHVhIHBUZfWVoeZEJAD1YGJQlcQkRbXVtXQElLFQkUVxYec3RjGw==","queueTime":0};
371(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:"1134555315",accountID:"3033394",trustKey:"3033394",xpid:"VwYEUlVaDBABVVFaBgcHV1AA",licenseKey:"NRJS-3c5e94b79297c3f66ad",applicationID:"1108160141",browserID:"1134555315"};;/*! For license information please see nr-loader-spa-1.323.0.min.js.LICENSE.txt */
372(()=>{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.323.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};
372e.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;
372const 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);
372if(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$:()=>
372o,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])}
372(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}
372;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.323.0.min.js"),r.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),(()=>{const e={},t="NRBA-1.323.0.PROD:";r.l=(n,i,s,a)=>
372{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-ORjtmy+nQMgxbu0os8+oTRa5sPzbinyuWSvpZrrstVLIaHofRRlfODdH+oUmkIgeQpM+vPf3vG/4RzvCsFVh1A==",249:"sha512-o7+K6xC0z3TqynjVxpd+jgiSgqy8rrPeRcUSqt5J0Rqg5Su5CycLMYfpwiM3WBCHiNDrG5aZoXJQ6HRc335XYQ==",212:"sha512-kRvBt1IYQDBnClTEWNaE8sDFqbXXM3Vdyf972Uf4MFbJxl7u3KmdO+jdB1H4achPEoT9YtNXHswaESey6sCH0A==",238:"sha512-U5EGmyYbFVR2UMNAuZJ7fTgVVtPa5b8RPMySDwXo7z3frRdkUJ2x1VAQTLQCeBab8VlGVGRV8FiSHIn/pwN72A=="};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.323.0.PROD"]=self["webpackChunk:NRBA-1.323.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
372ine_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()=>
372{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)=>
372null==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
372dTimingMethod(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
372imeToRegister: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})})}
372return 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,a=(0,ye.ZF)(),o=(0,ye.el)(),c=Date.now();this.agentRef.runtime?.timeKeeper?.ready&&(s=Math.floor(this.agentRef.runtime.timeKeeper.correctAbsoluteTimestamp(c)));var d={spanId:a,traceId:o,timestamp:c,timestampCorrected:s};return(e.sameOrigin||this.isAllowedOrigin(e)&&this.useTraceContextHeadersForCors())&&(d.traceContextParentHeader=this.generateTraceContextParentHeader(a,o),d.traceContextStateHeader=this.generateTraceContextStateHeader(a,s??c,r,n,i)),(e.sameOrigin&&!this.excludeNewrelicHeader()||!e.sameOrigin&&this.isAllowedOrigin(e)&&this.useNewrelicHeaderForCors())&&(d.newrelicHeader=this.generateTraceHeader(a,o,s??c,r,n,i)),d}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"
372!==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);
372if(!(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)}
372);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)})});
372class 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
372h(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>
372</head>
373<body class="theme3">
374	
375		
376		
377			
378
379
380
381<div class="header spectre "
382	style="background-color: #fdfbfb;">
383	
384	<header class="navbar container" style="min-height: 80px;">
385		  
386		  <div id="navbar-section-btn">
387		  	
388				<a href="javascript:void(0);" amplitude-event="navbar_link_tapped_user_landing_page" amplitude-payload='{"custom_domain": "www.careersuccesslaunchpad.in","button":"cart"}' class="nav-link badge cartBtn mr-2" data-badge="0"><i class="material-icons">shopping_cart</i></a>
389			
390		  	<a class="btn btn-link btn-action ml-2" id="header-collapse-btn"  href="javascript:void(0);">
391				<i class="icon-menu material-icons">menu</i>
392		  	</a>
393		  </div>
394		  <section class="navbar-section" style="min-height: 80px;">
395		    <a href="/" amplitude-event="navbar_link_tapped_user_landing_page" amplitude-payload='{"custom_domain": "www.careersuccesslaunchpad.in","button":"profile_logo"}'><img alt="logo" onerror="this.src='https://d502jbuhuh9wk.cloudfront.net/resources/images/yourlogohere.jpg'" src='https://d502jbuhuh9wk.cloudfront.net/logos/647ddedce4b0265070006b3b.png?v=10'/></a>
396		  </section>
397		  
398			  <section class="navbar-section hide-md">
399			  	<form class="input-group p-0 relative" action="/s/store/courses" method="GET" style="width:100%;background:transparent">
400			  		<div class="input-group" style="width: 100%;">
401						<input type="text" name="query" value="" class="form-input input-lg searchTxtBox" placeholder="Search">
402						<button type="submit" class="btn btn-link"><i class="fa-regular fa-magnifying-glass"></i></button>
403					</div>
404				</form>
405			  </section>
406		  
407		  <section class="navbar-section menu-links">
408			
409			
410			
411			
412				
413					<a class="nav-link" href="/s/store" data-id="x49yiqodm" >Courses</a>
414				
415					<a class="nav-link" href="/sessions#nav_bar" data-id="s59ea5ec7" >Webinars</a>
416				
417					<a class="nav-link" href="/s/avatar" data-id="6ya1nki8n" >AI Avatar</a>
418				
419					<a class="nav-link" href="/s/pages/halloffame" data-id="fi2tuofi1" >Hall of Fame</a>
420				
421					<a class="nav-link" href="/blog" data-id="486bzcoml" >Blog</a>
422				
423					<a class="nav-link" href="/aboutus" data-id="0hnqw2b69" >About</a>
424				
425					<a class="nav-link" href="/s/pages/faq" data-id="fuqexzvvx" target='_blank'>FAQs</a>
426				
427			
428			
429				<a href="/s/avatar" target="_blank" class="nav-link" amplitude-event="aiavatar_tapped" amplitude-payload='{"source":"nav_bar"}'>AI Avatar</a>
430			
431			
432				<a href="/sessions#nav_bar" class="nav-link" amplitude-event="livesessions_tapped" amplitude-payload='{"source":"nav_bar"}' href="javascript:void(0);">Webinars</a>
433			
434			
435			
436				<a href="/memberships" class="nav-link" amplitude-event="membership_tapped" amplitude-payload='{"membership_id": "6765bf7b4f09c42c7adc12a2","source":"nav_bar"}' href="javascript:void(0);">Membership</a>
437			
438			
439				
440				
441					
442						
443						
444							<a href="javascript:void(0);" class="nav-link badge cartBtn hide-md" data-badge="0"><i class="fa-regular fa-cart-shopping"></i></a>
445						
446					
447		    			<a href="javascript:void(0);" class="btn btn-primary loginBtn">Login</a>
448				
449			
450		  </section>
451	</header>
452	
453	
454		<form class="show-md container" action="/s/store/courses" method="GET" style="background:transparent;">
455			<div class="input-group relative" style="width: 100%;">
456				<input type="text" name="query" value="" class="form-input input-lg searchTxtBox" placeholder="Search">
457				<button type="submit" class="btn btn-link"><i class="fa-regular fa-magnifying-glass"></i></button>
458			</div>
459		</form>
460	
461</div>
462		
463	
464	<div class="spectre">
465	<div class="main container" style="">
466		<div class="columns pt-2">
467			<div class="column col-4 col-sm-12">
468				<div class="dropdown categoriesBtn col-12">
469					  <a href="#" class="btn btn-lg btn-primary dropdown-toggle" tabindex="0"><span class="icon-text">Category</span> <i class="material-icons">arrow_drop_down</i></a>
470					  <ul class="menu"></ul>
471				</div>
472			</div>
473		</div>
474		
475			
476			
477				
478					<div class="border-bottom" style="margin-top: 50px;" >
479						<h2><label class="text-ellipsis d-inline-block" style="max-width: calc(100% - 100px);" title="Main Courses">Main Courses</label> <a href="/s/store/courses/Main Courses" class='btn float-right'>View All</a></h2>
480					</div>
481					<div class="columns itemsContainer loading loading-lg" data-url="/store/courses/Main Courses"></div>
482			    
483					<div class="border-bottom" style="margin-top: 50px;" >
484						<h2><label class="text-ellipsis d-inline-block" style="max-width: calc(100% - 100px);" title="Micro Course">Micro Course</label> <a href="/s/store/courses/Micro Courses" class='btn float-right'>View All</a></h2>
485					</div>
486					<div class="columns itemsContainer loading loading-lg" data-url="/store/courses/Micro Courses"></div>
487			    
488					<div class="border-bottom" style="margin-top: 50px;" >
489						<h2><label class="text-ellipsis d-inline-block" style="max-width: calc(100% - 100px);" title="Interview Blueprints">Interview Blueprints</label> <a href="/s/store/courses/Interview Blueprints" class='btn float-right'>View All</a></h2>
490					</div>
491					<div class="columns itemsContainer loading loading-lg" data-url="/store/courses/Interview Blueprints"></div>
492			    
493					<div class="border-bottom" style="margin-top: 50px;" >
494						<h2><label class="text-ellipsis d-inline-block" style="max-width: calc(100% - 100px);" title="Interview Books">Interview Books</label> <a href="/s/store/courses/Interview Books" class='btn float-right'>View All</a></h2>
495					</div>
496					<div class="columns itemsContainer loading loading-lg" data-url="/store/courses/Interview Books"></div>
497			    
498					<div class="border-bottom" style="margin-top: 50px;" >
499						<h2><label class="text-ellipsis d-inline-block" style="max-width: calc(100% - 100px);" title="Free Resources">Free Resources</label> <a href="/s/store/courses/Free Resources" class='btn float-right'>View All</a></h2>
500					</div>
501					<div class="columns itemsContainer loading loading-lg" data-url="/store/courses/Free Resources"></div>
502			    
503			
504		
505	</div>
506	</div>
507
508
509
510
511	
512		
513		
514			
515
516
517
518
519
520
521
522
523
524
525<div class="yogya-footer" style="display: flex !important;align-items:center;justify-content:center;clear:both;width: 100%;flex-direction: column; row-gap:30px; background: #F7F7F7; color: #232228; padding: 80px 10px;">
526	
527		
528		
529			
530				
531				
532					<a style="display: flex !important;align-items:center;justify-content:center;text-decoration: none !important;background: #000 !important;color: #fff !important;padding: 12px 20px !important;border-radius: 4px !important;font-size: 14px !important;font-weight: 600 !important;line-height: 20px !important;" rel="nofollow" href="https://graphy.com/products/create-and-sell-course-online?utm_campaign=rohansharma4787&utm_source=gc&utm_device=website&gref=rohansharma4787" target="_blank"><img alt="Launch your Graphy" style="height: 20px; width: 11px; margin-right: 12px;" src="/resources/images/grvector.svg">Launch your Graphy</a>
533					<div class="text-center" style="font-size: 12px;font-weight: 400;line-height: 20px;letter-spacing: 0.015em;">100K+ creators trust <a href="https://graphy.com/products/create-and-sell-course-online?utm_campaign=rohansharma4787&utm_source=gc&utm_device=website&gref=rohansharma4787" target="_blank" rel="nofollow" style="color: #000 !important;text-decoration: underline !important;padding: 0 !important;font-size: inherit !important;">Graphy</a> to teach online</div>
534				
535			
536		
537	
538	<div style="display: flex !important;align-items:center;justify-content:center;column-gap: 12px;">
539		
540		<a href="https://www.instagram.com/cma_rohan/" class="instaPage" target="_blank" style="text-decoration: none !important;color:#000 !important;font-size: inherit !important;height:24px;width:24px;border: 1px solid #E5E5E5;
540display: flex;align-items:center;justify-content:center;"><i class="fa-brands fa-instagram" style="font-size: 11px"></i></a> 
541		
542		<a href="https://www.linkedin.com/in/cmarohansharma/" class="linkedinPage" target="_blank" style="text-decoration: none !important;color:#000 !important;font-size: inherit !important;height:24px;width:24px;border: 1px solid #E5E5E5;display: flex;align-items:center;justify-content:center;" ><i class="fa-brands fa-linkedin-in" style="font-size: 11px"></i></a> 
543		<a href="https://www.youtube.com/c/cmarohansharma" class="yPage" target="_blank" style="text-decoration: none !important;color:#000 !important;font-size: inherit !important;height:24px;width:24px;border: 1px solid #E5E5E5;display: flex;align-items:center;justify-content:center;" ><i class="fa-brands fa-youtube" style="font-size: 11px"></i></a>
544		<a href="https://t.me/cmarohansharma" class="telegramPage" target="_blank" style="text-decoration: none !important;color:#000 !important;font-size: inherit !important;height:24px;width:24px;border: 1px solid #E5E5E5;display: flex;align-items:center;justify-content:center;" ><i class="fa-brands fa-telegram" style="font-size: 11px"></i></a>
545	</div>
546	<div style="display: flex !important;align-items:center;justify-content:center;font-size: 14px;font-weight: 500;line-height: 20px;letter-spacing: 0.015em;column-gap: 12px;flex-wrap: wrap;">
547		<span>Career Success Launchpad by CMA Rohan Sharma <i class="fa-regular fa-copyright"></i> 2026</span> <i class="fa-solid fa-circle" style="font-size: 4px;"></i> 
548		<a href="/privacypolicy" style="color: #232228 !important; padding: 0 !important;font-size: inherit !important;text-decoration: underline !important">Privacy policy</a>  <i class="fa-solid fa-circle" style="font-size: 4px;"></i> 
549		<a href="/termsofuse" style="color: #232228 !important;padding: 0 !important;font-size: inherit !important;text-decoration: underline !important">Terms of use</a> <i class="fa-solid fa-circle" style="font-size: 4px;"></i> 
550		<a href="/contactus" style="color: #232228 !important;padding: 0 !important;font-size: inherit !important;text-decoration: underline !important">Contact us</a> <i class="fa-solid fa-circle" style="font-size: 4px;"></i> 
551		<a href="/refundpolicy" style="color: #232228 !important;padding: 0 !important;font-size: inherit !important;text-decoration: underline !important">Refund policy</a>
552	</div>
553</div>
554
555
556
557
558
559		
560	
561
562
563	
564	
565
566
567
568
569<script>const customDomain = "www.careersuccesslaunchpad.in";</script>
569
570
571   
572  
573
574<script>
575var disabledLocleVar='Disabled';
576var enabledLocaleVar='Enabled';
577var smsLocaleVar='SMS';
578var webpushLocaleVar='Web Push';
579var mobilepushLocaleVar='Mobile Push';
580var invoicenumberLocaleVar='Invoice Number';
581var productLocaleVar='Product';
582var dateLocaleVar='Date';
583var amountLocaleVar='Amount';
584var detailsLocaleVar='Details';
585var subscriptionPlanLocaleVar='Subscription Plan';
586var addonsLocaleVar='Add Ons';
587var showLocalVar='Show';
588var hideLocaleVar='Hide';
589</script>
589 
590<div class="spectre">
591
592	
593	
594		
595		
596		
597			
598				
598<script>
599					var isPopupLogin = true;
600					var login = '';
601					var message = '';
602					function closeLoginPopup() {
603						$("#loginFormHtml").removeClass("active");
604						$("body").removeClass("overflowYDisable");
605					}
606				</script>
606
607				
608				
609				
610					
611				
612
613				<div class="modal" id="loginFormHtml">
614					<iframe id="microfe-popup-login" src="/t/public/login" loading="lazy"
615						style="width: calc(100% + 10px); height: 100vh; border: none;"
616						onload="$(this).parent().removeClass('loading');"></iframe>
617				</div>
618			
619		
620	 
621	
622
623	<div class="modal" id="cartHtml">
624		<a href="javascript:void(0);" class="modal-overlay close"
625			aria-label="Close"></a>
626		<div class="modal-container" style="max-width: 800px;">
627			<div class="modal-header">
628				<a href="javascript:void(0);"
629					class="close btn btn-clear float-right" aria-label="Close"></a>
630				<div class="modal-title h5">
631					<i class="fa-regular fa-shopping-cart"></i>
632					Cart
633					(<span class="cartCount">0</span>
634					Items
635					)
636				</div>
637			</div>
638			<div class="modal-body" style="max-height: 70vh;">
639				<div class="content">
640
641					<div class="text-center msg loading"></div>
642					<div class="text-center msg noItems" style="display: none;">
643						There are no items in your cart<br/>
644						<a class="btn btn-primary" href="/s/store"
645							style="margin: 20px auto;">
646							Add More
647						</a>
648					</div>
649					<div class="items msg" style="display: none;">
650						<div class="m-0 cartDiv">
651							<table class="table cartTable">
652								<thead>
653									<tr>
654										<th colspan="2">Item Details</th>
655										<th class="text-right">Price</th>
656										<th style="width: 50px;"></th>
657									</tr>
658								</thead>
659								<tbody></tbody>
660							</table>
661						</div>
662						<div class="suggestCart mt-2 bg-gray p-2" style="display: none;">
663							<h6>You may also be interested in</h6>
664							<div class="columns loading" id="cartRelatedCont"></div>
665						</div>
666					</div>
667				</div>
668			</div>
669			<div class="modal-footer">
670				<div class="msg items clearfix">
671					
672						
673						
674							<div class="float-left text-gray">
675								Note: Promo Codes can be applied after checkout
676							</div>
677						
678						
679					
680					<div class="float-right">
681						Total Amount
682						<span class="text-primary curr">₹<span
683							class="totalAmount">0</span></span>
684					</div>
685				</div>
686				<div class="msg items clearfix mt-2">
687					<a class="btn float-left" href="/s/store" amplitude-event="add_more_course_checkout">
688						Add More
689					</a>
690					
691					
692						
693							
694						
695						
696					
697					<a class="btn btn-primary float-right" href="/s/checkout" amplitude-event="checkout_tapped_course_checkout" amplitude-payload='{"currency": "INR" }'>Checkout</a>
698				</div>
699			</div>
700		</div>
701	</div>
702	<div class="modal" id="newCheckoutHtml" style="padding: 0; z-index: 10000;">
703	<div id="newCheckoutLoader" class="loading loading-lg" style="position: absolute;top: 50%;left: 50%;transform: translate(-50%, -50%);width: 100%;height: 100%;background-color: rgba(0, 0, 0, 0.5); z-index: 1000;display:none;"></div>
704		<!-- <a href="javascript:void(0);" class="modal-overlay close"
705			aria-label="Close"></a>
706		<div class="modal-container" style=""> -->
707		
708
709			<iframe onload="hideCheckoutLoader()" id="newCheckoutIframe" sandbox="allow-top-navigation allow-modals allow-popups allow-presentation allow-orientation-lock allow-pointer-lock allow-popups-to-escape-sandbox allow-top-navigation-by-user-activation allow-scripts allow-same-origin allow-forms" style = "width: calc(100% + 10px); height: 100%; border: none;"  src=""></iframe>
710				
711		<!-- </div> -->
712	</div>
713</div>
714
715<script type="text/template" id="cartItemTemplate">
716		<tr data-id="<@- item.id @>" data-type="<@- item.type @>" data-title="<@- item.title @>" data-price="<@- item.price @>" data-coursecategory="<@- item.courseCategory @>">
717			<@ var itemType = item.type; @>
718			<td style="width:150px;">	
719				<@ var curl = "https://d502jbuhuh9wk.cloudfront.net/courses/"+ item.id +"/"+ item.id +"_scaled_cover.jpg?v=" + coverVersion; if(isNaN(coverVersion)) { curl = showCourseDefaultCover(null, item.id)   } @>
720				<img alt="<@- item.title @> cover" style="width:100%;max-height:100px;" class="img-fit-contain lazy"  onerror="showCourseDefaultCover(this, '<@- item.id @>')" 
721						data-src='<@- curl @>' />
722			</td>
723			<td class="itemTitle"><@- item.title @><@ if(item.description !== undefined) { @><div class='text-gray variantDescription'><@ print(item.description) @></div><@ } @></td>
724			<td class="text-right curr"><@ if(item.priceWithoutTax !== undefined && 'GST' != '') { @><@ print(getDisplayAmount(item.priceWithoutTax)) @><br><small><@ print(getDisplayAmount(item.price)) @> incl. <@- item.gstRate @>% GST</small><@ } else { @><@ print(getDisplayAmount(item.price)) @> <@ if(item.gstRate > 0 && 'GST' != '') { print("<br><small>incl. " +item.gstRate+"% GST</small>") } @><@ } @> 				
725			<@ if(item.pgChargesLearnerPercent !==undefined && getDisplayAmount(item.pgChargesLearnerPercent).includes('₹')) {@> <br><small>Internet handling fees: <@print(getDisplayAmount(item.pgChargesLearnerPercent/100*item.price))@></small> <@} @>
726			</td>
727			<td>
727<button class="btn btn-sm btn-error btn-action circle removeItemBtn" data-url="/s/cart/remove/<@- item.id @>"><i class="material-icons">clear</i></button></td>
728		</tr>
729	</script>
vendor: 1 bytes, line 729
729
730<script type="text/template" id="cartcoursecard-template">
731		<div class="column col-2 col-md-4 scourse <@- item['spayee:resource']['spayee:courseType'] @>" title="<@- item["spayee:resource"]["spayee:title"] @>">
732			  <a class="card" title="<@- item['spayee:resource']['spayee:title'] @>" href="<@ print(getCourseLandingPageUrl(item._id, item['spayee:resource']['spayee:courseUrl'])) @>">
733				<@ var curl = "https://d502jbuhuh9wk.cloudfront.net/courses/"+ item._id +"/"+ item._id +"_scaled_cover.jpg?v=" + item["spayee:resource"]["spayee:coverVersion"]; if(isNaN(item["spayee:resource"]["spayee:coverVersion"])) { curl = showCourseDefaultCover(null, item._id)   } @>
734		              <img style="width: 100%;" alt="<@- item['spayee:resource']['spayee:title'] @> cover" class="lazy" data-src="<@- curl  @>" onerror="showCourseDefaultCover(this, '<@- item._id @>')">
735					  <div class="card-footer" style="padding: 0.2rem;"><span class="ctitle text-ellipsis d-block" style="color:#2f4f4f;font-size:small;"><@- item["spayee:resource"]["spayee:title"] @></span></div>
736		      </a>
737		</div>
738	</script>
vendor: 1 bytes, line 738
738
739<script type="text/template" id="coursecard-template">
740		<div class="column scourse <@- item['spayee:resource']['spayee:courseType'] @> hidePackageRibbon<@- item['spayee:resource']['spayee:hidePackageRibbon'] @>">
741					
742					
743					
744					<@ var itemCategory =  (item['spayee:resource']['spayee:filter1'] !== undefined)? item['spayee:resource']['spayee:filter1'][0]:'' @>
745
746					<a class="card courseDiscId" style="height:100%" title="<@- item['spayee:resource']['spayee:title'] @>" href="<@ print(getCourseLandingPageUrl(item._id, item['spayee:resource']['spayee:courseUrl'])) @>" data-id="<@- item._id@>" data-dcid="<@-item._id@>"
747						amplitude-event="course_card_tapped_checkout"
748						amplitude-payload='{"<@-  item['spayee:resource']['spayee:courseType']== 'package' ? "package_id" : "course_id" @>": "<@- item._id @>","is_a_package":"<@-  item['spayee:resource']['spayee:courseType']== 'package' ? "true" : "false" @>","price_on_card":"<@- removeCurrencySymbol(getCourseDisplayPrice('₹', '', item, '18.0', '', false)) @>","currency":"INR","multiple_pricing_plans_exist":"<@- isMultiplePlansAvailable('', item) @>","wallet_coins_enabled_on_school":"true","category":"<@- itemCategory @>"}'
749					>
750					
751						
752					
753		              <div class="card-image relative <@ print(item["spayee:resource"]["spayee:availableForMembership"] ? 'includedInMembership' : '') @>">
754						<@ var curl = "https://d502jbuhuh9wk.cloudfront.net/courses/"+ item._id + "/" + item._id +"_scaled_cover.jpg?v=" + item["spayee:resource"]["spayee:coverVersion"]; if(isNaN(item["spayee:resource"]["spayee:coverVersion"])) { curl = showCourseDefaultCover(null, item._id);   } @>
755						<div class="blurbg lazy" data-bg="<@- curl @>"></div>
756		                <img alt="<@- item['spayee:resource']['spayee:title'] @> cover" class="lazy" data-src="<@- curl @>" onerror="showCourseDefaultCover(this, '<@- item._id @>')">
757		              </div>
758		              <div class="card-body text-ellipsis">
759							<span class="ctitle" style="color:#2f4f4f;text-wrap: balance;overflow: hidden;display: -webkit-box;-webkit-box-orient: vertical;-webkit-line-clamp: 2;"><@- item["spayee:resource"]["spayee:title"] @></span><br>
760
761							<@ if(item.rating !== undefined) { @>
762								<span class="text-gray ratingIcons icon-text">
763								<@ for(var i=1;i<6;i++) { @>
764									<@ if(item.rating.avgRating >= i) { @><i class="material-icons text-primary">star</i><@ }else if(item.rating.avgRating > i-1 && item.rating.avgRating < i) { @><i class="material-icons text-primary">star_half</i><@ }else { @>
765									<i class="material-icons">star_border</i>								
766								<@ } } @></span><small class="d-inline-block pl-1 text-dark"><@ print(formatRating(item['rating']['avgRating'])) @> (<@- item['rating']['total'] @> ratings)</small>
767							<@ }else { @> <span class="text-gray ratingIcons icon-text">&nbsp;</span> <@ } @>
768							<br>
769							<span class="text-gray">
770								<@ if(item['spayee:resource']['spayee:courseType'] === 'package') { @>
771									<@ print(item["courses-count"]!==undefined?item["courses-count"]:"0") @> Courses
772								<@ }else { @>
773									<@ print(item["spayee:resource"]["spayee:publisher"]!==undefined?htmlEntities(item["spayee:resource"]["spayee:publisher"]):"&nbsp;") @>
774								<@ } @>
775							</span>
776					  </div>
777		              <div class="card-footer">
778						<@ print(getCourseDisplayPrice('₹', '', item, '18.0', '', true)) @>
779						<span class="text-gray" style="font-size:small">
780							<@ if(item['spayee:resource']['spayee:instalmentPlanId']!=null && item['spayee:resource']['spayee:instalmentPlanId'] !== "") { @>
781								<@ print(getCourseInstalmentDisplayPrice('', item))@>
782								<@ }else { @>
783								<@ "&nbsp;" @>
784							<@ } @>
785						</span>
786		              </div>
787					<div style="padding: 0 0.8rem 0.8rem 0.8rem;">
788						<span class="text-gray" style="font-size:small">
789							<@ if(getMultiplePlanLabel('', item)>1) {@>
790							<i class="material-icons text-primary" style="font-size:small">discount</i>
791							<@ print(' Flexible pricing plans') } @>
792						</span>
793					</div>
794		            </a>
795		</div>
796	</script>
796
797
798<script type="text/template" id="blogcard-template">
799		<div class="column col-3 col-md-6 col-sm-6 col-xs-12 scourse" style="margin-bottom: 20px;">
800					<a class="card" title="<@- item['spayee:resource']['spayee:title'] @>" href="/blog/<@- item['spayee:resource']['spayee:url'] @>">
801		              <div class="card-image relative">
802						<@ if(item['spayee:resource']['spayee:cover'] !== undefined && item['spayee:resource']['spayee:cover']) { @>
803							<div class="blurbg lazy" data-bg="https://d502jbuhuh9wk.cloudfront.net/articles/<@- item._id @>/cover.jpg<@ print(item["spayee:resource"]["spayee:coverVersion"] !== undefined?"?v="+item["spayee:resource"]["spayee:coverVersion"]:"") @>"></div>
804							<img alt="<@- item['spayee:resource']['spayee:title'] @> cover" class="img-responsive centered relative lazy" style="max-height: 100%;" data-src="https://d502jbuhuh9wk.cloudfront.net/articles/<@- item._id @>/cover.jpg?v=<@- item['spayee:resource']['spayee:coverVersion'] @>" onerror="showCourseDefaultCover(this, '<@- item._id @>')">
805						<@ }else { @>
806							<div class="blurbg lazy" data-bg="https://d502jbuhuh9wk.cloudfront.net/resources/images/defaultCourseCover.png"></div>
807							<img alt="<@- item['spayee:resource']['spayee:title'] @> cover" class="img-responsive centered relative lazy" style="max-height: 100%;" data-src='https://d502jbuhuh9wk.cloudfront.net/resources/images/defaultCourseCover.png'>
808						<@ } @>
809		              </div>
810		              <div class="card-body text-ellipsis"><span style="color:#2f4f4f;"><@- item["spayee:resource"]["spayee:title"] @></span></div>
811		              <div class="card-footer" style="padding: 0.4rem;">
812						<span class="text-gray float-left text-ellipsis" style="max-width: calc(100% - 110px);"><@ print(item["spayee:resource"]["spayee:author"]!==undefined?htmlEntities(item["spayee:resource"]["spayee:author"]):"") @></span>
813						<@ var pdate = item.createdDate.$date; if(item['spayee:resource']['spayee:publishDate'] !== undefined && item['spayee:resource']['spayee:publishDate'] !== '') { pdate = item['spayee:resource']['spayee:publishDate']; } @>
814						<time class="float-right text-warning"><@ print(formatDate(new Date(pdate))) @></time>
815		              </div>
816		            </a>
817		</div>
818	</script>
818
819	
820	
820<script type="text/javascript">
821	  var uuid = function (a) {
822		  // https://github.com/amplitude/Amplitude-Javascript/blob/master/src/uuid.js
823		  return a // if the placeholder was passed, return
824		    ? // a random number from 0 to 15
825		      (
826		        a ^ // unless b is 8,
827		        ((Math.random() * // in which case
828		          16) >> // a random number from
829		          (a / 4))
830		      ) // 8 to 11
831		        .toString(16) // in hexadecimal
832		    : // or otherwise a concatenated string:
833		      (
834		        [1e7] + // 10000000 +
835		        -1e3 + // -1000 +
836		        -4e3 + // -4000 +
837		        -8e3 + // -80000000 +
838		        -1e11
839		      ) // -100000000000,
840		        .replace(
841		          // replacing
842		          /[018]/g, // zeroes, ones, and eights with
843		          uuid, // random hex digits
844		        );
845	  };
846		
847	  (function(e,t){var n=e.amplitude||{_q:[],_iq:{}};var r=t.createElement("script")
848	  ;r.type="text/javascript"
849	  ;r.integrity="sha384-tzcaaCH5+KXD4sGaDozev6oElQhsVfbJvdi3//c2YvbY02LrNlbpGdt3Wq4rWonS"
850	  ;r.crossOrigin="anonymous";r.async=true
851	  ;r.src="https://cdn.amplitude.com/libs/amplitude-8.5.0-min.gz.js"
852	  ;r.onload=function(){if(!e.amplitude.runQueuedFunctions){
853	  console.log("[Amplitude] Error: could not load SDK")}}
854	  ;var i=t.getElementsByTagName("script")[0];i.parentNode.insertBefore(r,i)
855	  ;function s(e,t){e.prototype[t]=function(){
856	  this._q.push([t].concat(Array.prototype.slice.call(arguments,0)));return this}}
857	  var o=function(){this._q=[];return this}
858	  ;var a=["add","append","clearAll","prepend","set","setOnce","unset","preInsert","postInsert","remove"]
859	  ;for(var c=0;c<a.length;c++){s(o,a[c])}n.Identify=o;var u=function(){this._q=[]
860	  ;return this}
861	  ;var l=["setProductId","setQuantity","setPrice","setRevenueType","setEventProperties"]
862	  ;for(var p=0;p<l.length;p++){s(u,l[p])}n.Revenue=u
863	  ;var d=["init","logEvent","logRevenue","setUserId","setUserProperties","setOptOut","setVersionName","setDomain","setDeviceId","enableTracking","setGlobalUserProperties","identify","clearUserProperties","setGroup","logRevenueV2","regenerateDeviceId","groupIdentify","onInit","logEventWithTimestamp","logEventWithGroups","setSessionId","resetSessionId"]
864	  ;function v(e){function t(t){e[t]=function(){
865	  e._q.push([t].concat(Array.prototype.slice.call(arguments,0)))}}
866	  for(var n=0;n<d.length;n++){t(d[n])}}v(n);n.getInstance=function(e){
867	  e=(!e||e.length===0?"$default_instance":e).toLowerCase()
868	  ;if(!Object.prototype.hasOwnProperty.call(n._iq,e)){n._iq[e]={_q:[]};v(n._iq[e])
869	  }return n._iq[e]};e.amplitude=n})(window,document);
870	
871	  amplitude.getInstance().init('e56929a4c3888c23e97a7e70e34ccf6c');
872	  amplitude.getInstance().setUserId(null);
873	  //amplitude.getInstance().regenerateDeviceId();
874
875    var userProperties = {
876			custom_domain: "www.careersuccesslaunchpad.in",
877			org_id: "647ddedce4b0265070006b3b",
878			default_google_login_enabled: 'true' == 'true',
879			personalized_google_login_enabled: '' != '' && 'true' == 'false' ? true : false,
880			facebook_login_enabled: '' == 'true' ? true : false
881	  };
882	  amplitude.getInstance().setUserProperties(userProperties);
883    
884/*     var deviceId = uuid();
885	  amplitude.getInstance().setDeviceId(deviceId);
886	  sessionStorage.setItem('amplitudeDeviceId', deviceId); */
887	</script>
887
888	
889	
889<script type="text/javascript">
890		window.signupParams = {source: "store", platform: "web", sourceId: null};
891		var showGraphyFomoFlag = '';
892		
893			showGraphyFomoFlag = '647ddedce4b0265070006b3b';
894		
895	</script>
895
896
897	
897<script type="text/javascript">
898		function hideCheckoutLoader() {
899			if(typeof window.hideLoader =="function") {
900				window.hideLoader();
901			}
902		}
903		var checkoutRedirectGuestUsers = 'signup';
904	</script>
904
905
906
907
908
909
910
911<script type="text/template" id="spcoursecard-2-template">
912		<div class="column third">
913			<@ var planName = getCoursePlanName(sessionCountry, item), price = getCoursePrice(sessionCountry, item, '18.0', ''), isPackage = item['spayee:resource']['spayee.courseType'] == 'package', courseId = isPackage ? '' : item._id, packageId = isPackage ? item._id : ''; @>
914			<a title="<@- item['spayee:resource']['spayee:title'] @>" href="<@ print(getCourseLandingPageUrl(item._id, item['spayee:resource']['spayee:courseUrl'])) @>"  amplitude-event="buy_now_tapped_course_checkout" amplitude-payload='{"plan_name": "<@- planName @>", "price": <@- price @>, "currency": "INR", "course_id": "<@- courseId @>", "is_package": <@- isPackage @>, "package_id": "<@- packageId @>"}' style="text-decoration: none;">
915			<@ var curl = "https://d502jbuhuh9wk.cloudfront.net/courses/"+ item._id +"/"+ item._id +"_scaled_cover.jpg?v=" + item['spayee:resource']['spayee:coverVersion']; if(isNaN(item['spayee:resource']['spayee:coverVersion'])) { curl = showCourseDefaultCover(null, item._id);   } @>
916			<img class="lazy" data-src="<@- curl @>" alt="<@- item['spayee:resource']['spayee:title'] @> cover" onerror="showCourseDefaultCover(this, '<@- item._id @>')">
917			<h4 class="size-21 text-ellipsis" style="text-wrap: balance;overflow: hidden;display: -webkit-box;-webkit-box-orient: vertical;-webkit-line-clamp: 1;"><@- item['spayee:resource']['spayee:title'] @></h4>
918			<p class="size-16"><@ if(item.rating !== undefined) { @>
919								<span class="text-gray ratingIcons icon-text">
920								<@ for(var i=1;i<6;i++) { @>
921									<@ if(item.rating.avgRating >= i) { @><i class="material-icons text-primary">star</i><@ }else if(item.rating.avgRating > i-1 && item.rating.avgRating < i) { @><i class="material-icons text-primary">star_half</i><@ }else { @>
922									<i class="material-icons">star_border</i>								
923								<@ } } @></span><span><@ print(formatRating(item['rating']['avgRating'])) @> (<@- item['rating']['total'] @> ratings)</span>
924			<@ }else { @> <span class="text-gray ratingIcons icon-text">&nbsp;</span> <@ } @></p>
925			<p class="size-16 text-ellipsis"><@ if(item['spayee:resource']['spayee:courseType'] === 'package') { @><@ print(item["courses-count"]!==undefined?item["courses-count"]:"0") @> Courses<@ }else { @>
926				<@ print(item["spayee:resource"]["spayee:publisher"]!==undefined?item["spayee:resource"]["spayee:publisher"]:"&nbsp;") @><@ } @></p>
927			
928			<p class="size-18"><span style="color: rgb(21, 101, 192);"><@ print(getCourseDisplayPrice('₹', sessionCountry, item, '18.0', '', true)) @></span><br></p>
929			<div style="margin:1em 0"></div>
930			</a>
931		</div>
932	</script>
vendor: 1 bytes, line 932
932
933<script type="text/template" id="spcoursecard-1-template">
934		<div class="column third">
935			<@ var planName = getCoursePlanName(sessionCountry, item), price = getCoursePrice(sessionCountry, item, '18.0', ''), isPackage = item['spayee:resource']['spayee.courseType'] == 'package', courseId = isPackage ? '' : item._id, packageId = isPackage ? item._id : ''; @>
936			<a title="<@- item['spayee:resource']['spayee:title'] @>" href="<@ print(getCourseLandingPageUrl(item._id, item['spayee:resource']['spayee:courseUrl'])) @>"  amplitude-event="buy_now_tapped_course_checkout" amplitude-payload='{"plan_name": "<@- planName @>", "price": <@- price @>, "currency": "INR", "course_id": "<@- courseId @>", "is_package": <@- isPackage @>, "package_id": "<@- packageId @>"}' style="text-decoration: none;">
937			<@ var curl = "https://d502jbuhuh9wk.cloudfront.net/courses/"+ item._id +"/"+ item._id +"_scaled_cover.jpg?v=" + item['spayee:resource']['spayee:coverVersion']; if(isNaN(item['spayee:resource']['spayee:coverVersion'])) { curl = showCourseDefaultCover(null, item._id);   } @>
938			<img class="lazy" data-src="<@- curl @>" alt="<@- item['spayee:resource']['spayee:title'] @> cover"  onerror="showCourseDefaultCover(this, '<@- item._id @>')">
939			<h4 class="size-21 text-ellipsis" style="text-wrap: balance;overflow: hidden;display: -webkit-box;-webkit-box-orient: vertical;-webkit-line-clamp: 1;"><@- item['spayee:resource']['spayee:title'] @></h4>
940			<div class="size-16 text-ellipsis" style="max-height: 3rem;"><@ print(item['spayee:resource']['spayee:shortDescription']!==undefined?item['spayee:resource']['spayee:shortDescription']:"") @></div>
941
942			<p class="size-18"><span style="color: rgb(21, 101, 192);"><@ print(getCourseDisplayPrice('₹', sessionCountry, item, '18.0', '', true)) @></span><br></p>
943			<div style="margin:1em 0"></div>
944			</a>
945		</div>
946	</script>
vendor: 1 bytes, line 946
946
947<script type="text/template" id="spcoursecard-3-template">
948		<div class="column third">
949			<@ var planName = getCoursePlanName(sessionCountry, item), price = getCoursePrice(sessionCountry, item, '18.0', ''), isPackage = item['spayee:resource']['spayee.courseType'] == 'package', courseId = isPackage ? '' : item._id, packageId = isPackage ? item._id : ''; @>
950			<a title="<@- item['spayee:resource']['spayee:title'] @>" href="<@ print(getCourseLandingPageUrl(item._id, item['spayee:resource']['spayee:courseUrl'])) @>"  amplitude-event="buy_now_tapped_course_checkout" amplitude-payload='{"plan_name": "<@- planName @>", "price": <@- price @>, "currency": "INR", "course_id": "<@- courseId @>", "is_package": <@- isPackage @>, "package_id": "<@- packageId @>"}' style="text-decoration: none;">
951			<@ var curl = "https://d502jbuhuh9wk.cloudfront.net/courses/"+ item._id +"/"+ item._id +"_scaled_cover.jpg?v=" + item['spayee:resource']['spayee:coverVersion']; if(isNaN(item['spayee:resource']['spayee:coverVersion'])) { curl = showCourseDefaultCover(null, item._id);   } @>
952			<img class="lazy" data-src="<@- curl @>" alt="<@- item['spayee:resource']['spayee:title'] @> cover"  onerror="showCourseDefaultCover(this, '<@- item._id @>')">
953			<h4 class="size-21 text-ellipsis" style="text-wrap: balance;overflow: hidden;display: -webkit-box;-webkit-box-orient: vertical;-webkit-line-clamp: 1;"><@- item['spayee:resource']['spayee:title'] @></h4>
954			<div class="size-16 text-ellipsis" style="max-height: 3rem;"><@ print(item['spayee:resource']['spayee:shortDescription']!==undefined?item['spayee:resource']['spayee:shortDescription']:"") @></div>
955			<p class="size-16 text-ellipsis"><@ if(item['spayee:resource']['spayee:courseType'] === 'package') { @><@ print(item["courses-count"]!==undefined?item["courses-count"]:"0") @> Courses<@ }else { @>
956				<@ print(item["spayee:resource"]["spayee:publisher"]!==undefined?item["spayee:resource"]["spayee:publisher"]:"&nbsp;") @><@ } @></p>
957			<p class="size-18"><span style="color: rgb(21, 101, 192);"><@ print(getCourseDisplayPrice('₹', sessionCountry, item, '18.0', '', true)) @></span><br></p>
958			<div style="margin:1em 0"></div>
959			</a>
960		</div>
961	</script>
961
962	
963<script type="text/template" id="spcoursecard-4-template">
964		<div class="column third text-center" style="padding-left: 1rem; padding-right: 1rem; margin-bottom: 0px;">
965			<@ var curl = "https://d502jbuhuh9wk.cloudfront.net/courses/"+ item._id +"/"+ item._id +"_scaled_cover.jpg?v=" + item['spayee:resource']['spayee:coverVersion']; if(isNaN(item['spayee:resource']['spayee:coverVersion'])) { curl = showCourseDefaultCover(null, item._id);   } @>
966			<@ var planName = getCoursePlanName(sessionCountry, item), price = getCoursePrice(sessionCountry, item, '18.0', ''), isPackage = item['spayee:resource']['spayee.courseType'] == 'package', courseId = isPackage ? '' : item._id, packageId = isPackage ? item._id : ''; @>
967			<a title="<@- item['spayee:resource']['spayee:title'] @>" href="<@ print(getCourseLandingPageUrl(item._id, item['spayee:resource']['spayee:courseUrl'])) @>"  amplitude-event="buy_now_tapped_course_checkout" amplitude-payload='{"plan_name": "<@- planName @>", "price": <@- price @>, "currency": "INR", "course_id": "<@- courseId @>", "is_package": <@- isPackage @>, "package_id": "<@- packageId @>"}' style="text-decoration: none;">
968			<img class="lazy" data-src="<@- curl @>" alt="<@- item['spayee:resource']['spayee:title'] @> cover"  onerror="showCourseDefaultCover(this, '<@- item._id @>')">
969			</a>
970			<h3 class="size-18 text-center" style="text-wrap: balance;overflow: hidden;display: -webkit-box;-webkit-box-orient: vertical;-webkit-line-clamp: 1;"><b class="text-primary"><@- item['spayee:resource']['spayee:title'] @></b></h3>
971			<div class="discription"><@ print(item['spayee:resource']['spayee:shortDescription']!==undefined?item['spayee:resource']['spayee:shortDescription']:"") @></div>
972			<p class="size-18 price text-primary"><@ print(getCourseDisplayPrice('₹', sessionCountry, item, '18.0', '', true)) @></p>
973			<a title="<@- item['spayee:resource']['spayee:title'] @>" href="<@ print(getCourseLandingPageUrl(item._id, item['spayee:resource']['spayee:courseUrl'])) @>" class="buy-btn btn btn-primary" amplitude-event="buy_now_tapped_course_checkout" amplitude-payload='{"plan_name": "<@- planName @>", "price": <@- price @>, "currency": "INR", "course_id": "<@- courseId @>", "is_package": <@- isPackage @>, "package_id": "<@- packageId @>"}'>Buy now<br></a>
974		</div>
975	</script>
975	
976<script type="text/template" id="spcoursecard-5-template">
977		<div class="column third" style="padding-left: 1rem; padding-right: 1rem; margin-bottom: 0px;">
978			<@ var curl = "https://d502jbuhuh9wk.cloudfront.net/courses/"+ item._id +"/"+ item._id +"_scaled_cover.jpg?v=" + item['spayee:resource']['spayee:coverVersion']; if(isNaN(item['spayee:resource']['spayee:coverVersion'])) { curl = showCourseDefaultCover(null, item._id);   } @>
979			<@ var planName = getCoursePlanName(sessionCountry, item), price = getCoursePrice(sessionCountry, item, '18.0', ''), isPackage = item['spayee:resource']['spayee.courseType'] == 'package', courseId = isPackage ? '' : item._id, packageId = isPackage ? item._id : ''; @>			
980			<a title="<@- item['spayee:resource']['spayee:title'] @>" href="<@ print(getCourseLandingPageUrl(item._id, item['spayee:resource']['spayee:courseUrl'])) @>"  amplitude-event="buy_now_tapped_course_checkout" amplitude-payload='{"plan_name": "<@- planName @>", "price": <@- price @>, "currency": "INR", "course_id": "<@- courseId @>", "is_package": <@- isPackage @>, "package_id": "<@- packageId @>"}' style="text-decoration: none;">
981			<img class="lazy" data-src="<@- curl @>" alt="<@- item['spayee:resource']['spayee:title'] @> cover"  onerror="showCourseDefaultCover(this, '<@- item._id @>')">
982			</a>
983			<h3 class="sub-heading"><b class="size-18 text-primary"><@- item['spayee:resource']['spayee:title'] @></b></h4>
984			<p class="size-16 description text-primary"> <@ if(item['spayee:resource']['spayee:courseType'] === 'package') { @><@ print(item["courses-count"]!==undefined?item["courses-count"]:"0") @> Courses<@ }else { @>
985				Instructor : <@ print(item["spayee:resource"]["spayee:publisher"]!==undefined?item["spayee:resource"]["spayee:publisher"]:"&nbsp;") @><@ } @></p>
986			<@if(item.rating){@>
987				<p class="size-16 description text-primary">Rating: &nbsp;
988 					<@ for (ratingsSize = 1; ratingsSize <= 5; ratingsSize++) {@>
989						<@if(item.rating){@> 
990							<@if(item.rating.avgRating){@> 
991								<@ if(item.rating.avgRating >= ratingsSize) {@> 
992									<i class="icon ion-android-star text-primary"></i>&nbsp; 
993								<@ } else if(item.rating.avgRating > ratingsSize-1 && item.rating.avgRating < ratingsSize) { @> 
994									<i class="icon ion-android-star-half text-primary"></i>&nbsp; 
995								<@ } @>
996							<@}@>		
997		  				<@}@>
998					<@}@>
999				</p>
1000			<@}@>
1001		
1002			<p class="size-18 price text-primary">Price : <@ print(getCourseDisplayPrice('₹', sessionCountry, item, '18.0', '', true)) @></p>
1003			<a title="<@- item['spayee:resource']['spayee:title'] @>" href="<@ print(getCourseLandingPageUrl(item._id, item['spayee:resource']['spayee:courseUrl'])) @>" class="buy-btn btn btn-primary" amplitude-event="buy_now_tapped_course_checkout" amplitude-payload='{"plan_name": "<@- planName @>", "price": <@- price @>, "currency": "INR", "course_id": "<@- courseId @>", "is_package": <@- isPackage @>, "package_id": "<@- packageId @>"}'>Buy now</a>
1004		</div>
1005	</script>
1005
1006	
1007<script type="text/template" id="spcoursecard-6-template">
1008		<div class="column third">
1009			<@ var curl = "https://d502jbuhuh9wk.cloudfront.net/courses/"+ item._id +"/"+ item._id +"_scaled_cover.jpg?v=" + item['spayee:resource']['spayee:coverVersion']; if(isNaN(item['spayee:resource']['spayee:coverVersion'])) { curl = showCourseDefaultCover(null, item._id);   } @>
1010			<@ var planName = getCoursePlanName(sessionCountry, item), price = getCoursePrice(sessionCountry, item, '18.0', ''), isPackage = item['spayee:resource']['spayee.courseType'] == 'package', courseId = isPackage ? '' : item._id, packageId = isPackage ? item._id : ''; @>
1011				
1012				
1013				<@  var itemCategory =  (item['spayee:resource']['spayee:filter1'] !== undefined)? item['spayee:resource']['spayee:filter1'][0]:''@>
1014				
1015				<@ if (item['spayee:resource']['spayee:availableForMarket']==="true" ) { @> 
1016				   <a title="<@- item['spayee:resource']['spayee:title'] @>" href="<@ print(getCourseLandingPageUrl(item._id, item['spayee:resource']['spayee:courseUrl'])) @>"  amplitude-event="course_card_tapped_checkout" amplitude-payload='{"<@-  item['spayee:resource']['spayee:courseType']== 'package' ? "package_id" : "course_id" @>": "<@- item._id @>","is_a_package":"<@-  item['spayee:resource']['spayee:courseType']== 'package' ? "true" : "false" @>","price_on_card":"<@- removeCurrencySymbol(getCourseDisplayPrice('₹', sessionCountry, item, '18.0', '', false)) @>","currency":"INR","multiple_pricing_plans_exist":"<@- isMultiplePlansAvailable(sessionCountry, item) @>","wallet_coins_enabled_on_school":"<@- true @>","category":"<@- itemCategory @>"}'>
1017				<@ } else { @>
1018 				   <a title="<@- item['spayee:resource']['spayee:title'] @>" amplitude-event="course_card_tapped_checkout" amplitude-payload='{"<@-  item['spayee:resource']['spayee:courseType']== 'package' ? "package_id" : "course_id" @>": "<@- item._id @>","is_a_package":"<@-  item['spayee:resource']['spayee:courseType']== 'package' ? "true" : "false" @>","price_on_card":"<@- removeCurrencySymbol(getCourseDisplayPrice('₹', sessionCountry, item, '18.0', '', false)) @>","currency":"INR","multiple_pricing_plans_exist":"<@- isMultiplePlansAvailable(sessionCountry, item) @>","wallet_coins_enabled_on_school":"<@- true @>","category":"<@- itemCategory @>"}'>  
1019                <@ } @>
1020			
1021			
1022			<img class="lazy" data-src="<@- curl @>" alt="<@- item['spayee:resource']['spayee:title'] @> cover"  onerror="showCourseDefaultCover(this, '<@- item._id @>')" style="border-radius: 20px; margin-bottom: 0px; width: 100%; height: 190px;object-fit:cover;">
1023			</a>
1024			<div style="font-weight: 800; line-height: 1.1; text-wrap: balance;overflow: hidden;display: -webkit-box;-webkit-box-orient: vertical;-webkit-line-clamp: 1;" class="text-ellipsis"><@- item['spayee:resource']['spayee:title'] @></div>
1025			<p class="size-16 description text-primary"><@ if(item['spayee:resource']['spayee:courseType'] === 'package') { @> Courses<@ } @></p>
1026			<p class="size-18 price text-primary"><@ if (item['spayee:resource']['spayee:availableForMarket']==="true" ) @> <@ print(getCourseDisplayPrice('₹', sessionCountry, item, '18.0', '', false)) @></p>
1027			<@ if (item.isMembershipPage != undefined && !item.isMembershipPage) { @>
1028            
1029				
1030					<@ var itemCategory =  (item['spayee:resource']['spayee:filter1'] !== undefined)? item['spayee:resource']['spayee:filter1'][0]:'' @>
1031					<@ if(isMultiplePlansAvailable(sessionCountry, item) === false) { @>
1032						<a title="<@- item['spayee:resource']['spayee:title'] @>" href="/single-checkout/<@- item['_id'] @>?pid=<@ print(getCoursePid(sessionCountry, item)) @>" class="buy-btn btn btn-primary" amplitude-event="course_buy_now_tapped_checkout" amplitude-payload='{"<@-  item['spayee:resource']['spayee:courseType']== 'package' ? "package_id" : "course_id" @>": "<@- item._id @>","is_a_package":"<@-  item['spayee:resource']['spayee:courseType']== 'package' ? "true" : "false" @>","price_on_card":"<@- removeCurrencySymbol(getCourseDisplayPrice('₹', sessionCountry, item, '18.0', '', false)) @>","currency":"INR","multiple_pricing_plans_exist":"<@- isMultiplePlansAvailable(sessionCountry, item) @>","wallet_coins_enabled_on_school":"<@- true @>","category":"<@- itemCategory @>"}' style="border: none;padding: 16px 61px; font-size: 16px; letter-spacing: 0.08px; line-height: 16px; font-weight: 600; text-decoration: none; display: block; text-align: center;">
1033							Buy now
1034						</a>
1035					<@ } else { @>
1036
1037						<a title="<@- item['spayee:resource']['spayee:title'] @>" href="<@ print(getCourseLandingPageUrl(item._id, item['spayee:resource']['spayee:courseUrl'])) @>" class="buy-btn btn btn-primary" amplitude-event="course_buy_now_tapped_checkout" amplitude-payload='{"<@-  item['spayee:resource']['spayee:courseType']== 'package' ? "package_id" : "course_id" @>": "<@- item._id @>","is_a_package":"<@-  item['spayee:resource']['spayee:courseType']== 'package' ? "true" : "false" @>","price_on_card":"<@- removeCurrencySymbol(getCourseDisplayPrice('₹', sessionCountry, item, '18.0', '', false)) @>","currency":"INR","multiple_pricing_plans_exist":"<@- isMultiplePlansAvailable(sessionCountry, item) @>","wallet_coins_enabled_on_school":"<@- true @>","category":"<@- itemCategory @>"}' style="border: none;padding: 16px 61px; font-size: 16px; letter-spacing: 0.08px; line-height: 16px; font-weight: 600; text-decoration: none; display: block; text-align: center;">
1038							Buy now
1039						</a>
1040					<@ } @>
1041				
1042				
1043			
1044			<@ } @>
1045		</div>
1046	</script>
1046			
1047	
1048	
1049<script type="text/template" id="spcoursecard-7-template">
1050		<div class="column third course-mob-block">
1051			<div class="inner-course-block">
1052			<@ var curl = "https://d502jbuhuh9wk.cloudfront.net/courses/"+ item._id +"/"+ item._id +"_scaled_cover.jpg?v=" + item['spayee:resource']['spayee:coverVersion']; if(isNaN(item['spayee:resource']['spayee:coverVersion'])) { curl = showCourseDefaultCover(null, item._id);   } @>
1053			<@ var planName = getCoursePlanName(sessionCountry, item), price = getCoursePrice(sessionCountry, item, '18.0', ''), isPackage = item['spayee:resource']['spayee.courseType'] == 'package', courseId = isPackage ? '' : item._id, packageId = isPackage ? item._id : ''; @>			
1054			<a title="<@- item['spayee:resource']['spayee:title'] @>" href="<@ print(getCourseLandingPageUrl(item._id, item['spayee:resource']['spayee:courseUrl'])) @>"  amplitude-event="buy_now_tapped_course_checkout" amplitude-payload='{"plan_name": "<@- planName @>", "price": <@- price @>, "currency": "INR", "course_id": "<@- courseId @>", "is_package": <@- isPackage @>, "package_id": "<@- packageId @>"}' style="text-decoration: none;">
1055			<img class="lazy" data-style="width: 100%; height: auto;" data-src="<@- curl @>" alt="<@- item['spayee:resource']['spayee:title'] @> cover"  onerror="showCourseDefaultCover(this, '<@- item._id @>')" >
1056			</a>
1057			<div class="course-price-block">
1058			<p class="text-ellipsis" title="<@- item['spayee:resource']['spayee:title'] @>" style="font-size: 18px; font-weight: 700; line-height: 1.3rem; width: 100%; margin-top: 0px; margin-bottom: 0px; min-height: 47px; text-wrap: balance;overflow: hidden;display: -webkit-box;-webkit-box-orient: vertical;-webkit-line-clamp: 1;">
1059				<@- item['spayee:resource']['spayee:title'] @>
1060			</p>
1061			<p class="text-primary" style="word-break: break-all; font-size: 14px; font-weight: 500; line-height: 1.5; margin-top: 16px; margin-bottom: 0px;">
1062					<@ print(getCourseDisplayPrice('₹', sessionCountry, item, '18.0', '', false)) @>
1063			</p>
1064			</div>
1065			<a title="<@- item['spayee:resource']['spayee:title'] @>" href="<@ print(getCourseLandingPageUrl(item._id, item['spayee:resource']['spayee:courseUrl'])) @>" class="buy-btn btn btn-primary" amplitude-event="buy_now_tapped_course_checkout" amplitude-payload='{"plan_name": "<@- planName @>", "price": <@- price @>, "currency": "INR", "course_id": "<@- courseId @>", "is_package": <@- isPackage @>, "package_id": "<@- packageId @>"}' style="display: inline-block; text-decoration: none; transition: all 0.16s ease 0s; border: none; cursor: pointer; border-radius: 4px; padding: 13px 28px; line-height: 1.5; font-weight: 600; font-size: 14px; letter-spacing: 0.15px; margin-top: 28px;">
1066				Enroll now
1067			</a>
1068			</div>
1069		</div>
1070</script>
1070		
1071	
1072<script type="text/template" id="spcoursecard-8-template">
1073	 <div class="row clearfix" style="margin-bottom: 24px; margin-top: 14px;">
1074			<@ var curl = "https://d502jbuhuh9wk.cloudfront.net/courses/"+ item._id +"/"+ item._id +"_scaled_cover.jpg?v=" + item['spayee:resource']['spayee:coverVersion']; if(isNaN(item['spayee:resource']['spayee:coverVersion'])) { curl = showCourseDefaultCover(null, item._id);   } @>
1075			<@ var planName = getCoursePlanName(sessionCountry, item), price = getCoursePrice(sessionCountry, item, '18.0', ''), isPackage = item['spayee:resource']['spayee.courseType'] == 'package', courseId = isPackage ? '' : item._id, packageId = isPackage ? item._id : ''; @>
1076                    <div class="column third center" style="padding-left: 0px; padding-right: 0px;">
1077                        <img
1078                            class="lazy" data-src="<@- curl @>" alt="<@- item['spayee:resource']['spayee:title'] @> cover"  onerror="showCourseDefaultCover(this, '<@- item._id @>')"
1079                            style="margin-top: 0px; margin-bottom: 0px;"
1080                        />
1081                    </div>
1082                    <div class="column two-third course-block-mob" style="display: flex; flex-direction: column; justify-content: center;">
1083                        <div class="course-price-block">	
1084							<h3 style="color: rgb(255, 255, 255); font-size: 18px; font-weight: 700; line-height: 1.1; margin-bottom: 0px; margin-top: 0px; text-wrap: balance;overflow: hidden;display: -webkit-box;-webkit-box-orient: vertical;-webkit-line-clamp: 1;">
1085								<@- item['spayee:resource']['spayee:title'] @>
1086							</h3>
1087                        	<div class="sortDescription8">
1088                            	<@ print(item['spayee:resource']['spayee:shortDescription']!==undefined?item['spayee:resource']['spayee:shortDescription']:"") @>
1089                        	</div>
1090						</div>
1091
1092                        <a class="buy-btn btn btn-primary" title="<@- item['spayee:resource']['spayee:title'] @>" amplitude-event="buy_now_tapped_course_checkout" amplitude-payload='{"plan_name": "<@- planName @>", "price": <@- price @>, "currency": "INR", "course_id": "<@- courseId @>", "is_package": <@- isPackage @>, "package_id": "<@- packageId @>"}' href="<@ print(getCourseLandingPageUrl(item._id, item['spayee:resource']['spayee:courseUrl'])) @>" style="width: fit-content; text-align: left; display: inline-block; text-decoration: none; transition: all 0.16s ease 0s; cursor: pointer; background-color: rgb(231, 215, 73); color: rgb(0, 0, 0);border-radius: 0px;padding: 16px 48px;line-height: 16px;font-weight: 700;font-size: 16px;letter-spacing: 0.08px;border-image: initial;">
1093                            Enroll for <@ print(getCourseDisplayPrice('₹', sessionCountry, item, '18.0', '', false)) @>
1094                        </a>
1095					</div>
1096        </div>
1097	</script>
1097	
1098
1099
1100	<!-- vegas TEMPLATE 9 NEW-->
1101	
1101<script type="text/template" id="spcoursecard-9-template" >
1102    <div class="column third text-center course-card-fixed-height" style="padding-left: 1rem; padding-right: 1rem; margin-bottom: 2rem; text-align:left;">
1103        <div style="border:1px solid #D7D7D7; border-radius:24px; padding-bottom: 20px; height: 100%; display: flex; flex-direction: column;">
1104            <@ var curl = "https://d502jbuhuh9wk.cloudfront.net/courses/"+ item._id +"/"+ item._id +"_scaled_cover.jpg?v=" + item['spayee:resource']['spayee:coverVersion']; if(isNaN(item['spayee:resource']['spayee:coverVersion'])) { curl = showCourseDefaultCover(null, item._id); } @>
1105            <@ var planName = getCoursePlanName(sessionCountry, item), price = getCoursePrice(sessionCountry, item, '18.0', ''), isPackage = item['spayee:resource']['spayee.courseType'] == 'package', courseId = isPackage ? '' : item._id, packageId = isPackage ? item._id : ''; @>
1106            
1107            <a style="color:black; text-align:left;" title="<@- item['spayee:resource']['spayee:title'] @>" href="<@ print(getCourseLandingPageUrl(item._id, item['spayee:resource']['spayee:courseUrl'])) @>" amplitude-event="buy_now_tapped_course_checkout" amplitude-payload='{"plan_name": "<@- planName @>", "price": <@- price @>, "currency": "INR", "course_id": "<@- courseId @>", "is_package": <@- isPackage @>, "package_id": "<@- packageId @>"}'>
1108                <img style="height:200px; width:100%; object-fit:fill; margin:0px 0px; border-top-left-radius:24px; border-top-right-radius:24px;" class="lazy" data-src="<@- curl @>" alt="<@- item['spayee:resource']['spayee:title'] @> cover" onerror="showCourseDefaultCover(this, '<@- item._id @>')">
1109            </a>
1110            
1111			<div style="padding:10px 20px; flex-grow: 1; display: flex; flex-direction: column;" class="course-card-content">
1112				<h3 
1113					class="size-18 text-left" 
1114					title="<@- item['spayee:resource']['spayee:title'] @>" 
1115					style="white-space: nowrap; overflow: hidden; text-overflow: ellipsis; width: 100%; display: block; margin-bottom: 12px; color: black;"
1116				>
1117					<b style="color:black;"><@- item['spayee:resource']['spayee:title'] @></b>
1118				</h3>
1119			
1120				<div 
1121					class="size-16 text-ellipsis course-card-text" 
1122					title="<@= (item['spayee:resource']['spayee:shortDescription'] || ' ').replace(/<[^>]*>/g, '') @>" 
1123					style="max-height: 3rem; min-height: 3rem; margin-bottom: 12px; overflow: hidden; display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 1;"
1124				>
1125				<@= (item['spayee:resource']['spayee:shortDescription'] || '').replace(/<[^>]*>/g, '') @>
1126				</div>
1127			</div>
1128			
1129                <div style="margin-top: auto; margin-left:10px;">
1130                    <a style="background-color:#FB5607 !important; border:0px !important; border-radius:62px !important; padding:10px 16px !important; width: fit-content; display: inline-block; text-decoration: none; color: white; padding: 12px 24px; font-weight: 600 !important; font-size: 16px;letter-spacing:0px; !important" 
1131                       class="buy-btn btn btn-primary" 
1132                       title="<@- item['spayee:resource']['spayee:title'] @>" 
1133                       amplitude-event="buy_now_tapped_course_checkout" 
1134                       amplitude-payload='{"plan_name": "<@- planName @>", "price": <@- price @>, "currency": "INR", "course_id": "<@- courseId @>", "is_package": <@- isPackage @>, "package_id": "<@- packageId @>"}' 
1135                       href="<@ print(getCourseLandingPageUrl(item._id, item['spayee:resource']['spayee:courseUrl'])) @>">
1136                        Enroll for <@ print(getCourseDisplayPrice('₹', sessionCountry, item, '18.0', '', false)) @>
1137                    </a>
1138                </div>
1139            </div>
1140        </div>
1141    </div>
1142</script>
1142
1143
1144			<!--Blaze Course nEW tEMPLATE 10-->
1145			
1145<script type="text/template" id="spcoursecard-10-template">
1146							<div class="column third text-center course-card-fixed-height" style="padding-left: 1rem; padding-right: 1rem; margin-bottom: 10px;margin-top:10px; text-align:left;">
1147								<div style="height: 100%; display: flex; flex-direction: column;">
1148									<@ var curl = "https://d502jbuhuh9wk.cloudfront.net/courses/"+ item._id +"/"+ item._id +"_scaled_cover.jpg?v=" + item['spayee:resource']['spayee:coverVersion']; if(isNaN(item['spayee:resource']['spayee:coverVersion'])) { curl = showCourseDefaultCover(null, item._id); } @>
1149									<@ var planName = getCoursePlanName(sessionCountry, item), price = getCoursePrice(sessionCountry, item, '18.0', ''), isPackage = item['spayee:resource']['spayee.courseType'] == 'package', courseId = isPackage ? '' : item._id, packageId = isPackage ? item._id : ''; @>
1150									
1151									<a style="color:black; text-align:left;" title="<@- item['spayee:resource']['spayee:title'] @>" href="<@ print(getCourseLandingPageUrl(item._id, item['spayee:resource']['spayee:courseUrl'])) @>" amplitude-event="buy_now_tapped_course_checkout" amplitude-payload='{"plan_name": "<@- planName @>", "price": <@- price @>, "currency": "INR", "course_id": "<@- courseId @>", "is_package": <@- isPackage @>, "package_id": "<@- packageId @>"}' style="text-decoration: none; color:black; font-size:24px;">
1152										<img style="height:320px;  object-fit:cover; margin:0px 0px;" class="lazy" data-src="<@- curl @>" alt="<@- item['spayee:resource']['spayee:title'] @> cover" onerror="showCourseDefaultCover(this, '<@- item._id @>')">
1153									</a>
1154									
1155									<div style=" flex-grow: 1; display: flex; flex-direction: column;" class="course-card-content">
1156										<h3 
1157			    class="size-18 text-left" 
1158			    style="white-space: nowrap; overflow: hidden; text-overflow: ellipsis; width: 100%; display: block; margin-bottom: 12px; color: white;"
1159			>
1160			    <b title="<@= item['spayee:resource']['spayee:title'] @>" style="color:white;">
1161			        <@- item['spayee:resource']['spayee:title'] @>
1162			    </b>
1163			</h3>
1164										
1165										<div title="<@= (item['spayee:resource']['spayee:shortDescription'] || ' ').replace(/<[^>]*>/g, '') @>" class="size-16 text-ellipsis course-card-text" style="max-height: 3rem; min-height: 3rem; margin-bottom: 12px; overflow: hidden; display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 1;color:white;">
1166											<@= (item['spayee:resource']['spayee:shortDescription'] || '').replace(/<[^>]*>/g, '') @>
1167										</div>
1168										
1169										<div style="margin-top: auto;">
1170											<a style="width:100% !important;font-weight:600 !important; letter-spacing:0px; color:black !important; background-color:#D8FD46 !important; border:0px !important; border-radius:0px !important; padding:20px 36px !important; width: fit-content; display: inline-block; text-decoration: none; transition: all 0.16s ease 0s; cursor: pointer; padding: 16px 28px; line-height: 16px; font-weight: 700; font-size: 16px; letter-spacing: 0px; border-image: initial;" 
1171											class="buy-btn btn btn-primary" 
1172											title="<@- item['spayee:resource']['spayee:title'] @>" 
1173											amplitude-event="buy_now_tapped_course_checkout" 
1174											amplitude-payload='{"plan_name": "<@- planName @>", "price": <@- price @>, "currency": "INR", "course_id": "<@- courseId @>", "is_package": <@- isPackage @>, "package_id": "<@- packageId @>"}' 
1175											href="<@ print(getCourseLandingPageUrl(item._id, item['spayee:resource']['spayee:courseUrl'])) @>">
1176											 Enroll for <@ print(getCourseDisplayPrice('₹', sessionCountry, item, '18.0', '', false)) @>
1177										 </a>
1178			
1179										</div>
1180									</div>
1181								</div>
1182							</div>
1183						</script>
1183
1184			
1185			<!--Olive Course 11-->
1186			
1186<script type="text/template" id="spcoursecard-11-template" >
1187				<@ 
1188				// Calculate colors based on index
1189				var colorIndex = (typeof window.courseCardColorIndex === 'undefined') ? 0 : window.courseCardColorIndex;
1190				var colors = [
1191					{ bg: '#FFA46B', btnBg: '#361500' },  // Orange card → Dark brown button
1192					{ bg: '#87A1F6', btnBg: '#001A71' },  // Blue card → Dark blue button
1193					{ bg: '#B073DC', btnBg: '#34005A' }  // Purple card → Dark brown button (default)
1194				];
1195				var currentColor = colors[colorIndex % 3];
1196				window.courseCardColorIndex = colorIndex + 1;
1197				@>
1198				
1199				<div class="column third text-center course-card course-card-fixed-height" style="padding: 0 15px; margin-bottom: 30px;">
1200					<div class="course-card-wrapper" style="background-color: <@- currentColor.bg @>; height: 100%; border-radius: 32px; overflow: hidden;">
1201						<@ var curl = "https://d502jbuhuh9wk.cloudfront.net/courses/"+ item._id +"/"+ item._id +"_scaled_cover.jpg?v=" + item['spayee:resource']['spayee:coverVersion']; 
1202						if(isNaN(item['spayee:resource']['spayee:coverVersion'])) { curl = showCourseDefaultCover(null, item._id); } @>
1203						
1204						<a class="course-image-link" style="display: block; padding: 16px;padding-bottom:0px" title="<@- item['spayee:resource']['spayee:title'] @>" href="<@ print(getCourseLandingPageUrl(item._id, item['spayee:resource']['spayee:courseUrl'])) @>">
1205							<img style="height:320px; width:100%; object-fit:cover; border-radius: 32px;" class="lazy" data-src="<@- curl @>" alt="<@- item['spayee:resource']['spayee:title'] @> cover" onerror="showCourseDefaultCover(this, '<@- item._id @>')">
1206						</a>
1207						
1208						<div style="padding: 20px;" class="course-card-content">
1209							<h3 style="font-size:24px; text-transform:uppercase; color: black; margin: 0 0 15px 0; text-align: left;white-space:nowrap; overflow: hidden; text-overflow: ellipsis;width: 100%;display:block;">
1210								<b title="<@= item['spayee:resource']['spayee:title'] @>"><@- item['spayee:resource']['spayee:title'] @></b>
1211							</h3>
1212							<div title="<@= (item['spayee:resource']['spayee:shortDescription'] || ' ').replace(/<[^>]*>/g, '') @>" class="size-16 text-ellipsis course-card-text" style="max-height: 3rem; min-height: 3rem; color:black; margin-bottom: 12px;text-align: left;">
1213								<@ print(item['spayee:resource']['spayee:shortDescription']!==undefined?item['spayee:resource']['spayee:shortDescription']:"&nbsp;") @>
1214							</div>
1215							<a class="enroll-button" 
1216							   style="display: block; 
1217									  background-color: <@- currentColor.btnBg @>; 
1218									  color: white !important; 
1219									  padding: 12px; 
1220									  text-align: center; 
1221									  font-weight: 600; 
1222									  text-decoration: none;
1223									  border-radius: 32px;"
1224							   href="<@ print(getCourseLandingPageUrl(item._id, item['spayee:resource']['spayee:courseUrl'])) @>">
1225								Enroll for <@ print(getCourseDisplayPrice('₹', sessionCountry, item, '18.0', '', false)) @>
1226							</a>
1227						</div>
1228					</div>
1229				</div>
1230				
1231			</script>
1231
1232			
1233
1234			<!-- Nebula Course 12-->
1235			
1235<script type="text/template" id="spcoursecard-12-template" >
1236				<div class="column third text-center course-card-fixed-height" style="padding-left: 1rem; padding-right: 1rem; margin-bottom: 2rem; text-align:left;">
1237					<div style="border:0px; border-radius:16px; padding-bottom: 20px; height: 100%; display: flex; flex-direction: column;">
1238						<@ var curl = "https://d502jbuhuh9wk.cloudfront.net/courses/"+ item._id +"/"+ item._id +"_scaled_cover.jpg?v=" + item['spayee:resource']['spayee:coverVersion']; if(isNaN(item['spayee:resource']['spayee:coverVersion'])) { curl = showCourseDefaultCover(null, item._id); } @>
1239						<@ var planName = getCoursePlanName(sessionCountry, item), price = getCoursePrice(sessionCountry, item, '18.0', ''), isPackage = item['spayee:resource']['spayee.courseType'] == 'package', courseId = isPackage ? '' : item._id, packageId = isPackage ? item._id : ''; @>
1240						
1241						<a style="color:black; text-align:left;" title="<@- item['spayee:resource']['spayee:title'] @>" href="<@ print(getCourseLandingPageUrl(item._id, item['spayee:resource']['spayee:courseUrl'])) @>" amplitude-event="buy_now_tapped_course_checkout" amplitude-payload='{"plan_name": "<@- planName @>", "price": <@- price @>, "currency": "INR", "course_id": "<@- courseId @>", "is_package": <@- isPackage @>, "package_id": "<@- packageId @>"}'>
1242							<img style="height:240px; width:100%; object-fit:fill; margin:0px 0px; border-radius:16px; " class="lazy" data-src="<@- curl @>" alt="<@- item['spayee:resource']['spayee:title'] @> cover" onerror="showCourseDefaultCover(this, '<@- item._id @>')">
1243						</a>
1244						
1245						<div style="padding:10px 0px; flex-grow: 1; display: flex; flex-direction: column;" class="course-card-content">
1246							<h3 
1247								class="size-18 text-left" 
1248								title="<@- item['spayee:resource']['spayee:title'] @>" 
1249								style="white-space: nowrap; overflow: hidden; text-overflow: ellipsis; width: 100%; display: block; margin-bottom: 12px; color: black;"
1250							>
1251								<b style="color:black;"><@- item['spayee:resource']['spayee:title'] @></b>
1252							</h3>
1253						
1254							<div 
1255								class="size-16 text-ellipsis course-card-text" 
1256								title="<@= (item['spayee:resource']['spayee:shortDescription'] || ' ').replace(/<[^>]*>/g, '') @>" 
1257								style="max-height: 3rem; min-height: 3rem; margin-bottom: 12px; overflow: hidden; display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 1;"
1258							>
1259							<@= (item['spayee:resource']['spayee:shortDescription'] || '').replace(/<[^>]*>/g, '') @>
1260							</div>
1261						</div>
1262							
1263							<div style="margin-top: auto; margin-left:0px;">
1264								<a style="background-color:#6715FF !important;  border-radius:12px !important; padding:10px 16px !important; width: fit-content; display: inline-block; text-decoration: none; color: white; padding: 12px 24px; font-weight: 600 !important; font-size: 16px;letter-spacing:0px; !important" 
1265								   class="buy-btn btn btn-primary" 
1266								   title="<@- item['spayee:resource']['spayee:title'] @>" 
1267								   amplitude-event="buy_now_tapped_course_checkout" 
1268								   amplitude-payload='{"plan_name": "<@- planName @>", "price": <@- price @>, "currency": "INR", "course_id": "<@- courseId @>", "is_package": <@- isPackage @>, "package_id": "<@- packageId @>"}' 
1269								   href="<@ print(getCourseLandingPageUrl(item._id, item['spayee:resource']['spayee:courseUrl'])) @>">
1270									Enroll for <@ print(getCourseDisplayPrice('₹', sessionCountry, item, '18.0', '', false)) @>
1271								</a>
1272							</div>
1273						</div>
1274					</div>
1275				</div>
1276			</script>
1276
1277
1278
1279
1280		<!--Dusk Course-13-->
1281		
1281<script type="text/template" id="spcoursecard-13-template" >
1282			<div class="column third text-center course-card-fixed-height" style="padding-left: 1rem; padding-right: 1rem; margin-bottom: 2rem; text-align:left;">
1283				<div style="border:0px; border-radius:16px; padding-bottom: 20px; height: 100%; display: flex; flex-direction: column;">
1284					<@ var curl = "https://d502jbuhuh9wk.cloudfront.net/courses/"+ item._id +"/"+ item._id +"_scaled_cover.jpg?v=" + item['spayee:resource']['spayee:coverVersion']; if(isNaN(item['spayee:resource']['spayee:coverVersion'])) { curl = showCourseDefaultCover(null, item._id); } @>
1285					<@ var planName = getCoursePlanName(sessionCountry, item), price = getCoursePrice(sessionCountry, item, '18.0', ''), isPackage = item['spayee:resource']['spayee.courseType'] == 'package', courseId = isPackage ? '' : item._id, packageId = isPackage ? item._id : ''; @>
1286					
1287					<a style="color:black; text-align:left;" title="<@- item['spayee:resource']['spayee:title'] @>" href="<@ print(getCourseLandingPageUrl(item._id, item['spayee:resource']['spayee:courseUrl'])) @>" amplitude-event="buy_now_tapped_course_checkout" amplitude-payload='{"plan_name": "<@- planName @>", "price": <@- price @>, "currency": "INR", "course_id": "<@- courseId @>", "is_package": <@- isPackage @>, "package_id": "<@- packageId @>"}'>
1288						<img style="height:240px; width:100%; object-fit:fill; margin:0px 0px; border-radius:16px; " class="lazy" data-src="<@- curl @>" alt="<@- item['spayee:resource']['spayee:title'] @> cover" onerror="showCourseDefaultCover(this, '<@- item._id @>')">
1289					</a>
1290					
1291					<div style="padding:10px 0px; flex-grow: 1; display: flex; flex-direction: column;" class="course-card-content">
1292						<h3 
1293							class="size-18 text-left" 
1294							title="<@- item['spayee:resource']['spayee:title'] @>" 
1295							style="white-space: nowrap; overflow: hidden; text-overflow: ellipsis; width: 100%; display: block; margin-bottom: 12px; color: black;"
1296						>
1297							<b style="color:black;"><@- item['spayee:resource']['spayee:title'] @></b>
1298						</h3>
1299					
1300						<div 
1301							class="size-16 text-ellipsis course-card-text" 
1302							title="<@= (item['spayee:resource']['spayee:shortDescription'] || ' ').replace(/<[^>]*>/g, '') @>" 
1303							style="max-height: 3rem; min-height: 3rem; margin-bottom: 12px; overflow: hidden; display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 1;"
1304						>
1305						<@= (item['spayee:resource']['spayee:shortDescription'] || '').replace(/<[^>]*>/g, '') @>
1306						</div>
1307					</div>
1308					
1309				   
1310						
1311						<div style="margin-top: auto; margin-left:0px;">
1312							<a style="background-color:#282400 !important;border:0px ;  border-radius:41px !important; padding:10px 24px !important; width: fit-content; display: inline-block; text-decoration: none; color: white; padding: 12px 24px; font-weight: 600 !important; font-size: 16px;letter-spacing:0px; !important" 
1313							   class="buy-btn btn btn-primary" 
1314							   title="<@- item['spayee:resource']['spayee:title'] @>" 
1315							   amplitude-event="buy_now_tapped_course_checkout" 
1316							   amplitude-payload='{"plan_name": "<@- planName @>", "price": <@- price @>, "currency": "INR", "course_id": "<@- courseId @>", "is_package": <@- isPackage @>, "package_id": "<@- packageId @>"}' 
1317							   href="<@ print(getCourseLandingPageUrl(item._id, item['spayee:resource']['spayee:courseUrl'])) @>">
1318								Enroll for <@ print(getCourseDisplayPrice('₹', sessionCountry, item, '18.0', '', false)) @>
1319							</a>
1320						</div>
1321					</div>
1322				</div>
1323			</div>
1324		</script>
1324
1325			
1326			
1327
1328
1329
1330
1331
1332
1333
1334<!-- Curriculum 1st Template -->
1335<script type="text/template" id="coursecurr-1-template">
1336       <table class="table courseContents">
1337        <thead>
1338            <tr>
1339                <td style="width: 50px;"></td>
1340                <td style="width: 50px;"></td>
1341                <td></td>
1342            </tr>
1343        </thead>
1344        <tbody>
1345            <@ $.each(item, function(index, value) { @>
1346            <tr>
1347                <td><i class="material-icons courseItemIcon" data-type="<@- value.type @>"></i></td>
1348                <td colspan="2">
1349                    <@- value.title @> 
1350					<@ if(value.type == 'aiheading') { @>
1351						<small>(coming soon)</small><@ } @>
1352					<@ if(assetInfo && value.type == 'video' && value.duration !== undefined && value.duration > 0) { @>
1353						<small>(<@ print(Math.floor(value.duration)) @>:00)</small><@ } @>
1354					<@ if(assetInfo && value.type == 'pdf' && value.pages !== undefined && value.pages > 0) { @>
1355						<small>(<@- value.pages @> pages)</small>
1356					<@ } @>
1357                </td>
1358            </tr>
1359            <@ if(value.items != undefined) { @> <@ $.each(value['items'], function(index1, value1) { @>
1360            <tr>
1361                <td></td>
1362                <td><i class="material-icons courseItemIcon" data-type="<@- value1.type @>"></i></td>
1363                <td>
1364                    <@- value1.title @>
1365					<@ if(assetInfo && value.type == 'video' && value1.duration !== undefined && value1.duration > 0) { @><small>(<@ print(Math.floor(value1.duration)) @>:00)</small><@ } @>
1366					<@ if(assetInfo && value1.type =='pdf' && value1.pages !== undefined && value1.pages > 0) { @><small>(<@- value1.pages @> pages)</small><@ } @>
1367					<@ if(value1.type =='aiheading') { @><small>(coming soon)</small><@ } @>
1368                </td>
1369            </tr>
1370            <@ }); @> <@ } @> <@ }); @>
1371        </tbody>
1372    </table>
1373</script>
1373
1374
1375
1376<!-- Curriculum 2nd Template -->
1377<script type="text/template" id="coursecurr-2-template">
1378    <div class="column full curriculum2"  spellcheck="false">
1379      <div class="course-content1" >
1380    	<p style="font-size: 15px; font-weight: 400; margin-top: 0px;">
1381    		<@if(summary.modules && summary.modules>0){@>
1382    			<@print(summary.modules)@> Modules &nbsp;<i class="icon ion-android-folder-open"></i>&nbsp; &nbsp; <@if(summary.sessions && summary.sessions>0 && curriculumAssetInfo){@>|<@}@>&nbsp; &nbsp;
1383    		<@}@>
1384    		<@if(summary.sessions && summary.sessions>0 && curriculumAssetInfo){@>
1385    			<@print(summary.sessions)@> Sessions <i class="icon ion-android-laptop"></i>&nbsp; &nbsp; <@if(summary.durations && summary.durations>0 && curriculumAssetInfo){@>|<@}@>&nbsp; &nbsp;
1386    		<@}@>
1387    		<@if(summary.durations && summary.durations>0 && curriculumAssetInfo){@>
1388    			<@print(millisecondsToHHMMSSStr(summary.durations))@> Total Time&nbsp;&nbsp;<i class="icon ion-ios-clock-outline"></i>
1389    		<@}@>
1390    	</p>
1391      </div>
1392
1393
1394    	<@ $.each(item, function(index, value) { @>
1395    	<div class="course-course-content-box" >
1396    		<div class="course-content-blue-title <@if(value && value.contents){@> bg-primary <@}else if($('#'+id).closest('div.is-section').hasClass("is-bg-grey")){@>bg-white<@}else{@>is-bg-grey<@}@>" >
1397              <span class="title-icon">
1398    			<span class="material-icons <@if(value && !value.contents){@> text-primary <@}@>"><@ print(getCourseAssetIcon(value.type))@></span>
1399    		  </span>
1400    			<div class="titl5b" >
1401    				<h3 class="<@if(value && !value.contents){@> text-primary <@}@>">
1402    					<@print(value.title)@> <@ if(curriculumAssetInfo && value.type == 'pdf' && value.pages !== undefined && value.pages > 0) { @><small>(<@- value.pages @> pages)</small><@ } @>
1403    					<@if(summary.sampleAvailable && summary.sampleSectionIds.includes(value.id)){@>
1404    							<a href="/s/preview/courses/<@print(decodeURIComponent(summary.courseUrl).replace(/ /g,"-"))@>-<@- courseId @>#<@print(value.id)@>" class="previewBtn"><span class="<@if(value && !value.contents){@> text-primary <@}@>">Preview</span></a>
1405    					<@}@>
1406    				</h3>
1407    		  		<p class="<@if(value && !value.contents){@> text-primary <@}@>"><@if(value && value.contents && curriculumAssetInfo){@>
1408    						Sessions: <@print(value.contents)@>
1409    					<@}@>
1410    					<@if(value.moduleDurations && curriculumAssetInfo){@><@if(value && value.contents){@>|<@}@>
1411    						Time: <@print(millisecondsToHHMMSSStr(value.moduleDurations))@>
1412    					<@}@>
1413    				<@if(value && value.contents>0){@><span class="material-icons">expand_more</span><@}@>  </p>
1414    			</div>
1415    		</div>
1416    <@if(value && value.items){@>
1417    	<@ $.each(value['items'], function(index1, value1) { @>
1418    		<div class="course-content-body <@if(index==0){@>showing<@ }@>" >
1419    				<div class="desc1 " >
1420    				<div class="is-box-9" >
1421    					<div class="boxa1" >
1422    						<span class="material-icons text-primary"><@ print(getCourseAssetIcon(value1.type))@></span>
1423    						<p> <@print(value1.title)@> <@ if(curriculumAssetInfo && value1.type == 'pdf' && value1.pages !== undefined && value1.pages > 0) { @><small>(<@- value1.pages @> pages)</small><@ } @>
1424							<@ if(value1.type == 'aiheading') { @><small>(coming soon)</small><@ } @>
1425							</p>
1426		
1427    					</div>
1428    				</div>
1429    				<div class="is-box-1" >
1430    					<div class="boxa2" >
1431    						<@if(summary.sampleAvailable && summary.sampleSectionIds.includes(value1.id)){@>
1432    								<a href="/s/preview/courses/<@print(decodeURIComponent(summary.courseUrl).replace(/ /g,"-"))@>#<@print(value1.id)@>">
1433										<@ if(value1.type == 'video') { @> Watch <@ } else {@> Preview <@ } @>
1434									</a>
1435    						<@}@>
1436    					</div>
1437    				</div>
1438    				<div class="is-box-2" >
1439    					<div class="boxa2" >
1440    						<p class="duration"><@if(value1.duration && curriculumAssetInfo){@><@print(millisecondsToHHMMSSStr(value1.duration))@><@}@></p>
1441    					</div>
1442    				</div>
1443    				</div>
1444    		</div>
1445    	<@ }); @>
1446    <@}@>
1447    	</div>
1448      <@ }); @>
1449
1450    </div>
1451</script>
1451
1452
1453
1454
1455
1456
1457<!-- Curriculum 3rd Template -->
1458<script type="text/template" id="coursecurr-3-template">
1459     <div class="column full" spellcheck="false" data-gramm="false">
1460        <div class="accordion-syllabus" >
1461			<@ $.each(item, function(index, value) { @>
1462            <div class="accordion-syllabus-item">
1463                <header class="accordion-syllabus-header">
1464                    <h4 class="accordion-syllabus-header__title">
1465                        <span class="text-primary">
1466							<@if(index<9){@>
1467									0<@print(index+1)@>
1468								<@ } else {@> 
1469									<@print(index+1)@> 
1470							<@ } @>
1471						</span>
1472                        <p><@print(value.title)@> <span class="text-primary show-sm" style="font-size: 14px;">
1473							<@if(value && value.items){@>
1474								<@ print(value.items.length) @> attachment(s) 
1475							<@}@>
1476						<@if(value.moduleDurations && curriculumAssetInfo){@>
1477							<@if(value && value.contents){@> • <@}@>
1478    						<@print(millisecondsToHHMMSSStr(value.moduleDurations))@>
1479    					<@}@>
1480						</span></p>
1481						
1482                    </h4>
1483                    <div class="accordion-syllabus-header__info">
1484                        <p class="text-primary hide-sm">
1485							<@if(value && value.items){@>
1486								<@ print(value.items.length) @> attachment(s) 
1487							<@}@>
1488						<@if(value.moduleDurations && curriculumAssetInfo){@>
1489							<@if(value && value.contents){@> • <@}@>
1490    						<@print(millisecondsToHHMMSSStr(value.moduleDurations))@>
1491    					<@}@>
1492						</p>
1493						<@if(value && value.items){@>
1494                        <div class="accordion-syllabus-header__icon text-primary">
1495                            <i class="fa fa-angle-left" aria-hidden="true"></i>
1496                        </div>
1497						<@}@>
1498                    </div>
1499                </header>
1500				<@if(value && value.items){@>
1501                <div class="accordion-content" style="">
1502                    <div class="accordian-content-block">
1503                        <ul class="accordian-list">
1504							<@ $.each(value['items'], function(index1, value1) { @>
1505                            <li class="accordian-list__item">
1506                                <div class="accordian-content-card">
1507                                    <div class="accordian-content-card__info">
1508                                        <div class="accordian-content-card__ico">
1509											<@ if(value1.type == 'code'){ @>
1510												<img src="/resources/images/CodeIcon.svg">
1511											<@ } else { @>
1512												<span class="material-icons text-primary">
1513													<@ print(getCourseAssetIcon(value1.type))@>
1514												</span>
1515											<@ } @>
1516										</div>
1517                                        <div class="accordian-content-card__title">
1518											<@print(value1.title)@> <@ if(curriculumAssetInfo && value1.type == 'pdf' && value1.pages !== undefined && value1.pages > 0) { @><small>(<@- value1.pages @> pages)</small><@ } @>
1519											<@ if(value1.type == 'aiheading') { @><small>(coming soon)</small><@ } @>
1520										</div>
1521                                    </div>
1522                                    <div class="accordian-content-card__link">
1523										<@if(summary.sampleAvailable && summary.sampleSectionIds.includes(value1.id)){@>
1524    										<a href="/s/preview/courses/<@print(decodeURIComponent(summary.courseUrl).replace(/ /g,"-"))@>-<@- courseId @>#<@print(value1.id)@>" class="previewBtn">
1525												<span class="text-primary">
1526													<@ if(value1.type == 'video') { @> Watch <@ } else {@> Preview <@ } @><span style="color:#000"><i class="fa fa-solid fa-arrow-up-right"></i></span>
1527												</span>
1528											</a>
1529    									<@}@>
1530                                    </div>
1531                                </div>
1532                            </li>
1533                    		<@ }); @>
1534                        </ul>
1535                    </div>
1536                </div>
1537			<@ } @>
1538            </div>
1539           <@ }); @>   
1540        </div>
1541    </div>
1542</script>
1542
1543
1544
1545
1546<!-- Curriculum 4th Template -->
1547<script type="text/template" id="coursecurr-4-template">
1548   <div class="column full coursecurr4">
1549	 <@ $.each(item, function(index, value) { @>
1550	 <div class="accordion-syllabus-item">
1551	 <header class="accordion-syllabus-header" >
1552		 <h4 class="accordion-syllabus-header__title">
1553			 <span>
1554				 <@if(index<9){@>0<@print(index+1)@><@ } else {@> <@print(index+1)@> <@ } @>
1555			 </span>
1556			 <div class="accordion-syllabus-header__title-block" > 
1557				 <p style="font-size: 20px; font-weight: 700;">
1558					 <@print(value.title)@>
1559				 </p>
1560				 <p class="text-primary" style="font-weight: 500; font-size: 14px; line-height: 150%; margin-top: 10px; ">
1561					 <@if(value && value.type == 'aiheading'){@>
1562						 (coming soon)
1563					 <@}@>
1564					 <@if(value && value.items){@>
1565						 <@ print(value.items.length) @> attachment(s) 
1566					 <@}@>
1567					 <@if(value.moduleDurations && curriculumAssetInfo){@><@if(value && value.contents){@> • <@}@>
1568						 <@print(millisecondsToHHMMSSStr(value.moduleDurations))@>
1569					 <@}@>
1570				 </p>
1571			 </div>
1572		 </h4>
1573		 <@if(value && value.items){@>
1574		 <div class="accordion-syllabus-header__info" >
1575			 <div class="accordion-syllabus-header__icon" >
1576				 <i class="fa fa-angle-left" aria-hidden="true"></i>
1577			 </div>
1578		 </div>
1579		 <@ } @>
1580	 </header>
1581	 <@if(value && value.items){@>
1582	 <div class="accordion-content"  style="">
1583		 <div class="accordian-content-block" >
1584			 <ul class="accordian-list">
1585				 <@ $.each(value['items'], function(index1, value1) { @>
1586				 <li class="accordian-list__item">
1587					 <div class="accordian-content-card" >
1588						 <div class="accordian-content-card__info" >
1589							 <div class="accordian-content-card__ico" >
1590								 <@ if(value1.type == 'code'){ @>
1591									 <img src="/resources/images/CodeIcon.svg">
1592								 <@ } else { @>
1593									 <span class="material-icons text-primary">
1594										 <@ print(getCourseAssetIcon(value1.type))@>262
1595									 </span>
1596								 <@ } @>
1597							 </div>
1598							 <div class="accordian-content-card__title" >
1599								 <@print(value1.title)@> <@ if(curriculumAssetInfo && value1.type == 'pdf' && value1.pages !== undefined && value1.pages > 0) { @><small>(<@- value1.pages @> pages)</small><@ } @>
1600								 <@ if(value1.type == 'aiheading') { @><small>(coming soon)</small><@ } @>
1601							 </div>
1602						 </div>
1603						 <div class="accordian-content-card__link" >
1604							 <@if(summary.sampleAvailable && summary.sampleSectionIds.includes(value1.id)){@>
1605							 <a href="/s/preview/courses/<@print(decodeURIComponent(summary.courseUrl).replace(/ /g,"-"))@>-<@- courseId @>#<@print(value1.id)@>" class="previewBtn">
1606								 <span class="text-primary">
1607									 <@ if(value1.type == 'video') { @> Watch <@ } else {@> Preview <@ } @> <span style="color:#000"><i class="fa fa-solid fa-arrow-up-right"></i></span>
1608								 </span>
1609							 </a>
1610							 <@ } @>
1611						 </div>
1612					 </div>
1613				 </li>
1614				 <@ }); @>
1615			 </ul>
1616		 </div>
1617	 </div>
1618	 <@ } @>
1619   </div>
1620  <@ }); @>  
1621 </div>
1622 </script>
1622
1623
1624 <!-- vegas curriculum-5-->
1625 
1625<script>
1626	// Simple responsive positioning
1627	function updatePosition() {
1628		const element = document.getElementById('totalTimeElement');
1629		if(element){
1630		if (window.innerWidth > 768) {
1631			element.style.position = 'absolute';
1632			element.style.top = "5px";
1633			element.style.right = '122px';
1634		} else {
1635			element.style.position = 'static';
1636			element.style.margin = '0 0';
1637		}
1638		}
1639	}
1640	
1641	// Run on load and resize
1642	window.addEventListener('load', updatePosition);
1643	window.addEventListener('resize', updatePosition);
1644	</script>
1644
1645 
1645<script type="text/template" id="coursecurr-5-template">
1646	<div class="total-time" id="totalTimeElement" style="
1647    font-size: 18px;
1648    font-weight: 600;
1649    color: #FB5607;
1650    padding: 8px 12px;
1651    border-radius: 4px;
1652    white-space: nowrap;">
1653     <@if(summary.durations && summary.durations>0 && curriculumAssetInfo){@>
1654        <@print(millisecondsToHHMMSSStr(summary.durations))@>
1655    <@}@>
1656</div>
1657
1658<div class="accordion-syllabus" style="max-width:1000px !important">
1659    <@ $.each(item, function(index, value) { @>
1660    <div class="accordion-syllabus-item" style="<@ if(index >= 5) { @> display: none; <@ } @>">
1661        <header class="accordion-syllabus-header" style="background:#F5F5F5 !important; border-radius:0px;box-shadow:none;padding:0.5rem !important">
1662            <h4 class="accordion-syllabus-header__title">
1663                <span class="text-primary" style="font-size:18px ; font-weight:600; color:black;"> 
1664                    <@if(index < 9) {@>  
1665                        Week <@print(index + 1)@>:  
1666                    <@ } else {@>  
1667                        Week <@print(index + 1)@>:
1668                    <@ } @>  
1669                </span>
1670                <p style="font-size:18px ; font-weight:600;"><@print(value.title)@> <span class="text-primary show-sm" style="font-size: 14px;">
1671                    <@if(value && value.items){@>
1672                        <@ print(value.items.length) @> attachment(s) 
1673                    <@} else {@>
1674                        1 attachment(s)
1675                    <@}@>
1676                    <@if(value.moduleDurations && curriculumAssetInfo){@>
1677						• <@print(millisecondsToHHMMSSStr(value.moduleDurations))@>
1678					<@}@>
1679                </span></p>
1680            </h4>
1681			
1682            <div class="accordion-syllabus-header__info">
1683                <p class="text-primary hide-sm" style="color:#FB5607 !important;">
1684                    <@if(value && value.items){@>
1685                        <@ print(value.items.length) @> attachment(s) 
1686                    <@} else {@>
1687                        1 attachment(s)
1688                    <@}@>
1689                    <@if(value.moduleDurations && curriculumAssetInfo){@>
1690						• <@print(millisecondsToHHMMSSStr(value.moduleDurations))@>
1691					<@}@>
1692                </p>
1693                <div class="accordion-syllabus-header__icon text-primary">
1694                    <i class="fa fa-angle-left" aria-hidden="true" style="color:#FB5607;"></i>
1695                </div>
1696            </div>
1697        </header>
1698        <div class="accordion-content" style="filter:none;">
1699            <div class="accordian-content-block" style="background:#F5F5F5 !important;box-shadow:none;padding:16px 66px 3px 69px !important;">
1700                <ul class="accordian-list">
1701                    <@ var itemsCount = value['items'] ? value['items'].length : 0; @>
1702                    <@ if(value['items'] && value['items'].length > 0) { @>
1703                        <@ $.each(value['items'], function(index1, value1) { @>
1704                        <li class="accordian-list__item" style="padding:0px 0px !important;<@ if(index1 >= 5) { @> display: none; <@ } @>"> 
1705							<style>
1706								@media (max-width: 768px) {
1707								  .accordian-content-card {
1708									flex-direction: column !important;
1709									align-items: stretch !important;
1710								  }
1711							  
1712								  .accordian-content-card__top {
1713									flex-direction: row !important;
1714									justify-content: space-between !important;
1715									align-items: center !important;
1716									width: 100% !important;
1717								  }
1718							  
1719								  .accordian-content-card__title {
1720									flex: 1 !important;
1721									margin: 0 10px !important;
1722									white-space: nowrap;
1723									overflow: hidden;
1724									text-overflow: ellipsis;
1725								  }
1726							  
1727								  .accordian-content-card__bottom {
1728									flex-direction: row !important;
1729									justify-content: space-between !important;
1730									align-items: center !important;
1731									width: 100% !important;
1732									margin-top: 6px !important;
1733								  }
1734							  
1735								  .accordian-content-card__link {
1736									flex: 1 !important;
1737									min-width: 0 !important;
1738									text-align: left !important;
1739								  }
1740							  
1741								  .accordian-content-card__time {
1742									flex-shrink: 0 !important;
1743									text-align: right !important;
1744								  }
1745								}
1746							  </style>
1747							  
1748							  <div class="accordian-content-card"
1749     style="display: flex; flex-wrap: nowrap; align-items: center; justify-content: space-between; padding: 10px 0; width: 100%; box-sizing: border-box; border-bottom: 1px solid #eee;">
1750
1751							  
1752								<!-- Row 1: Icon + Title + Collapse Icon -->
1753								<div class="accordian-content-card__top"
1754									 style="display: flex; align-items: center; justify-content: space-between; width: 100%;">
1755							  
1756								  <!-- Icon -->
1757								  <div class="accordian-content-card__ico" style="flex-shrink: 0;">
1758									<@ if(value1.type == 'code'){ @>
1759									  <img src="/resources/images/CodeIcon.svg" style="width: 24px; height: 24px;">
1760									<@ } else { @>
1761									  <span class="material-icons text-primary" style="color:#FB5607; font-size: 24px;">
1762										<@ print(getCourseAssetIcon(value1.type))@>
1763									  </span>
1764									<@ } @>
1765								  </div>
1766							  
1767								  <!-- Title -->
1768								  <div class="accordian-content-card__title"
1769									   style="font-weight: 400; font-size: 14px; color: #333; margin: 0 10px; flex: 1; white-space: nowrap; overflow: hidden; text-overflow: ellipsis;">
1770									<@print(value1.title)@>
1771								  </div>
1772							  
1773								  <!-- Collapse Icon (optional) -->
1774								  <div class="accordian-content-card__collapse" style="flex-shrink: 0;">
1775									<!-- Example placeholder, add real icon if needed -->
1776									<!-- <i class="fa fa-chevron-down" style="font-size: 16px;"></i> -->
1777								  </div>
1778								</div>
1779							  
1780								<!-- Row 2: Preview Button and Time -->
1781								<div class="accordian-content-card__bottom"
1782									 style="display: flex; justify-content: space-between; align-items: center; width: 100%; margin-top: 6px; flex-wrap: nowrap;">
1783							  
1784								  <!-- Preview Button -->
1785								  <div class="accordian-content-card__link" style="flex: 1; min-width: 0; text-align: left;">
1786									<@if(summary.sampleAvailable && summary.sampleSectionIds.includes(value1.id)){@>
1787									  <a href="/s/preview/courses/<@print(decodeURIComponent(summary.courseUrl).replace(/ /g,'-'))@>-<@- courseId @>#<@print(value1.id)@>"
1788										 class="previewBtn"
1789										 style="font-size: 14px; font-weight: 500; text-decoration: none; color: #FB5607; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; display: inline-block;">
1790										<span class="text-primary" style="color:#FB5607;">
1791										  <@ if(value1.type == 'video') { @> Watch <@ } else {@> Preview <@ } @>
1792										  <span style="color:#000"><i class="fa fa-solid fa-arrow-up-right" style="color:#FB5607;"></i></span>
1793										</span>
1794									  </a>
1795									<@}@>
1796								  </div>
1797							  
1798								  <!-- Time -->
1799								  <div class="accordian-content-card__time" style="flex-shrink: 0; text-align: right;">
1800									<p class="text-primary course-asset-time"
1801									   style="font-size: 14px; font-weight: 500; color:#FB5607 !important; margin: 0;">
1802									  <@ if(value1.duration && value1.duration > 0) { @>
1803										<@ print(millisecondsToHHMMSSStr(value1.duration)) @>
1804									  <@ } else { @>
1805										--
1806									  <@ } @>
1807									</p>
1808								  </div>
1809							  
1810								</div>
1811							  </div>
1812							  
1813							
1814                        </li>
1815                        <@ }); @>
1816                    <@ } else { @>
1817                        <li class="accordian-list__item" style="padding:0px 0px !important;">
1818							<div class="accordian-content-card"
1819							style="display: flex; flex-wrap: nowrap; align-items: center; justify-content: space-between; padding: 10px 0; width: 100%; box-sizing: border-box; border-bottom: 1px solid #eee;">
1820					   
1821						   <!-- Row 1: Icon + Title + Collapse Icon -->
1822						   <div class="accordian-content-card__top"
1823								style="display: flex; align-items: center; justify-content: space-between; width: 100%;">
1824						 
1825							   <!-- Icon -->
1826							   <div class="accordian-content-card__ico" style="flex-shrink: 0;">
1827								   <@ if(value.type == 'code'){ @>
1828									   <img src="/resources/images/CodeIcon.svg" style="width: 24px; height: 24px;">
1829								   <@ } else { @>
1830									   <span class="material-icons text-primary" style="color:#FB5607; font-size: 24px;">
1831										   <@ print(getCourseAssetIcon(value.type))@>
1832									   </span>
1833								   <@ } @>
1834							   </div>
1835						 
1836							   <!-- Title -->
1837							   <div class="accordian-content-card__title"
1838									style="font-weight: 400; font-size: 14px; color: #333; margin: 0 10px; flex: 1; white-space: nowrap; overflow: hidden; text-overflow: ellipsis;">
1839								   <@print(value.title)@>
1840							   </div>
1841						 
1842							   <!-- Collapse Icon (optional) -->
1843							   <div class="accordian-content-card__collapse" style="flex-shrink: 0;">
1844								   <!-- Example placeholder, add real icon if needed -->
1845								   <!-- <i class="fa fa-chevron-down" style="font-size: 16px;"></i> -->
1846							   </div>
1847						   </div>
1848						 
1849						   <!-- Row 2: Preview Button and Time -->
1850						   <div class="accordian-content-card__bottom"
1851								style="display: flex; justify-content: space-between; align-items: center; width: 100%; margin-top: 6px; flex-wrap: nowrap;">
1852						 
1853							   <!-- Preview Button -->
1854							   <div class="accordian-content-card__link" style="flex: 1; min-width: 0; text-align: left;">
1855								   <@if(summary.sampleAvailable && summary.sampleSectionIds.includes(value.id)){@>
1856									   <a href="/s/preview/courses/<@print(decodeURIComponent(summary.courseUrl).replace(/ /g,'-'))@>-<@- courseId @>#<@print(value.id)@>"
1857										  class="previewBtn"
1858										  style="font-size: 14px; font-weight: 500; text-decoration: none; color: #FB5607; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; display: inline-block;">
1859										   <span class="text-primary" style="color:#FB5607;">
1860											   <@ if(value.type == 'video') { @> Watch <@ } else {@> Preview <@ } @>
1861											   <span style="color:#000"><i class="fa fa-solid fa-arrow-up-right" style="color:#FB5607;"></i></span>
1862										   </span>
1863									   </a>
1864								   <@}@>
1865							   </div>
1866						 
1867							   <!-- Time -->
1868							   <div class="accordian-content-card__time" style="flex-shrink: 0; text-align: right;">
1869								   <p class="text-primary course-asset-time"
1870									  style="font-size: 14px; font-weight: 500; color:#FB5607 !important; margin: 0;">
1871									   <@ if(value.duration && value.duration > 0) { @>
1872										   <@ print(millisecondsToHHMMSSStr(value.duration)) @>
1873									   <@ } else { @>
1874										   --
1875									   <@ } @>
1876								   </p>
1877							   </div>
1878						   </div>
1879					   </div>
1880                        </li>
1881                    <@ } @>
1882                </ul>
1883            
1884                <@ if(itemsCount > 5) { @>
1885                    <div style="text-align: center; margin-top: 10px;">
1886						<button style="background-color: #FB5607; color: white; padding: 4px 28px; border: none; cursor: pointer; font-size: 16px; border-radius: 24px;" 
1887						onclick="
1888							var parentAccordion = this.closest('.accordion-content');
1889							parentAccordion.style.maxHeight = 'none';
1890							this.closest('.accordian-content-block').querySelectorAll('.accordian-list__item').forEach(el => el.style.display = 'block'); 
1891							this.style.display = 'none';
1892						">
1893                            View All
1894                        </button>
1895                    </div>
1896                <@ } @>
1897            </div>
1898        </div>
1899    </div>
1900    <@ }); @>
1901    <@ if(item.length > 5) { @>
1902        <div style="text-align: center; margin-top: 10px;margin-bottom: 20px;">
1903            <button style="background-color: #FB5607; color: white; padding: 8px 32px; border: none; cursor: pointer; font-size: 16px; border-radius: 24px;" 
1904                onclick="document.querySelectorAll('.accordion-syllabus-item').forEach(el => el.style.display = 'block'); this.style.display = 'none';">
1905                View All Sessions
1906            </button>
1907        </div>
1908    <@ } @>
1909</div>
1910	</div>
1911</script>
1911
1912
1913
1914<!--Blaze-Curriculum-6-->
1915<script type="text/template" id="coursecurr-6-template">
1916    <div class="column full" spellcheck="false" data-gramm="false">
1917        <div class="total-time" id="totalTimeElement" style="
1918            font-size: 18px;
1919            font-weight: 600;
1920            color: #D8FD46;
1921            padding: 8px 12px;
1922            border-radius: 4px;
1923            white-space: nowrap;
1924            background: #232323;
1925            margin-bottom: 20px;">
1926            <@if(summary.durations && summary.durations>0 && curriculumAssetInfo){@>
1927                <@print(millisecondsToHHMMSSStr(summary.durations))@>
1928            <@}@>
1929        </div>
1930
1931        <div class="accordion-syllabus">
1932            <@ $.each(item, function(index, value) { @>
1933            <div class="accordion-syllabus-item" style="<@ if(index >= 5) { @> display: none; <@ } @>">
1934                <header class="accordion-syllabus-header" style="background:#232323 !important; border-radius:0px;box-shadow:none;padding:20px 20px !important">
1935                    <h4 class="accordion-syllabus-header__title">
1936                        <span class="text-primary" style="font-size:18px ; font-weight:600; color:white;"> 
1937                            <@if(index < 9) {@>  
1938								Week <@print(index + 1)@>:  
1939							<@ } else {@>  
1940								Week <@print(index + 1)@>:
1941							<@ } @>  
1942                        </span>
1943                        <p style="font-size:18px ; font-weight:600;color:white;"><@print(value.title)@> <span class="text-primary show-sm" style="font-size: 14px;color:#D8FD46 !important;">
1944							<@if(value && value.items){@>
1945								<@ print(value.items.length) @> attachment(s) 
1946							<@} else {@>
1947								1 attachment(s)
1948							<@}@>
1949							<@if(value.moduleDurations && curriculumAssetInfo){@>
1950								• <@print(millisecondsToHHMMSSStr(value.moduleDurations))@>
1951							<@}@>
1952						</span></p>
1953                    </h4>
1954                    <div class="accordion-syllabus-header__info">
1955                        <p class="text-primary hide-sm" style="color:#D8FD46 !important;">
1956                            <@if(value && value.items){@>
1957                                <@ print(value.items.length) @> attachment(s) 
1958                            <@} else {@>
1959                                1 attachment(s)
1960                            <@}@>
1961							<@if(value.moduleDurations && curriculumAssetInfo){@>
1962								• <@print(millisecondsToHHMMSSStr(value.moduleDurations))@>
1963							<@}@>
1964                        </p>
1965                        <div class="accordion-syllabus-header__icon text-primary">
1966                            <i class="fa fa-angle-left" aria-hidden="true" style="color:#D8FD46;"></i>
1967                        </div>
1968                    </div>
1969                </header>
1970                <div class="accordion-content" style="filter:none;background:#181818;">
1971                    <div class="accordian-content-block" style="box-shadow:none;padding:16px 20px !important;background:transparent !important;">
1972                        <ul class="accordian-list">
1973                            <@ var itemsCount = value['items'] ? value['items'].length : 0; @>
1974                            <@ if(value['items'] && value['items'].length > 0) { @>
1975                                <@ $.each(value['items'], function(index1, value1) { @>
1976                                <li class="accordian-list__item" style="padding:0px 0px !important;<@ if(index1 >= 5) { @> display: none; <@ } @>"> 
1977                                    <style>
1978                                        @media (max-width: 768px) {
1979                                            .accordian-content-card {
1980                                                flex-direction: column !important;
1981                                                align-items: stretch !important;
1982                                            }
1983                                        
1984                                            .accordian-content-card__top {
1985                                                flex-direction: row !important;
1986                                                justify-content: space-between !important;
1987                                                align-items: center !important;
1988                                                width: 100% !important;
1989                                            }
1990                                        
1991                                            .accordian-content-card__title {
1992                                                flex: 1 !important;
1993                                                margin: 0 10px !important;
1994                                                white-space: nowrap;
1995                                                overflow: hidden;
1996                                                text-overflow: ellipsis;
1997                                            }
1998                                        
1999                                            .accordian-content-card__bottom {
2000                                                flex-direction: row !important;
2001                                                justify-content: space-between !important;
2002                                                align-items: center !important;
2003                                                width: 100% !important;
2004                                                margin-top: 6px !important;
2005                                            }
2006                                        
2007                                            .accordian-content-card__link {
2008                                                flex: 1 !important;
2009                                                min-width: 0 !important;
2010                                                text-align: left !important;
2011                                            }
2012                                        
2013                                            .accordian-content-card__time {
2014                                                flex-shrink: 0 !important;
2015                                                text-align: right !important;
2016                                            }
2017                                        }
2018                                    </style>
2019                                    
2020                                    <div class="accordian-content-card"
2021                                        style="display: flex; flex-wrap: nowrap; align-items: center; justify-content: space-between; padding: 10px 0; width: 100%; box-sizing: border-box; ">
2022                                    
2023                                        <!-- Row 1: Icon + Title + Collapse Icon -->
2024                                        <div class="accordian-content-card__top"
2025                                            style="display: flex; align-items: center; justify-content: space-between; width: 100%;">
2026                                        
2027                                            <!-- Icon -->
2028                                            <div class="accordian-content-card__ico" style="flex-shrink: 0;">
2029                                                <@ if(value1.type == 'code'){ @>
2030                                                    <img src="/resources/images/CodeIcon.svg" style="width: 24px; height: 24px; filter: invert(1);">
2031                                                <@ } else { @>
2032                                                    <span class="material-icons text-primary" style="color:#D8FD46; font-size: 24px;">
2033                                                        <@ print(getCourseAssetIcon(value1.type))@>
2034                                                    </span>
2035                                                <@ } @>
2036                                            </div>
2037                                        
2038                                            <!-- Title -->
2039                                            <div class="accordian-content-card__title"
2040                                                style="font-weight: 400; font-size: 14px; color: white; margin: 0 10px; flex: 1; white-space: nowrap; overflow: hidden; text-overflow: ellipsis;">
2041                                                <@print(value1.title)@>
2042                                                <!-- <@ if(curriculumAssetInfo && value1.type == 'pdf' && value1.pages !== undefined && value1.pages > 0) { @>
2043                                                    <small style="color: #999;">(<@- value1.pages @> pages)</small>
2044                                                <@ } @>
2045                                                <@ if(value1.type == 'aiheading') { @>
2046                                                    <small style="color: #999;">(coming soon)</small>
2047                                                <@ } @> -->
2048                                            </div>
2049                                        
2050                                            <!-- Collapse Icon -->
2051                                            <div class="accordian-content-card__collapse" style="flex-shrink: 0;">
2052                                            </div>
2053                                        </div>
2054                                    
2055                                        <!-- Row 2: Preview Button and Time -->
2056                                        <div class="accordian-content-card__bottom"
2057                                            style="display: flex; justify-content: space-between; align-items: center; width: 100%; margin-top: 6px; flex-wrap: nowrap;">
2058                                        
2059                                            <!-- Preview Button -->
2060                                            <div class="accordian-content-card__link" style="flex: 1; min-width: 0; text-align: left;">
2061                                                <@if(summary.sampleAvailable && summary.sampleSectionIds.includes(value1.id)){@>
2062                                                <a href="/s/preview/courses/<@print(decodeURIComponent(summary.courseUrl).replace(/ /g,'-'))@>-<@- courseId @>#<@print(value1.id)@>"
2063                                                    class="previewBtn"
2064                                                    style="font-size: 14px; font-weight: 500; text-decoration: none; color: #D8FD46 !important; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; display: inline-block;">
2065                                                    <span class="text-primary" style="color:#D8FD46;">
2066                                                        <@ if(value1.type == 'video') { @> Watch <@ } else {@> Preview <@ } @>
2067                                                        <span style="color:#000"><i class="fa fa-solid fa-arrow-up-right" style="color:#D8FD46;"></i></span>
2068                                                    </span>
2069                                                </a>
2070                                                <@}@>
2071                                            </div>
2072                                        
2073                                            <!-- Time -->
2074                                            <div class="accordian-content-card__time" style="flex-shrink: 0; text-align: right;">
2075                                                <p class="text-primary course-asset-time"
2076                                                    style="font-size: 14px; font-weight: 500; color:#D8FD46 !important; margin: 0;">
2077                                                    <@ if(value1.duration && value1.duration > 0) { @>
2078                                                        <@ print(millisecondsToHHMMSSStr(value1.duration)) @>
2079                                                    <@ } else { @>
2080                                                        --
2081                                                    <@ } @>
2082                                                </p>
2083                                            </div>
2084                                        </div>
2085                                    </div>
2086                                </li>
2087                                <@ }); @>
2088                            <@ } else { @>
2089								<li class="accordian-list__item" style="padding:0px 0px !important;">
2090									<div class="accordian-content-card"
2091										style="display: flex; flex-wrap: nowrap; align-items: center; justify-content: space-between; padding: 10px 0; width: 100%; box-sizing: border-box; ">
2092								   
2093										<!-- Row 1: Icon + Title + Collapse Icon -->
2094										<div class="accordian-content-card__top"
2095											style="display: flex; align-items: center; justify-content: space-between; width: 100%;">
2096									  
2097											<!-- Icon -->
2098											<div class="accordian-content-card__ico" style="flex-shrink: 0;">
2099												<@ if(value.type == 'code'){ @>
2100													<img src="/resources/images/CodeIcon.svg" style="width: 24px; height: 24px; filter: invert(1);">
2101												<@ } else { @>
2102													<span class="material-icons text-primary" style="color:#D8FD46; font-size: 24px;">
2103														<@ print(getCourseAssetIcon(value.type))@>
2104													</span>
2105												<@ } @>
2106											</div>
2107									  
2108											<!-- Title -->
2109											<div class="accordian-content-card__title"
2110												style="font-weight: 400; font-size: 14px; color: white; margin: 0 10px; flex: 1; white-space: nowrap; overflow: hidden; text-overflow: ellipsis;">
2111												<@print(value.title)@>
2112											</div>
2113									  
2114											<!-- Collapse Icon (optional) -->
2115											<div class="accordian-content-card__collapse" style="flex-shrink: 0;">
2116												<!-- Example placeholder, add real icon if needed -->
2117												<!-- <i class="fa fa-chevron-down" style="font-size: 16px;"></i> -->
2118											</div>
2119										</div>
2120									  
2121										<!-- Row 2: Preview Button and Time -->
2122										<div class="accordian-content-card__bottom"
2123											style="display: flex; justify-content: space-between; align-items: center; width: 100%; margin-top: 6px; flex-wrap: nowrap;">
2124									  
2125											<!-- Preview Button -->
2126											<div class="accordian-content-card__link" style="flex: 1; min-width: 0; text-align: left;">
2127												<@if(summary.sampleAvailable && summary.sampleSectionIds.includes(value.id)){@>
2128													<a href="/s/preview/courses/<@print(decodeURIComponent(summary.courseUrl).replace(/ /g,'-'))@>-<@- courseId @>#<@print(value.id)@>"
2129													   class="previewBtn"
2130													   style="font-size: 14px; font-weight: 500; text-decoration: none; color: #D8FD46 !important; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; display: inline-block;">
2131														<span class="text-primary" style="color:#D8FD46;">
2132															<@ if(value.type == 'video') { @> Watch <@ } else {@> Preview <@ } @>
2133															<span style="color:#000"><i class="fa fa-solid fa-arrow-up-right" style="color:#D8FD46;"></i></span>
2134														</span>
2135													</a>
2136												<@}@>
2137											</div>
2138									  
2139											<!-- Time -->
2140											<div class="accordian-content-card__time" style="flex-shrink: 0; text-align: right;">
2141												<p class="text-primary course-asset-time"
2142												   style="font-size: 14px; font-weight: 500; color:#D8FD46 !important; margin: 0;">
2143													<@ if(value.duration && value.duration > 0) { @>
2144														<@ print(millisecondsToHHMMSSStr(value.duration)) @>
2145													<@ } else { @>
2146														--
2147													<@ } @>
2148												</p>
2149											</div>
2150										</div>
2151									</div>
2152								</li>
2153                            <@ } @>
2154                        </ul>
2155                    
2156                        <@ if(itemsCount > 5) { @>
2157                            <div style="text-align: center; margin-top: 10px;">
2158                                <button style="background-color: #D8FD46; color: black; padding: 4px 28px; border: none; cursor: pointer; font-size: 16px; border-radius: 0px;" 
2159                                   onclick="
2160							var parentAccordion = this.closest('.accordion-content');
2161							parentAccordion.style.maxHeight = 'none';
2162							this.closest('.accordian-content-block').querySelectorAll('.accordian-list__item').forEach(el => el.style.display = 'block'); 
2163							this.style.display = 'none';
2164						">
2165                                    View All
2166                                </button>
2167                            </div>
2168                        <@ } @>
2169                    </div>
2170                </div>
2171            </div>
2172            <@ }); @>
2173            <@ if(item.length > 5) { @>
2174                <div style="text-align: center; margin-top: 10px;margin-bottom: 20px;">
2175                    <button style="background-color: #D8FD46; color: black; padding: 8px 32px; border: none; cursor: pointer; font-size: 16px; border-radius: 0px;" 
2176                        onclick="document.querySelectorAll('.accordion-syllabus-item').forEach(el => el.style.display = 'block'); this.style.display = 'none';">
2177                        View All Sessions
2178                    </button>
2179                </div>
2180            <@ } @>
2181        </div>
2182    </div>
2183</script>
2183
2184
2185<script>
2186    // Simple responsive positioning (same as Vegas)
2187    function updatePosition() {
2188        const element = document.getElementById('totalTimeElement');
2189        if(element){
2190            if (window.innerWidth > 768) {
2191                element.style.position = 'absolute';
2192                element.style.top = "5px";
2193                element.style.right = '122px';
2194            } else {
2195                element.style.position = 'static';
2196                element.style.margin = '0 0';
2197            }
2198        }
2199    }
2200    
2201    // Run on load and resize
2202    window.addEventListener('load', updatePosition);
2203    window.addEventListener('resize', updatePosition);
2204</script>
2204
2205
2206
2207
2208
2209<!--Nebula Curriculum 7-->
2210
2211
2212<script>
2213	// Simple responsive positioning
2214	function updatePosition() {
2215		const element = document.getElementById('totalTimeElement');
2216		if(element){
2217		if (window.innerWidth > 768) {
2218			element.style.position = 'absolute';
2219			element.style.top = "5px";
2220			element.style.right = '122px';
2221		} else {
2222			element.style.position = 'static';
2223			element.style.margin = '0 0';
2224		}
2225		}
2226	}
2227	
2228	// Run on load and resize
2229	window.addEventListener('load', updatePosition);
2230	window.addEventListener('resize', updatePosition);
2231	</script>
2231
2232 
2232<script type="text/template" id="coursecurr-7-template">
2233	<div class="total-time" id="totalTimeElement" style="
2234    font-size: 18px;
2235    font-weight: 600;
2236    color: #6715FF;
2237    padding: 8px 12px;
2238    border-radius: 4px;
2239    white-space: nowrap;">
2240     <@if(summary.durations && summary.durations>0 && curriculumAssetInfo){@>
2241        <@print(millisecondsToHHMMSSStr(summary.durations))@>
2242    <@}@>
2243</div>
2244
2245<div class="accordion-syllabus" style="max-width:1000px !important">
2246    <@ $.each(item, function(index, value) { @>
2247    <div class="accordion-syllabus-item" style="<@ if(index >= 5) { @> display: none; <@ } @>">
2248        <header class="accordion-syllabus-header" style="background:#F1ECFB !important; border-radius16px;box-shadow:none;padding:20px !important">
2249            <h4 class="accordion-syllabus-header__title">
2250                <span class="text-primary" style="font-size:18px ; font-weight:600; color:black;"> 
2251                    <@if(index < 9) {@>  
2252                        Week <@print(index + 1)@>:  
2253                    <@ } else {@>  
2254                        Week <@print(index + 1)@>:
2255                    <@ } @>  
2256                </span>
2257                <p style="font-size:18px ; font-weight:600;"><@print(value.title)@> <span class="text-primary show-sm" style="font-size: 14px;">
2258                    <@if(value && value.items){@>
2259                        <@ print(value.items.length) @> attachment(s) 
2260                    <@} else {@>
2261                        1 attachment(s)
2262                    <@}@>
2263                    <@if(value.moduleDurations && curriculumAssetInfo){@>
2264						• <@print(millisecondsToHHMMSSStr(value.moduleDurations))@>
2265					<@}@>
2266                </span></p>
2267            </h4>
2268			
2269            <div class="accordion-syllabus-header__info">
2270                <p class="text-primary hide-sm" style="color:#6715FF !important;">
2271                    <@if(value && value.items){@>
2272                        <@ print(value.items.length) @> attachment(s) 
2273                    <@} else {@>
2274                        1 attachment(s)
2275                    <@}@>
2276                    <@if(value.moduleDurations && curriculumAssetInfo){@>
2277						• <@print(millisecondsToHHMMSSStr(value.moduleDurations))@>
2278					<@}@>
2279                </p>
2280                <div class="accordion-syllabus-header__icon text-primary">
2281                    <i class="fa fa-angle-left" aria-hidden="true" style="color:#6715FF;"></i>
2282                </div>
2283            </div>
2284        </header>
2285        <div class="accordion-content" style="filter:none;background:transparent !important;">
2286            <div class="accordian-content-block" style="background:transparent !important;box-shadow:none;padding:16px 66px 3px 69px !important;">
2287                <ul class="accordian-list">
2288                    <@ var itemsCount = value['items'] ? value['items'].length : 0; @>
2289                    <@ if(value['items'] && value['items'].length > 0) { @>
2290                        <@ $.each(value['items'], function(index1, value1) { @>
2291                        <li class="accordian-list__item" style="padding:0px 0px !important;<@ if(index1 >= 5) { @> display: none; <@ } @>"> 
2292							<style>
2293								@media (max-width: 768px) {
2294								  .accordian-content-card {
2295									flex-direction: column !important;
2296									align-items: stretch !important;
2297								  }
2298							  
2299								  .accordian-content-card__top {
2300									flex-direction: row !important;
2301									justify-content: space-between !important;
2302									align-items: center !important;
2303									width: 100% !important;
2304								  }
2305							  
2306								  .accordian-content-card__title {
2307									flex: 1 !important;
2308									margin: 0 10px !important;
2309									white-space: nowrap;
2310									overflow: hidden;
2311									text-overflow: ellipsis;
2312								  }
2313							  
2314								  .accordian-content-card__bottom {
2315									flex-direction: row !important;
2316									justify-content: space-between !important;
2317									align-items: center !important;
2318									width: 100% !important;
2319									margin-top: 6px !important;
2320								  }
2321							  
2322								  .accordian-content-card__link {
2323									flex: 1 !important;
2324									min-width: 0 !important;
2325									text-align: left !important;
2326								  }
2327							  
2328								  .accordian-content-card__time {
2329									flex-shrink: 0 !important;
2330									text-align: right !important;
2331								  }
2332								}
2333							  </style>
2334							  
2335							  <div class="accordian-content-card"
2336     style="display: flex; flex-wrap: nowrap; align-items: center; justify-content: space-between; padding: 10px 0; width: 100%; box-sizing: border-box; border-bottom: 1px solid #eee;">
2337
2338							  
2339								<!-- Row 1: Icon + Title + Collapse Icon -->
2340								<div class="accordian-content-card__top"
2341									 style="display: flex; align-items: center; justify-content: space-between; width: 100%;">
2342							  
2343								  <!-- Icon -->
2344								  <div class="accordian-content-card__ico" style="flex-shrink: 0;">
2345									<@ if(value1.type == 'code'){ @>
2346									  <img src="/resources/images/CodeIcon.svg" style="width: 24px; height: 24px;">
2347									<@ } else { @>
2348									  <span class="material-icons text-primary" style="color:#6715FF; font-size: 24px;">
2349										<@ print(getCourseAssetIcon(value1.type))@>
2350									  </span>
2351									<@ } @>
2352								  </div>
2353							  
2354								  <!-- Title -->
2355								  <div class="accordian-content-card__title"
2356									   style="font-weight: 400; font-size: 14px; color: #333; margin: 0 10px; flex: 1; white-space: nowrap; overflow: hidden; text-overflow: ellipsis;">
2357									<@print(value1.title)@>
2358								  </div>
2359							  
2360								  <!-- Collapse Icon (optional) -->
2361								  <div class="accordian-content-card__collapse" style="flex-shrink: 0;">
2362									<!-- Example placeholder, add real icon if needed -->
2363									<!-- <i class="fa fa-chevron-down" style="font-size: 16px;"></i> -->
2364								  </div>
2365								</div>
2366							  
2367								<!-- Row 2: Preview Button and Time -->
2368								<div class="accordian-content-card__bottom"
2369									 style="display: flex; justify-content: space-between; align-items: center; width: 100%; margin-top: 6px; flex-wrap: nowrap;">
2370							  
2371								  <!-- Preview Button -->
2372								  <div class="accordian-content-card__link" style="flex: 1; min-width: 0; text-align: left;">
2373									<@if(summary.sampleAvailable && summary.sampleSectionIds.includes(value1.id)){@>
2374									  <a href="/s/preview/courses/<@print(decodeURIComponent(summary.courseUrl).replace(/ /g,'-'))@>-<@- courseId @>#<@print(value1.id)@>"
2375										 class="previewBtn"
2376										 style="font-size: 14px; font-weight: 500; text-decoration: none; color: #6715FF; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; display: inline-block;">
2377										<span class="text-primary" style="color:#6715FF;">
2378										  <@ if(value1.type == 'video') { @> Watch <@ } else {@> Preview <@ } @>
2379										  <span style="color:#000"><i class="fa fa-solid fa-arrow-up-right" style="color:#6715FF;"></i></span>
2380										</span>
2381									  </a>
2382									<@}@>
2383								  </div>
2384							  
2385								  <!-- Time -->
2386								  <div class="accordian-content-card__time" style="flex-shrink: 0; text-align: right;">
2387									<p class="text-primary course-asset-time"
2388									   style="font-size: 14px; font-weight: 500; color:#6715FF !important; margin: 0;">
2389									  <@ if(value1.duration && value1.duration > 0) { @>
2390										<@ print(millisecondsToHHMMSSStr(value1.duration)) @>
2391									  <@ } else { @>
2392										--
2393									  <@ } @>
2394									</p>
2395								  </div>
2396							  
2397								</div>
2398							  </div>
2399							  
2400							
2401                        </li>
2402                        <@ }); @>
2403                    <@ } else { @>
2404                        <li class="accordian-list__item" style="padding:0px 0px !important;">
2405							<div class="accordian-content-card"
2406							style="display: flex; flex-wrap: nowrap; align-items: center; justify-content: space-between; padding: 10px 0; width: 100%; box-sizing: border-box; border-bottom: 1px solid #eee;">
2407					   
2408						   <!-- Row 1: Icon + Title + Collapse Icon -->
2409						   <div class="accordian-content-card__top"
2410								style="display: flex; align-items: center; justify-content: space-between; width: 100%;">
2411						 
2412							   <!-- Icon -->
2413							   <div class="accordian-content-card__ico" style="flex-shrink: 0;">
2414								   <@ if(value.type == 'code'){ @>
2415									   <img src="/resources/images/CodeIcon.svg" style="width: 24px; height: 24px;">
2416								   <@ } else { @>
2417									   <span class="material-icons text-primary" style="color:#6715FF; font-size: 24px;">
2418										   <@ print(getCourseAssetIcon(value.type))@>
2419									   </span>
2420								   <@ } @>
2421							   </div>
2422						 
2423							   <!-- Title -->
2424							   <div class="accordian-content-card__title"
2425									style="font-weight: 400; font-size: 14px; color: #333; margin: 0 10px; flex: 1; white-space: nowrap; overflow: hidden; text-overflow: ellipsis;">
2426								   <@print(value.title)@>
2427							   </div>
2428						 
2429							   <!-- Collapse Icon (optional) -->
2430							   <div class="accordian-content-card__collapse" style="flex-shrink: 0;">
2431								   <!-- Example placeholder, add real icon if needed -->
2432								   <!-- <i class="fa fa-chevron-down" style="font-size: 16px;"></i> -->
2433							   </div>
2434						   </div>
2435						 
2436						   <!-- Row 2: Preview Button and Time -->
2437						   <div class="accordian-content-card__bottom"
2438								style="display: flex; justify-content: space-between; align-items: center; width: 100%; margin-top: 6px; flex-wrap: nowrap;">
2439						 
2440							   <!-- Preview Button -->
2441							   <div class="accordian-content-card__link" style="flex: 1; min-width: 0; text-align: left;">
2442								   <@if(summary.sampleAvailable && summary.sampleSectionIds.includes(value.id)){@>
2443									   <a href="/s/preview/courses/<@print(decodeURIComponent(summary.courseUrl).replace(/ /g,'-'))@>-<@- courseId @>#<@print(value.id)@>"
2444										  class="previewBtn"
2445										  style="font-size: 14px; font-weight: 500; text-decoration: none; color: #6715FF; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; display: inline-block;">
2446										   <span class="text-primary" style="color:#6715FF;">
2447											   <@ if(value.type == 'video') { @> Watch <@ } else {@> Preview <@ } @>
2448											   <span style="color:#000"><i class="fa fa-solid fa-arrow-up-right" style="color:#6715FF;"></i></span>
2449										   </span>
2450									   </a>
2451								   <@}@>
2452							   </div>
2453						 
2454							   <!-- Time -->
2455							   <div class="accordian-content-card__time" style="flex-shrink: 0; text-align: right;">
2456								   <p class="text-primary course-asset-time"
2457									  style="font-size: 14px; font-weight: 500; color:#6715FF !important; margin: 0;">
2458									   <@ if(value.duration && value.duration > 0) { @>
2459										   <@ print(millisecondsToHHMMSSStr(value.duration)) @>
2460									   <@ } else { @>
2461										   --
2462									   <@ } @>
2463								   </p>
2464							   </div>
2465						   </div>
2466					   </div>
2467                        </li>
2468                    <@ } @>
2469                </ul>
2470            
2471                <@ if(itemsCount > 5) { @>
2472                    <div style="text-align: center; margin-top: 10px;">
2473						<button style="background-color: #6715FF; color: white; padding: 4px 28px; border: none; cursor: pointer; font-size: 16px; border-radius: 24px;" 
2474						onclick="
2475							var parentAccordion = this.closest('.accordion-content');
2476							parentAccordion.style.maxHeight = 'none';
2477							this.closest('.accordian-content-block').querySelectorAll('.accordian-list__item').forEach(el => el.style.display = 'block'); 
2478							this.style.display = 'none';
2479						">
2480                            View All
2481                        </button>
2482                    </div>
2483                <@ } @>
2484            </div>
2485        </div>
2486    </div>
2487    <@ }); @>
2488    <@ if(item.length > 5) { @>
2489        <div style="text-align: center; margin-top: 10px;margin-bottom: 20px;">
2490            <button style="background-color: #6715FF; color: white; padding: 8px 32px; border: none; cursor: pointer; font-size: 16px; border-radius: 24px;" 
2491                onclick="document.querySelectorAll('.accordion-syllabus-item').forEach(el => el.style.display = 'block'); this.style.display = 'none';">
2492                View All Sessions
2493            </button>
2494        </div>
2495    <@ } @>
2496</div>
2497	</div>
2498</script>
2498
2499
2500
2501
2502<!--Olive Curriculum 8-->
2503<script>
2504	// Simple responsive positioning
2505	function updatePosition() {
2506		const element = document.getElementById('totalTimeElement');
2507		if(element){
2508		if (window.innerWidth > 768) {
2509			element.style.position = 'absolute';
2510			element.style.top = "5px";
2511			element.style.right = '122px';
2512		} else {
2513			element.style.position = 'static';
2514			element.style.margin = '0 0';
2515		}
2516		}
2517	}
2518	
2519	// Run on load and resize
2520	window.addEventListener('load', updatePosition);
2521	window.addEventListener('resize', updatePosition);
2522	</script>
2522
2523 
2523<script type="text/template" id="coursecurr-8-template">
2524	<div class="total-time" id="totalTimeElement" style="
2525    font-size: 18px;
2526    font-weight: 600;
2527    color: #064400;
2528    padding: 8px 12px;
2529    border-radius: 4px;
2530    white-space: nowrap;">
2531     <@if(summary.durations && summary.durations>0 && curriculumAssetInfo){@>
2532        <@print(millisecondsToHHMMSSStr(summary.durations))@>
2533    <@}@>
2534</div>
2535
2536<div class="accordion-syllabus" style="max-width:1000px !important">
2537    <@ $.each(item, function(index, value) { @>
2538    <div class="accordion-syllabus-item" style="<@ if(index >= 5) { @> display: none; <@ } @>">
2539        <header class="accordion-syllabus-header" style="background:#E5E5E5 !important; border-radius16px;box-shadow:none;padding:20px !important">
2540            <h4 class="accordion-syllabus-header__title">
2541                <span class="text-primary" style="font-size:18px ; font-weight:600; color:black;"> 
2542                    <@if(index < 9) {@>  
2543                        Week <@print(index + 1)@>:  
2544                    <@ } else {@>  
2545                        Week <@print(index + 1)@>:
2546                    <@ } @>  
2547                </span>
2548                <p style="font-size:18px ; font-weight:600;"><@print(value.title)@> <span class="text-primary show-sm" style="font-size: 14px;">
2549                    <@if(value && value.items){@>
2550                        <@ print(value.items.length) @> attachment(s) 
2551                    <@} else {@>
2552                        1 attachment(s)
2553                    <@}@>
2554                    <@if(value.moduleDurations && curriculumAssetInfo){@>
2555						• <@print(millisecondsToHHMMSSStr(value.moduleDurations))@>
2556					<@}@>
2557                </span></p>
2558            </h4>
2559			
2560            <div class="accordion-syllabus-header__info">
2561                <p class="text-primary hide-sm" style="color:#064400 !important;">
2562                    <@if(value && value.items){@>
2563                        <@ print(value.items.length) @> attachment(s) 
2564                    <@} else {@>
2565                        1 attachment(s)
2566                    <@}@>
2567                    <@if(value.moduleDurations && curriculumAssetInfo){@>
2568						• <@print(millisecondsToHHMMSSStr(value.moduleDurations))@>
2569					<@}@>
2570                </p>
2571                <div class="accordion-syllabus-header__icon text-primary">
2572                    <i class="fa fa-angle-left" aria-hidden="true" style="color:#064400;"></i>
2573                </div>
2574            </div>
2575        </header>
2576        <div class="accordion-content" style="filter:none;background:transparent !important;">
2577            <div class="accordian-content-block" style="background:transparent !important;box-shadow:none;padding:16px 66px 3px 69px !important;">
2578                <ul class="accordian-list">
2579                    <@ var itemsCount = value['items'] ? value['items'].length : 0; @>
2580                    <@ if(value['items'] && value['items'].length > 0) { @>
2581                        <@ $.each(value['items'], function(index1, value1) { @>
2582                        <li class="accordian-list__item" style="padding:0px 0px !important;<@ if(index1 >= 5) { @> display: none; <@ } @>"> 
2583							<style>
2584								@media (max-width: 768px) {
2585								  .accordian-content-card {
2586									flex-direction: column !important;
2587									align-items: stretch !important;
2588								  }
2589							  
2590								  .accordian-content-card__top {
2591									flex-direction: row !important;
2592									justify-content: space-between !important;
2593									align-items: center !important;
2594									width: 100% !important;
2595								  }
2596							  
2597								  .accordian-content-card__title {
2598									flex: 1 !important;
2599									margin: 0 10px !important;
2600									white-space: nowrap;
2601									overflow: hidden;
2602									text-overflow: ellipsis;
2603								  }
2604							  
2605								  .accordian-content-card__bottom {
2606									flex-direction: row !important;
2607									justify-content: space-between !important;
2608									align-items: center !important;
2609									width: 100% !important;
2610									margin-top: 6px !important;
2611								  }
2612							  
2613								  .accordian-content-card__link {
2614									flex: 1 !important;
2615									min-width: 0 !important;
2616									text-align: left !important;
2617								  }
2618							  
2619								  .accordian-content-card__time {
2620									flex-shrink: 0 !important;
2621									text-align: right !important;
2622								  }
2623								}
2624							  </style>
2625							  
2626							  <div class="accordian-content-card"
2627     style="display: flex; flex-wrap: nowrap; align-items: center; justify-content: space-between; padding: 10px 0; width: 100%; box-sizing: border-box; border-bottom: 1px solid #eee;">
2628
2629							  
2630								<!-- Row 1: Icon + Title + Collapse Icon -->
2631								<div class="accordian-content-card__top"
2632									 style="display: flex; align-items: center; justify-content: space-between; width: 100%;">
2633							  
2634								  <!-- Icon -->
2635								  <div class="accordian-content-card__ico" style="flex-shrink: 0;">
2636									<@ if(value1.type == 'code'){ @>
2637									  <img src="/resources/images/CodeIcon.svg" style="width: 24px; height: 24px;">
2638									<@ } else { @>
2639									  <span class="material-icons text-primary" style="color:#064400; font-size: 24px;">
2640										<@ print(getCourseAssetIcon(value1.type))@>
2641									  </span>
2642									<@ } @>
2643								  </div>
2644							  
2645								  <!-- Title -->
2646								  <div class="accordian-content-card__title"
2647									   style="font-weight: 400; font-size: 14px; color: #333; margin: 0 10px; flex: 1; white-space: nowrap; overflow: hidden; text-overflow: ellipsis;">
2648									<@print(value1.title)@>
2649								  </div>
2650							  
2651								  <!-- Collapse Icon (optional) -->
2652								  <div class="accordian-content-card__collapse" style="flex-shrink: 0;">
2653									<!-- Example placeholder, add real icon if needed -->
2654									<!-- <i class="fa fa-chevron-down" style="font-size: 16px;"></i> -->
2655								  </div>
2656								</div>
2657							  
2658								<!-- Row 2: Preview Button and Time -->
2659								<div class="accordian-content-card__bottom"
2660									 style="display: flex; justify-content: space-between; align-items: center; width: 100%; margin-top: 6px; flex-wrap: nowrap;">
2661							  
2662								  <!-- Preview Button -->
2663								  <div class="accordian-content-card__link" style="flex: 1; min-width: 0; text-align: left;">
2664									<@if(summary.sampleAvailable && summary.sampleSectionIds.includes(value1.id)){@>
2665									  <a href="/s/preview/courses/<@print(decodeURIComponent(summary.courseUrl).replace(/ /g,'-'))@>-<@- courseId @>#<@print(value1.id)@>"
2666										 class="previewBtn"
2667										 style="font-size: 14px; font-weight: 500; text-decoration: none; color: #064400; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; display: inline-block;">
2668										<span class="text-primary" style="color:#064400;">
2669										  <@ if(value1.type == 'video') { @> Watch <@ } else {@> Preview <@ } @>
2670										  <span style="color:#000"><i class="fa fa-solid fa-arrow-up-right" style="color:#064400;"></i></span>
2671										</span>
2672									  </a>
2673									<@}@>
2674								  </div>
2675							  
2676								  <!-- Time -->
2677								  <div class="accordian-content-card__time" style="flex-shrink: 0; text-align: right;">
2678									<p class="text-primary course-asset-time"
2679									   style="font-size: 14px; font-weight: 500; color:#064400 !important; margin: 0;">
2680									  <@ if(value1.duration && value1.duration > 0) { @>
2681										<@ print(millisecondsToHHMMSSStr(value1.duration)) @>
2682									  <@ } else { @>
2683										--
2684									  <@ } @>
2685									</p>
2686								  </div>
2687							  
2688								</div>
2689							  </div>
2690							  
2691							
2692                        </li>
2693                        <@ }); @>
2694                    <@ } else { @>
2695                        <li class="accordian-list__item" style="padding:0px 0px !important;">
2696							<div class="accordian-content-card"
2697							style="display: flex; flex-wrap: nowrap; align-items: center; justify-content: space-between; padding: 10px 0; width: 100%; box-sizing: border-box; border-bottom: 1px solid #eee;">
2698					   
2699						   <!-- Row 1: Icon + Title + Collapse Icon -->
2700						   <div class="accordian-content-card__top"
2701								style="display: flex; align-items: center; justify-content: space-between; width: 100%;">
2702						 
2703							   <!-- Icon -->
2704							   <div class="accordian-content-card__ico" style="flex-shrink: 0;">
2705								   <@ if(value.type == 'code'){ @>
2706									   <img src="/resources/images/CodeIcon.svg" style="width: 24px; height: 24px;">
2707								   <@ } else { @>
2708									   <span class="material-icons text-primary" style="color:#064400; font-size: 24px;">
2709										   <@ print(getCourseAssetIcon(value.type))@>
2710									   </span>
2711								   <@ } @>
2712							   </div>
2713						 
2714							   <!-- Title -->
2715							   <div class="accordian-content-card__title"
2716									style="font-weight: 400; font-size: 14px; color: #333; margin: 0 10px; flex: 1; white-space: nowrap; overflow: hidden; text-overflow: ellipsis;">
2717								   <@print(value.title)@>
2718							   </div>
2719						 
2720							   <!-- Collapse Icon (optional) -->
2721							   <div class="accordian-content-card__collapse" style="flex-shrink: 0;">
2722								   <!-- Example placeholder, add real icon if needed -->
2723								   <!-- <i class="fa fa-chevron-down" style="font-size: 16px;"></i> -->
2724							   </div>
2725						   </div>
2726						 
2727						   <!-- Row 2: Preview Button and Time -->
2728						   <div class="accordian-content-card__bottom"
2729								style="display: flex; justify-content: space-between; align-items: center; width: 100%; margin-top: 6px; flex-wrap: nowrap;">
2730						 
2731							   <!-- Preview Button -->
2732							   <div class="accordian-content-card__link" style="flex: 1; min-width: 0; text-align: left;">
2733								   <@if(summary.sampleAvailable && summary.sampleSectionIds.includes(value.id)){@>
2734									   <a href="/s/preview/courses/<@print(decodeURIComponent(summary.courseUrl).replace(/ /g,'-'))@>-<@- courseId @>#<@print(value.id)@>"
2735										  class="previewBtn"
2736										  style="font-size: 14px; font-weight: 500; text-decoration: none; color: #064400; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; display: inline-block;">
2737										   <span class="text-primary" style="color:#064400;">
2738											   <@ if(value.type == 'video') { @> Watch <@ } else {@> Preview <@ } @>
2739											   <span style="color:#000"><i class="fa fa-solid fa-arrow-up-right" style="color:#064400;"></i></span>
2740										   </span>
2741									   </a>
2742								   <@}@>
2743							   </div>
2744						 
2745							   <!-- Time -->
2746							   <div class="accordian-content-card__time" style="flex-shrink: 0; text-align: right;">
2747								   <p class="text-primary course-asset-time"
2748									  style="font-size: 14px; font-weight: 500; color:#064400 !important; margin: 0;">
2749									   <@ if(value.duration && value.duration > 0) { @>
2750										   <@ print(millisecondsToHHMMSSStr(value.duration)) @>
2751									   <@ } else { @>
2752										   --
2753									   <@ } @>
2754								   </p>
2755							   </div>
2756						   </div>
2757					   </div>
2758                        </li>
2759                    <@ } @>
2760                </ul>
2761            
2762                <@ if(itemsCount > 5) { @>
2763                    <div style="text-align: center; margin-top: 10px;">
2764						<button style="background-color: #064400; color: white; padding: 4px 28px; border: none; cursor: pointer; font-size: 16px; border-radius: 24px;" 
2765						onclick="
2766							var parentAccordion = this.closest('.accordion-content');
2767							parentAccordion.style.maxHeight = 'none';
2768							this.closest('.accordian-content-block').querySelectorAll('.accordian-list__item').forEach(el => el.style.display = 'block'); 
2769							this.style.display = 'none';
2770						">
2771                            View All
2772                        </button>
2773                    </div>
2774                <@ } @>
2775            </div>
2776        </div>
2777    </div>
2778    <@ }); @>
2779    <@ if(item.length > 5) { @>
2780        <div style="text-align: center; margin-top: 10px;margin-bottom: 20px;">
2781            <button style="background-color: #064400; color: white; padding: 8px 32px; border: none; cursor: pointer; font-size: 16px; border-radius: 24px;" 
2782                onclick="document.querySelectorAll('.accordion-syllabus-item').forEach(el => el.style.display = 'block'); this.style.display = 'none';">
2783                View All Sessions
2784            </button>
2785        </div>
2786    <@ } @>
2787</div>
2788	</div>
2789</script>
2789
2790
2791
2792
2793<!--Dusk Curriculum 9-->
2794<script>
2795	// Simple responsive positioning
2796	function updatePosition() {
2797		const element = document.getElementById('totalTimeElement');
2798		if(element){
2799		if (window.innerWidth > 768) {
2800			element.style.position = 'absolute';
2801			element.style.top = "5px";
2802			element.style.right = '122px';
2803		} else {
2804			element.style.position = 'static';
2805			element.style.margin = '0 0';
2806		}
2807		}
2808	}
2809	
2810	// Run on load and resize
2811	window.addEventListener('load', updatePosition);
2812	window.addEventListener('resize', updatePosition);
2813	</script>
2813
2814 
2814<script>
2815	// Simple responsive positioning
2816	function updatePosition() {
2817		const element = document.getElementById('totalTimeElement');
2818		if(element){
2819		if (window.innerWidth > 768) {
2820			element.style.position = 'absolute';
2821			element.style.top = "5px";
2822			element.style.right = '122px';
2823		} else {
2824			element.style.position = 'static';
2825			element.style.margin = '0 0';
2826		}
2827		}
2828	}
2829	
2830	// Run on load and resize
2831	window.addEventListener('load', updatePosition);
2832	window.addEventListener('resize', updatePosition);
2833	</script>
2833
2834 
2834<script type="text/template" id="coursecurr-9-template">
2835	<div class="total-time" id="totalTimeElement" style="
2836    font-size: 18px;
2837    font-weight: 600;
2838    color: #282400;
2839    padding: 8px 12px;
2840    border-radius: 4px;
2841    white-space: nowrap;">
2842     <@if(summary.durations && summary.durations>0 && curriculumAssetInfo){@>
2843        <@print(millisecondsToHHMMSSStr(summary.durations))@>
2844    <@}@>
2845</div>
2846
2847<div class="accordion-syllabus" style="max-width:1000px !important">
2848    <@ $.each(item, function(index, value) { @>
2849    <div class="accordion-syllabus-item" style="<@ if(index >= 5) { @> display: none; <@ } @>">
2850        <header class="accordion-syllabus-header" style="background:#F5F5F5 !important; border-radius:8px;box-shadow:none;padding:20px !important">
2851            <h4 class="accordion-syllabus-header__title">
2852                <span class="text-primary" style="font-size:18px ; font-weight:600; color:black;"> 
2853                    <@if(index < 9) {@>  
2854                        Week <@print(index + 1)@>:  
2855                    <@ } else {@>  
2856                        Week <@print(index + 1)@>:
2857                    <@ } @>  
2858                </span>
2859                <p style="font-size:18px ; font-weight:600;"><@print(value.title)@> <span class="text-primary show-sm" style="font-size: 14px;">
2860                    <@if(value && value.items){@>
2861                        <@ print(value.items.length) @> attachment(s) 
2862                    <@} else {@>
2863                        1 attachment(s)
2864                    <@}@>
2865                    <@if(value.moduleDurations && curriculumAssetInfo){@>
2866						• <@print(millisecondsToHHMMSSStr(value.moduleDurations))@>
2867					<@}@>
2868                </span></p>
2869            </h4>
2870			
2871            <div class="accordion-syllabus-header__info">
2872                <p class="text-primary hide-sm" style="color:#282400 !important;">
2873                    <@if(value && value.items){@>
2874                        <@ print(value.items.length) @> attachment(s) 
2875                    <@} else {@>
2876                        1 attachment(s)
2877                    <@}@>
2878                    <@if(value.moduleDurations && curriculumAssetInfo){@>
2879						• <@print(millisecondsToHHMMSSStr(value.moduleDurations))@>
2880					<@}@>
2881                </p>
2882                <div class="accordion-syllabus-header__icon text-primary">
2883                    <i class="fa fa-angle-left" aria-hidden="true" style="color:#282400;"></i>
2884                </div>
2885            </div>
2886        </header>
2887        <div class="accordion-content" style="filter:none;background:transparent !important;">
2888            <div class="accordian-content-block" style="background:transparent !important;box-shadow:none;padding:16px 66px 3px 69px !important;">
2889                <ul class="accordian-list">
2890                    <@ var itemsCount = value['items'] ? value['items'].length : 0; @>
2891                    <@ if(value['items'] && value['items'].length > 0) { @>
2892                        <@ $.each(value['items'], function(index1, value1) { @>
2893                        <li class="accordian-list__item" style="padding:0px 0px !important;<@ if(index1 >= 5) { @> display: none; <@ } @>"> 
2894							<style>
2895								@media (max-width: 768px) {
2896								  .accordian-content-card {
2897									flex-direction: column !important;
2898									align-items: stretch !important;
2899								  }
2900							  
2901								  .accordian-content-card__top {
2902									flex-direction: row !important;
2903									justify-content: space-between !important;
2904									align-items: center !important;
2905									width: 100% !important;
2906								  }
2907							  
2908								  .accordian-content-card__title {
2909									flex: 1 !important;
2910									margin: 0 10px !important;
2911									white-space: nowrap;
2912									overflow: hidden;
2913									text-overflow: ellipsis;
2914								  }
2915							  
2916								  .accordian-content-card__bottom {
2917									flex-direction: row !important;
2918									justify-content: space-between !important;
2919									align-items: center !important;
2920									width: 100% !important;
2921									margin-top: 6px !important;
2922								  }
2923							  
2924								  .accordian-content-card__link {
2925									flex: 1 !important;
2926									min-width: 0 !important;
2927									text-align: left !important;
2928								  }
2929							  
2930								  .accordian-content-card__time {
2931									flex-shrink: 0 !important;
2932									text-align: right !important;
2933								  }
2934								}
2935							  </style>
2936							  
2937							  <div class="accordian-content-card"
2938     style="display: flex; flex-wrap: nowrap; align-items: center; justify-content: space-between; padding: 10px 0; width: 100%; box-sizing: border-box; border-bottom: 1px solid #eee;">
2939
2940							  
2941								<!-- Row 1: Icon + Title + Collapse Icon -->
2942								<div class="accordian-content-card__top"
2943									 style="display: flex; align-items: center; justify-content: space-between; width: 100%;">
2944							  
2945								  <!-- Icon -->
2946								  <div class="accordian-content-card__ico" style="flex-shrink: 0;">
2947									<@ if(value1.type == 'code'){ @>
2948									  <img src="/resources/images/CodeIcon.svg" style="width: 24px; height: 24px;">
2949									<@ } else { @>
2950									  <span class="material-icons text-primary" style="color:#282400; font-size: 24px;">
2951										<@ print(getCourseAssetIcon(value1.type))@>
2952									  </span>
2953									<@ } @>
2954								  </div>
2955							  
2956								  <!-- Title -->
2957								  <div class="accordian-content-card__title"
2958									   style="font-weight: 400; font-size: 14px; color: #333; margin: 0 10px; flex: 1; white-space: nowrap; overflow: hidden; text-overflow: ellipsis;">
2959									<@print(value1.title)@>
2960								  </div>
2961							  
2962								  <!-- Collapse Icon (optional) -->
2963								  <div class="accordian-content-card__collapse" style="flex-shrink: 0;">
2964									<!-- Example placeholder, add real icon if needed -->
2965									<!-- <i class="fa fa-chevron-down" style="font-size: 16px;"></i> -->
2966								  </div>
2967								</div>
2968							  
2969								<!-- Row 2: Preview Button and Time -->
2970								<div class="accordian-content-card__bottom"
2971									 style="display: flex; justify-content: space-between; align-items: center; width: 100%; margin-top: 6px; flex-wrap: nowrap;">
2972							  
2973								  <!-- Preview Button -->
2974								  <div class="accordian-content-card__link" style="flex: 1; min-width: 0; text-align: left;">
2975									<@if(summary.sampleAvailable && summary.sampleSectionIds.includes(value1.id)){@>
2976									  <a href="/s/preview/courses/<@print(decodeURIComponent(summary.courseUrl).replace(/ /g,'-'))@>-<@- courseId @>#<@print(value1.id)@>"
2977										 class="previewBtn"
2978										 style="font-size: 14px; font-weight: 500; text-decoration: none; color: #282400; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; display: inline-block;">
2979										<span class="text-primary" style="color:#282400;">
2980										  <@ if(value1.type == 'video') { @> Watch <@ } else {@> Preview <@ } @>
2981										  <span style="color:#000"><i class="fa fa-solid fa-arrow-up-right" style="color:#282400;"></i></span>
2982										</span>
2983									  </a>
2984									<@}@>
2985								  </div>
2986							  
2987								  <!-- Time -->
2988								  <div class="accordian-content-card__time" style="flex-shrink: 0; text-align: right;">
2989									<p class="text-primary course-asset-time"
2990									   style="font-size: 14px; font-weight: 500; color:#282400 !important; margin: 0;">
2991									  <@ if(value1.duration && value1.duration > 0) { @>
2992										<@ print(millisecondsToHHMMSSStr(value1.duration)) @>
2993									  <@ } else { @>
2994										--
2995									  <@ } @>
2996									</p>
2997								  </div>
2998							  
2999								</div>
3000							  </div>
3001							  
3002							
3003                        </li>
3004                        <@ }); @>
3005                    <@ } else { @>
3006                        <li class="accordian-list__item" style="padding:0px 0px !important;">
3007							<div class="accordian-content-card"
3008							style="display: flex; flex-wrap: nowrap; align-items: center; justify-content: space-between; padding: 10px 0; width: 100%; box-sizing: border-box; border-bottom: 1px solid #eee;">
3009					   
3010						   <!-- Row 1: Icon + Title + Collapse Icon -->
3011						   <div class="accordian-content-card__top"
3012								style="display: flex; align-items: center; justify-content: space-between; width: 100%;">
3013						 
3014							   <!-- Icon -->
3015							   <div class="accordian-content-card__ico" style="flex-shrink: 0;">
3016								   <@ if(value.type == 'code'){ @>
3017									   <img src="/resources/images/CodeIcon.svg" style="width: 24px; height: 24px;">
3018								   <@ } else { @>
3019									   <span class="material-icons text-primary" style="color:#282400; font-size: 24px;">
3020										   <@ print(getCourseAssetIcon(value.type))@>
3021									   </span>
3022								   <@ } @>
3023							   </div>
3024						 
3025							   <!-- Title -->
3026							   <div class="accordian-content-card__title"
3027									style="font-weight: 400; font-size: 14px; color: #333; margin: 0 10px; flex: 1; white-space: nowrap; overflow: hidden; text-overflow: ellipsis;">
3028								   <@print(value.title)@>
3029							   </div>
3030						 
3031							   <!-- Collapse Icon (optional) -->
3032							   <div class="accordian-content-card__collapse" style="flex-shrink: 0;">
3033								   <!-- Example placeholder, add real icon if needed -->
3034								   <!-- <i class="fa fa-chevron-down" style="font-size: 16px;"></i> -->
3035							   </div>
3036						   </div>
3037						 
3038						   <!-- Row 2: Preview Button and Time -->
3039						   <div class="accordian-content-card__bottom"
3040								style="display: flex; justify-content: space-between; align-items: center; width: 100%; margin-top: 6px; flex-wrap: nowrap;">
3041						 
3042							   <!-- Preview Button -->
3043							   <div class="accordian-content-card__link" style="flex: 1; min-width: 0; text-align: left;">
3044								   <@if(summary.sampleAvailable && summary.sampleSectionIds.includes(value.id)){@>
3045									   <a href="/s/preview/courses/<@print(decodeURIComponent(summary.courseUrl).replace(/ /g,'-'))@>-<@- courseId @>#<@print(value.id)@>"
3046										  class="previewBtn"
3047										  style="font-size: 14px; font-weight: 500; text-decoration: none; color: #282400; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; display: inline-block;">
3048										   <span class="text-primary" style="color:#282400;">
3049											   <@ if(value.type == 'video') { @> Watch <@ } else {@> Preview <@ } @>
3050											   <span style="color:#000"><i class="fa fa-solid fa-arrow-up-right" style="color:#282400;"></i></span>
3051										   </span>
3052									   </a>
3053								   <@}@>
3054							   </div>
3055						 
3056							   <!-- Time -->
3057							   <div class="accordian-content-card__time" style="flex-shrink: 0; text-align: right;">
3058								   <p class="text-primary course-asset-time"
3059									  style="font-size: 14px; font-weight: 500; color:#282400 !important; margin: 0;">
3060									   <@ if(value.duration && value.duration > 0) { @>
3061										   <@ print(millisecondsToHHMMSSStr(value.duration)) @>
3062									   <@ } else { @>
3063										   --
3064									   <@ } @>
3065								   </p>
3066							   </div>
3067						   </div>
3068					   </div>
3069                        </li>
3070                    <@ } @>
3071                </ul>
3072            
3073                <@ if(itemsCount > 5) { @>
3074                    <div style="text-align: center; margin-top: 10px;">
3075						<button style="background-color: #282400; color: white; padding: 4px 28px; border: none; cursor: pointer; font-size: 16px; border-radius: 24px;" 
3076						onclick="
3077							var parentAccordion = this.closest('.accordion-content');
3078							parentAccordion.style.maxHeight = 'none';
3079							this.closest('.accordian-content-block').querySelectorAll('.accordian-list__item').forEach(el => el.style.display = 'block'); 
3080							this.style.display = 'none';
3081						">
3082                            View All
3083                        </button>
3084                    </div>
3085                <@ } @>
3086            </div>
3087        </div>
3088    </div>
3089    <@ }); @>
3090    <@ if(item.length > 5) { @>
3091        <div style="text-align: center; margin-top: 10px;margin-bottom: 20px;">
3092            <button style="background-color: #282400; color: white; padding: 8px 32px; border: none; cursor: pointer; font-size: 16px; border-radius: 24px;" 
3093                onclick="document.querySelectorAll('.accordion-syllabus-item').forEach(el => el.style.display = 'block'); this.style.display = 'none';">
3094                View All Sessions
3095            </button>
3096        </div>
3097    <@ } @>
3098</div>
3099	</div>
3100</script>
3100
3101
3102
3103
3104
3105
3106
3107<!-- Feedback Template First -->
3108<script type="text/template" id="widget-1-template">
3109<div class="column full feedbackContainer feedback1 spectre">
3110<@if(msg){@>
3111	<h4 style="letter-spacing: 2px; text-align: center;"><@print(msg)@></h4>
3112<@}else{@>
3113<div class="avgratingbox">
3114  <div class="flex-row" >
3115        <div class="is-box-2" >
3116           <p style="color: rgb(247, 247, 247); font-weight: 700!important; font-size: 40px!important; text-align: center; letter-spacing: 3px; padding-bottom: 0px; margin-bottom: 0px; line-height: 1; margin-top: 0px;"> 
3117			<@ if(ratings && ratings.avgRating) {@>
3118				<@ print(parseFloat(ratings.avgRating.toFixed(1))) @>
3119			<@}else{@>
3120				0
3121			<@}@>
3122		  </p>
3123          <h5 class="ratings1" style="text-align: center; margin-bottom: 0px; margin-top: 0px; line-height: 1;">  
3124          <@ for (ratingsSize = 1; ratingsSize <= 5; ratingsSize++) {@>
3125					<@if(ratings){@> 
3126						<@ if(ratings.avgRating >= ratingsSize) {@> 
3127							<i class="icon ion-android-star"></i>&nbsp; 
3128						<@ } else if(ratings.avgRating > ratingsSize-1 && ratings.avgRating < ratingsSize) { @> 
3129							<i class="icon ion-android-star-half"></i>&nbsp;
3130						<@ } else { @> 
3131							<i class="icon ion-android-star-outline"></i>&nbsp; 
3132						<@ } @>
3133					<@} else {@>
3134						<i class="icon ion-android-star-outline"></i>&nbsp;
3135					<@}@>		
3136		  <@}@>
3137          </h5>        
3138          <p style="margin: 10px 0 0 !important;text-align: center;line-height: 1;font-size: 30px!important;"><i class="fa-light fa-users t-white"></i> </p>
3139          <p style="margin-bottom: 10px; margin-top: 0px; font-size: 12px!important; letter-spacing: 1px; font-weight: 500!important; color: rgb(247, 247, 247); text-align: center;">
3140			Total <@ if(ratings){print(ratings.total) }else{0}@> Reviews 
3141		  </p>
3142        </div>
3143        <div class="is-box-9">
3144			<@ for (i = 0; i < 5; i++) {@>
3145				<div class="box7878"> 
3146            <div style="flex:1;">							
3147					<div class="meter <@print(ratingsPer[(parseInt(i)+1)+'-star'].cls)@> nostripes">
3148                  		<span style="width: <@print(ratingsPer[(parseInt(i)+1)+'-star'].rates)@>%"></span>
3149               		</div>	
3150            </div>
3151            <div id="ratingbox">
3152              <p class="ratings2" style=" line-height: 1;">  
3153				<@ for (ratingsSize = 5; ratingsSize >=1; ratingsSize--) {@>
3154						<@if(ratingsSize>i){@>
3155							<i class="fa fa-solid fa-star-sharp text-primary"></i>&nbsp;
3156						<@} else {@>
3157							<i class="fa fa-solid fa-star-sharp"></i>&nbsp;
3158						<@}@>
3159				<@}@>
3160               <span class="t-white">					
3161					<@ if(ratings && ratings.ratingsCount){print(ratings.ratingsCount[(parseInt(5)-i)+'-stars'])}else{0} @>
3162			   </span>
3163              </p>
3164
3165            </div>
3166          </div>
3167	  	<@}@>
3168        </div>        
3169  	</div>
3170</div>
3171	<div class="bg-secondary" style="padding:15px 15px;border-radius:10px;border-top-right-radius: 0;border-top-left-radius: 0;" >
3172		<p
3173			style="font-size: 16px!important; font-weight: 500!important; letter-spacing: 1px;" class="text-primary">
3174			Reviews
3175		</p>
3176
3177<div class="review-box" id="createCustomReview" style="display:none">
3178<div class="flex-row">
3179	<div class="is-box-2 centerbox">
3180		<div class="spectre">
3181			<figure data-initial="<@if(typeof SPUSER !== 'undefined'){print(SPUSER.email.substring(0, 1))}else{@>Me<@}@>" class="uppercase avatar avatar-lg figsize" >
3182				<img src="/s/profile/thumb" alt="" class="review-pic" onerror="profileImageError(this)" data-mhash="<@ if(typeof SPUSER !== 'undefined'){print(SPUSER.mhash)} @>">
3183			</figure>	
3184			<@if(typeof SPUSER !== 'undefined'){ @><p class="review-name"><@ print(SPUSER.name) @> </p><@ } @>
3185		</div>
3186	</div>
3187	<div class="is-box-10">
3188		<textarea rows="3" class="form-input"
3189			placeholder="Add your review here"></textarea>
3190		<div class="rating3">
3191			<p id="rating-stars">
3192				<@ for (ratingsSize = 1; ratingsSize <= 5; ratingsSize++) {@> <i 
3193					class="fa fa-solid fa-star-sharp text-primary rating-star" data-value='<@- ratingsSize @>'></i> <@}@>
3194			</p>
3195
3196			<button class="btn btn-primary <@ if(typeof SPUSER !== 'undefined'){ print('createCustomReviewBtn') }else { print('loginBtn') } @>"
3197				data-reviewData="reviewlist"
3198				style="padding: 2px 28px; text-transform: uppercase; border-radius: 40px;">Post</button>
3199		</div>
3200	</div>
3201</div>
3202</div>		
3203	
3204	<div id="reviewlist">
3205	<@ $.each(items, function(index, item) { @>
3206	<div class="review-box reviewcontainer <@ if(typeof SPUSER !== 'undefined' && item["userId"] === SPUSER.id)	{ @>selfreview<@ } @>">
3207		<@ if(typeof SPUSER !== 'undefined' && item["userId"] === SPUSER.id)	{ @>
3208			<a class="btn btn-link float-right deleteCurrentReviewBtn" data-id="<@ print(item['_id']) @>"><i class="material-icons">delete</i></a>
3209		<@ } @>
3210		<div class="flex-row">
3211			<div class="is-box-2 centerbox">
3212				<div class="spectre">
3213					<@ if(typeof SPUSER !== 'undefined' && item["userId"] === SPUSER.id)	{ @>
3214						<figure data-initial="<@if(typeof SPUSER !== 'undefined'){print(SPUSER.email.substring(0, 1))}else{@>Me<@}@>" class="uppercase avatar avatar-lg figsize" >
3215							<img src="/s/profile/thumb" alt="" class="review-pic" onerror="profileImageError(this)" data-mhash="<@ if(typeof SPUSER !== 'undefined'){print(SPUSER.mhash)} @>">
3216					<@ } else {@>	
3217					<figure data-initial="<@ print(getUserInitial(null, item.userName)) @>" class="uppercase avatar avatar-lg figsize" >
3218						<img src="/s/profile/<@- item.userId @>/thumb" alt="" class="review-pic" onerror="profileImageError(this)" data-mhash="<@ item.mhash @>">	
3219					<@ } @>
3220					</figure>
3221					<p class="review-name"><@ if(typeof SPUSER !== 'undefined' && item["userId"] === SPUSER.id)	{ @><@ print(SPUSER.name) @><@ } else {@>	<@ print(item.userName) @><@ } @>	</p>
3222				</div>
3223			</div>
3224			<div class="is-box-10">
3225				<div class="rating4">
3226					<p>
3227						<@ for (ratingsSize = 1; ratingsSize <= 5; ratingsSize++) {@> <@
3228						if(item.rating >= ratingsSize) {@> 
3229							<i class="fa fa-solid fa-star-sharp text-primary"></i>
3230						<@ } else if(item.rating > ratingsSize-1 && item.rating < ratingsSize) { @> 
3231							<i class="fa fa-solid fa-star-sharp-half text-primary"></i> 
3232						<@ } else { @> 
3233							<i class="fa fa-solid fa-star-sharp"></i> 
3234						<@}@> 
3235						<@ }@>
3236					</p>
3237					<p
3238						style="font-size: 13px!important; color: rgb(174, 170, 170); font-weight: 600!important; margin-top: 4px;">
3239						<time class="timestamp"
3240							datetime="<@ print((new Date(item.createdDate.$date)).toISOString()) @>"><@
3241							print(parseDate(item.createdDate.$date)) @></time>
3242					</p>
3243				</div>
3244				<p  class="reviewTxt"
3245					style="color: rgb(102, 102, 102); font-weight: 500!important; font-size: 13px!important; margin-bottom: 10px;"><@
3246					print(item.reviewtext.replace(/</g,'&lt;').replace(/>/g,'&gt;')) @></p>
3247				<div class="comment-tag">
3248					<@ if(item.isFeatured) {@><span>Featured Review </span><@ } @><@ if(item.isVerifiedPurchase) {@> <span>Verified Purchase </span><@ } @>
3249				</div>
3250			</div>
3251		</div>
3252	</div>
3253	<@ }); @>
3254	</div>	
3255	<button class="bg-primary loadMoreReviewsBtn reviewLMbtn" data-itemTemplate="feedback-1-item-template" data-reviewData="reviewlist" >Load More Reviews</button>
3256</div>
3257<@}@>
3258</script>
3258
3259
3260
3261<script type="text/template" id="feedback-1-item-template">
3262<div class="review-box reviewcontainer <@ if(typeof SPUSER !== 'undefined' && item["userId"] === SPUSER.id)	{ @>selfreview<@ } @>"">
3263<@ if(typeof SPUSER !== 'undefined' && item["userId"] === SPUSER.id)	{ @>
3264	<a class="btn btn-link float-right deleteCurrentReviewBtn" data-id="<@ print(item['_id']) @>"><i class="material-icons">delete</i></a>
3265<@ } @>
3266<div class="flex-row">
3267	<div class="is-box-2 centerbox">
3268		<div class="spectre">
3269			<@ if(typeof SPUSER !== 'undefined' && item["userId"] === SPUSER.id)	{ @>
3270				<figure data-initial="<@if(typeof SPUSER !== 'undefined'){print(SPUSER.email.substring(0, 1))}else{@>Me<@}@>" class="avatar avatar-lg figsize" >
3271					<img src="/s/profile/thumb" alt="" class="review-pic" onerror="profileImageError(this)" data-mhash="<@ if(typeof SPUSER !== 'undefined'){print(SPUSER.mhash)} @>">
3272			<@ } else {@>	
3273			<figure data-initial="<@ print(getUserInitial(null, item.userName)) @>" class="avatar avatar-lg figsize" >
3274				<img src="/s/profile/<@- item.userId @>/thumb" alt="" class="review-pic" onerror="profileImageError(this)" data-mhash="<@ item.mhash @>">	
3275			<@ } @>
3276			</figure>
3277			<p class="review-name"><@ if(typeof SPUSER !== 'undefined' && item["userId"] === SPUSER.id)	{ @><@ print(SPUSER.name) @><@ } else {@>	<@ print(item.userName) @><@ } @>	</p>
3278		</div>
3279	</div>
3280	<div class="is-box-10">
3281		<div class="rating4">
3282			<p>
3283				<@ for (ratingsSize = 1; ratingsSize <= 5; ratingsSize++) {@> <@
3284				if(item.rating >= ratingsSize) {@> 
3285					<i class="fa fa-solid fa-star-sharp text-primary"></i>
3286				<@ } else if(item.rating > ratingsSize-1 && item.rating < ratingsSize) { @> 
3287					<i class="fa fa-solid fa-star-sharp-half text-primary"></i>
3288				<@ } else { @> 
3289					<i class="fa fa-solid fa-star-sharp-outline"></i> 
3290				<@}@> 
3291				<@ } @>
3292			</p>
3293			<p
3294				style="font-size: 13px!important; color: rgb(174, 170, 170); font-weight: 600!important; margin-top: 4px;">
3295				<time class="timestamp"
3296					datetime="<@ print((new Date(item.createdDate.$date)).toISOString()) @>"><@
3297					print(parseDate(item.createdDate.$date)) @></time>
3298			</p>
3299		</div>
3300		<p  class="reviewTxt"
3301			style="color: rgb(102, 102, 102); font-weight: 500!important; font-size: 13px!important; margin-bottom: 10px;"><@
3302			print(item.reviewtext.replace(/</g,'&lt;').replace(/>/g,'&gt;')) @></p>
3303		<div class="comment-tag">
3304			<@ if(item.isFeatured) {@><span>Featured Review </span><@ } @><@ if(item.isVerifiedPurchase) {@> <span>Verified Purchase </span><@ } @>
3305		</div>
3306	</div>
3307</div>
3308</div>
3309</script>
3309
3310
3311
3312<!-- Feedback Template Second -->
3313<script type="text/template" id="feedback-2-template">
3314<div class="column full feedbackContainer feedback2 spectre <@- total @>" style="padding: 0;">
3315<@if(msg){@>
3316	<h4 style="letter-spacing: 2px; text-align: center;"><@print(msg)@></h4>
3317<@}else{@>
3318<@ if(total > 0 && ratings && ratings.avgRating) {@>
3319<div class="avgratingbox">
3320<div class="column third">
3321   <div class="is-card avgRatingContainer" >
3322      <div class="avgRatingInnerContainer">
3323         <h3 style="font-weight: 800; font-size: 12px; line-height: 1.3; margin-bottom: 0px;">Customer ratings</h3>
3324         <div  style="display: flex; flex-direction: row; align-items: center; justify-content: center;">
3325            <i class="icon ion-android-star text-primary" style="font-size: 80px;"></i>
3326            <div style="margin-left: 25px;">
3327               <span style="display: flex; justify-content: flex-start; align-items: baseline;">
3328                  <h3 style="margin-top: 0px; margin-bottom: 0px; font-size: 32px; font-weight: 800; color: var(--themeColor); line-height: 1.3;">
3329                     <@ if(ratings && ratings.avgRating) {@>
3330                     <@ print(parseFloat(ratings.avgRating.toFixed(1))) @>
3331                     <@}else{@>
3332                     0
3333                     <@}@>
3334                  </h3>
3335                  <p class="avgRatingReviews">/5</p>
3336               </span>
3337               <p class="avgRatingReviews">
3338                  <@ if(ratings){print(ratings.total) }else{0}@> reviews
3339               </p>
3340            </div>
3341         </div>
3342      </div>
3343   </div>
3344</div>
3345</div>
3346<@ } @>
3347<div id="feedback2Reviewlist" class="reviewslist">
3348   <@ $.each(items, function(index, item) { @>
3349   		<@ var template = _.template($("#feedback-2-item-template").html()); print(template({item: item})) @>
3350   <@ }); @>
3351   <@}@>
3352</div>
3353<div class="row clearfix">
3354   <div class="column full">
3355      <p class="loadMoreReviewsBtn reviewLMbtn text-primary" data-itemTemplate="feedback-2-item-template" data-reviewData="feedback2Reviewlist" style="text-align: right; font-size: 14px; font-weight: 500;cursor: pointer;line-height: 1.5;display: none;">
3356         View more
3357      </p>
3358   </div>
3359</div>
3360</script>
3360
3361
3362<script type="text/template" id="feedback-2-item-template">
3363	<div class="column third reviewcontainer <@ if(typeof SPUSER !== 'undefined' && item["userId"] === SPUSER.id)	{ @>selfreview<@ } @>">
3364      <div class="is-card avgRatingContainer">
3365         <div style="text-align: center; display: flex; flex-direction: column; align-items: flex-start;" >
3366			<@ if(typeof SPUSER !== 'undefined' && item["userId"] === SPUSER.id)	{ @>
3367				<a class="btn btn-link float-right deleteCurrentReviewBtn" data-id="<@ print(item['_id']) @>"><i class="material-icons">delete</i></a>
3368			<@ } @>
3369            <p class="reviewTxt" style="font-size: 14px; font-weight: 400; line-height: 1.5; margin-bottom: 25px; margin-top: 0px; min-height: 80px; max-height: 80px; overflow: hidden;">
3370   			<@ print(item.reviewtext.replace(/</g,'&lt;').replace(/>/g,'&gt;')) @>
3371   		 	</p>
3372			<div class="reviewerName">
3373           	<p style="font-size: 12px; font-weight: 500; line-height: 1.3;  text-align: left; padding-top: 0px; margin:0px;">
3374   				<@ print(item.userName) @>
3375   		 	</p></div>
3376			
3377			 <p style="margin: 0px;">
3378				<@ for (ratingsSize = 1; ratingsSize <= 5; ratingsSize++) {@> 
3379					<@ if(item.rating >= ratingsSize) {@> 
3380						<i class="fa fa-solid fa-star-sharp text-primary"></i>
3381					<@ } else if(item.rating > ratingsSize-1 && item.rating < ratingsSize) { @> 
3382						<i class="fa fa-solid fa-star-sharp-half text-primary"></i> 
3383					<@ } @> 
3384				<@ }@>
3385			 </p>		
3386
3387      	 </div>
3388	  </div>	
3389   </div>
3390</script>
vendor: 1 bytes, line 3390
3390
3391<script type="text/template" id="feedback-2-createTemplate">
3392	<div data-cat="1" class="is-section is-box is-section-20" id="createCustomReview" style="display: none;" data-id="<@- parentId @>">
3393  <div class="is-boxes">
3394    <div class="is-box-centered">
3395      <div class="is-container container" style="max-width: 940px;">
3396	
3397		<div class="review-box review-add-box">
3398            <div class="is-container container is-content-800" >
3399               <div class="row clearfix" >
3400                  <div class="column full" >
3401                     <h1 style="text-align: center; font-size: 28px; line-height: 1.1; font-weight: 700; letter-spacing: 0px; color: var(--themeColor); margin-bottom: 44px;">Add a review</h1>
3402                  </div>
3403               </div>
3404               <div class="textarea-cont">
3405                  <div class="review-star text-primary" style="display: flex; flex-direction: row; align-items: center; padding-top: 0px; margin-top: 0px;">
3406					<span id="rating-stars">
3407                     <@ for (ratingsSize = 1; ratingsSize <= 5; ratingsSize++) {@> <i 
3408                        class="fa fa-solid fa-star-sharp rating-star" data-value='<@- ratingsSize @>'></i> <@}@>
3409					</span>
3410                  </div>
3411                  <textarea class="add-review-textarea" id="reviewText" style="background: transparent;width: 100%; border-width: 0px; padding-right: 28px; padding-bottom: 28px; min-height: 150px; font-size: 14px; font-weight: 500; line-height: 1.5; padding-top: 10px;" placeholder="Add your review here"></textarea>
3412                  <@ if(typeof SPUSER !== 'undefined' && SPUSER.name.length > 0)	{ @>
3413						<p style="font-weight: 400; font-size: 10px; line-height: 1.3; color: rgba(255, 255, 255, 0.5); margin-top: 0px;"><@ print(SPUSER.name) @></p>
3414				<@ } @>
3415               </div>
3416               <div  style="margin-top: 20px; display: flex; justify-content: flex-end;">
3417                  <button id="reviewSubmitBtn" class="btn btn-primary <@ if(typeof SPUSER !== 'undefined'){ print('createCustomReviewBtn') }else { print('loginBtn') } @>"
3418					data-reviewData="feedback2Reviewlist" disabled >Submit</button>
3419               </div>
3420            </div>
3421		</div>
3422		</div>
3423		</div>
3424	</div>
3425</div>
3426</script>
3426
3427
3428<!-- Vegas 4th feedback Template-->
3429
3430
3431<script type="text/template" id="feedback-4-template">
3432	<div class="column full feedbackContainer feedback2 spectre <@- total @>" style="padding: 0;">
3433	<@if(msg){@>
3434		<h4 style="letter-spacing: 2px; text-align: center;"><@print(msg)@></h4>
3435	<@}else{@>
3436	<@ if(total > 0 && ratings && ratings.avgRating) {@>
3437	<div class="avgratingbox">
3438	<div class="column third">
3439	   <div class="is-card avgRatingContainer" style="border-radius:16px !important ; padding:20px ;border:1px solid #E5E5E5 !important;" >
3440		  <div class="avgRatingInnerContainer">
3441			 <h3 style="font-weight: 800; font-size: 12px; line-height: 1.3; margin-bottom: 0px;">Customer ratings</h3>
3442			 <div  style="display: flex; flex-direction: row; align-items: center; justify-content: center;">
3443				<i class="icon ion-android-star text-primary" style="font-size: 80px;"></i>
3444				<div style="margin-left: 25px;">
3445				   <span style="display: flex; justify-content: flex-start; align-items: baseline;">
3446					  <h3 style="margin-top: 0px; margin-bottom: 0px; font-size: 32px; font-weight: 800; color: var(--themeColor); line-height: 1.3;">
3447						 <@ if(ratings && ratings.avgRating) {@>
3448						 <@ print(parseFloat(ratings.avgRating.toFixed(1))) @>
3449						 <@}else{@>
3450						 0
3451						 <@}@>
3452					  </h3>
3453					  <p class="avgRatingReviews">/5</p>
3454				   </span>
3455				   <p class="avgRatingReviews">
3456					  <@ if(ratings){print(ratings.total) }else{0}@> reviews
3457				   </p>
3458				</div>
3459			 </div>
3460		  </div>
3461	   </div>
3462	</div>
3463	</div>
3464	<@ } @>
3465	<div id="feedback4Reviewlist" class="reviewslist">
3466	   <@ $.each(items, function(index, item) { @>
3467			   <@ var template = _.template($("#feedback-4-item-template").html()); print(template({item: item})) @>
3468	   <@ }); @>
3469	   <@}@>
3470	</div>
3471	<div class="row clearfix">
3472	   <div class="column full" style="text-align: center;">
3473		  <a class="loadMoreReviewsBtn reviewLMbtn text-primary" data-itemTemplate="feedback-4-item-template" data-reviewData="feedback4Reviewlist" style="text-align: center; font-size: 16px; font-weight: 500;cursor: pointer;line-height: 1.5;display: none; background:#FB5607; color:white; padding:12px 28px; border-radius:24px;text-decoration:none;">
3474			View All Reviews
3475		  </a>
3476	   </div>
3477	</div>
3478	</script>
3478
3479	
3480	
3480<script type="text/template" id="feedback-4-item-template">
3481		<div class="column third reviewcontainer <@ if(typeof SPUSER !== 'undefined' && item["userId"] === SPUSER.id)	{ @>selfreview<@ } @>">
3482		  <div class="is-card avgRatingContainer" style="border:1px solid #E5E5E5 !important; border-radius:16px !important;background:white; padding:20px; ">
3483			 <div style="text-align: center; display: flex; flex-direction: column; align-items: flex-start;" >
3484				<@ if(typeof SPUSER !== 'undefined' && item["userId"] === SPUSER.id)	{ @>
3485					<a  style="color:#FB5607 !important;" class="btn btn-link float-right deleteCurrentReviewBtn" data-id="<@ print(item['_id']) @>"><i class="material-icons">delete</i></a>
3486				<@ } @>
3487				<p class="reviewTxt" style="font-size: 14px; font-weight: 400; line-height: 1.5; margin-bottom: 25px; margin-top: 0px; min-height: 82px; max-height: 80px; overflow: hidden;">
3488				   <@ print(item.reviewtext.replace(/</g,'&lt;').replace(/>/g,'&gt;')) @>
3489					</p>
3490				<div class="reviewerName">
3491				   <p style="font-size: 12px; font-weight: 500; line-height: 1.3;  text-align: left; padding-top: 0px; margin:0px; opacity:0.5;">
3492					   <@ print(item.userName) @>
3493					</p></div>
3494				
3495				 <p style="margin: 0px;">
3496					<@ for (ratingsSize = 1; ratingsSize <= 5; ratingsSize++) {@> 
3497						<@ if(item.rating >= ratingsSize) {@> 
3498							<i class="fa fa-solid fa-star-sharp text-primary" style="color:#FB5607 !important;"></i>
3499						<@ } else if(item.rating > ratingsSize-1 && item.rating < ratingsSize) { @> 
3500							<i class="fa fa-solid fa-star-sharp-half text-primary" style="color:#FB5607 !important;"></i> 
3501						<@ } @> 
3502					<@ }@>
3503				 </p>		
3504	
3505			   </div>
3506		  </div>	
3507	   </div>
3508	</script>
3508
3509	
3509<script type="text/template" id="feedback-4-createTemplate">
3510		<div data-cat="1" class="is-section is-box is-section-20" id="createCustomReview" style="display: none;" data-id="<@- parentId @>">
3511	  <div class="is-boxes">
3512		<div class="is-box-centered">
3513		  <div class="is-container container" style="max-width: 1200px;">
3514		
3515			<div class="review-box review-add-box">
3516				<div class="is-container container is-content-1200" >
3517				   <div class="row clearfix" >
3518					  <div class="column full" >
3519						 <h1 style="text-align: left; font-size: 32px; line-height: 1.1; font-weight: 600; letter-spacing: 0px; color: black; ">Add a review</h1>
3520					  </div>
3521				   </div>
3522				   <div class="textarea-cont">
3523					<div style="display:flex; gap:30px;">
3524						<div><h3 style="font-size:18px;font-weight:600;">Overall Rating</h3></div>
3525						<div class="review-star1 text-primary" 
3526						style="display: flex; flex-direction: row; align-items: center; padding-top: 0px; margin-top: 0px;margin-left:0px !important;margin:0px !important">
3527					   <span id="rating-stars" >
3528						   <@ for (ratingsSize = 1; ratingsSize <= 5; ratingsSize++) {@>
3529							   <i class="fa fa-solid fa-star-sharp rating-star" 
3530								  data-value='<@- ratingsSize @>' 
3531								  style="width: 20px; height: 20px; text-align: center; flex-shrink: 0; margin: 0; padding: 0;"></i>
3532						   <@}@>
3533					   </span>
3534				   </div>
3535				   <style></style>
3536				   
3537				   
3538					</div>
3539					  <textarea class="add-review-textarea" id="reviewText" style="background:#E5E5E5;width: 100%; border: 1px solid #E5E5E5; padding-right: 28px; padding-bottom: 28px; min-height: 180px; font-size: 14px; font-weight: 500; line-height: 1.5; padding-top: 10px;border-radius:16px !important" placeholder="Add your review here"></textarea>
3540					  <@ if(typeof SPUSER !== 'undefined' && SPUSER.name.length > 0)	{ @>
3541							<p style="font-weight: 400; font-size: 10px; line-height: 1.3; color: rgba(255, 255, 255, 0.5); margin-top: 0px;"><@ print(SPUSER.name) @></p>
3542					<@ } @>
3543				   </div>
3544				   <div  style=" display: flex; justify-content: center;">
3545					  <button style="letter-spacing:0px !important ; background-color:#FB5607;padding:12px 28px !important;" id="reviewSubmitBtn" class="btn btn-primary <@ if(typeof SPUSER !== 'undefined'){ print('createCustomReviewBtn') }else { print('loginBtn') } @>"
3546						data-reviewData="feedback4Reviewlist" disabled >Submit</button>
3547				   </div>
3548				</div>
3549			</div>
3550			</div>
3551			</div>
3552		</div>
3553	</div>
3554	</script>
3554
3555	
3556
3557
3558
3559<!-- Blaze 5th feedback Template-->
3560<script type="text/template" id="feedback-5-template">
3561	<div class="column full feedbackContainer feedback2 spectre <@- total @>" style="padding: 0;">
3562	<@if(msg){@>
3563		<h4 style="letter-spacing: 2px; text-align: center;"><@print(msg)@></h4>
3564	<@}else{@>
3565	<@ if(total > 0 && ratings && ratings.avgRating) {@>
3566	<div class="avgratingbox">
3567	<div class="column third">
3568	   <div class="is-card avgRatingContainer" style="background:#232323; border-radius:0px;padding:21px;" >
3569		  <div class="avgRatingInnerContainer">
3570			 <h3 style="font-weight: 800; font-size: 12px; line-height: 1.3; margin-bottom: 0px;color:white;">Customer ratings</h3>
3571			 <div  style="display: flex; flex-direction: row; align-items: center; justify-content: center;">
3572				<i class="icon ion-android-star text-primary" style="font-size: 80px;color:rgb(216, 253, 70);"></i>
3573				<div style="margin-left: 25px;">
3574				   <span style="display: flex; justify-content: flex-start; align-items: baseline;">
3575					  <h3 style="margin-top: 0px; margin-bottom: 0px; font-size: 32px; font-weight: 800; color: rgb(216, 253, 70); line-height: 1.3;">
3576						 <@ if(ratings && ratings.avgRating) {@>
3577						 <@ print(parseFloat(ratings.avgRating.toFixed(1))) @>
3578						 <@}else{@>
3579						 0
3580						 <@}@>
3581					  </h3>
3582					  <p class="avgRatingReviews" style="color:white;">/5</p>
3583				   </span>
3584				   <p class="avgRatingReviews" style="color:white;">
3585					  <@ if(ratings){print(ratings.total) }else{0}@> reviews
3586				   </p>
3587				</div>
3588			 </div>
3589		  </div>
3590	   </div>
3591	</div>
3592	</div>
3593	<@ } @>
3594	<div id="feedback5Reviewlist" class="reviewslist">
3595	   <@ $.each(items, function(index, item) { @>
3596			   <@ var template = _.template($("#feedback-5-item-template").html()); print(template({item: item})) @>
3597	   <@ }); @>
3598	   <@}@>
3599	</div>
3600	<div class="row clearfix">
3601	   <div class="column full" style="text-align: center;">
3602		  <a class="loadMoreReviewsBtn reviewLMbtn text-primary" data-itemTemplate="feedback-5-item-template" data-reviewData="feedback5Reviewlist" style="text-align: center; font-size: 16px; font-weight: 500;cursor: pointer;line-height: 1.5;display: none; background:#D8FD46; color:black; padding:12px 28px; border-radius:0px;text-decoration:none;">
3603			View All Reviews
3604		  </a>
3605	   </div>
3606	</div>
3607	</script>
3607
3608	
3609	
3610	
3610<script type="text/template" id="feedback-5-item-template">
3611		<style>
3612			.template5-review .reviewTxt{
3613				color:white !important;
3614			}
3615			.template5-review .reviewerName p{
3616				color:white !important;
3617			}
3618		</style>
3619		<div class="column third reviewcontainer template5-review <@ if(typeof SPUSER !== 'undefined' && item["userId"] === SPUSER.id) { @> selfreview <@ } @>">
3620			<div class="is-card avgRatingContainer" style="border:1px solid #232323;padding:20px;">
3621				<div style="text-align: center; display: flex; flex-direction: column; align-items: flex-start;">
3622					<@ if(typeof SPUSER !== 'undefined' && item["userId"] === SPUSER.id) { @>
3623						<a style="color:#D8FD46 !important;" class="btn btn-link float-right deleteCurrentReviewBtn" data-id="<@ print(item['_id']) @>">
3624							<i class="material-icons">delete</i>
3625						</a>
3626					<@ } @>
3627					<p class="reviewTxt" style="font-size: 14px; font-weight: 400; line-height: 1.5; margin-bottom: 25px; margin-top: 0px; min-height: 82px; max-height: 80px; overflow: hidden;">
3628						<@ print(item.reviewtext.replace(/</g,'&lt;').replace(/>/g,'&gt;')) @>
3629					</p>
3630					<div class="reviewerName">
3631						<p style="font-size: 12px; font-weight: 500; line-height: 1.3; text-align: left; padding-top: 0px; margin:0px; opacity:0.5; ">
3632							<@ print(item.userName) @>
3633						</p>
3634					</div>
3635	
3636					<p style="margin: 0px;">
3637						<@ for (ratingsSize = 1; ratingsSize <= 5; ratingsSize++) { @>
3638							<@ if(item.rating >= ratingsSize) { @>
3639								<i class="fa fa-solid fa-star-sharp text-primary" style="color:#D8FD46 !important;"></i>
3640							<@ } else if(item.rating > ratingsSize - 1 && item.rating < ratingsSize) { @>
3641								<i class="fa fa-solid fa-star-sharp-half text-primary" style="color:#D8FD46 !important;"></i>
3642							<@ } @>
3643						<@ } @>
3644					</p>
3645				</div>
3646			</div>
3647		</div>
3648	</script>
3648
3649	
3650	
3650<script type="text/template" id="feedback-5-createTemplate">
3651		<div data-cat="1" class="is-section is-box is-section-20" id="createCustomReview" style="display: none;" data-id="<@- parentId @>">
3652	  <div class="is-boxes">
3653		<div class="is-box-centered" style="background:#181818;">
3654		  <div class="is-container container" style="max-width: 1200px;">
3655		
3656			<div class="review-box review-add-box">
3657				<div class="is-container container is-content-1200" >
3658				   <div class="row clearfix" >
3659					  <div class="column full" >
3660						 <h1 style="text-align: left; font-size: 32px; line-height: 1.1; font-weight: 600; letter-spacing: 0px; color: white; ">Add a review</h1>
3661					  </div>
3662				   </div>
3663				   <div class="textarea-cont" style="background:transparent">
3664					<div style="display:flex; gap:30px;">
3665						<div><h3 style="font-size:18px;font-weight:600; color:white;">Overall Rating</h3></div>
3666						<div class="review-star text-primary" 
3667						style="display: flex; flex-direction: row; align-items: center; padding-top: 0px; margin-top: 0px;margin-left:0px !important;margin:0px !important">
3668					   <span id="rating-stars" >
3669						   <@ for (ratingsSize = 1; ratingsSize <= 5; ratingsSize++) {@>
3670							   <i class="fa fa-solid fa-star-sharp rating-star" 
3671								  data-value='<@- ratingsSize @>' 
3672								  style="width: 20px; height: 20px; text-align: center; flex-shrink: 0; margin: 0; padding: 0;"></i>
3673						   <@}@>
3674					   </span>
3675				   </div>
3676				   
3677				   
3678					</div>
3679					  <textarea class="add-review-textarea" id="reviewText" style="color:white;background:#232323;width: 100%; border: 1px solid #636363; padding: 28px;  min-height: 180px; font-size: 14px; font-weight: 500; line-height: 1.5; padding-top: 10px;border-radius:0px !important" placeholder="Add your review here"></textarea>
3680					  <@ if(typeof SPUSER !== 'undefined' && SPUSER.name.length > 0)	{ @>
3681							<p style="font-weight: 400; font-size: 10px; line-height: 1.3; color: rgba(255, 255, 255, 0.5); margin-top: 0px;"><@ print(SPUSER.name) @></p>
3682					<@ } @>
3683				   </div>
3684				   <div  style=" display: flex; justify-content: center;margin-top:20px;">
3685					  <button style="letter-spacing:0px !important ; background-color:#D8FD46;padding:12px 28px !important; border-radius:0px !important; color:black;" id="reviewSubmitBtn" class="btn btn-primary <@ if(typeof SPUSER !== 'undefined'){ print('createCustomReviewBtn') }else { print('loginBtn') } @>"
3686						data-reviewData="feedback5Reviewlist" disabled >Submit</button>
3687				   </div>
3688				</div>
3689			</div>
3690			</div>
3691			</div>
3692		</div>
3693	</div>
3694	</script>
3694
3695
3696
3697
3698
3699
3700
3701
3702
3703
3704
3705
3706
3707
3708
3709
3710<!-- Nebula Feedback 6-->
3711
3712<script type="text/template" id="feedback-6-template">
3713	<div class="column full feedbackContainer feedback2 spectre <@- total @>" style="padding: 0;">
3714	<@if(msg){@>
3715		<h4 style="letter-spacing: 2px; text-align: center;"><@print(msg)@></h4>
3716	<@}else{@>
3717	<@ if(total > 0 && ratings && ratings.avgRating) {@>
3718	<div class="avgratingbox">
3719	<div class="column third">
3720	   <div class="is-card avgRatingContainer" style="border-radius:16px !important ; padding:20px ;border:1px solid #E5E5E5 !important;" >
3721		  <div class="avgRatingInnerContainer">
3722			 <h3 style="font-weight: 800; font-size: 12px; line-height: 1.3; margin-bottom: 0px;">Customer ratings</h3>
3723			 <div  style="display: flex; flex-direction: row; align-items: center; justify-content: center;">
3724				<i class="icon ion-android-star text-primary" style="font-size: 80px;    color: #6715FF !important;"></i>
3725				<div style="margin-left: 25px;">
3726				   <span style="display: flex; justify-content: flex-start; align-items: baseline;">
3727					  <h3 style="margin-top: 0px; margin-bottom: 0px; font-size: 32px; font-weight: 800;     color: #6715FF !important; line-height: 1.3;">
3728						 <@ if(ratings && ratings.avgRating) {@>
3729						 <@ print(parseFloat(ratings.avgRating.toFixed(1))) @>
3730						 <@}else{@>
3731						 0
3732						 <@}@>
3733					  </h3>
3734					  <p class="avgRatingReviews">/5</p>
3735				   </span>
3736				   <p class="avgRatingReviews">
3737					  <@ if(ratings){print(ratings.total) }else{0}@> reviews
3738				   </p>
3739				</div>
3740			 </div>
3741		  </div>
3742	   </div>
3743	</div>
3744	</div>
3745	<@ } @>
3746	<div id="feedback6Reviewlist" class="reviewslist">
3747	   <@ $.each(items, function(index, item) { @>
3748			   <@ var template = _.template($("#feedback-6-item-template").html()); print(template({item: item})) @>
3749	   <@ }); @>
3750	   <@}@>
3751	</div>
3752	<div class="row clearfix">
3753	   <div class="column full" style="text-align: center;">
3754		  <a class="loadMoreReviewsBtn reviewLMbtn text-primary" data-itemTemplate="feedback-6-item-template" data-reviewData="feedback6Reviewlist" style="text-align: center; font-size: 16px; font-weight: 500;cursor: pointer;line-height: 1.5;display: none; background:#6715FF; color:white; padding:12px 28px; border-radius:24px;text-decoration:none;">
3755			View All Reviews
3756		  </a>
3757	   </div>
3758	</div>
3759	</script>
3759
3760	
3761	
3761<script type="text/template" id="feedback-6-item-template">
3762		<div class="column third reviewcontainer <@ if(typeof SPUSER !== 'undefined' && item["userId"] === SPUSER.id)	{ @>selfreview<@ } @>">
3763		  <div class="is-card avgRatingContainer" style="border:1px solid #E5E5E5 !important; border-radius:16px !important;background:white; padding:20px; ">
3764			 <div style="text-align: center; display: flex; flex-direction: column; align-items: flex-start;" >
3765				<@ if(typeof SPUSER !== 'undefined' && item["userId"] === SPUSER.id)	{ @>
3766					<a  style="color:#6715FF !important;" class="btn btn-link float-right deleteCurrentReviewBtn" data-id="<@ print(item['_id']) @>"><i class="material-icons">delete</i></a>
3767				<@ } @>
3768				<p class="reviewTxt" style="font-size: 14px; font-weight: 400; line-height: 1.5; margin-bottom: 25px; margin-top: 0px; min-height: 82px; max-height: 80px; overflow: hidden;">
3769				   <@ print(item.reviewtext.replace(/</g,'&lt;').replace(/>/g,'&gt;')) @>
3770					</p>
3771				<div class="reviewerName">
3772				   <p style="font-size: 12px; font-weight: 500; line-height: 1.3;  text-align: left; padding-top: 0px; margin:0px; opacity:0.5;">
3773					   <@ print(item.userName) @>
3774					</p></div>
3775				
3776				 <p style="margin: 0px;">
3777					<@ for (ratingsSize = 1; ratingsSize <= 5; ratingsSize++) {@> 
3778						<@ if(item.rating >= ratingsSize) {@> 
3779							<i class="fa fa-solid fa-star-sharp text-primary" style="color:#6715FF !important;"></i>
3780						<@ } else if(item.rating > ratingsSize-1 && item.rating < ratingsSize) { @> 
3781							<i class="fa fa-solid fa-star-sharp-half text-primary" style="color:#6715FF !important;"></i> 
3782						<@ } @> 
3783					<@ }@>
3784				 </p>		
3785	
3786			   </div>
3787		  </div>	
3788	   </div>
3789	</script>
3789
3790	
3790<script type="text/template" id="feedback-6-createTemplate">
3791		<div data-cat="1" class="is-section is-box is-section-20" id="createCustomReview" style="display: none;" data-id="<@- parentId @>">
3792	  <div class="is-boxes">
3793		<div class="is-box-centered">
3794		  <div class="is-container container" style="max-width: 1200px;">
3795		
3796			<div class="review-box review-add-box">
3797				<div class="is-container container is-content-1200" >
3798				   <div class="row clearfix" >
3799					  <div class="column full" >
3800						 <h1 style="text-align: left; font-size: 32px; line-height: 1.1; font-weight: 600; letter-spacing: 0px; color: black; ">Add a review</h1>
3801					  </div>
3802				   </div>
3803				   <div class="textarea-cont" style="background:transparent">
3804					<div style="display:flex; gap:30px;">
3805						<div><h3 style="font-size:18px;font-weight:600;">Overall Rating</h3></div>
3806						<div class="review-star1 text-primary" 
3807						style="display: flex; flex-direction: row; align-items: center; padding-top: 0px; margin-top: 0px;margin-left:0px !important;margin:0px !important">
3808					   <span id="rating-stars" >
3809						   <@ for (ratingsSize = 1; ratingsSize <= 5; ratingsSize++) {@>
3810							   <i class="fa fa-solid fa-star-sharp rating-star" 
3811								  data-value='<@- ratingsSize @>' 
3812								  style="width: 20px; height: 20px; text-align: center; flex-shrink: 0; margin: 0; padding: 0;"></i>
3813						   <@}@>
3814					   </span>
3815				   </div>
3816				   <style></style>
3817				   
3818				   
3819					</div>
3820					  <textarea class="add-review-textarea" id="reviewText" style="background:white;width: 100%; border: 1px solid #c3c0c0; padding-right: 28px; padding-bottom: 28px;padding-left:20px; min-height: 180px; font-size: 14px; font-weight: 500; line-height: 1.5; padding-top: 10px;border-radius:16px !important" placeholder="Add your review here"></textarea>
3821					  <@ if(typeof SPUSER !== 'undefined' && SPUSER.name.length > 0)	{ @>
3822							<p style="font-weight: 400; font-size: 10px; line-height: 1.3; color: grey; margin-top: 0px;"><@ print(SPUSER.name) @></p>
3823					<@ } @>
3824				   </div>
3825				   <div  style=" display: flex; justify-content: center;">
3826					  <button style="letter-spacing:0px !important ; background-color:#6715FF;padding:12px 28px !important;margin-top:30px;" id="reviewSubmitBtn" class="btn btn-primary <@ if(typeof SPUSER !== 'undefined'){ print('createCustomReviewBtn') }else { print('loginBtn') } @>"
3827						data-reviewData="feedback6Reviewlist" disabled >Submit</button>
3828				   </div>
3829				</div>
3830			</div>
3831			</div>
3832			</div>
3833		</div>
3834	</div>
3835	</script>
3835
3836
3837
3838
3839
3840
3841<!-- Olive Feedback 7-->
3842<script type="text/template" id="feedback-7-template">
3843	<div class="column full feedbackContainer feedback2 spectre <@- total @>" style="padding: 0;">
3844	<@if(msg){@>
3845		<h4 style="letter-spacing: 2px; text-align: center;"><@print(msg)@></h4>
3846	<@}else{@>
3847	<@ if(total > 0 && ratings && ratings.avgRating) {@>
3848	<div class="avgratingbox">
3849	<div class="column third">
3850	   <div class="is-card avgRatingContainer" style="border-radius:16px !important ; padding:20px ;border:1px solid #E5E5E5 !important;" >
3851		  <div class="avgRatingInnerContainer">
3852			 <h3 style="font-weight: 800; font-size: 12px; line-height: 1.3; margin-bottom: 0px;">Customer ratings</h3>
3853			 <div  style="display: flex; flex-direction: row; align-items: center; justify-content: center;">
3854				<i class="icon ion-android-star text-primary" style="font-size: 80px;    color: #064400 !important;"></i>
3855				<div style="margin-left: 25px;">
3856				   <span style="display: flex; justify-content: flex-start; align-items: baseline;">
3857					  <h3 style="margin-top: 0px; margin-bottom: 0px; font-size: 32px; font-weight: 800;     color: #064400 !important; line-height: 1.3;">
3858						 <@ if(ratings && ratings.avgRating) {@>
3859						 <@ print(parseFloat(ratings.avgRating.toFixed(1))) @>
3860						 <@}else{@>
3861						 0
3862						 <@}@>
3863					  </h3>
3864					  <p class="avgRatingReviews">/5</p>
3865				   </span>
3866				   <p class="avgRatingReviews">
3867					  <@ if(ratings){print(ratings.total) }else{0}@> reviews
3868				   </p>
3869				</div>
3870			 </div>
3871		  </div>
3872	   </div>
3873	</div>
3874	</div>
3875	<@ } @>
3876	<div id="feedback7Reviewlist" class="reviewslist">
3877	   <@ $.each(items, function(index, item) { @>
3878			   <@ var template = _.template($("#feedback-7-item-template").html()); print(template({item: item})) @>
3879	   <@ }); @>
3880	   <@}@>
3881	</div>
3882	<div class="row clearfix">
3883	   <div class="column full" style="text-align: center;">
3884		  <a class="loadMoreReviewsBtn reviewLMbtn text-primary" data-itemTemplate="feedback-7-item-template" data-reviewData="feedback7Reviewlist" style="text-align: center; font-size: 16px; font-weight: 500;cursor: pointer;line-height: 1.5;display: none; background:#064400; color:white; padding:12px 28px; border-radius:24px;text-decoration:none;">
3885			View All Reviews
3886		  </a>
3887	   </div>
3888	</div>
3889	</script>
3889
3890	
3891	
3891<script type="text/template" id="feedback-7-item-template">
3892		<div class="column third reviewcontainer <@ if(typeof SPUSER !== 'undefined' && item["userId"] === SPUSER.id)	{ @>selfreview<@ } @>">
3893		  <div class="is-card avgRatingContainer" style="border:1px solid #E5E5E5 !important; border-radius:16px !important;background:white; padding:20px; ">
3894			 <div style="text-align: center; display: flex; flex-direction: column; align-items: flex-start;" >
3895				<@ if(typeof SPUSER !== 'undefined' && item["userId"] === SPUSER.id)	{ @>
3896					<a  style="color:#064400 !important;" class="btn btn-link float-right deleteCurrentReviewBtn" data-id="<@ print(item['_id']) @>"><i class="material-icons">delete</i></a>
3897				<@ } @>
3898				<p class="reviewTxt" style="font-size: 14px; font-weight: 400; line-height: 1.5; margin-bottom: 25px; margin-top: 0px; min-height: 82px; max-height: 80px; overflow: hidden;">
3899				   <@ print(item.reviewtext.replace(/</g,'&lt;').replace(/>/g,'&gt;')) @>
3900					</p>
3901				<div class="reviewerName">
3902				   <p style="font-size: 12px; font-weight: 500; line-height: 1.3;  text-align: left; padding-top: 0px; margin:0px; opacity:0.5;">
3903					   <@ print(item.userName) @>
3904					</p></div>
3905				
3906				 <p style="margin: 0px;">
3907					<@ for (ratingsSize = 1; ratingsSize <= 5; ratingsSize++) {@> 
3908						<@ if(item.rating >= ratingsSize) {@> 
3909							<i class="fa fa-solid fa-star-sharp text-primary" style="color:#064400 !important;"></i>
3910						<@ } else if(item.rating > ratingsSize-1 && item.rating < ratingsSize) { @> 
3911							<i class="fa fa-solid fa-star-sharp-half text-primary" style="color:#064400 !important;"></i> 
3912						<@ } @> 
3913					<@ }@>
3914				 </p>		
3915	
3916			   </div>
3917		  </div>	
3918	   </div>
3919	</script>
3919
3920	
3920<script type="text/template" id="feedback-7-createTemplate">
3921		<div data-cat="1" class="is-section is-box is-section-20" id="createCustomReview" style="display: none;" data-id="<@- parentId @>">
3922	  <div class="is-boxes">
3923		<div class="is-box-centered">
3924		  <div class="is-container container" style="max-width: 1200px;">
3925		
3926			<div class="review-box review-add-box">
3927				<div class="is-container container is-content-1200" >
3928				   <div class="row clearfix" >
3929					  <div class="column full" >
3930						 <h1 style="text-align: left; font-size: 32px; line-height: 1.1; font-weight: 600; letter-spacing: 0px; color: black; ">Add a review</h1>
3931					  </div>
3932				   </div>
3933				   <div class="textarea-cont">
3934					<div style="display:flex; gap:30px;">
3935						<div><h3 style="font-size:18px;font-weight:600;">Overall Rating</h3></div>
3936						<div class="review-star1 text-primary" 
3937						style="display: flex; flex-direction: row; align-items: center; padding-top: 0px; margin-top: 0px;margin-left:0px !important;margin:0px !important">
3938					   <span id="rating-stars" >
3939						   <@ for (ratingsSize = 1; ratingsSize <= 5; ratingsSize++) {@>
3940							   <i class="fa fa-solid fa-star-sharp rating-star" 
3941								  data-value='<@- ratingsSize @>' 
3942								  style="width: 20px; height: 20px; text-align: center; flex-shrink: 0; margin: 0; padding: 0;"></i>
3943						   <@}@>
3944					   </span>
3945				   </div>
3946				   <style></style>
3947				   
3948				   
3949					</div>
3950					  <textarea class="add-review-textarea" id="reviewText" style="background:#E5E5E5;width: 100%; border: 1px solid #E5E5E5; padding-right: 28px; padding-bottom: 28px;padding-left:20px; min-height: 180px; font-size: 14px; font-weight: 500; line-height: 1.5; padding-top: 10px;border-radius:16px !important" placeholder="Add your review here"></textarea>
3951					  <@ if(typeof SPUSER !== 'undefined' && SPUSER.name.length > 0)	{ @>
3952							<p style="font-weight: 400; font-size: 10px; line-height: 1.3; color: rgba(255, 255, 255, 0.5); margin-top: 0px;"><@ print(SPUSER.name) @></p>
3953					<@ } @>
3954				   </div>
3955				   <div  style=" display: flex; justify-content: center;">
3956					  <button style="letter-spacing:0px !important ; background-color:#064400;padding:12px 28px !important;" id="reviewSubmitBtn" class="btn btn-primary <@ if(typeof SPUSER !== 'undefined'){ print('createCustomReviewBtn') }else { print('loginBtn') } @>"
3957						data-reviewData="feedback7Reviewlist" disabled >Submit</button>
3958				   </div>
3959				</div>
3960			</div>
3961			</div>
3962			</div>
3963		</div>
3964	</div>
3965	</script>
3965
3966
3967
3968
3969
3970	<!--Dusk Feedback-8-->
3971	
3971<script type="text/template" id="feedback-8-template">
3972		<div class="column full feedbackContainer feedback2 spectre <@- total @>" style="padding: 0;">
3973		<@if(msg){@>
3974			<h4 style="letter-spacing: 2px; text-align: center;"><@print(msg)@></h4>
3975		<@}else{@>
3976		<@ if(total > 0 && ratings && ratings.avgRating) {@>
3977		<div class="avgratingbox">
3978		<div class="column third">
3979		   <div class="is-card avgRatingContainer" style="border-radius:16px !important ; padding:20px ;border:1px solid #E5E5E5 !important;background:#F5F5F5;" >
3980			  <div class="avgRatingInnerContainer">
3981				 <h3 style="font-weight: 800; font-size: 12px; line-height: 1.3; margin-bottom: 0px;">Customer ratings</h3>
3982				 <div  style="display: flex; flex-direction: row; align-items: center; justify-content: center;">
3983					<i class="icon ion-android-star text-primary" style="font-size: 80px;    color: #282400 !important;"></i>
3984					<div style="margin-left: 25px;">
3985					   <span style="display: flex; justify-content: flex-start; align-items: baseline;">
3986						  <h3 style="margin-top: 0px; margin-bottom: 0px; font-size: 32px; font-weight: 800;     color: #282400 !important; line-height: 1.3;">
3987							 <@ if(ratings && ratings.avgRating) {@>
3988							 <@ print(parseFloat(ratings.avgRating.toFixed(1))) @>
3989							 <@}else{@>
3990							 0
3991							 <@}@>
3992						  </h3>
3993						  <p class="avgRatingReviews">/5</p>
3994					   </span>
3995					   <p class="avgRatingReviews">
3996						  <@ if(ratings){print(ratings.total) }else{0}@> reviews
3997					   </p>
3998					</div>
3999				 </div>
4000			  </div>
4001		   </div>
4002		</div>
4003		</div>
4004		<@ } @>
4005		<div id="feedback8Reviewlist" class="reviewslist">
4006		   <@ $.each(items, function(index, item) { @>
4007				   <@ var template = _.template($("#feedback-8-item-template").html()); print(template({item: item})) @>
4008		   <@ }); @>
4009		   <@}@>
4010		</div>
4011		<div class="row clearfix">
4012		   <div class="column full" style="text-align: center;">
4013			  <a class="loadMoreReviewsBtn reviewLMbtn text-primary" data-itemTemplate="feedback-8-item-template" data-reviewData="feedback8Reviewlist" style="text-align: center; font-size: 16px; font-weight: 500;cursor: pointer;line-height: 1.5;display: none; background:#282400; color:white; padding:12px 28px; border-radius:24px;text-decoration:none;">
4014				View All Reviews
4015			  </a>
4016		   </div>
4017		</div>
4018		</script>
4018
4019		
4020		
4020<script type="text/template" id="feedback-8-item-template">
4021			<div class="column third reviewcontainer <@ if(typeof SPUSER !== 'undefined' && item["userId"] === SPUSER.id)	{ @>selfreview<@ } @>">
4022			  <div class="is-card avgRatingContainer" style="border:1px solid #E5E5E5 !important; border-radius:16px !important;background:#F5F5F5; padding:20px; ">
4023				 <div style="text-align: center; display: flex; flex-direction: column; align-items: flex-start;" >
4024					<@ if(typeof SPUSER !== 'undefined' && item["userId"] === SPUSER.id)	{ @>
4025						<a  style="color:#282400 !important;" class="btn btn-link float-right deleteCurrentReviewBtn" data-id="<@ print(item['_id']) @>"><i class="material-icons">delete</i></a>
4026					<@ } @>
4027					<p class="reviewTxt" style="font-size: 14px; font-weight: 400; line-height: 1.5; margin-bottom: 25px; margin-top: 0px; min-height: 82px; max-height: 80px; overflow: hidden;">
4028					   <@ print(item.reviewtext.replace(/</g,'&lt;').replace(/>/g,'&gt;')) @>
4029						</p>
4030					<div class="reviewerName">
4031					   <p style="font-size: 12px; font-weight: 500; line-height: 1.3;  text-align: left; padding-top: 0px; margin:0px; opacity:0.5;">
4032						   <@ print(item.userName) @>
4033						</p></div>
4034					
4035					 <p style="margin: 0px;">
4036						<@ for (ratingsSize = 1; ratingsSize <= 5; ratingsSize++) {@> 
4037							<@ if(item.rating >= ratingsSize) {@> 
4038								<i class="fa fa-solid fa-star-sharp text-primary" style="color:#282400 !important;"></i>
4039							<@ } else if(item.rating > ratingsSize-1 && item.rating < ratingsSize) { @> 
4040								<i class="fa fa-solid fa-star-sharp-half text-primary" style="color:#282400 !important;"></i> 
4041							<@ } @> 
4042						<@ }@>
4043					 </p>		
4044		
4045				   </div>
4046			  </div>	
4047		   </div>
4048		</script>
4048
4049		
4049<script type="text/template" id="feedback-8-createTemplate">
4050			<div data-cat="1" class="is-section is-box is-section-20" id="createCustomReview" style="display: none;" data-id="<@- parentId @>">
4051		  <div class="is-boxes">
4052			<div class="is-box-centered">
4053			  <div class="is-container container" style="max-width: 1200px;">
4054			
4055				<div class="review-box review-add-box">
4056					<div class="is-container container is-content-1200" >
4057					   <div class="row clearfix" >
4058						  <div class="column full" >
4059							 <h1 style="text-align: left; font-size: 32px; line-height: 1.1; font-weight: 600; letter-spacing: 0px; color: black; ">Add a review</h1>
4060						  </div>
4061					   </div>
4062					   <div class="textarea-cont">
4063						<div style="display:flex; gap:30px;">
4064							<div><h3 style="font-size:18px;font-weight:600;">Overall rating</h3></div>
4065							<div class="review-star1 text-primary" 
4066							style="display: flex; flex-direction: row; align-items: center; padding-top: 0px; margin-top: 0px;margin-left:0px !important;margin:0px !important">
4067						   <span id="rating-stars" >
4068							   <@ for (ratingsSize = 1; ratingsSize <= 5; ratingsSize++) {@>
4069								   <i class="fa fa-solid fa-star-sharp rating-star" 
4070									  data-value='<@- ratingsSize @>' 
4071									  style="width: 20px; height: 20px; text-align: center; flex-shrink: 0; margin: 0; padding: 0;"></i>
4072							   <@}@>
4073						   </span>
4074					   </div>
4075					   <style></style>
4076					   
4077					   
4078						</div>
4079						  <textarea class="add-review-textarea" id="reviewText" style="background:#E5E5E5;width: 100%; border: 1px solid #E5E5E5; padding-right: 28px; padding-bottom: 28px;padding-left:20px; min-height: 180px; font-size: 14px; font-weight: 500; line-height: 1.5; padding-top: 10px;border-radius:16px !important" placeholder="Add your review here"></textarea>
4080						  <@ if(typeof SPUSER !== 'undefined' && SPUSER.name.length > 0)	{ @>
4081								<p style="font-weight: 400; font-size: 10px; line-height: 1.3; color: rgba(255, 255, 255, 0.5); margin-top: 0px;"><@ print(SPUSER.name) @></p>
4082						<@ } @>
4083					   </div>
4084					   <div  style=" display: flex; justify-content: center;">
4085						  <button style="letter-spacing:0px !important ; background-color:#282400;padding:12px 28px !important;" id="reviewSubmitBtn" class="btn btn-primary <@ if(typeof SPUSER !== 'undefined'){ print('createCustomReviewBtn') }else { print('loginBtn') } @>"
4086							data-reviewData="feedback8Reviewlist" disabled >Submit</button>
4087					   </div>
4088					</div>
4089				</div>
4090				</div>
4091				</div>
4092			</div>
4093		</div>
4094		</script>
4094
4095
4096
4097
4098<div class="spectre">
4099<div class="modal" id="reviewModal">
4100			<a href="javascript:void(0);" class="modal-overlay close"
4101				aria-label="Close"></a>	
4102			<div class="modal-container">
4103				<div class="modal-header">
4104					<a href="javascript:void(0);"
4105						class="close btn btn-clear float-right" aria-label="Close"></a>
4106					<div class="modal-title h5">Review</div>
4107				</div>
4108				<div class="modal-body" style="max-height: 90vh;padding-top: 0;">
4109				</div>
4110			</div>
4111			
4112			  
4113			  
4114</div>
4115
4116  
4117</div>
4118
4119
4120
4121
4122
4123	
4124
4125
4126
4127
4128
4129
4130
4131 
4132
4133<script>
4134	var created_date = `Created Date`;
4135	var uname_msg = `Name`;
4136	var email_msg = `Email`;
4137	var has_web_token = `Has Web Token`;
4138	var has_mobile_token = `Has Mobile Token`;
4139	var actions_msg = `Actions`;
4140	var delete_user = `Delete User`;
4141	var create_target_audience = `Create Target Audience`;
4142	var msg_now = `NOW`;
4143	var msg_now_2 = `Now`;
4144	var msg_scheduled = `SCHEDULED`;
4145	var msg_recurring = `RECURRING`;
4146	var msg_weeks = `weeks`;
4147	var msg_months = `month(s)`;
4148	var msg_days = `days`;
4149	var notification_screen = `Notification Screen`;
4150	var coursepackagelandingpage = `Course/Package landing page`;
4151	var search_course_name = `Search by course/package name`;
4152	var webinar_landing_page = `Webinar landing page`;
4153	var search_by_webinar_name = `Search by webinar name`;
4154	var categorypage = `Category Page`;
4155	var custompage = `Custom Page`;
4156	var blogpage = `Blog Page`;
4157	var customlink = `Custom Link`;
4158	var homepage_msg = `Homepage`;
4159	var search_category = `Search category`;
4160	var search_page_title = `Search by Page title`;
4161	var search_blog_title = `Search by Blog title`;
4162	var enter_the_link = `Enter the link`;
4163	var membership_page = `Membership page`;
4164	var pick_a_date = `Pick a date`;
4165	var pick_first_push_date = `Pick a first push date`;
4166	var every_msg = `Every`;
4167	var starting_msg = `Starting`;
4168	var msg_published = `Published`;
4169	var msg_unpublished = `Unpublished`;
4170	var msg_customize = `Customize`;
4171	var msg_edit = `Edit`;
4172	var msg_featured_image = `Featured Image`;
4173	var msg_preview = `Preview`;
4174	var msg_delete = `Delete`;
4175	var msg_unpublish = `Unpublish`;
4176	var msg_publish = `Publish  `;
4177	var msg_question= `questions`;
4178	var try_new_coding_assignment= `Try new coding assignment`;
4179	var change_enrollment_date = `Change Enrollment Date`;
4180	var change_expiry = `Change Expiry`;
4181	var change_remanining_time = `Change Remaining Time`;
4182	var remove_from_course = `Remove From Course`;
4183	var reset_course_progress = `Reset Course Progress`;
4184	var complete_report = `Complete Report`;
4185	var msg_progress = `Progress`;
4186	var timetaken = `Time Taken`;
4187	var msg_user_details = `User Details`;
4188	var graphy_platform_fees_note = `Amount after deducting Graphy platform fees. This does not include your payment gateway charges.`;
4189	var final_price_note = `Final payable price by learners`;
4190	var save_alert_message = `Save progress before moving forward.`;
4191	var no_chapter_alert_message = `Please add at least one chapter in the course.`;
4192	var download_msg = `Download`;
4193	var revoke_msg = `Revoke`;
4194	var yes_msg = `Yes`;
4195	var no_msg = `No`;
4196	var details_hover = `Details`;
4197	var hide_notification = `Hide Notification`;
4198	var notify_learners_hover = `Notify Learners`;
4199	var search_course_package = `Search Courses to add in this package.`;
4200	var bulk_delete = `Bulk Delete`;
4201	var scheduled_msg = `Scheduled`;
4202	var inprogress_msg = `In Progress`;
4203	var completed_msg = `Completed`;
4204	var yes_all_caps = `YES`;
4205	var no_all_caps = `NO`;
4206	var discount_msg = `Discount`;
4207	var max_discount = `Max Discount`;
4208	var min_cart = `Min Cart`;
4209	var delete_bookmark = `Delete Bookmark`;
4210	var view_question = `View question`;
4211	var msg_free = `Free`;
4212	var membership_expiration_note = `Membership will be canceled on next billing date.`;
4213	var msg_active = `Active`;
4214	var msg_inactive = `Inactive`;
4215	var delete_hover = `Delete`;
4216	var view_hover = `View`;
4217	var coursewise = `Course Wise`;
4218	var learner_wise = `Learner wise`;
4219	var segment_wise = `Segment wise`;
4220	var unregistered_msg = `Unregistered`;
4221	var target_audience_deleted = `Target Audience Deleted`;
4222	var courses_msg = `course(s)`;
4223	var learners_msg = `learner(s)`;
4224	var unregistered_learners = `Unregistered Learner`;
4225	var all_learners = `All Learners`;
4226	var course_wise_learners = `Course wise Learners`;
4227	var segment_wise_learners = `Segment wise Learners`;
4228	var with_token = `with token`;
4229	var segments_msg = `segments`;
4230	var add_users_msg = `Add Users`;
4231	var approx_msg = `Approx`;
4232	var revoke_cancellation_request = `Revoke Cancellation request.`;
4233	var remove_scheduled_membership_cancellation = `Remove Scheduled Membership Cancellation`;
4234	var schedule_to_stop_subscription = `Schedule to stop Subscription`;
4235	var stop_subscription = `Stop subscription`;
4236	var available_for_review_all_caps = `AVAILABLE FOR REVIEW`;
4237	var reviewed_all_caps = `REVIEWED`;
4238	var rejected_all_caps = `REJECTED`;
4239	var preview_code = `Preview Code`;
4240	var approve_msg = `Approve`;
4241	var reject_msg = `Reject`;
4242	var history_msg = `History`;
4243	var message_hover= `Message`;
4244	var remove_msg= `Remove`;
4245	var enroll_msg= `Enroll`;
4246	var change_validity= `Change Validity`;
4247	var learners_selected= `learner(s) selected`;
4248	var select_all_msg= `Select all`;
4249	var do_you_want_to_delete_course= `Do you really want to delete this course?`;
4250	var do_you_want_to_revoke_this_certificate= `Do you really want to revoke this certificate?`;
4251	var do_you_want_to_revoke_entry= `Do you really want to revoke this entry?`;
4252	var do_you_want_to_edit_enrollment_date= `Do you really want to edit enrollment date of all learners?`;
4253	var do_you_want_to_edit_enrollment_date_for_selected= `Do you really want to edit enrollment date of selected learners?`;
4254	var do_you_want_to_edit_course_validity= `Do you really want to edit course validity of all learners?`;
4255	var do_you_want_to_edit_course_validity_for_selected= `Do you really want to edit course validity of selected learners?`;
4256	var do_you_want_to_remove_selected= `Do you really want to remove selected learners?`;
4257	var do_you_want_to_remove_all= `Do you really want to remove all learners?`;
4258	var do_you_want_to_create_zip= `Do you really want to create zip for this course?`;
4259	var do_you_want_to_deactivate= `Do you really want to deactivate?`;
4260	var successfully_done_alert= `Successfully Done.`;
4261	var please_select_atleast_1_learner= `Please select atleast 1 learner !`;
4262	var on_msg= `On`;
4263	var single_correct_option = `Single Correct Option`;
4264	var multiple_correct_options = `Multiple Correct Options`;
4265	var numerical_Fill_in_the_Blank = `Numerical/Fill in the Blank`;
4266	var match_the_Column = `Match the Column`;
4267	var subjective = `Subjective`;
4268	var your_target_audience_appear= `Your target audience user(s) will appear here`;
4269	var your_upcoming_campaign= `Your upcoming campaign will appear here`;
4270	var status_msg= `Status`;
4271	var stop_campaign= `Stop Campaign`;
4272	var copy_campaign= `Copy Campaign`;
4273	var platform_fee_tax = `platform fees including taxes`;
4274	var pg_fees_taxes = `payment gateway fees including taxes`;
4275	var msg_quiz = `Quiz`;
4276	var msg_livetest = `Live test`;
4277	var msg_heading = `Heading`;
4278	var msg_text = `Text`;
4279	var msg_form = `Form`;
4280	var msg_live_class = `Live class`;
4281	var msg_live_class_rec = `live class recording`;
4282	var msg_code = `Code`;
4283	var msg_assignment = `Assignment`;
4284	var msg_added = `added`;
4285	var msg_about = `About`;
4286	var msg_year = `year`;
4287	var msg_month = `Month`;
4288	var msg_day = `day`;
4289	//var msg_hour = `hh`;
4290	//var msg_minute = `mm`;
4291	//var msg_seconds = `seconds`;
4292	var msg_month_l = `month`;
4293	var msg_day_l = `day`;
4294	var msg_hour_l = `hour`;
4295	var msg_minute_l = `minute`;
4296	var msg_second_l = `second`;
4297	var mobile_number=`Mobile Number`;
4298	var status_android =`Status (ANDROID)`;
4299	var status_ios =`Status (IOS)`;
4300	var delivery_time=`Delivery Time`;
4301	var sure_unhide=`Are you sure you want to unhide this course ?`;
4302	var become_a_partner=`Become a Partner`;
4303	var failed_msg=`Failed`;
4304	var sent_msg=`Sent`;
4305	var pending_msg=`Pending`;
4306	var running_msg=`Running`;
4307	var add_pricing_plan = `Add pricing plan`;
4308	var msg_add = `Add`;
4309	var of_msg = `of`;
4310	var items_msg = `items`
4311	var ago_msg = `ago`
4312	var items_msg = `items`;
4313	
4314	var january_msg = `January`;
4315	var february_msg = `February`;
4316	var march_msg = `March`;
4317	var april_msg = `April`;
4318	var may_msg = `May`;
4319	var june_msg = `June`;
4320	var july_msg = `July`;
4321	var august_msg = `August`;
4322	var september_msg = `September`;
4323	var october_msg = `October`;
4324	var november_msg = `November`;
4325	var december_msg = `December`;
4326	var sunday_msg = `Sunday`;
4327	var monday_msg = `Monday`;
4328	var tuesday_msg = `Tuesday`;
4329	var wednesday_msg = `Wednesday`;
4330	var thursday_msg = `Thursday`;
4331	var friday_msg = `Friday`;
4332	var saturday_msg = `Saturday`;
4333	var at_msg = `at`;
4334	var generate_outline = `Generate outline using AI`;
4335	var it_take_min = `It may take a min.`;
4336	var msg_ok = `OK`;
4337	var edit_pricing_plan = `Edit pricing plan`;
4338
4339</script>
4339
4340
4341
4342
4343
4344
4345
4346
4347<script src="https://d502jbuhuh9wk.cloudfront.net/resources/js/jquery-2.0.3.min.js"></script>
4347
4348
4349<script src="https://d502jbuhuh9wk.cloudfront.net/resources/js/underscore-min.js?v=1.9.1"></script>
4349
4350
4351<script src="https://d502jbuhuh9wk.cloudfront.net/resources/js/jquery.form.js"></script>
vendor: 1 bytes, line 4351
4351
4352<script async src="https://d502jbuhuh9wk.cloudfront.net/resources/js/jquery.noty.packaged.min.js"></script>
vendor: 1 bytes, line 4352
4352
4353<script src="https://d502jbuhuh9wk.cloudfront.net/resources/js/jquery-ui.min.js"></script>
vendor: 1 bytes, line 4353
4353
4354<script src="https://d502jbuhuh9wk.cloudfront.net/resources/js/jquery.timeago.js"></script>
vendor: 1 bytes, line 4354
4354
4355<script src="https://d502jbuhuh9wk.cloudfront.net/resources/js/js-webshim/minified/extras/modernizr-custom.js"></script>
vendor: 1 bytes, line 4355
4355
4356<script src="https://d502jbuhuh9wk.cloudfront.net/resources/js/jquery.datetimepicker.js"></script>
4356
4357
4358
4359
4360
4361
4362
4363
4364
4365<script src="https://d502jbuhuh9wk.cloudfront.net/resources/js/aes.js"></script>
vendor: 1 bytes, line 4365
4365
4366<script src="https://d502jbuhuh9wk.cloudfront.net/resources/js/mode-ecb-min.js"></script>
vendor: 1 bytes, line 4366
4366
4367<script src="https://d502jbuhuh9wk.cloudfront.net/resources/js/pad-nopadding-min.js"></script>
4367
4368
4369<!-- 
4369<script src="https://unpkg.com/@popperjs/core@2"></script>
vendor: 1 bytes, line 4369
4369
4370<script src="https://unpkg.com/tippy.js@6"></script>
4370 -->
4371<script src="https://cdnjs.cloudflare.com/ajax/libs/popper.js/2.3.3/umd/popper.js" integrity="sha512-jSMYzs1Iebw2Uew+Y9karoqkqTDEzbqkdttIkHJKh3auQ6aGV7p8b7A3Yo9k/LsMvUFqWt5AV66hfo1OwH4Jjg==" crossorigin="anonymous" referrerpolicy="no-referrer"></script>
vendor: 1 bytes, line 4371
4371
4372<script src="https://cdnjs.cloudflare.com/ajax/libs/tippy.js/6.0.0/tippy-bundle.umd.js"></script>
4372
4373
4374<script type="text/javascript">
4375	var passwordPolicyRequired = false;
4376	var checkoutV2 = true;
4377	var primaryFieldPhoneEnabled = false;
4378	var orgLanguageCode = "";
4379	var SPEERESCDN = "https://d502jbuhuh9wk.cloudfront.net";
4380</script>
4380
4381
4382<script src="https://d502jbuhuh9wk.cloudfront.net/staticfiles/resources/scripts/sutils_006ef97695b7d97b6f665352cee8d2cd.js"></script>
vendor: 1 bytes, line 4382
4382
4383<script src="https://d502jbuhuh9wk.cloudfront.net/staticfiles/resources/scripts/utils/dateUtils_f53456b03f1287667a7b24fb63b367ce.js"></script>
vendor: 1 bytes, line 4383
4383
4384<script type="text/javascript">
4385	// Make org object globally available for dateUtils
4386	window.org = window.org || {};
4387	window.org.currencyCode = "false"=='true'?'USD':'INR';
4388	var websiteV3Org = false;
4389	var orgCreatedDate = {"$date":"2023-06-05T13:10:52.693Z"};
4390</script>
4390
4391
4392	
4392<script src="https://d502jbuhuh9wk.cloudfront.net/staticfiles/resources/scripts/talk_2c30ecf6aaff74f040d029af059f08e1.js"></script>
4392
4393
4394
4395
4396
4397
4398<script type="text/javascript">
4399	var trialExpired = "false";
4400	var planCancelled = "false";
4401	var isFreePlan = false;
4402	
4403</script>
vendor: 1 bytes, line 4403
4403
4404<script type="text/javascript" id="dsf239df">
4405	var ctx = "/s",
4406		isFirstLogin = "", cjs = CryptoJS;
4407		
4408	var defaultCoreColor = "#5755d9", theme1CoreColor = "#572b7a", theme2CoreColor = "#3f51b5", theme3CoreColor = "#009051", 
4409		theme4CoreColor = "#596439", theme5CoreColor = "#F0591D", theme6CoreColor = "#28a745", theme7CoreColor = "#1bbc9b", 
4410		theme8CoreColor = "#f38f20", apkId = "6231373436231373432363038663465653864613523630386634656538646135", theme9CoreColor = "#c0af01", theme10CoreColor = "#e8d3a4",
4411		webColor = defaultCoreColor,
4412		CFCDN = "https://d502jbuhuh9wk.cloudfront.net", mobileNotification = true, webNotification = true, 
4413		iosPlayVideo = true,
4414		chromeDrmPlayback = false,
4415		gaType = "";
4416		
4417	
4418	
4419	$("#dsf239df").remove();
4420</script>
4420
4421
4422
4423
4424
4425
4426	<a id="whatsappWidgetContainer" class="whatsapp-widget-container" href="#" target="_blank" >
4427      <div class="whatsapp-widget-icon">
4428        <i class="fa-brands fa-whatsapp" aria-hidden="true"></i>
4429      </div>
4430      <div class="whatsapp-widget-contact">Contact us</div>
4431    </a>
4432    
4433	
4433<script>	
4434
4435    	const mobileNumber = "+919315338315";
4436    	const userMessage = "Hi, I have a query regarding your learning community.";
4437
4438    	const WA_URL = "https://api.whatsapp.com/send?phone=" + encodeURIComponent(mobileNumber) + "&text=" + encodeURIComponent(userMessage);
4439
4440      	document.getElementById("whatsappWidgetContainer").href = WA_URL;
4441    </script>
4441
4442
4443
4444
4445	
4446		<input type="hidden" id="orgCurrencyCode" value="INR" />
4447	
4448	
4449
4450
4451
4452	
4452<script src="https://d502jbuhuh9wk.cloudfront.net/resources/js/detect-private-browsing.js"></script>
4452
4453	
4453<script type="text/javascript">
4454	detectPrivateMode(
4455        function(is_private) {
4456            if(typeof is_private !== 'undefined' && is_private) {
4457            		$("input[name=privateMode]").val("private");
4458            }
4459        }
4460    );
4461	</script>
4461
4462
4463
4464
4465	
4466	
4467		
4467<script type="text/javascript"
4468			src="https://d502jbuhuh9wk.cloudfront.net/resources/js/intlTelInput.min.js"></script>
4468
4469		
4469<script type="text/javascript">
4470		
4471			var ipInfo = localStorage.getItem('ipInfo');
4472	        if(!ipInfo) {
4473	        	$.get("https://ipinfo.io", function() {}, "jsonp").always(function(resp) {
4474	        		if(resp) {
4475	        			var ipInfoStr = JSON.stringify(resp);
4476	    				var ipInfoField = document.getElementById("ipInfo");
4477	    				var countryCode = (resp.country) ? resp.country : "in";
4478				        sessionStorage.setItem('countryCode', countryCode);
4479						if('statusText' in resp) {
4480	    					if((resp['statusText'] !== 'error') && ('ip' in resp)) {
4481	    						localStorage.setItem('ipInfo', ipInfoStr);
4482	    						if(ipInfoField) {
4483	    							ipInfoField.value = ipInfoStr;
4484	    		        		}
4485							}
4486						}
4487			        	else if('ip' in resp) {
4488			        		localStorage.setItem('ipInfo', ipInfoStr);
4489			        		if(ipInfoField) {
4490			        			ipInfoField.value = ipInfoStr;
4491			        		}
4492		        		}
4493					}
4494	        	})
4495	        }
4496		
4497		  $("#sphone").intlTelInput({
4498		      initialCountry: "auto",
4499		      geoIpLookup: function(callback) {
4500		    	 var scountryCode = sessionStorage.getItem('countryCode');
4501		    	 
4502		    	 if(scountryCode !== null) {
4503		    		 callback(scountryCode);
4504		    	 }else {
4505		    		 $.get("https://ipinfo.io", function() {}, "jsonp").always(function(resp) {
4506				          var countryCode = (resp && resp.country) ? resp.country : "in";
4507				          callback(countryCode);
4508				          sessionStorage.setItem('countryCode', countryCode);
4509				        });
4510		    	 }
4511		      },
4512		      preferredCountries: ["in", "us"],
4513		      separateDialCode: true,
4514		      utilsScript: "/resources/js/intlUtils.js"
4515		    });
4516		  	
4517		  </script>
4517
4518	
4519
4520
4521
4522<div class="spectre">
4523
4524	
4525	
4526	
4527
4528	
4528<script type="text/javascript">
4529		if(top != self) {
4530		    //iframe
4531		    $(".toast").remove();
4532		}
4533	</script>
4533
4534	
4535	
4536</div>
4537
4538	
4539
4540<input type="hidden" id="orgCreditAlias"
4541	value="Rohan Sharma Coins" />
4542
4543
4544
4545	
4546
4547
4548<script>
4549
4550
4551
4552
4553	var orgTaxLabel = "GST";
4554
4555
4556
4557	var sessionCountry = "";
4558
4559	$(document).ready(function() {		
4560		$("input[name='userMobileVerify']").change(function(data){
4561			var uniqueMobileSwitch = $('#uniqueMobileId');
4562			if(data.target.value==='true'){
4563				$('input[name=uniqueMobile]').prop('checked', true)
4564				$('#uniqueMobileLabelId').show();				
4565			}else{
4566				$('input[name=uniqueMobile]').prop('checked', false)
4567				$('#uniqueMobileLabelId').hide();
4568			}
4569		});
4570	});
4571	
4572	
4573		
4574		
4575			localStorage.removeItem('microserviceAuthToken');
4576		
4577   
4578   
4579   
4580	
4581	
4582			localStorage.removeItem('communityToken');
4583	
4584   
4585   
4586   
4587	
4588	
4589			localStorage.removeItem('chatRefreshToken');
4590	
4591
4592
4593
4594	
4595	
4596			localStorage.removeItem('refreshToken');
4597	
4598
4599	
4600</script>
4600
4601
4602
4603<!-- amplitude script start -->
4604
4605
4606
4607	
4607<script type="text/javascript">
4608	    window.localStorage.removeItem('loginAmplitudeEventSent');
4609	</script>
4609
4610
4611
4612<!-- amplitude script end -->
4613
4614 
4615    <div class="spectre">
4616        <div class="modal" id="membershipPopupHtml">
4617            <iframe id="microfe-popup-membership" src=""
4618                style="width: calc(100% + 10px); height: 100vh; border: none;"
4619                onload="$(this).parent().removeClass('loading');"></iframe>
4620        </div>
4621    </div>
4622    
4622<script>
4623        function openMembershipPopup(source){
4624            if(source==='banner'){
4625            	setGraphyCookie('SHOWMEMBERSHIPBANNER', 'true', 1);
4626            }
4627            if(source!=='private'){
4628            	location.href="/membership#"+source;
4629            }else{
4630				location.href="/private";
4631			}
4632        }
4633        function openMembershipPopup(source, id){
4634            if(source==='banner'){
4635            	setGraphyCookie('SHOWMEMBERSHIPBANNER', 'true', 1);
4636            }
4637            if(typeof id !== 'undefined' ){
4638            	location.href="/memberships/"+id+"#"+source;
4639            }else if(source!=='private'){
4640            	location.href="/membership#"+source;
4641			}else{
4642				location.href="/private";
4643			}
4644        }
4645        function closeMembershipPopup() {
4646            $("#membershipPopupHtml").removeClass("active");
4647            $("body").removeClass("overflowYDisable");
4648            window.location.hash="";
4649            setGraphyCookie('SHOWMEMBERSHIPBANNER', 'true', 1);
4650        }
4651        $("body").on('click', ".membershipBtn", function() {
4652        	openMembershipPopup('nav_bar');
4653        });
4654        
4655        if(window.location.hash==="#membership"){
4656        	openMembershipPopup("");
4657        }
4658        
4659    </script>
4659
4660    
4661    <!-- sending ipInfo data as form data when signing up -->
4662    
4662<script type="text/javascript">
4663		document.addEventListener("DOMContentLoaded", function(event) {
4664			const signupParamsField = document.getElementById("signupParams");
4665			if(signupParamsField && (window.signupParams)) {
4666				signupParamsField.value = JSON.stringify(window.signupParams);
4667			}
4668			const ipInfo = localStorage.getItem("ipInfo");
4669			const ipInfoField = document.getElementById("ipInfo");			
4670			if(ipInfo && ipInfoField) {
4671			   ipInfoField.value = ipInfo;
4672			}
4673		});
4674	</script>
4674
4675 
4676
4677 <div id="template-container"></div>
4678
4679	 
4680	
4680<script	src="https://d502jbuhuh9wk.cloudfront.net/staticfiles/resources/scripts/sstore_5ffb558e86d7b5ef265e05fb0bfbef79.js"></script>
4680
4681
4682	
4683	
4683<script type="text/template" id="categoryTemplate">
4684		<li class="menu-item"><a href="/s/store/courses/<@- label @>"><@- label @></a>
4685	</script>
4685
4686	
4686<script type="text/javascript">
4687		store.init(true);
4688		store.bindEvents();
4689	</script>
4689
4690	
4690<script type="text/javascript">
4691		window.signupParams = {source: "store", platform: "web", sourceId: null};
4692	</script>
4692
4693	
4694
4695
4696
4697
4698	<div id="ui-notification-container" class="spectre"></div>
4699	
4699<script src="https://d502jbuhuh9wk.cloudfront.net/resources/js/jquery-easing.js"></script>
4699
4700	
4700<script src="https://d502jbuhuh9wk.cloudfront.net/resources/js/jquery-notification.js"></script>
4700
4701
4702	<!-- Import and configure the Firebase SDK -->
4703	<!-- These scripts are made available when the app is served or deployed on Firebase Hosting -->
4704	<!-- If you do not serve/host your project using Firebase Hosting see https://firebase.google.com/docs/web/setup -->
4705	
4705<script src="https://www.gstatic.com/firebasejs/8.10.0/firebase-app.js"></script>
4705
4706	
4706<script src="https://www.gstatic.com/firebasejs/8.10.0/firebase-messaging.js"></script>
4706
4707
4708	
4708<script>
4709  // Retrieve Firebase Messaging object.
4710  var firebaseConfig = {"apiKey":"AIzaSyCQ2wNyeXrIzifB0IKKVCalHXrDk7pg32w","authDomain":"live-stream-chat-efac5.firebaseapp.com","databaseURL":"https://live-stream-chat-efac5.firebaseio.com","projectId":"live-stream-chat-efac5","storageBucket":"live-stream-chat-efac5.appspot.com","messagingSenderId":"158909475587","appId":"1:158909475587:web:93ede0a9feef2b3f"};
4711  // Initialize Firebase
4712  firebase.initializeApp(firebaseConfig);
4713  const messaging = firebase.messaging();
4714  // Add the public key generated from the console here.
4715  messaging.usePublicVapidKey("BN3BYOmWjo3NAW7if4jCE5cG-yIOXAvmoKB9k53ZssAfgb7Z6ZZ-oAQWFK7j6EqHIG3f-G9QAVKLOIK7Vw3X0_k");
4716
4717  // Callback fired if Instance ID token is updated.
4718  messaging.onTokenRefresh(function(){
4719    messaging.getToken().then(function(refreshedToken){
4720      // Indicate that the new Instance ID token has not yet been sent to the
4721      // app server.
4722      setTokenSentToServer(false);
4723      // Send Instance ID token to app server.
4724      sendTokenToServer(refreshedToken);
4725      // Display new Instance ID token and clear UI of all previous messages.
4726      resetUI();
4727      // [END_EXCLUDE]
4728    })["catch"](function(err){
4729      console.log('Unable to retrieve refreshed token ', err);
4730      showToken('Unable to retrieve refreshed token ', err);
4731      requestPermission();
4732    });
4733  });
4734
4735  // Handle incoming messages. Called when:
4736  // - a message is received while the app has focus
4737  // - the user clicks on an app notification created by a service worker
4738  //   `messaging.setBackgroundMessageHandler` handler.
4739  messaging.onMessage(function(payload){
4740    console.log('Message received. ', payload);
4741    appendMessage(payload);
4742  });
4743
4744  function resetUI() {
4745    clearMessages();
4746    $(function(){
4747        $("#ui-notification-container").notification();
4748    });
4749    // Get Instance ID token. Initially this makes a network call, once retrieved
4750    // subsequent calls to getToken will return from cache.
4751    messaging.getToken().then(function(currentToken) {
4752      if (currentToken) {
4753        sendTokenToServer(currentToken);
4754        updateUIForPushEnabled(currentToken);
4755      } else {
4756        // Show permission request.
4757        console.log('No Instance ID token available. Request permission to generate one.');
4758        // Show permission UI.
4759        updateUIForPushPermissionRequired();
4760        setTokenSentToServer(false);
4761      }
4762    })["catch"](function(err) {
4763      console.log('An error occurred while retrieving token. ', err);
4764      showToken('Error retrieving Instance ID token. ', err);
4765      setTokenSentToServer(false);
4766    });
4767    // [END get_token]
4768  }
4769
4770  function showToken(currentToken) {
4771    // Show token in console and UI.
4772    console.log(currentToken);
4773  }
4774
4775  // Send the Instance ID token your application server, so that it can:
4776  // - send messages back to this app
4777  // - subscribe/unsubscribe the token from topics
4778  function sendTokenToServer(currentToken) {
4779    if (!isTokenSentToServer()) {
4780      console.log('Sending token to server...');
4781      var packet = {
4782			  url : "/public/v1/fcm/token",
4783			  data: {token: currentToken},
4784			  success: function(data, params) {
4785				  console.log("Token successfully sent")
4786				  setTokenSentToServer(true);
4787				  setTokenSentToServerUserId(window.userId);
4788			  }
4789	  };
4790	  postData(packet, {});
4791    } else {
4792      console.log('Token already sent to server so won\'t send it again ' +
4793          'unless it changes');
4794    }
4795
4796  }
4797
4798  function isTokenSentToServer() {
4799    return window.localStorage.getItem('sentToServer') === '1' && isTokenSentToServerWithUser(window.userId);
4800  }
4801  
4802  function isTokenSentToServerWithUser(userId) {
4803	 return window.localStorage.getItem('sentToServer-user') === userId;
4804  }
4805
4806  function setTokenSentToServer(sent) {
4807    window.localStorage.setItem('sentToServer', sent ? '1' : '0');
4808  }
4809  
4810  function setTokenSentToServerUserId(userId) {
4811	    window.localStorage.setItem('sentToServer-user', userId);
4812  }
4813
4814  function requestPermission() {
4815    console.log('Requesting permission...');
4816    // [START request_permission]
4817    Notification.requestPermission().then(function(permission) {
4818      if (permission === 'granted') {
4819        console.log('Notification permission granted.');
4820        resetUI();
4821      } else {
4822        console.log('Unable to get permission to notify.');
4823      }
4824    });
4825    // [END request_permission]
4826  }
4827
4828  function deleteToken() {
4829    // Delete Instance ID token.
4830    // [START delete_token]
4831    messaging.getToken().then(function(currentToken){
4832      messaging.deleteToken(currentToken).then(function(){
4833        console.log('Token deleted.');
4834        setTokenSentToServer(false);
4835        // Once token is deleted update UI.
4836        resetUI();
4837      })["catch"](function(err) {
4838        console.log('Unable to delete token. ', err);
4839      });
4840    })["catch"](function(err) {
4841      console.log('Error retrieving Instance ID token. ', err);
4842      showToken('Error retrieving Instance ID token. ', err);
4843    });
4844
4845  }
4846
4847  // Add a message to the messages element.
4848  function appendMessage(payload) {
4849	  $("#ui-notification-container").notification("create", {
4850          title: payload.data.title,
4851          content: payload.data.message,
4852          customIcon: payload.data.customIcon,
4853          customImage: payload.data.customImage,
4854          link: payload.data.link
4855      },
4856      {
4857          sticky: true 
4858      });
4859  }
4860
4861  // Clear the messages element of all children.
4862  function clearMessages() {
4863    const messagesElement = document.querySelector('#ui-notification-container');
4864    while (messagesElement.hasChildNodes()) {
4865      messagesElement.removeChild(messagesElement.lastChild);
4866    }
4867  }
4868
4869  function updateUIForPushEnabled(currentToken) {
4870	  showToken("Token update ui: " + currentToken);
4871  }
4872
4873  function updateUIForPushPermissionRequired() {
4874    console.warg("Push notification permission is requred")
4875  }
4876
4877  window.userId = "";
4878  resetUI();
4879  
4880  
4881 </script>
4881
4882
4883	
4883<script src="https://d502jbuhuh9wk.cloudfront.net/static/files/lazyload.min.js"></script>
4883
4884	
4884<script type="text/javascript">
4885		var lazyLoadInstance = new LazyLoad({
4886		  unobserve_entered: true,
4887		  callback_enter: function(element) {
4888			  resizeCdnImage(element);
4889		  }
4890		});
4891	</script>
4891
4892</body>
4893</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.