1import { createHotContext as __vite__createHotContext } from "/@vite/client";import.meta.hot = __vite__createHotContext("/src/pages/LandingPage.tsx");import * as RefreshRuntime from "/@react-refresh"; 2const inWebWorker = typeof WorkerGlobalScope !== 'undefined' && self instanceof WorkerGlobalScope; 3 4let prevRefreshReg; 5let prevRefreshSig; 6 7if (import.meta.hot && !inWebWorker) { 8 if (!window.$RefreshReg$) { 9 throw new Error( 10 "@vitejs/plugin-react-swc can't detect preamble. Something is wrong." 11 ); 12 } 13 14 prevRefreshReg = window.$RefreshReg$; 15 prevRefreshSig = window.$RefreshSig$; 16 window.$RefreshReg$ = RefreshRuntime.getRefreshReg("/home/admin/factory/prod/qrar-landing/src/pages/LandingPage.tsx"); 17 window.$RefreshSig$ = RefreshRuntime.createSignatureFunctionForTransform; 18} 19 20import __vite__cjsImport2_react_jsxDevRuntime from "/node_modules/.vite/deps/react_jsx-dev-runtime.js?v=01839355"; const _jsxDEV = __vite__cjsImport2_react_jsxDevRuntime["jsxDEV"]; const _Fragment = __vite__cjsImport2_react_jsxDevRuntime["Fragment"]; 21var _s = $RefreshSig$(), _s1 = $RefreshSig$(), _s2 = $RefreshSig$(), _s3 = $RefreshSig$(), _s4 = $RefreshSig$(), _s5 = $RefreshSig$(), _s6 = $RefreshSig$(), _s7 = $RefreshSig$(), _s8 = $RefreshSig$(), _s9 = $RefreshSig$(), _s10 = $RefreshSig$(), _s11 = $RefreshSig$(); 22import __vite__cjsImport3_react from "/node_modules/.vite/deps/react.js?v=01839355"; const useEffect = __vite__cjsImport3_react["useEffect"]; const useMemo = __vite__cjsImport3_react["useMemo"]; const useRef = __vite__cjsImport3_react["useRef"]; const useState = __vite__cjsImport3_react["useState"]; 23import { ArrowLeft, ArrowRight, Bot, BrainCircuit, Building2, Check, ChartNoAxesCombined, Coffee, GitCompareArrows, Headphones, History, Hotel, MapPin, MessageCircle, MessagesSquare, Mic2, Pill, Radar, Search, Sparkles, Star, Store, Tags, Target, UserRound, Users, WalletCards, WandSparkles } from "/node_modules/.vite/deps/lucide-react.js?v=01839355"; 24import { ConsoleShowcase } from "/src/components/site/ConsoleShowcase.tsx"; 25import { ResponseStory } from "/src/components/site/ResponseStory.tsx"; 26import { SiteAction } from "/src/components/site/SiteAction.tsx"; 27import { SiteFooter } from "/src/components/site/SiteFooter.tsx"; 28import { SiteHeader } from "/src/components/site/SiteHeader.tsx"; 29import { DEFAULT_CUSTOMER_DISPLAY } from "/src/content/landing.ts"; 30import { usePublishedLanding } from "/src/contexts/LandingContentContext.tsx"; 31import { useSiteLanguage } from "/src/contexts/SiteLanguageContext.tsx"; 32import { analytics, toSnakeCase } from "/src/lib/analytics/index.ts"; 33import { cn } from "/src/lib/utils.ts"; 34const icons = { 35 search: Search, 36 sparkles: Sparkles, 37 target: Target, 38 'map-pin': MapPin, 39 'git-compare': GitCompareArrows, 40 radar: Radar, 41 'message-circle': MessageCircle, 42 tags: Tags, 43 'wand-sparkles': WandSparkles, 44 users: Users, 45 history: History, 46 'building-2': Building2, 47 store: Store, 48 'heart-handshake': Headphones, 49 'chart-no-axes-combined': ChartNoAxesCombined, 50 bot: Bot, 51 'brain-circuit': BrainCircuit, 52 coffee: Coffee, 53 hotel: Hotel, 54 pill: Pill, 55 messages: MessagesSquare 56}; 57function FeatureIcon({ name, size = 28 }) { 58 const Icon = icons[name] || Sparkles; 59 return /*#__PURE__*/ _jsxDEV(Icon, { 60 size: size, 61 strokeWidth: 1.9, 62 "aria-hidden": true 63 }, void 0, false, { 64 fileName: "/home/admin/factory/prod/qrar-landing/src/pages/LandingPage.tsx", 65 lineNumber: 72, 66 columnNumber: 10 67 }, this); 68} 69_c = FeatureIcon; 70function SectionIntro({ section, callouts = false }) { 71 _s(); 72 const { pick, isArabic } = useSiteLanguage(); 73 return /*#__PURE__*/ _jsxDEV("div", { 74 className: "design-intro", 75 children: [ 76 /*#__PURE__*/ _jsxDEV("span", { 77 className: "design-eyebrow", 78 children: pick(section.eyebrow) 79 }, void 0, false, { 80 fileName: "/home/admin/factory/prod/qrar-landing/src/pages/LandingPage.tsx", 81 lineNumber: 79, 82 columnNumber: 7 83 }, this), 84 /*#__PURE__*/ _jsxDEV("div", { 85 className: "design-intro-heading-row", 86 children: [ 87 callouts && /*#__PURE__*/ _jsxDEV("small", { 88 children: isArabic ? 'تØÙÙ٠عرب٠ÙÙÙÙ Ø³ÙØ§Ù Ø¹Ù ÙØ§Ø¦Ù' : 'Arabic analysis that understands customer context' 89 }, void 0, false, { 90 fileName: "/home/admin/factory/prod/qrar-landing/src/pages/LandingPage.tsx", 91 lineNumber: 81, 92 columnNumber: 22 93 }, this), 94 /*#__PURE__*/ _jsxDEV("h2", { 95 children: pick(section.title) 96 }, void 0, false, { 97 fileName: "/home/admin/factory/prod/qrar-landing/src/pages/LandingPage.tsx", 98 lineNumber: 82, 99 columnNumber: 9 100 }, this), 101 callouts && /*#__PURE__*/ _jsxDEV("small", { 102 children: isArabic ? 'ÙØªØ§Ø¦Ø¬ ÙÙ ÙÙ Ø§ÙØ±Ø¬Ùع Ø¥ÙÙ Ø£Ø¯ÙØªÙا' : 'Re
102sults you can trace back to the evidence' 103 }, void 0, false, { 104 fileName: "/home/admin/factory/prod/qrar-landing/src/pages/LandingPage.tsx", 105 lineNumber: 83, 106 columnNumber: 22 107 }, this) 108 ] 109 }, void 0, true, { 110 fileName: "/home/admin/factory/prod/qrar-landing/src/pages/LandingPage.tsx", 111 lineNumber: 80, 112 columnNumber: 7 113 }, this), 114 pick(section.body) && /*#__PURE__*/ _jsxDEV("p", { 115 children: pick(section.body) 116 }, void 0, false, { 117 fileName: "/home/admin/factory/prod/qrar-landing/src/pages/LandingPage.tsx", 118 lineNumber: 85, 119 columnNumber: 30 120 }, this) 121 ] 122 }, void 0, true, { 123 fileName: "/home/admin/factory/prod/qrar-landing/src/pages/LandingPage.tsx", 124 lineNumber: 78, 125 columnNumber: 5 126 }, this); 127} 128_s(SectionIntro, "eHymb8IOa/MNvpfvq3v1yVsf+/w=", false, function() { 129 return [ 130 useSiteLanguage 131 ]; 132}); 133_c1 = SectionIntro; 134function Hero() { 135 _s1(); 136 const { landing } = usePublishedLanding(); 137 const { pick, isArabic, language } = useSiteLanguage(); 138 const hero = landing.content.hero; 139 const Arrow = isArabic ? ArrowLeft : ArrowRight; 140 const statIcons = [ 141 UserRound, 142 Store, 143 ChartNoAxesCombined 144 ]; 145 const metricFormatter = new Intl.NumberFormat(language === 'ar' ? 'ar-SA' : 'en-US', { 146 maximumFractionDigits: 0 147 }); 148 return /*#__PURE__*/ _jsxDEV("section", { 149 id: "top", 150 className: "design-hero", 151 children: [ 152 /*#__PURE__*/ _jsxDEV("div", { 153 className: "design-grid design-hero-grid" 154 }, void 0, false, { 155 fileName: "/home/admin/factory/prod/qrar-landing/src/pages/LandingPage.tsx", 156 lineNumber: 102, 157 columnNumber: 7 158 }, this), 159 /*#__PURE__*/ _jsxDEV("div", { 160 className: "design-blob design-blob--hero" 161 }, void 0, false, { 162 fileName: "/home/admin/factory/prod/qrar-landing/src/pages/LandingPage.tsx", 163 lineNumber: 103, 164 columnNumber: 7 165 }, this), 166 /*#__PURE__*/ _jsxDEV("div", { 167 className: "site-container design-hero-inner", 168 children: [ 169 /*#__PURE__*/ _jsxDEV("div", { 170 className: "design-hero-copy", 171 children: [ 172 /*#__PURE__*/ _jsxDEV("h1", { 173 children: [ 174 /*#__PURE__*/ _jsxDEV("span", { 175 children: pick(hero.titlePrefix) 176 }, void 0, false, { 177 fileName: "/home/admin/factory/prod/qrar-landing/src/pages/LandingPage.tsx", 178 lineNumber: 107, 179 columnNumber: 13 180 }, this), 181 /*#__PURE__*/ _jsxDEV("span", { 182 className: "design-hero-line-two", 183 children: [ 184 pick(hero.titleSuffix), 185 " ", 186 /*#__PURE__*/ _jsxDEV("em", { 187 children: pick(hero.titleHighlight) 188 }, void 0, false, { 189 fileName: "/home/admin/factory/prod/qrar-landing/src/pages/LandingPage.tsx", 190 lineNumber: 109, 191 columnNumber: 40 192 }, this) 193 ] 194 }, void 0, true, { 195 fileName: "/home/admin/factory/prod/qrar-landing/src/pages/LandingPage.tsx", 196 lineNumber: 108, 197 columnNumber: 13 198 }, this) 199 ] 200 }, void 0, true, { 201 fileName: "/home/admin/factory/prod/qrar-landing/src/pages/LandingPage.tsx", 202 lineNumber: 106, 203 columnNumber: 11 204 }, this), 205 /*#__PURE__*/ _jsxDEV("p", { 206 children: pick(hero.body) 207 }, void 0, false, { 208 fileName: "/home/admin/factory/prod/qrar-landing/src/pages/LandingPage.tsx", 209 lineNumber: 112, 210 columnNumber: 11 211 }, this), 212 /*#__PURE__*/ _jsxDEV("div", { 213 className: "design-actions", 214 children: [ 215 /*#__PURE__*/ _jsxDEV(SiteAction, { 216 link: hero.primaryCta, 217 source: "hero", 218 className: "design-button design-button--primary", 219 children: [ 220 /*#__PURE__*/ _jsxDEV("span", { 221 children: pick(hero.primaryCta.label) 222 }, void 0, false, { 223 fileName: "/home/admin/factory/prod/qrar-landing/src/pages/LandingPage.tsx", 224 lineNumber: 115, 225 columnNumber: 15 226 }, this), 227 /*#__PURE__*/ _jsxDEV(Arrow, { 228 size: 19 229 }, void 0, false, { 230 fileName: "/home/admin/factory/prod/qrar-landing/src/pages/LandingPage.tsx", 231 lineNumber: 116, 232 columnNumber: 15 233 }, this) 234 ] 235 }, void 0, true, { 236 fileName: "/home/admin/factory/prod/qrar-landing/src/pages/LandingPage.tsx", 237 lineNumber: 114, 238 columnNumber: 13 239 }, this), 240 /*#__PURE__*/ _jsxDEV(SiteAction, { 241 link: hero.secondaryCta, 242 source: "hero", 243 className: "design-button design-button--soft" 244 }, void 0, false, { 245 fileName: "/home/admin/factory/prod/qrar-landing/src/pages/LandingPage.tsx", 246 lineNumber: 118, 247 columnNumber: 13 248 }, this) 249 ] 250 }, void 0, true, { 251 fileName: "/home/admin/factory/prod/qrar-landing/src/pages/LandingPage.tsx", 252 lineNumber: 113, 253 columnNumber: 11 254 }, this), 255 /*#__PURE__*/ _jsxDEV("div", { 256 className: "design-stats", 257 children: hero.stats.map((stat, index)=>{ 258 const Icon = statIcons[index] || Sparkles; 259 const value = landing.usageMetrics?.[stat.metric]; 260 return /*#__PURE__*/ _jsxDEV("div", { 261 className: "design-stat", 262 children: [ 263 /*#__PURE__*/ _jsxDEV("span", { 264 className: "design-stat-icon", 265 children: /*#__PURE__*/ _jsxDEV(Icon, { 266 size: 21 267 }, void 0, false, { 268 fileName: "/home/admin/factory/prod/qrar-landing/src/pages/LandingPage.tsx", 269 lineNumber: 126, 270 columnNumber: 54 271 }, this) 272 }, void 0, false, { 273 fileName: "/home/admin/factory/prod/qrar-landing/src/pages/LandingPage.tsx", 274 lineNumber: 126, 275 columnNumber: 19 276 }, this), 277 /*#__PURE__*/ _jsxDEV("strong", { 278 children: value === undefined ? 'â' : metricF
278ormatter.format(value) 279 }, void 0, false, { 280 fileName: "/home/admin/factory/prod/qrar-landing/src/pages/LandingPage.tsx", 281 lineNumber: 127, 282 columnNumber: 19 283 }, this), 284 /*#__PURE__*/ _jsxDEV("small", { 285 children: pick(stat.label) 286 }, void 0, false, { 287 fileName: "/home/admin/factory/prod/qrar-landing/src/pages/LandingPage.tsx", 288 lineNumber: 128, 289 columnNumber: 19 290 }, this) 291 ] 292 }, `${pick(stat.label)}-${index}`, true, { 293 fileName: "/home/admin/factory/prod/qrar-landing/src/pages/LandingPage.tsx", 294 lineNumber: 125, 295 columnNumber: 17 296 }, this); 297 }) 298 }, void 0, false, { 299 fileName: "/home/admin/factory/prod/qrar-landing/src/pages/LandingPage.tsx", 300 lineNumber: 120, 301 columnNumber: 11 302 }, this) 303 ] 304 }, void 0, true, { 305 fileName: "/home/admin/factory/prod/qrar-landing/src/pages/LandingPage.tsx", 306 lineNumber: 105, 307 columnNumber: 9 308 }, this), 309 /*#__PURE__*/ _jsxDEV(ConsoleShowcase, { 310 compact: true 311 }, void 0, false, { 312 fileName: "/home/admin/factory/prod/qrar-landing/src/pages/LandingPage.tsx", 313 lineNumber: 134, 314 columnNumber: 9 315 }, this) 316 ] 317 }, void 0, true, { 318 fileName: "/home/admin/factory/prod/qrar-landing/src/pages/LandingPage.tsx", 319 lineNumber: 104, 320 columnNumber: 7 321 }, this) 322 ] 323 }, void 0, true, { 324 fileName: "/home/admin/factory/prod/qrar-landing/src/pages/LandingPage.tsx", 325 lineNumber: 101, 326 columnNumber: 5 327 }, this); 328} 329_s1(Hero, "EU/uffoDAquq51eUnIC3530TYZE=", false, function() { 330 return [ 331 usePublishedLanding, 332 useSiteLanguage 333 ]; 334}); 335_c2 = Hero; 336function Customers() { 337 _s2(); 338 const { landing } = usePublishedLanding(); 339 const { pick } = useSiteLanguage(); 340 const section = landing.content.customers; 341 const items = section.items.filter((item)=>item.logoUrl.trim() !== ''); 342 if (items.length === 0) return null; 343 // The marquee track holds two identical halves and loops over translateX(-50%), 344 // so one half must be wider than any viewport: short customer lists repeat 345 // until a half carries ~14 logos. Only the first occurrence of each customer 346 // is exposed to assistive tech; every repeat is decorative. 347 const copies = Math.max(1, Math.ceil(14 / items.length)); 348 const sequence = Array.from({ 349 length: copies 350 }, ()=>items).flat(); 351 const renderHalf = (decorative)=>/*#__PURE__*/ _jsxDEV("div", { 352 className: "design-customers-seq", 353 "aria-hidden": decorative || undefined, 354 children: sequence.map((item, index)=>{ 355 const isOriginal = !decorative && index < items.length; 356 return /*#__PURE__*/ _jsxDEV("img", { 357 src: item.logoUrl, 358 alt: isOriginal ? pick(item.name) : '', 359 "aria-hidden": isOriginal ? undefined : true, 360 className: isOriginal ? undefined : 'design-customers-dupe', 361 style: item.logoHeight ? {
362 '--customers-item-h': `${item.logoHeight}px` 363 } : undefined, 364 loading: "lazy", 365 decoding: "async" 366 }, `${item.id}-${index}`, false, { 367 fileName: "/home/admin/factory/prod/qrar-landing/src/pages/LandingPage.tsx", 368 lineNumber: 160, 369 columnNumber: 11 370 }, this); 371 }) 372 }, void 0, false, { 373 fileName: "/home/admin/factory/prod/qrar-landing/src/pages/LandingPage.tsx", 374 lineNumber: 156, 375 columnNumber: 5 376 }, this); 377 const display = { 378 ...DEFAULT_CUSTOMER_DISPLAY, 379 ...section.display 380 }; 381 return /*#__PURE__*/ _jsxDEV("section", { 382 id: "customers", 383 className: cn('design-section design-customers', display.blendWhiteBackgrounds && 'design-customers--blend'), 384 style: { 385 '--customers-count': sequence.length, 386 '--customers-logo-h': `${display.logoHeight}px`, 387 '--customers-gap': `${display.gap}px`, 388 '--customers-pace': `${display.secondsPerLogo}s` 389 }, 390 children: [ 391 /*#__PURE__*/ _jsxDEV("div", { 392 className: "site-container", 393 children: pick(section.title) && /*#__PURE__*/ _jsxDEV("h2", { 394 className: "design-customers-heading", 395 children: pick(section.title) 396 }, void 0, false, { 397 fileName: "/home/admin/factory/prod/qrar-landing/src/pages/LandingPage.tsx", 398 lineNumber: 189, 399 columnNumber: 33 400 }, this) 401 }, void 0, false, { 402 fileName: "/home/admin/factory/prod/qrar-landing/src/pages/LandingPage.tsx", 403 lineNumber: 188, 404 columnNumber: 7 405 }, this), 406 /*#__PURE__*/ _jsxDEV("div", { 407 className: "design-customers-viewport", 408 children: /*#__PURE__*/ _jsxDEV("div", { 409 className: "design-customers-strip", 410 children: [ 411 renderHalf(false), 412 renderHalf(true) 413 ] 414 }, void 0, true, { 415 fileName: "/home/admin/factory/prod/qrar-landing/src/pages/LandingPage.tsx", 416 lineNumber: 192, 417 columnNumber: 9 418 }, this) 419 }, void 0, false, { 420 fileName: "/home/admin/factory/prod/qrar-landing/src/pages/LandingPage.tsx", 421 lineNumber: 191, 422 columnNumber: 7 423 }, this) 424 ] 425 }, void 0, true, { 426 fileName: "/home/admin/factory/prod/qrar-landing/src/pages/LandingPage.tsx", 427 lineNumber: 178, 428 columnNumber: 5 429 }, this); 430} 431_s2(Customers, "p8GAYwUCMsw/+bg5quAio1l6SSc=", false, function() { 432 return [ 433 usePublishedLanding, 434 useSiteLanguage 435 ]; 436}); 437_c3 = Customers; 438function Workflow() { 439 _s3(); 440 const { landing } = usePublishedLanding(); 441 const { pick } = useSiteLanguage(); 442 const section = landing.content.workflow; 443 return /*#__PURE__*/ _jsxDEV("section", { 444 id: "how-it-works", 445 className: "design-section design-workflow", 446 children: [ 447 /*#__PURE__*/ _jsxDEV("div", { 448 className: "design-grid design-grid--center" 449 }, void 0, false, { 450 fileName: "/home/admin/factory/prod/qrar-landing/src/pages/LandingPage.tsx", 451 lineNumber: 208, 452 columnNumber: 7 453 }, this), 454 /*#__PURE__*/ _jsxDEV("div", { 455 className: "site-container", 456 children: [ 457 /*#__PURE__*/ _jsxDEV(SectionIntro, { 458 section: section 459 }, void 0, false, { 460 fileName: "/home/admin/factory/prod/qrar-landing/src/pages/LandingPage.tsx", 461 lineNumber: 210, 462 columnNumber: 9 463 }, this), 464 /*#__PURE__*/ _jsxDEV("div", { 465 className: "design-workflow-cards", 466 children: section.steps.map((step, index)=>/*#__PURE__*/ _jsxDEV("article", { 467 className: "design-workflow-card", 468 children: [ 469 /*#__PURE__*/ _jsxDEV("span", { 470 className: "design-workflow-number", 471 children: [ 472 "0", 473 index + 1 474 ] 475 }, void 0, true, { 476 fileName: "/home/admin/factory/prod/qrar-landing/src/pages/LandingPage.tsx", 477 lineNumber: 214, 478 columnNumber: 15 479 }, this), 480 /*#__PURE__*/ _jsxDEV("span", { 481 className: "design-icon-bubble", 482 children: /*#__PURE__*/ _jsxDEV(FeatureIcon, { 483 name: step.icon 484 }, void 0, false, { 485 fileName: "/home/admin/factory/prod/qrar-landing/src/pages/LandingPage.tsx", 486 lineNumber: 215, 487 columnNumber: 52 488 }, this) 489 }, void 0, false, { 490 fileName: "/home/admin/factory/prod/qrar-landing/src/pages/LandingPage.tsx", 491 lineNumber: 215, 492 columnNumber: 15 493 }, this), 494 /*#__PURE__*/ _jsxDEV("div", { 495 children: [ 496 /*#__PURE__*/ _jsxDEV("h3", { 497 children: pick(step.title) 498 }, void 0, false, { 499 fileName: "/home/admin/factory/prod/qrar-landing/src/pages/LandingPage.tsx", 500 lineNumber: 217, 501 columnNumber: 17 502 }, this), 503 /*#__PURE__*/ _jsxDEV("p", { 504 children: pick(step.body) 505 }, void 0, false, { 506 fileName: "/home/admin/factory/prod/qrar-landing/src/pages/LandingPage.tsx", 507 lineNumber: 218, 508 columnNumber: 17 509 }, this) 510 ] 511 }, void 0, true, { 512 fileName: "/home/admin/factory/prod/qrar-landing/src/pages/LandingPage.tsx", 513 lineNumber: 216, 514 columnNumber: 15 515 }, this) 516 ] 517 }, step.id, true, { 518 fileName: "/home/admin/factory/prod/qrar-landing/src/pages/LandingPage.tsx", 519 lineNumber: 213, 520 columnNumber: 13 521 }, this)) 522 }, void 0, false, { 523 fileName: "/home/admin/factory/prod/qrar-landing/src/pages/LandingPage.tsx", 524 lineNumber: 211, 525 columnNumber: 9 526 }, this) 527 ] 528 }, void 0, true, { 529 fileName: "/home/admin/factory/prod/qrar-landing/src/pages/LandingPage.tsx", 530 lineNumber: 209, 531 columnNumber: 7 532 }, this) 533 ] 534 }, void 0, true, { 535 fileName: "/home/admin/factory/prod/qrar-landing/src/pages/LandingPage.tsx", 536 lineNumber: 207, 537 columnNumber: 5 538 }, this); 539} 540_s3(Workflow, "p8GAYwUCMsw/+bg5quAio1l6SSc=", false, function() { 541 return [ 542 usePublishedLanding, 543 useSiteLanguage 544 ]; 545}); 546_c4 = Workflow; 547const RESPONSE_STORY_INTRO = { 548 enabled: true, 549 order: 25, 550 eyebrow: { 551 en: 'Reply drafts', 552 ar: 'Ù Ø³ÙØ¯Ø§Øª Ø§ÙØ±Ø¯Ùد' 553 }, 554 title: { 555 en: 'Turn customer feedback into a reply draft that matches your business voice', 556 ar: 'ØÙÙÙ Ù ÙØ§ØØ¸Ø© Ø§ÙØ¹Ù Ù٠إÙÙ Ù Ø³ÙØ¯Ø© رد ØªÙØ§Ø³Ø¨ ÙØ¨Ø±Ø© Ù ÙØ´Ø£ØªÙ' 557 }, 558 body: { 559 en: 'Review and edit every draft before publishingâthe final decision stays with your team.', 560 ar: 'راجع ÙÙ Ù Ø³ÙØ¯Ø© ÙØ¹Ø¯ÙÙÙØ§ ÙØ¨Ù اÙÙØ´Ø±Ø ÙÙØ¨ÙÙ Ø§ÙØ§Ø¹ØªÙ اد اÙÙÙØ§Ø¦Ù ÙØ¯Ù ÙØ±ÙÙÙ.' 561 } 562}; 563function ResponseStorySection() { 564 return /*#__PURE__*/ _jsxDEV("section", { 565 id: "response-story", 566 className: "design-section design-response-story", 567 children: [ 568 /*#__PURE__*/ _jsxDEV("div", { 569 className: "design-grid design-grid--center" 570 }, void 0, false, { 571 fileName: "/home/admin/factory/prod/qrar-landing/src/pages/LandingPage.tsx", 572 lineNumber: 245, 573 columnNumber: 7 574 }, this), 575 /*#__PURE__*/ _jsxDEV("div", { 576 className: "site-container", 577 children: [ 578 /*#__PURE__*/ _jsxDEV(SectionIntro, { 579 section: RESPONSE_STORY_INTRO 580 }, void 0, false, { 581 fileName: "/home/admin/factory/prod/qrar-landing/src/pages/LandingPage.tsx", 582 lineNumber: 247, 583 columnNumber: 9 584 }, this), 585 /*#__PURE__*/ _jsxDEV(ResponseStory, {}, void 0, false, { 586 fileName: "/home/admin/factory/prod/qrar-landing/src/pages/LandingPage.tsx", 587 lineNumber: 248, 588 columnNumber: 9 589 }, this) 590 ] 591 }, void 0, true, { 592 fileName: "/home/admin/factory/prod/qrar-landing/src/pages/LandingPage.tsx", 593 lineNumber: 246, 594 columnNumber: 7 595 }, this) 596 ] 597 }, void 0, true, { 598 fileName: "/home/admin/factory/prod/qrar-landing/src/pages/LandingPage.tsx", 599 lineNumber: 244, 600 columnNumber: 5 601 }, this); 602} 603_c5 = ResponseStorySection; 604function Features() { 605 _s4(); 606 const { landing } = usePublishedLanding(); 607 const { pick } = useSiteLanguage(); 608 const section = landing.content.features; 609 return /*#__PURE__*/ _jsxDEV("section", { 610 id: "features", 611 className: "design-section design-features", 612 children: [ 613 /*#__PURE__*/ _jsxDEV("div", { 614 className: "design-blob design-blob--features" 615 }, void 0, false, { 616 fileName: "/home/admin/factory/prod/qrar-landing/src/pages/LandingPage.tsx", 617 lineNumber: 261, 618 columnNumber: 7 619 }, this), 620 /*#__PURE__*/ _jsxDEV("div", { 621 className: "design-grid design-grid--center" 622 }, void 0, false, { 623 fileName: "/home/admin/factory/prod/qrar-landing/src/pages/LandingPage.tsx", 624 lineNumber: 262, 625 columnNumber: 7 626 }, this), 627 /*#__PURE__*/ _jsxDEV("div", { 628 className: "site-container", 629 children: [ 630 /*#__PURE__*/ _jsxDEV(SectionIntro, { 631 section: section, 632 callouts: true 633 }, void 0, false, { 634 fileName: "/home/admin/factory/prod/qrar-landing/src/pages/LandingPage.tsx", 635 lineNumber: 264, 636 columnNumber: 9 637 }, this), 638 /*#__PURE__*/ _jsxDEV("div", { 639 className: "design-feature-grid", 640 children: section.items.map((item)=>/*#__PURE__*/ _jsxDEV("article", { 641 className: "design-feature-card", 642 children: [ 643 /*#__PURE__*/ _jsxDEV("span", { 644 className: "design-icon-bubble", 645 children: /*#__PURE__*/ _jsxDEV(FeatureIcon, { 646 name: item.icon 647 }, void 0, false, { 648 fileName: "/home/admin/factory/prod/qrar-landing/src/pages/LandingPage.tsx", 649 lineNumber: 268, 650 columnNumber: 52 651 }, this) 652 }, void 0, false, { 653 fileName: "/home/admin/factory/prod/qrar-landing/src/pages/LandingPage.tsx", 654 lineNumber: 268, 655 columnNumber: 15 656 }, this), 657 /*#__PURE__*/ _jsxDEV("h3", { 658 children: pick(item.title) 659 }, void 0, false, { 660 fileName: "/home/admin/factory/prod/qrar-landing/src/pages/LandingPage.tsx", 661 lineNumber: 269, 662 columnNumber: 15 663 }, this), 664 /*#__PURE__*/ _jsxDEV("p", { 665 children: pick(item.body) 666 }, void 0, false, { 667 fileName: "/home/admin/factory/prod/qrar-landing/src/pages/LandingPage.tsx", 668 lineNumber: 270, 669 columnNumber: 15 670 }, this) 671 ] 672 }, item.id, true, { 673 fileName: "/home/admin/factory/prod/qrar-landing/src/pages/LandingPage.tsx", 674 lineNumber: 267, 675 columnNumber: 13 676 }, this)) 677 }, void 0, false, { 678 fileName: "/home/admin/factory/prod/qrar-landing/src/pages/LandingPage.tsx", 679 lineNumber: 265, 680 columnNumber: 9 681 }, this) 682 ] 683 }, void 0, true, { 684 fileName: "/home/admin/factory/prod/qrar-landing/src/pages/LandingPage.tsx", 685 lineNumber: 263, 686 columnNumber: 7 687 }, this) 688 ] 689 }, void 0, true, { 690 fileName: "/home/admin/factory/prod/qrar-landing/src/pages/LandingPage.tsx", 691 lineNumber: 260, 692 columnNumber: 5 693 }, this); 694} 695_s4(Features, "p8GAYwUCMsw/+bg5quAio1l6SSc=", false, function() { 696 return [ 697 usePublishedLanding, 698 useSiteLanguage 699 ]; 700}); 701_c6 = Features; 702function Audience() { 703 _s5(); 704 const { landing } = usePublishedLanding(); 705 const { pick } = useSiteLanguage();
706 const section = landing.content.audience; 707 return /*#__PURE__*/ _jsxDEV("section", { 708 id: "audience", 709 className: "design-section design-audience", 710 children: /*#__PURE__*/ _jsxDEV("div", { 711 className: "site-container design-audience-grid", 712 children: [ 713 /*#__PURE__*/ _jsxDEV("div", { 714 className: "design-audience-visual", 715 children: /*#__PURE__*/ _jsxDEV("div", { 716 className: "design-audience-collage", 717 children: [ 718 /*#__PURE__*/ _jsxDEV("span", { 719 className: "design-audience-glow", 720 "aria-hidden": "true" 721 }, void 0, false, { 722 fileName: "/home/admin/factory/prod/qrar-landing/src/pages/LandingPage.tsx", 723 lineNumber: 289, 724 columnNumber: 13 725 }, this), 726 /*#__PURE__*/ _jsxDEV("img", { 727 className: "design-audience-shot design-audience-shot--dashboard", 728 src: pick({ 729 en: '/assets/qrar-audience-dashboard-en.webp', 730 ar: '/assets/qrar-audience-dashboard-ar.webp' 731 }), 732 alt: pick({ 733 en: 'Qrar dashboard showing rating and sentiment trends over time', 734 ar: 'ÙÙØØ© ÙØ±Ø§Ø± تعرض Ø§ØªØ¬Ø§ÙØ§Øª Ø§ÙØªÙÙÙÙ ÙØ§ÙØ§ÙØ·Ø¨Ø§Ø¹Ø§Øª عبر Ø§ÙØ²Ù Ù' 735 }), 736 width: 1000, 737 height: 652, 738 loading: "lazy", 739 decoding: "async" 740 }, void 0, false, { 741 fileName: "/home/admin/factory/prod/qrar-landing/src/pages/LandingPage.tsx", 742 lineNumber: 290, 743 columnNumber: 13 744 }, this), 745 /*#__PURE__*/ _jsxDEV("img", { 746 className: "design-audience-shot design-audience-shot--reputation", 747 src: pick({ 748 en: '/assets/qrar-audience-reputation-en.webp', 749 ar: '/assets/qrar-audience-reputation-ar.webp' 750 }), 751 alt: pick({ 752 en: 'Qrar reputation health score', 753 ar: '٠ؤشر Ø§ÙØ³Ù عة ÙÙ ÙØ±Ø§Ø±' 754 }), 755 width: 780, 756 height: 337, 757 loading: "lazy", 758 decoding: "async" 759 }, void 0, false, { 760 fileName: "/home/admin/factory/prod/qrar-landing/src/pages/LandingPage.tsx", 761 lineNumber: 299, 762 columnNumber: 13 763 }, this), 764 /*#__PURE__*/ _jsxDEV("img", { 765 className: "design-audience-shot design-audience-shot--chat", 766 src: "/assets/qrar-audience-chat.webp", 767 alt: pick({ 768 en: 'Conversation with Najd, Qrarâs smart assistant', 769 ar: 'Ù ØØ§Ø¯Ø«Ø© ٠ع ÙØ¬Ø¯Ø ٠ساعد ÙØ±Ø§Ø± Ø§ÙØ°ÙÙ' 770 }), 771 width: 420, 772 height: 478, 773 loading: "lazy", 774 decoding: "async" 775 }, void 0, false, { 776 fileName: "/home/admin/factory/prod/qrar-landing/src/pages/LandingPage.tsx", 777 lineNumber: 308, 778 columnNumber: 13 779 }, this) 780 ] 781 }, void 0, true, { 782 fileName: "/home/admin/factory/prod/qrar-landing/src/pages/LandingPage.tsx", 783 lineNumber: 288, 784 columnNumber: 11 785 }, this) 786 }, void 0, false, { 787 fileName: "/home/admin/factory/prod/qrar-landing/src/pages/LandingPage.tsx", 788 lineNumber: 287, 789 columnNumber: 9 790 }, this), 791 /*#__PURE__*/ _jsxDEV("div", { 792 className: "design-audience-copy", 793 children: [ 794 /*#__PURE__*/ _jsxDEV("span", { 795 className: "design-eyebrow", 796 children: pick(section.eyebrow) 797 }, void 0, false, { 798 fileName: "/home/admin/factory/prod/qrar-landing/src/pages/LandingPage.tsx", 799 lineNumber: 320, 800 columnNumber: 11 801 }, this), 802 /*#__PURE__*/ _jsxDEV("h2", { 803 children: pick(section.title) 804 }, void 0, false, { 805 fileName: "/home/admin/factory/prod/qrar-landing/src/pages/LandingPage.tsx", 806 lineNumber: 321, 807 columnNumber: 11 808 }, this), 809 pick(section.body) && /*#__PURE__*/ _jsxDEV("p", { 810 className: "design-audience-lead", 811 children: pick(section.body) 812 }, void 0, false, { 813 fileName: "/home/admin/factory/prod/qrar-landing/src/pages/LandingPage.tsx", 814 lineNumber: 322, 815 columnNumber: 34 816 }, this), 817 /*#__PURE__*/ _jsxDEV("div", { 818 className: "design-audience-list", 819 children: section.items.map((item, index)=>{ 820 const audienceIcons = [ 821 Coffee, 822 Building2, 823 Hotel, 824 Pill, 825 WalletCards 826 ]; 827 const Icon = icons[item.icon] || audienceIcons[index] || Store; 828 return /*#__PURE__*/ _jsxDEV("div", { 829 className: "design-audience-item", 830 children: [ 831 /*#__PURE__*/ _jsxDEV("span", { 832 children: /*#__PURE__*/ _jsxDEV(Icon, { 833 size: 27 834 }, void 0, false, { 835 fileName: "/home/admin/factory/prod/qrar-landing/src/pages/LandingPage.tsx", 836 lineNumber: 329, 837 columnNumber: 25 838 }, this) 839 }, void 0, false, { 840 fileName: "/home/admin/factory/prod/qrar-landing/src/pages/LandingPage.tsx", 841 lineNumber: 329, 842 columnNumber: 19 843 }, this), 844 /*#__PURE__*/ _jsxDEV("div", { 845 children: [ 846 /*#__PURE__*/ _jsxDEV("h3", { 847 children: pick(item.title) 848 }, void 0, false, { 849 fileName: "/home/admin/factory/prod/qrar-landing/src/pages/LandingPage.tsx", 850 lineNumber: 330, 851 columnNumber: 24 852 }, this), 853 /*#__PURE__*/ _jsxDEV("p", { 854 children: pick(item.body) 855 }, void 0, false, { 856 fileName: "/home/admin/factory/prod/qrar-landing/src/pages/LandingPage.tsx", 857 lineNumber: 330, 858 columnNumber: 51 859 }, this) 860 ] 861 }, void 0, true, { 862 fileName: "/home/admin/factory/prod/qrar-landing/src/pages/LandingPage.tsx", 863 lineNumber: 330, 864 columnNumber: 19 865 }, this) 866 ] 867 }, item.id, true, { 868 fileName: "/home/admin/factory/prod/qrar-landing/src/pages/LandingPage.tsx", 869 lineNumber: 328, 870 columnNumber: 17 871 }, this); 872 }) 873 }, void 0, false, { 874 fileName: "/home/admin/factory/prod/qrar-landing/src/pages/LandingPage.tsx", 875 lineNumber: 323, 876 columnNumber: 11 877 }, this) 878 ] 879 }, void 0, true, { 880 fileName: "/home/admin/factory/prod/qrar-landing/src/pages/LandingPage.tsx", 881 lineNumber: 319, 882 columnNumber: 9 883 }, this) 884 ] 885 }, void 0, true, { 886 fileName: "/home/admin/factory/prod/qrar-landing/src/pages/LandingPage.tsx", 887 lineNumber: 286, 888 columnNumber: 7 889 }, this) 890 }, void 0, false, { 891 fileName: "/home/admin/factory/prod/qrar-landing/src/pages/LandingPage.tsx", 892 lineNumber: 285, 893 columnNumber: 5 894 }, this); 895} 896_s5(Audience, "p8GAYwUCMsw/+bg5quAio1l6SSc=", false, function() { 897 return [ 898 usePublishedLanding, 899 useSiteLanguage 900 ]; 901}); 902_c7 = Audience; 903function tierAction(tier) { 904 if (tier.cta.kind === 'contact') { 905 return { 906 label: tier.cta.label, 907 kind: 'mailto', 908 value: `[email protected]?subject=${encodeURIComponent(`Qrar ${tier.name.en} plan`)}` 909 }; 910 } 911 return { 912 label: tier.cta.label, 913 kind: tier.cta.kind, 914 value: '' 915 }; 916} 917function PricingCard({ tier, yearly }) { 918 _s6(); 919 const { landing } = usePublishedLanding(); 920 const { pick, language, isArabic } = useSiteLanguage(); 921 const section = landing.content.pricing; 922 const custom = pick(tier.customPriceLabel); 923 const free = tier.priceMonthly === 0 && tier.priceYearly === 0 && !custom; 924 const monthlyEquivalent = tier.priceYearly > 0 ? tier.priceYearly / 12 : 0; 925 const shownPrice = yearly && tier.priceYearly > 0 ? monthlyEquivalent : tier.priceMonthly; 926 const formatter = new Intl.NumberFormat(language === 'ar' ? 'ar-SA' : 'en-US', { 927 maximumFractionDigits: 0 928 }); 929 const saving = tier.priceMonthly > 0 && tier.priceYearly > 0 ? Math.max(0, Math.round((1 - tier.priceYearly / (tier.priceMonthly * 12)) * 100)) : 0; 930 return /*#__PURE__*/ _jsxDEV("article", { 931 className: cn('design-price-card', tier.featured && 'design-price-card--featured'), 932 children: [ 933 /*#__PURE__*/ _jsxDEV("div", { 934 className: "design-price-heading", 935 children: [ 936 /*#__PURE__*/ _jsxDEV("span", { 937 children: [ 938 pick(tier.name), 939 (pick(tier.badge) || tier.featured) && /*#__PURE__*/ _jsxDEV("span", { 940 className: "design-price-badge", 941 children: [ 942 /*#__PURE__*/ _jsxDEV(Star, { 943 size: 13, 944 fill: "currentColor" 945 }, void 0, false, { 946 fileName: "/home/admin/factory/prod/qrar-landing/src/pages/LandingPage.tsx", 947 lineNumber: 371, 948 columnNumber: 50 949 }, this), 950 pick(tier.badge) || (isArabic ? 'ÙÙØ£Ø¹Ù ا٠اÙÙØ§Ù ÙØ©' : 'Built for growth') 951 ] 952 }, void 0, true, { 953 fileName: "/home/admin/factory/prod/qrar-landing/src/pages/LandingPage.tsx", 954 lineNumber: 371, 955 columnNumber: 13 956 }, this) 957 ] 958 }, void 0, true, { 959 fileName: "/home/admin/factory/prod/qrar-landing/src/pages/LandingPage.tsx", 960 lineNumber: 368, 961 columnNumber: 9 962 }, this), 963 custom ? /*#__PURE__*/ _jsxDEV("strong", { 964 className: "design-price-custom", 965 children: custom 966 }, void 0, false, { 967 fileName: "/home/admin/factory/prod/qrar-landing/src/pages/LandingPage.tsx", 968 lineNumber: 374, 969 columnNumber: 19 970 }, this) : free ? /*#__PURE__*/ _jsxDEV("strong", { 971 className: "design-price-free", 972 children: pick(section.freeLabel) 973 }, void 0, false, { 974 fileName: "/home/admin/factory/prod/qrar-landing/src/pages/LandingPage.tsx", 975 lineNumber: 375, 976 columnNumber: 11 977 }, this) : /*#__PURE__*/ _jsxDEV("strong", { 978 children: [ 979 /*#__PURE__*/ _jsxDEV("b", { 980 children: formatter.format(shownPrice) 981 }, void 0, false, { 982 fileName: "/home/admin/factory/prod/qrar-landing/src/pages/LandingPage.tsx", 983 lineNumber: 377, 984 columnNumber: 19 985 }, this), 986 " ", 987 tier.currency, 988 /*#__PURE__*/ _jsxDEV("small", { 989 children: pick(section.perMonthLabel) 990 }, void 0, false, { 991 fileName: "/home/admin/factory/prod/qrar-landing/src/pages/LandingPage.tsx", 992 lineNumber: 377, 993 columnNumber: 72 994 }, this) 995 ] 996 }, void 0, true, { 997 fileName: "/home/admin/factory/prod/qrar-landing/src/pages/LandingPage.tsx", 998 lineNumber: 377, 999 columnNumber: 11 1000 }, this), 1001 yearly && tier.priceYearly > 0 && /*#__PURE__*/ _jsxDEV("span", { 1002 className: "design-price-billing-note", 1003 children: [ 1004
1004formatter.format(tier.priceYearly), 1005 " ", 1006 tier.currency, 1007 " · ", 1008 pick(section.billedYearlyLabel) 1009 ] 1010 }, void 0, true, { 1011 fileName: "/home/admin/factory/prod/qrar-landing/src/pages/LandingPage.tsx", 1012 lineNumber: 380, 1013 columnNumber: 11 1014 }, this), 1015 /*#__PURE__*/ _jsxDEV("p", { 1016 children: pick(tier.description) 1017 }, void 0, false, { 1018 fileName: "/home/admin/factory/prod/qrar-landing/src/pages/LandingPage.tsx", 1019 lineNumber: 382, 1020 columnNumber: 9 1021 }, this), 1022 yearly && saving > 0 && /*#__PURE__*/ _jsxDEV("em", { 1023 children: pick(section.savingsLabel).replace('{percent}', String(saving)) 1024 }, void 0, false, { 1025 fileName: "/home/admin/factory/prod/qrar-landing/src/pages/LandingPage.tsx", 1026 lineNumber: 383, 1027 columnNumber: 34 1028 }, this) 1029 ] 1030 }, void 0, true, { 1031 fileName: "/home/admin/factory/prod/qrar-landing/src/pages/LandingPage.tsx", 1032 lineNumber: 367, 1033 columnNumber: 7 1034 }, this), 1035 /*#__PURE__*/ _jsxDEV("ul", { 1036 children: tier.features.map((feature, index)=>/*#__PURE__*/ _jsxDEV("li", { 1037 children: [ 1038 /*#__PURE__*/ _jsxDEV("span", { 1039 children: /*#__PURE__*/ _jsxDEV(Check, { 1040 size: 12, 1041 strokeWidth: 3 1042 }, void 0, false, { 1043 fileName: "/home/admin/factory/prod/qrar-landing/src/pages/LandingPage.tsx", 1044 lineNumber: 387, 1045 columnNumber: 49 1046 }, this) 1047 }, void 0, false, { 1048 fileName: "/home/admin/factory/prod/qrar-landing/src/pages/LandingPage.tsx", 1049 lineNumber: 387, 1050 columnNumber: 43 1051 }, this), 1052 pick(feature) 1053 ] 1054 }, `${tier.id}-${index}`, true, { 1055 fileName: "/home/admin/factory/prod/qrar-landing/src/pages/LandingPage.tsx", 1056 lineNumber: 387, 1057 columnNumber: 11 1058 }, this)) 1059 }, void 0, false, { 1060 fileName: "/home/admin/factory/prod/qrar-landing/src/pages/LandingPage.tsx", 1061 lineNumber: 385, 1062 columnNumber: 7 1063 }, this), 1064 /*#__PURE__*/ _jsxDEV(SiteAction, { 1065 link: tierAction(tier), 1066 source: "pricing", 1067 tierId: tier.id, 1068 className: cn('design-price-action', tier.featured && 'design-price-action--featured') 1069 }, void 0, false, { 1070 fileName: "/home/admin/factory/prod/qrar-landing/src/pages/LandingPage.tsx", 1071 lineNumber: 390, 1072 columnNumber: 7 1073 }, this) 1074 ] 1075 }, void 0, true, { 1076 fileName: "/home/admin/factory/prod/qrar-landing/src/pages/LandingPage.tsx", 1077 lineNumber: 366, 1078 columnNumber: 5 1079 }, this); 1080} 1081_s6(PricingCard, "qppAZdIZ/ZQtY6JolN6+EjjNGsA=", false, function() { 1082 return [ 1083 usePublishedLanding, 1084 useSiteLanguage 1085 ]; 1086}); 1087_c8 = PricingCard; 1088function Pricing() { 1089 _s7(); 1090 const { landing } = usePublishedLanding(); 1091 const { pick, isArabic } = useSiteLanguage(); 1092 const [yearly, setYearly] = useState(false); 1093 const section = landing.content.pricing; 1094 const primary = landing.tiers.slice(0, 4); 1095 const extended = landing.tiers.slice(4); 1096 const primaryGridClass = primary.length >= 4 ? 'design-pricing-grid--4' : primary.length === 3 ? 'design-pricing-grid--3' : primary.length === 2 ? 'design-pricing-grid--2' : 'design-pricing-grid--1'; 1097 return /*#__PURE__*/ _jsxDEV("section", { 1098 id: "pricing", 1099 className: "design-section design-pricing", 1100 children: [ 1101 /*#__PURE__*/ _jsxDEV("div", { 1102 className: "design-blob design-blob--pricing" 1103 }, void 0, false, { 1104 fileName: "/home/admin/factory/prod/qrar-landing/src/pages/LandingPage.tsx", 1105 lineNumber: 417, 1106 columnNumber: 7 1107 }, this), 1108 /*#__PURE__*/ _jsxDEV("div", { 1109 className: "site-container", 1110 children: [ 1111 /*#__PURE__*/ _jsxDEV(SectionIntro, { 1112 section: section 1113 }, void 0, false, { 1114 fileName: "/home/admin/factory/prod/qrar-landing/src/pages/LandingPage.tsx", 1115 lineNumber: 419, 1116 columnNumber: 9 1117 }, this), 1118 /*#__PURE__*/ _jsxDEV("div", { 1119 className: "design-billing-toggle", 1120 role: "group", 1121 "aria-label": isArabic ? 'Ø®ÙØ§Ø± اÙÙÙØªØ±Ø©' : 'Billing option', 1122 children: [ 1123 /*#__PURE__*/ _jsxDEV("button", { 1124 type: "button", 1125 className: cn(!yearly && 'is-active'), 1126 onClick: ()=>setYearly(false), 1127 children: pick(section.monthlyLabel) 1128 }, void 0, false, { 1129 fileName: "/home/admin/factory/prod/qrar-landing/src/pages/LandingPage.tsx", 1130 lineNumber: 421, 1131 columnNumber: 11 1132 }, this), 1133 /*#__PURE__*/ _jsxDEV("button", { 1134 type: "button", 1135 className: cn(yearly && 'is-active'), 1136 onClick: ()=>setYearly(true),
1137 children: [ 1138 pick(section.yearlyLabel), 1139 " ", 1140 /*#__PURE__*/ _jsxDEV("small", { 1141 children: pick(section.savingsLabel).replace('{percent}', '20') 1142 }, void 0, false, { 1143 fileName: "/home/admin/factory/prod/qrar-landing/src/pages/LandingPage.tsx", 1144 lineNumber: 423, 1145 columnNumber: 41 1146 }, this) 1147 ] 1148 }, void 0, true, { 1149 fileName: "/home/admin/factory/prod/qrar-landing/src/pages/LandingPage.tsx", 1150 lineNumber: 422, 1151 columnNumber: 11 1152 }, this) 1153 ] 1154 }, void 0, true, { 1155 fileName: "/home/admin/factory/prod/qrar-landing/src/pages/LandingPage.tsx", 1156 lineNumber: 420, 1157 columnNumber: 9 1158 }, this), 1159 primary.length > 0 ? /*#__PURE__*/ _jsxDEV(_Fragment, { 1160 children: [ 1161 /*#__PURE__*/ _jsxDEV("div", { 1162 className: cn('design-pricing-grid', primaryGridClass), 1163 children: primary.map((tier)=>/*#__PURE__*/ _jsxDEV(PricingCard, { 1164 tier: tier, 1165 yearly: yearly 1166 }, tier.id, false, { 1167 fileName: "/home/admin/factory/prod/qrar-landing/src/pages/LandingPage.tsx", 1168 lineNumber: 429, 1169 columnNumber: 38 1170 }, this)) 1171 }, void 0, false, { 1172 fileName: "/home/admin/factory/prod/qrar-landing/src/pages/LandingPage.tsx", 1173 lineNumber: 428, 1174 columnNumber: 13 1175 }, this), 1176 extended.length > 0 && /*#__PURE__*/ _jsxDEV("div", { 1177 className: "design-pricing-extended", 1178 children: [ 1179 /*#__PURE__*/ _jsxDEV("h3", { 1180 children: isArabic ? 'ØÙÙÙ ÙÙÙ ÙØ´Ø¢Øª اÙÙØ¨Ø±Ù ÙØ§ÙÙÙØ§Ùات' : 'Solutions for enterprises and agencies' 1181 }, void 0, false, { 1182 fileName: "/home/admin/factory/prod/qrar-landing/src/pages/LandingPage.tsx", 1183 lineNumber: 433, 1184 columnNumber: 17 1185 }, this), 1186 /*#__PURE__*/ _jsxDEV("div", { 1187 className: cn('design-pricing-grid design-pricing-grid--extended', extended.length === 1 && 'design-pricing-grid--single'), 1188 children: extended.map((tier)=>/*#__PURE__*/ _jsxDEV(PricingCard, { 1189 tier: tier, 1190 yearly: yearly 1191 }, tier.id, false, { 1192 fileName: "/home/admin/factory/prod/qrar-landing/src/pages/LandingPage.tsx", 1193 lineNumber: 435, 1194 columnNumber: 43 1195 }, this)) 1196 }, void 0, false, { 1197 fileName: "/home/admin/factory/prod/qrar-landing/src/pages/LandingPage.tsx", 1198 lineNumber: 434, 1199 columnNumber: 17 1200 }, this) 1201 ] 1202 }, void 0, true, { 1203 fileName: "/home/admin/factory/prod/qrar-landing/src/pages/LandingPage.tsx", 1204 lineNumber: 432, 1205 columnNumber: 15 1206 }, this) 1207 ] 1208 }, void 0, true) : /*#__PURE__*/ _jsxDEV("div", { 1209 className: "design-pricing-empty", 1210 children: [ 1211 /*#__PURE__*/ _jsxDEV(Sparkles, { 1212 size: 28 1213 }, void 0, false, { 1214 fileName: "/home/admin/factory/prod/qrar-landing/src/pages/LandingPage.tsx", 1215 lineNumber: 442, 1216 columnNumber: 13 1217 }, this), 1218 /*#__PURE__*/ _jsxDEV("strong", { 1219 children: isArabic ? 'ÙØ¹Ù ٠عÙ٠تجÙÙØ² Ø§ÙØ¨Ø§Ùات' : 'We are preparing the plans' 1220 }, void 0, false, { 1221 fileName: "/home/admin/factory/prod/qrar-landing/src/pages/LandingPage.tsx", 1222 lineNumber: 443, 1223 columnNumber: 13 1224 }, this), 1225 /*#__PURE__*/ _jsxDEV("p", { 1226 children: isArabic ? 'Ø³ØªØ¸ÙØ± Ø§ÙØ¨Ø§Ùات ÙÙØ§ ÙÙØ± Ø§Ø¹ØªÙ Ø§Ø¯ÙØ§ ÙÙØ´Ø±Ùا.' : 'Plans will appear here once they are approved and published.' 1227 }, void 0, false, { 1228 fileName: "/home/admin/factory/prod/qrar-landing/src/pages/LandingPage.tsx", 1229 lineNumber: 444, 1230 columnNumber: 13 1231 }, this) 1232 ] 1233 }, void 0, true, { 1234 fileName: "/home/admin/factory/prod/qrar-landing/src/pages/LandingPage.tsx", 1235 lineNumber: 441, 1236 columnNumber: 11 1237 }, this) 1238 ] 1239 }, void 0, true, { 1240 fileName: "/home/admin/factory/prod/qrar-landing/src/pages/LandingPage.tsx", 1241 lineNumber: 418, 1242 columnNumber: 7 1243 }, this) 1244 ] 1245 }, void 0, true, { 1246 fileName: "/home/admin/factory/prod/qrar-landing/src/pages/LandingPage.tsx", 1247 lineNumber: 416, 1248 columnNumber: 5 1249 }, this); 1250} 1251_s7(Pricing, "CezXR7BNheOH50XZlw7Czp4F6Xk=", false, function() { 1252 return [ 1253 usePublishedLanding, 1254 useSiteLanguage 1255 ]; 1256}); 1257_c9 = Pricing; 1258function UseCases() { 1259 _s8(); 1260 const { landing } = usePublishedLanding(); 1261 const { pick, isArabic } = useSiteLanguage(); 1262 const section = landing.content.testimonials; 1263 const cards = section.items; 1264 return /*#__PURE__*/ _jsxDEV("section", { 1265 id: "use-cases", 1266 className: "design-section design-testimonials", 1267 children: /*#__PURE__*/ _jsxDEV("div", { 1268 className: "site-container design-testimonial-grid", 1269 children: [ 1270 /*#__PURE__*/ _jsxDEV("div", { 1271 className: "design-testimonial-copy", 1272 children: [ 1273 /*#__PURE__*/ _jsxDEV("span", { 1274 className: "design-eyebrow", 1275 children: pick(section.eyebrow) 1276 }, void 0, false, { 1277 fileName: "/home/admin/factory/prod/qrar-landing/src/pages/LandingPage.tsx", 1278 lineNumber: 462, 1279 columnNumber: 11 1280 }, this), 1281 /*#__PURE__*/ _jsxDEV("h2", { 1282 children: pick(section.title) 1283 }, void 0, false, { 1284 fileName: "/home/admin/factory/prod/qrar-landing/src/pages/LandingPage.tsx", 1285 lineNumber: 463, 1286 columnNumber: 11 1287 }, this), 1288 /*#__PURE__*/ _jsxDEV("p", { 1289 children: pick(section.body) 1290 }, void 0, false, { 1291 fileName: "/home/admin/factory/prod/qrar-landing/src/pages/LandingPage.tsx", 1292 lineNumber: 464, 1293 columnNumber: 11 1294 }, this), 1295 /*#__PURE__*/ _jsxDEV(SiteAction, { 1296 link: { 1297 label: { 1298 en: 'Start free', 1299 ar: 'ابدأ ٠جاÙÙØ§' 1300 }, 1301 kind: 'signup', 1302 value: '' 1303 }, 1304 source: "use_cases", 1305 className: "design-button design-button--primary" 1306 }, void 0, false, { 1307 fileName: "/home/admin/factory/prod/qrar-landing/src/pages/LandingPage.tsx", 1308 lineNumber: 465, 1309 columnNumber: 11 1310 }, this) 1311 ] 1312 }, void 0, true, { 1313 fileName: "/home/admin/factory/prod/qrar-landing/src/pages/LandingPage.tsx", 1314 lineNumber: 461, 1315 columnNumber: 9 1316 }, this), 1317 /*#__PURE__*/ _jsxDEV("div", { 1318 className: "design-testimonial-wall",
1319 "aria-label": isArabic ? 'Ø£Ù Ø«ÙØ© Ø§Ø³ØªØ®Ø¯Ø§Ù ÙØ±Ø§Ø±' : 'Qrar use cases', 1320 children: cards.map((item, index)=>/*#__PURE__*/ _jsxDEV("figure", { 1321 children: [ 1322 /*#__PURE__*/ _jsxDEV("span", { 1323 className: "design-use-case-label", 1324 children: pick(item.role) 1325 }, void 0, false, { 1326 fileName: "/home/admin/factory/prod/qrar-landing/src/pages/LandingPage.tsx", 1327 lineNumber: 470, 1328 columnNumber: 15 1329 }, this), 1330 /*#__PURE__*/ _jsxDEV("h3", { 1331 children: pick(item.name) 1332 }, void 0, false, { 1333 fileName: "/home/admin/factory/prod/qrar-landing/src/pages/LandingPage.tsx", 1334 lineNumber: 471, 1335 columnNumber: 15 1336 }, this), 1337 /*#__PURE__*/ _jsxDEV("p", { 1338 children: pick(item.quote) 1339 }, void 0, false, { 1340 fileName: "/home/admin/factory/prod/qrar-landing/src/pages/LandingPage.tsx", 1341 lineNumber: 472, 1342 columnNumber: 15 1343 }, this) 1344 ] 1345 }, `${item.id}-${index}`, true, { 1346 fileName: "/home/admin/factory/prod/qrar-landing/src/pages/LandingPage.tsx", 1347 lineNumber: 469, 1348 columnNumber: 13 1349 }, this)) 1350 }, void 0, false, { 1351 fileName: "/home/admin/factory/prod/qrar-landing/src/pages/LandingPage.tsx", 1352 lineNumber: 467, 1353 columnNumber: 9 1354 }, this) 1355 ] 1356 }, void 0, true, { 1357 fileName: "/home/admin/factory/prod/qrar-landing/src/pages/LandingPage.tsx", 1358 lineNumber: 460, 1359 columnNumber: 7 1360 }, this) 1361 }, void 0, false, { 1362 fileName: "/home/admin/factory/prod/qrar-landing/src/pages/LandingPage.tsx", 1363 lineNumber: 459, 1364 columnNumber: 5 1365 }, this); 1366} 1367_s8(UseCases, "lJoDhK9qW7yuQiITLVePkhppgNw=", false, function() { 1368 return [ 1369 usePublishedLanding, 1370 useSiteLanguage 1371 ]; 1372}); 1373_c10 = UseCases; 1374function Najd() { 1375 _s9(); 1376 const { landing } = usePublishedLanding(); 1377 const { pick } = useSiteLanguage(); 1378 const section = landing.content.najd; 1379 return /*#__PURE__*/ _jsxDEV("section", { 1380 id: "najd", 1381 className: "design-section design-najd", 1382 children: [ 1383 /*#__PURE__*/ _jsxDEV("div", { 1384 className: "design-grid design-grid--najd" 1385 }, void 0, false, { 1386 fileName: "/home/admin/factory/prod/qrar-landing/src/pages/LandingPage.tsx", 1387 lineNumber: 488, 1388 columnNumber: 7 1389 }, this), 1390 /*#__PURE__*/ _jsxDEV("div", { 1391 className: "design-blob design-blob--najd" 1392 }, void 0, false, { 1393 fileName: "/home/admin/factory/prod/qrar-landing/src/pages/LandingPage.tsx", 1394 lineNumber: 489, 1395 columnNumber: 7 1396 }, this), 1397 /*#__PURE__*/ _jsxDEV("div", { 1398 className: "site-container design-najd-inner", 1399 children: [ 1400 /*#__PURE__*/ _jsxDEV("img", { 1401 src: section.imageUrl, 1402 alt: pick(section.imageAlt) 1403 }, void 0, false, { 1404 fileName: "/home/admin/factory/prod/qrar-landing/src/pages/LandingPage.tsx", 1405 lineNumber: 491, 1406 columnNumber: 9 1407 }, this), 1408 /*#__PURE__*/ _jsxDEV("span", { 1409 className: "design-eyebrow", 1410 children: pick(section.eyebrow) 1411 }, void 0, false, { 1412 fileName: "/home/admin/factory/prod/qrar-landing/src/pages/LandingPage.tsx", 1413 lineNumber: 492, 1414 columnNumber: 9 1415 }, this), 1416 /*#__PURE__*/ _jsxDEV("h2", { 1417 children: pick(section.title) 1418 }, void 0, false, { 1419 fileName: "/home/admin/factory/prod/qrar-landing/src/pages/LandingPage.tsx", 1420 lineNumber: 493, 1421 columnNumber: 9 1422 }, this), 1423 /*#__PURE__*/ _jsxDEV("p", { 1424 children: pick(section.body) 1425 }, void 0, false, { 1426 fileName: "/home/admin/factory/prod/qrar-landing/src/pages/LandingPage.tsx", 1427 lineNumber: 494, 1428 columnNumber: 9 1429 }, this), 1430 /*#__PURE__*/ _jsxDEV("div", { 1431 className: "design-najd-prompts", 1432 children: section.bullets.map((bullet, index)=>/*#__PURE__*/ _jsxDEV("span", { 1433 children: pick(bullet) 1434 }, index, false, { 1435 fileName: "/home/admin/factory/prod/qrar-landing/src/pages/LandingPage.tsx", 1436 lineNumber: 496, 1437 columnNumber: 51 1438 }, this)) 1439 }, void 0, false, { 1440 fileName: "/home/admin/factory/prod/qrar-landing/src/pages/LandingPage.tsx", 1441 lineNumber: 495, 1442 columnNumber: 9 1443 }, this), 1444 /*#__PURE__*/ _jsxDEV(SiteAction, { 1445 link: section.cta, 1446 source: "najd", 1447 className: "design-button design-button--primary", 1448 children: [ 1449 /*#__PURE__*/ _jsxDEV(Mic2, { 1450 size: 18 1451 }, void 0, false, { 1452 fileName: "/home/admin/factory/prod/qrar-landing/src/pages/LandingPage.tsx", 1453 lineNumber: 498, 1454 columnNumber: 103 1455 }, this), 1456 /*#__PURE__*/ _jsxDEV("span", { 1457 children: pick(section.cta.label) 1458 }, void 0, false, { 1459 fileName: "/home/admin/factory/prod/qrar-landing/src/pages/LandingPage.tsx", 1460 lineNumber: 498, 1461 columnNumber: 121 1462 }, this) 1463 ] 1464 }, void 0, true, { 1465 fileName: "/home/admin/factory/prod/qrar-landing/src/pages/LandingPage.tsx", 1466 lineNumber: 498, 1467 columnNumber: 9 1468 }, this) 1469 ] 1470 }, void 0, true, { 1471 fileName: "/home/admin/factory/prod/qrar-landing/src/pages/LandingPage.tsx", 1472 lineNumber: 490, 1473 columnNumber: 7 1474 }, this) 1475 ] 1476 }, void 0, true, { 1477 fileName: "/home/admin/factory/prod/qrar-landing/src/pages/LandingPage.tsx", 1478 lineNumber: 487, 1479 columnNumber: 5 1480 }, this); 1481} 1482_s9(Najd, "p8GAYwUCMsw/+bg5quAio1l6SSc=", false, function() { 1483 return [ 1484 usePublishedLanding, 1485 useSiteLanguage 1486 ]; 1487}); 1488_c11 = Najd; 1489function FinalCall() { 1490 _s10(); 1491 const { landing } = usePublishedLanding(); 1492 const { pick, isArabic } = useSiteLanguage(); 1493 const section = landing.content.finalCta; 1494 return /*#__PURE__*/ _jsxDEV("section", { 1495 id: "start", 1496 className: "design-section design-final", 1497 children: [ 1498 /*#__PURE__*/ _jsxDEV("div", { 1499 className: "design-blob design-blob--final" 1500 }, void 0, false, { 1501 fileName: "/home/admin/factory/prod/qrar-landing/src/pages/LandingPage.tsx", 1502 lineNumber: 511, 1503 columnNumber: 7 1504 }, this), 1505 /*#__PURE__*/ _jsxDEV("div", { 1506 className: "site-container", 1507 children: /*#__PURE__*/ _jsxDEV("div", { 1508 className: "design-final-card", 1509 children: [ 1510 /*#__PURE__*/ _jsxDEV("div", { 1511 className: "design-final-copy", 1512 children: [ 1513 /*#__PURE__*/ _jsxDEV("span", { 1514 className: "design-eyebrow", 1515 children: pick(section.eyebrow) 1516 }, void 0, false, { 1517 fileName: "/home/admin/factory/prod/qrar-landing/src/pages/LandingPage.tsx", 1518 lineNumber: 515, 1519 columnNumber: 13 1520 }, this), 1521 /*#__PURE__*/ _jsxDEV("h2", { 1522 children: pick(section.title) 1523 }, void 0, false, { 1524 fileName: "/home/admin/factory/prod/qrar-landing/src/pages/LandingPage.tsx", 1525 lineNumber: 516, 1526 columnNumber: 13 1527 }, this), 1528 /*#__PURE__*/ _jsxDEV("p", { 1529 children: pick(section.body) 1530 }, void 0, false, { 1531 fileName: "/home/admin/factory/prod/qrar-landing/src/pages/LandingPage.tsx", 1532 lineNumber: 517, 1533 columnNumber: 13 1534 }, this), 1535 /*#__PURE__*/ _jsxDEV("div", { 1536 className: "design-actions", 1537 children: [ 1538 /*#__PURE__*/ _jsxDEV(SiteAction, { 1539 link: section.primaryCta, 1540 source: "final_cta", 1541 className: "design-button design-button--primary" 1542 }, void 0, false, { 1543 fileName: "/home/admin/factory/prod/qrar-landing/src/pages/LandingPage.tsx", 1544 lineNumber: 519, 1545 columnNumber: 15 1546 }, this), 1547 /*#__PURE__*/ _jsxDEV(SiteAction, { 1548 link: section.secondaryCta, 1549 source: "final_cta", 1550 className: "design-button design-button--soft" 1551 }, void 0, false, { 1552 fileName: "/home/admin/factory/prod/qrar-landing/src/pages/LandingPage.tsx", 1553 lineNumber: 520, 1554 columnNumber: 15 1555 }, this) 1556 ] 1557 }, void 0, true, { 1558 fileName: "/home/admin/factory/prod/qrar-landing/src/pages/LandingPage.tsx", 1559 lineNumber: 518, 1560 columnNumber: 13 1561 }, this), 1562 /*#__PURE__*/ _jsxDEV("span", { 1563 className: "design-credit-note", 1564 children: [ 1565 /*#__PURE__*/ _jsxDEV(WalletCards, {
1566 size: 20 1567 }, void 0, false, { 1568 fileName: "/home/admin/factory/prod/qrar-landing/src/pages/LandingPage.tsx", 1569 lineNumber: 522, 1570 columnNumber: 50 1571 }, this), 1572 isArabic ? 'ابدأ دÙÙ Ø¨Ø·Ø§ÙØ© ائت٠اÙÙØ©' : 'Start without a credit card' 1573 ] 1574 }, void 0, true, { 1575 fileName: "/home/admin/factory/prod/qrar-landing/src/pages/LandingPage.tsx", 1576 lineNumber: 522, 1577 columnNumber: 13 1578 }, this) 1579 ] 1580 }, void 0, true, { 1581 fileName: "/home/admin/factory/prod/qrar-landing/src/pages/LandingPage.tsx", 1582 lineNumber: 514, 1583 columnNumber: 11 1584 }, this), 1585 /*#__PURE__*/ _jsxDEV(ConsoleShowcase, { 1586 compact: true 1587 }, void 0, false, { 1588 fileName: "/home/admin/factory/prod/qrar-landing/src/pages/LandingPage.tsx", 1589 lineNumber: 524, 1590 columnNumber: 11 1591 }, this) 1592 ] 1593 }, void 0, true, { 1594 fileName: "/home/admin/factory/prod/qrar-landing/src/pages/LandingPage.tsx", 1595 lineNumber: 513, 1596 columnNumber: 9 1597 }, this) 1598 }, void 0, false, { 1599 fileName: "/home/admin/factory/prod/qrar-landing/src/pages/LandingPage.tsx", 1600 lineNumber: 512, 1601 columnNumber: 7 1602 }, this) 1603 ] 1604 }, void 0, true, { 1605 fileName: "/home/admin/factory/prod/qrar-landing/src/pages/LandingPage.tsx", 1606 lineNumber: 510, 1607 columnNumber: 5 1608 }, this); 1609} 1610_s10(FinalCall, "lJoDhK9qW7yuQiITLVePkhppgNw=", false, function() { 1611 return [ 1612 usePublishedLanding, 1613 useSiteLanguage 1614 ]; 1615}); 1616_c12 = FinalCall; 1617// Analytics section ids: the sections' DOM anchor ids, snake_cased (matches 1618// the section_view enum in src/lib/analytics/registry.ts). 1619const ANALYTICS_SECTION_IDS = { 1620 hero: 'top', 1621 customers: 'customers', 1622 workflow: 'how_it_works', 1623 responseStory: 'response_story', 1624 features: 'features', 1625 audience: 'audience', 1626 pricing: 'pricing', 1627 useCases: 'use_cases', 1628 najd: 'najd', 1629 final: 'start' 1630}; 1631export default function LandingPage() { 1632 _s11(); 1633 const { landing, source, previewMode } = usePublishedLanding(); 1634 const { language, pick, isArabic } = useSiteLanguage(); 1635 useEffect(()=>{ 1636 document.title = pick(landing.content.seo.title); 1637 document.querySelector('meta[name="description"]')?.setAttribute('content', pick(landing.content.seo.description)); 1638 }, [ 1639 landing.content.seo, 1640 language, 1641 pick 1642 ]); 1643 // section_view: once per section per page load, after a short dwell so 1644 // smooth-scrolling past intermediate sections doesn't count them. `seen` 1645 // lives in a ref because the observer re-creates whenever the CMS content 1646 // settles (landing changes) â the once-per-load guarantee must survive that. 1647 const sectionRefs = useRef(new Map()); 1648 const seenSectionsRef = useRef(new Set()); 1649 useEffect(()=>{ 1650 if (typeof IntersectionObserver === 'undefined') return; 1651 const seen = seenSectionsRef.current; 1652 const timers = new Map(); 1653 const observer = new IntersectionObserver((entries)=>{ 1654 for (const entry of entries){ 1655 const id = entry.target.dataset.analyticsSection || ''; 1656 if (!id || seen.has(id)) continue; 1657 if (entry.isIntersecting) { 1658 if (!timers.has(id)) { 1659 timers.set(id, setTimeout(()=>{ 1660 timers.delete(id); 1661 if (seen.has(id)) return; 1662 seen.add(id); 1663 analytics.track('section_view', { 1664 section_id: id 1665 }); 1666 }, 300)); 1667 } 1668 } else { 1669 const pending = timers.get(id); 1670 if (pending) { 1671 clearTimeout(pending); 1672 timers.delete(id); 1673 } 1674 } 1675 } 1676 }, { 1677 threshold: 0.25 1678 }); 1679 for (const el of sectionRefs.current.values())observer.observe(el); 1680 return ()=>{ 1681 observer.disconnect(); 1682 for (const t of timers.values())clearTimeout(t); 1683 }; 1684 }, [ 1685 /* re-observe when the CMS-driven section list changes */ landing 1686 ]); 1687 const sections = useMemo(()=>[ 1688 { 1689 key: 'hero', 1690 enabled: landing.content.hero.enabled, 1691 order: landing.content.hero.order, 1692 node: /*#__PURE__*/ _jsxDEV(Hero, {}, void 0, false, { 1693 fileName: "/home/admin/factory/prod/qrar-landing/src/pages/LandingPage.tsx", 1694 lineNumber: 595, 1695 columnNumber: 100 1696 }, this) 1697 }, 1698 { 1699 key: 'customers', 1700 // An enabled strip with no renderable logos should not mount at all â 1701 // otherwise its analytics wrapper stays observable as an empty element. 1702 enabled: landing.content.customers.enabled && landing.content.customers.items.some((item)=>item.logoUrl.trim() !== ''), 1703 order: landing.content.customers.order, 1704 node: /*#__PURE__*/ _jsxDEV(Customers, {}, void 0, false, { 1705 fileName: "/home/admin/factory/prod/qrar-landing/src/pages/LandingPage.tsx", 1706 lineNumber: 603, 1707 columnNumber: 13 1708 }, this) 1709 }, 1710 { 1711 key: 'workflow', 1712 enabled: landing.content.workflow.enabled, 1713 order: landing.content.workflow.order, 1714 node: /*#__PURE__*/ _jsxDEV(Workflow, {}, void 0, false, { 1715 fileName: "/home/admin/factory/prod/qrar-landing/src/pages/LandingPage.tsx", 1716 lineNumber: 605, 1717 columnNumber: 112 1718 }, this) 1719 }, 1720 { 1721 key: 'responseStory', 1722 enabled: true, 1723 order: 25, 1724 node: /*#__PURE__*/ _jsxDEV(ResponseStorySection, {}, void 0, false, { 1725 fileName: "/home/admin/factory/prod/qrar-landing/src/pages/LandingPage.tsx", 1726 lineNumber: 606, 1727 columnNumber: 61 1728 }, this) 1729 }, 1730 { 1731 key: 'features', 1732 enabled: landing.content.features.enabled, 1733 order: landing.content.features.order, 1734 node: /*#__PURE__*/ _jsxDEV(Features, {}, void 0, false, { 1735 fileName: "/home/admin/factory/prod/qrar-landing/src/pages/LandingPage.tsx", 1736 lineNumber: 607, 1737 columnNumber: 112 1738 }, this) 1739 }, 1740 { 1741 key: 'audience',
1742 enabled: landing.content.audience.enabled, 1743 order: landing.content.audience.order, 1744 node: /*#__PURE__*/ _jsxDEV(Audience, {}, void 0, false, { 1745 fileName: "/home/admin/factory/prod/qrar-landing/src/pages/LandingPage.tsx", 1746 lineNumber: 608, 1747 columnNumber: 112 1748 }, this) 1749 }, 1750 { 1751 key: 'pricing', 1752 enabled: landing.content.pricing.enabled, 1753 order: landing.content.pricing.order, 1754 node: /*#__PURE__*/ _jsxDEV(Pricing, {}, void 0, false, { 1755 fileName: "/home/admin/factory/prod/qrar-landing/src/pages/LandingPage.tsx", 1756 lineNumber: 609, 1757 columnNumber: 109 1758 }, this) 1759 }, 1760 { 1761 key: 'useCases', 1762 enabled: landing.content.testimonials.enabled, 1763 order: landing.content.testimonials.order, 1764 node: /*#__PURE__*/ _jsxDEV(UseCases, {}, void 0, false, { 1765 fileName: "/home/admin/factory/prod/qrar-landing/src/pages/LandingPage.tsx", 1766 lineNumber: 610, 1767 columnNumber: 120 1768 }, this) 1769 }, 1770 { 1771 key: 'najd', 1772 enabled: landing.content.najd.enabled, 1773 order: landing.content.najd.order, 1774 node: /*#__PURE__*/ _jsxDEV(Najd, {}, void 0, false, { 1775 fileName: "/home/admin/factory/prod/qrar-landing/src/pages/LandingPage.tsx", 1776 lineNumber: 611, 1777 columnNumber: 100 1778 }, this) 1779 }, 1780 { 1781 key: 'final', 1782 enabled: landing.content.finalCta.enabled, 1783 order: landing.content.finalCta.order, 1784 node: /*#__PURE__*/ _jsxDEV(FinalCall, {}, void 0, false, { 1785 fileName: "/home/admin/factory/prod/qrar-landing/src/pages/LandingPage.tsx", 1786 lineNumber: 612, 1787 columnNumber: 109 1788 }, this) 1789 } 1790 ].filter((item)=>item.enabled).sort((a, b)=>a.order - b.order), [ 1791 landing 1792 ]); 1793 return /*#__PURE__*/ _jsxDEV("div", { 1794 className: "design-page", 1795 children: [ 1796 previewMode && /*#__PURE__*/ _jsxDEV("div", { 1797 className: "design-preview-banner", 1798 children: source === 'preview' ? isArabic ? '٠عاÙÙØ© ÙÙ Ø³ÙØ¯Ø© ØºÙØ± Ù ÙØ´Ùرة' : 'Preview of an unpublished draft' : isArabic ? 'Ø¨Ø§ÙØªØ¸Ø§Ø± Ø¨ÙØ§Ùات اÙ٠عاÙÙØ© Ù Ù ÙÙØØ© Ø§ÙØ¥Ø¯Ø§Ø±Ø©' : 'Waiting for preview data from the admin dashboard' 1799 }, void 0, false, { 1800 fileName: "/home/admin/factory/prod/qrar-landing/src/pages/LandingPage.tsx", 1801 lineNumber: 618, 1802 columnNumber: 9 1803 }, this), 1804 /*#__PURE__*/ _jsxDEV("div", { 1805 className: previewMode ? 'design-preview-offset' : undefined, 1806 children: [ 1807 /*#__PURE__*/ _jsxDEV(SiteHeader, {}, void 0, false, { 1808 fileName: "/home/admin/factory/prod/qrar-landing/src/pages/LandingPage.tsx", 1809 lineNumber: 625, 1810 columnNumber: 9 1811 }, this), 1812 /*#__PURE__*/ _jsxDEV("main", { 1813 children: sections.map((section)=>/*#__PURE__*/ _jsxDEV("div", { 1814 "data-analytics-section": ANALYTICS_SECTION_IDS[section.key] ?? toSnakeCase(section.key), 1815 ref: (el)=>{ 1816 if (el) sectionRefs.current.set(section.key, el); 1817 else sectionRefs.current.delete(section.key); 1818 }, 1819 children: section.node 1820 }, section.key, false, { 1821 fileName: "/home/admin/factory/prod/qrar-landing/src/pages/LandingPage.tsx", 1822 lineNumber: 627, 1823 columnNumber: 11 1824 }, this)) 1825 }, void 0, false, { 1826 fileName: "/home/admin/factory/prod/qrar-landing/src/pages/LandingPage.tsx", 1827 lineNumber: 626, 1828 columnNumber: 9 1829 }, this), 1830 /*#__PURE__*/ _jsxDEV(SiteFooter, {}, void 0, false, { 1831 fileName: "/home/admin/factory/prod/qrar-landing/src/pages/LandingPage.tsx", 1832 lineNumber: 638, 1833 columnNumber: 9 1834 }, this) 1835 ] 1836 }, void 0, true, { 1837 fileName: "/home/admin/factory/prod/qrar-landing/src/pages/LandingPage.tsx", 1838 lineNumber: 624, 1839 columnNumber: 7 1840 }, this) 1841 ] 1842 }, void 0, true, { 1843 fileName: "/home/admin/factory/prod/qrar-landing/src/pages/LandingPage.tsx", 1844 lineNumber: 616, 1845 columnNumber: 5 1846 }, this); 1847} 1848_s11(LandingPage, "lWCkoUvyhzi1jGhrEk4tFSvyw9o=", false, function() { 1849 return [ 1850 usePublishedLanding, 1851 useSiteLanguage 1852 ]; 1853}); 1854_c13 = LandingPage; 1855var _c, _c1, _c2, _c3, _c4, _c5, _c6, _c7, _c8, _c9, _c10, _c11, _c12, _c13; 1856$RefreshReg$(_c, "FeatureIcon"); 1857$RefreshReg$(_c1, "SectionIntro"); 1858$RefreshReg$(_c2, "Hero"); 1859$RefreshReg$(_c3, "Customers"); 1860$RefreshReg$(_c4, "Workflow"); 1861$RefreshReg$(_c5, "ResponseStorySection"); 1862$RefreshReg$(_c6, "Features"); 1863$RefreshReg$(_c7, "Audience"); 1864$RefreshReg$(_c8, "PricingCard"); 1865$RefreshReg$(_c9, "Pricing"); 1866$RefreshReg$(_c10, "UseCases"); 1867$RefreshReg$(_c11, "Najd"); 1868$RefreshReg$(_c12, "FinalCall");
1869$RefreshReg$(_c13, "LandingPage"); 1870 1871 1872if (import.meta.hot && !inWebWorker) { 1873 window.$RefreshReg$ = prevRefreshReg; 1874 window.$RefreshSig$ = prevRefreshSig; 1875} 1876 1877 1878if (import.meta.hot && !inWebWorker) { 1879 RefreshRuntime.__hmr_import(import.meta.url).then((currentExports) => { 1880 RefreshRuntime.registerExportsForReactRefresh("/home/admin/factory/prod/qrar-landing/src/pages/LandingPage.tsx", currentExports); 1881 import.meta.hot.accept((nextExports) => { 1882 if (!nextExports) return; 1883 const invalidateMessage = RefreshRuntime.validateRefreshBoundaryAndEnqueueUpdate("/home/admin/factory/prod/qrar-landing/src/pages/LandingPage.tsx", currentExports, nextExports); 1884 if (invalidateMessage) import.meta.hot.invalidate(invalidateMessage); 1885 }); 1886 }); 1887} 1888 1889//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIkxhbmRpbmdQYWdlLnRzeCJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyB1c2VFZmZlY3QsIHVzZU1lbW8sIHVzZVJlZiwgdXNlU3RhdGUsIHR5cGUgQ1NTUHJvcGVydGllcywgdHlwZSBSZWFjdE5vZGUgfSBmcm9tICdyZWFjdCc7XG5pbXBvcnQge1xuICBBcnJvd0xlZnQsXG4gIEFycm93UmlnaHQsXG4gIEJhckNoYXJ0MyxcbiAgQm90LFxuICBCcmFpbkNpcmN1aXQsXG4gIEJ1aWxkaW5nMixcbiAgQ2hlY2ssXG4gIENoYXJ0Tm9BeGVzQ29tYmluZWQsXG4gIENvZmZlZSxcbiAgR2l0Q29tcGFyZUFycm93cyxcbiAgSGVhZHBob25lcyxcbiAgSGlzdG9yeSxcbiAgSG90ZWwsXG4gIE1hcFBpbixcbiAgTWVzc2FnZUNpcmNsZSxcbiAgTWVzc2FnZXNTcXVhcmUsXG4gIE1pYzIsXG4gIFBpbGwsXG4gIFJhZGFyLFxuICBTZWFyY2gsXG4gIFNwYXJrbGVzLFxuICBTdGFyLFxuICBTdG9yZSxcbiAgVGFncyxcbiAgVGFyZ2V0LFxuICBUcmVuZGluZ1VwLFxuICBVc2VyUm91bmQsXG4gIFVzZXJzLFxuICBXYWxsZXRDYXJkcyxcbiAgV2FuZFNwYXJrbGVzLFxuICB0eXBlIEx1Y2lkZUljb24sXG59IGZyb20gJ2x1Y2lkZS1yZWFjdCc7XG5pbXBvcnQgeyBDb25zb2xlU2hvd2Nhc2UgfSBmcm9tICdAL2NvbXBvbmVudHMvc2l0ZS9Db25zb2xlU2hvd2Nhc2UnO1xuaW1wb3J0IHsgUmVzcG9uc2VTdG9yeSB9IGZyb20gJ0AvY29tcG9uZW50cy9zaXRlL1Jlc3BvbnNlU3RvcnknO1xuaW1wb3J0IHsgU2l0ZUFjdGlvbiB9IGZyb20gJ0AvY29tcG9uZW50cy9zaXRlL1NpdGVBY3Rpb24nO1xuaW1wb3J0IHsgU2l0ZUZvb3RlciB9IGZyb20gJ0AvY29tcG9uZW50cy9zaXRlL1NpdGVGb290ZXInO1xuaW1wb3J0IHsgU2l0ZUhlYWRlciB9IGZyb20gJ0AvY29tcG9uZW50cy9zaXRlL1NpdGVIZWFkZXInO1xuaW1wb3J0IHsgREVGQVVMVF9DVVNUT01FUl9ESVNQTEFZLCB0eXBlIExhbmRpbmdMaW5rLCB0eXBlIExhbmRpbmdTZWN0aW9uQmFzZSwgdHlwZSBMYW5kaW5nVGllclNuYXBzaG90IH0gZnJvbSAnQC9jb250ZW50L2xhbmRpbmcnO1xuaW1wb3J0IHsgdXNlUHVibGlzaGVkTGFuZGluZyB9IGZyb20gJ0AvY29udGV4dHMvTGFuZGluZ0NvbnRlbnRDb250ZXh0JztcbmltcG9ydCB7IHVzZVNpdGVMYW5ndWFnZSB9IGZyb20gJ0AvY29udGV4dHMvU2l0ZUxhbmd1YWdlQ29udGV4dCc7XG5pbXBvcnQgeyBhbmFseXRpY3MsIHRvU25ha2VDYXNlIH0gZnJvbSAnQC9saWIvYW5hbHl0aWNzJztcbmltcG9ydCB7IGNuIH0gZnJvbSAnQC9saWIvdXRpbHMnO1xuXG5jb25zdCBpY29uczogUmVjb3JkPHN0cmluZywgTHVjaWRlSWNvbj4gPSB7XG4gIHNlYXJjaDogU2VhcmNoLFxuICBzcGFya2xlczogU3BhcmtsZXMsXG4gIHRhcmdldDogVGFyZ2V0LFxuICAnbWFwLXBpbic6IE1hcFBpbixcbiAgJ2dpdC1jb21wYXJlJzogR2l0Q29tcGFyZUFycm93cyxcbiAgcmFkYXI6IFJhZGFyLFxuICAnbWVzc2FnZS1jaXJjbGUnOiBNZXNzYWdlQ2lyY2xlLFxuICB0YWdzOiBUYWdzLFxuICAnd2FuZC1zcGFya2xlcyc6IFdhbmRTcGFya2xlcyxcbiAgdXNlcnM6IFVzZXJzLFxuICBoaXN0b3J5OiBIaXN0b3J5LFxuICAnYnVpbGRpbmctMic6IEJ1aWxkaW5nMixcbiAgc3RvcmU6IFN0b3JlLFxuICAnaGVhcnQtaGFuZHNoYWtlJzogSGVhZHBob25lcyxcbiAgJ2NoYXJ0LW5vLWF4ZXMtY29tYmluZWQnOiBDaGFydE5vQXhlc0NvbWJpbmVkLFxuICBib3Q6IEJvdCxcbiAgJ2JyYWluLWNpcmN1aXQnOiBCcmFpbkNpcmN1aXQsXG4gIGNvZmZlZTogQ29mZmVlLFxuICBob3RlbDogSG90ZWwsXG4gIHBpbGw6IFBpbGwsXG4gIG1lc3NhZ2VzOiBNZXNzYWdlc1NxdWFyZSxcbn07XG5cbmZ1bmN0aW9uIEZlYXR1cmVJY29uKHsgbmFtZSwgc2l6ZSA9IDI4IH06IHsgbmFtZTogc3RyaW5nOyBzaXplPzogbnVtYmVyIH0pIHtcbiAgY29uc3QgSWNvbiA9IGljb25zW25hbWVdIHx8IFNwYXJrbGVzO1xuICByZXR1cm4gPEljb24gc2l6ZT17c2l6ZX0gc3Ryb2tlV2lkdGg9ezEuOX0gYXJpYS1oaWRkZW4gLz47XG59XG5cbmZ1bmN0aW9uIFNlY3Rpb25JbnRybyh7IHNlY3Rpb24sIGNhbGxvdXRzID0gZmFsc2UgfTogeyBzZWN0aW9uOiBMYW5kaW5nU2VjdGlvbkJhc2U7IGNhbGxvdXRzPzogYm9vbGVhbiB9KSB7XG4gIGNvbnN0IHsgcGljaywgaXNBcmFiaWMgfSA9IHVzZVNpdGVMYW5ndWFnZSgpO1xuICByZXR1cm4gKFxuICAgIDxkaXYgY2xhc3NOYW1lPVwiZGVzaWduLWludHJvXCI+XG4gICAgICA8c3BhbiBjbGFzc05hbWU9XCJkZXNpZ24tZXllYnJvd1wiPntwaWNrKHNlY3Rpb24uZXllYnJvdyl9PC9zcGFuPlxuICAgICAgPGRpdiBjbGFzc05hbWU9XCJkZXNpZ24taW50cm8taGVhZGluZy1yb3dcIj5cbiAgICAgICAge2NhbGxvdXRzICYmIDxzbWFsbD57aXNBcmFiaWMgPyAn2KrYrdmE2YrZhCDYudix2KjZiiDZitmB2YfZhSDYs9mK2KfZgiDYudmF2YTYp9im2YMnIDogJ0FyYWJpYyBhbmFseXNpcyB0aGF0IHVuZGVyc3RhbmRzIGN1c3RvbWVyIGNvbnRleHQnfTwvc21hbGw+fVxuICAgICAgICA8aDI+e3BpY2soc2VjdGlvbi50aXRsZSl9PC9oMj5cbiAgICAgICAge2NhbGxvdXRzICYmIDxzbWFsbD57aXNBcmFiaWMgPyAn2YbYqtin2KbYrCDZitmF2YPZhiDYp9mE2LHYrNmI2Lkg2KXZhNmJINij2K/ZhNiq2YfYpycgOiAnUmVzdWx0cyB5b3UgY2FuIHRyYWNlIGJhY2sgdG8gdGhlIGV2aWRlbmNlJ308L3NtYWxsPn1cbiAgICAgIDwvZGl2PlxuICAgICAge3BpY2soc2VjdGlvbi5ib2R5KSAmJiA8cD57cGljayhzZWN0aW9uLmJvZHkpfTwvcD59XG4gICAgPC9kaXY+XG4gICk7XG59XG5cbmZ1bmN0aW9uIEhlcm8oKSB7XG4gIGNvbnN0IHsgbGFuZGluZyB9ID0gdXNlUHVibGlzaGVkTGFuZGluZygpO1xuICBjb25zdCB7IHBpY2ssIGlzQXJhYmljLCBsYW5ndWFnZSB9ID0gdXNlU2l0ZUxhbmd1YWdlKCk7XG4gIGNvbnN0IGhlcm8gPSBsYW5kaW5nLmNvbnRlbnQuaGVybztcbiAgY29uc3QgQXJyb3cgPSBpc0FyYWJpYyA/IEFycm93TGVmdCA6IEFycm93UmlnaHQ7XG4gIGNvbnN0IHN0YXRJY29ucyA9IFtVc2VyUm91bmQsIFN0b3JlLCBDaGFydE5vQXhlc0NvbWJpbmVkXTtcbiAgY29uc3QgbWV0cmljRm9ybWF0dGVyID0gbmV3IEludGwuTnVtYmVyRm9ybWF0KGxhbmd1YWdlID09PSAnYXInID8gJ2FyLVNBJyA6ICdlbi1VUycsIHtcbiAgICBtYXhpbXVtRnJhY3Rpb25EaWdpdHM6IDAsXG4gIH0pO1xuXG4gIHJldHVybiAoXG4gICAgPHNlY3Rpb24gaWQ9XCJ0b3BcIiBjbGFzc05hbWU9XCJkZXNpZ24taGVyb1wiPlxuICAgICAgPGRpdiBjbGFzc05hbWU9XCJkZXNpZ24tZ3JpZCBkZXNpZ24taGVyby1ncmlkXCIgLz5cbiAgICAgIDxkaXYgY2xhc3NOYW1lPVwiZGVzaWduLWJsb2IgZGVzaWduLWJsb2ItLWhlcm9cIiAvPlxuICAgICAgPGRpdiBjbGFzc05hbWU9XCJzaXRlLWNvbnRhaW5lciBk
1889ZXNpZ24taGVyby1pbm5lclwiPlxuICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImRlc2lnbi1oZXJvLWNvcHlcIj5cbiAgICAgICAgICA8aDE+XG4gICAgICAgICAgICA8c3Bhbj57cGljayhoZXJvLnRpdGxlUHJlZml4KX08L3NwYW4+XG4gICAgICAgICAgICA8c3BhbiBjbGFzc05hbWU9XCJkZXNpZ24taGVyby1saW5lLXR3b1wiPlxuICAgICAgICAgICAgICB7cGljayhoZXJvLnRpdGxlU3VmZml4KX0gPGVtPntwaWNrKGhlcm8udGl0bGVIaWdobGlnaHQpfTwvZW0+XG4gICAgICAgICAgICA8L3NwYW4+XG4gICAgICAgICAgPC9oMT5cbiAgICAgICAgICA8cD57cGljayhoZXJvLmJvZHkpfTwvcD5cbiAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImRlc2lnbi1hY3Rpb25zXCI+XG4gICAgICAgICAgICA8U2l0ZUFjdGlvbiBsaW5rPXtoZXJvLnByaW1hcnlDdGF9IHNvdXJjZT1cImhlcm9cIiBjbGFzc05hbWU9XCJkZXNpZ24tYnV0dG9uIGRlc2lnbi1idXR0b24tLXByaW1hcnlcIj5cbiAgICAgICAgICAgICAgPHNwYW4+e3BpY2soaGVyby5wcmltYXJ5Q3RhLmxhYmVsKX08L3NwYW4+XG4gICAgICAgICAgICAgIDxBcnJvdyBzaXplPXsxOX0gLz5cbiAgICAgICAgICAgIDwvU2l0ZUFjdGlvbj5cbiAgICAgICAgICAgIDxTaXRlQWN0aW9uIGxpbms9e2hlcm8uc2Vjb25kYXJ5Q3RhfSBzb3VyY2U9XCJoZXJvXCIgY2xhc3NOYW1lPVwiZGVzaWduLWJ1dHRvbiBkZXNpZ24tYnV0dG9uLS1zb2Z0XCIgLz5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImRlc2lnbi1zdGF0c1wiPlxuICAgICAgICAgICAge2hlcm8uc3RhdHMubWFwKChzdGF0LCBpbmRleCkgPT4ge1xuICAgICAgICAgICAgICBjb25zdCBJY29uID0gc3RhdEljb25zW2luZGV4XSB8fCBTcGFya2xlcztcbiAgICAgICAgICAgICAgY29uc3QgdmFsdWUgPSBsYW5kaW5nLnVzYWdlTWV0cmljcz8uW3N0YXQubWV0cmljXTtcbiAgICAgICAgICAgICAgcmV0dXJuIChcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImRlc2lnbi1zdGF0XCIga2V5PXtgJHtwaWNrKHN0YXQubGFiZWwpfS0ke2luZGV4fWB9PlxuICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3NOYW1lPVwiZGVzaWduLXN0YXQtaWNvblwiPjxJY29uIHNpemU9ezIxfSAvPjwvc3Bhbj5cbiAgICAgICAgICAgICAgICAgIDxzdHJvbmc+e3ZhbHVlID09PSB1bmRlZmluZWQgPyAn4oCUJyA6IG1ldHJpY0Zvcm1hdHRlci5mb3JtYXQodmFsdWUpfTwvc3Ryb25nPlxuICAgICAgICAgICAgICAgICAgPHNtYWxsPntwaWNrKHN0YXQubGFiZWwpfTwvc21hbGw+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICk7XG4gICAgICAgICAgICB9KX1cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIDxDb25zb2xlU2hvd2Nhc2UgY29tcGFjdCAvPlxuICAgICAgPC9kaXY+XG4gICAgPC9zZWN0aW9uPlxuICApO1xufVxuXG5mdW5jdGlvbiBDdXN0b21lcnMoKSB7XG4gIGNvbnN0IHsgbGFuZGluZyB9ID0gdXNlUHVibGlzaGVkTGFuZGluZygpO1xuICBjb25zdCB7IHBpY2sgfSA9IHVzZVNpdGVMYW5ndWFnZSgpO1xuICBjb25zdCBzZWN0aW9uID0gbGFuZGluZy5jb250ZW50LmN1c3RvbWVycztcbiAgY29uc3QgaXRlbXMgPSBzZWN0aW9uLml0ZW1zLmZpbHRlcigoaXRlbSkgPT4gaXRlbS5sb2dvVXJsLnRyaW0oKSAhPT0gJycpO1xuXG4gIGlmIChpdGVtcy5sZW5ndGggPT09IDApIHJldHVybiBudWxsO1xuXG4gIC8vIFRoZSBtYXJxdWVlIHRyYWNrIGhvbGRzIHR3byBpZGVudGljYWwgaGFsdmVzIGFuZCBsb29wcyBvdmVyIHRyYW5zbGF0ZVgoLTUwJSksXG4gIC8vIHNvIG9uZSBoYWxmIG11c3QgYmUgd2lkZXIgdGhhbiBhbnkgdmlld3BvcnQ6IHNob3J0IGN1c3RvbWVyIGxpc3RzIHJlcGVhdFxuICAvLyB1bnRpbCBhIGhhbGYgY2FycmllcyB+MTQgbG9nb3MuIE9ubHkgdGhlIGZpcnN0IG9jY3VycmVuY2Ugb2YgZWFjaCBjdXN0b21lclxuICAvLyBpcyBleHBvc2VkIHRvIGFzc2lzdGl2ZSB0ZWNoOyBldmVyeSByZXBlYXQgaXMgZGVjb3JhdGl2ZS5cbiAgY29uc3QgY29waWVzID0gTWF0aC5tYXgoMSwgTWF0aC5jZWlsKDE0IC8gaXRlbXMubGVuZ3RoKSk7XG4gIGNvbnN0IHNlcXVlbmNlID0gQXJyYXkuZnJvbSh7IGxlbmd0aDogY29waWVzIH0sICgpID0+IGl0ZW1zKS5mbGF0KCk7XG5cbiAgY29uc3QgcmVuZGVySGFsZiA9IChkZWNvcmF0aXZlOiBib29sZWFuKSA9PiAoXG4gICAgPGRpdiBjbGFzc05hbWU9XCJkZXNpZ24tY3VzdG9tZXJzLXNlcVwiIGFyaWEtaGlkZGVuPXtkZWNvcmF0aXZlIHx8IHVuZGVmaW5lZH0+XG4gICAgICB7c2VxdWVuY2UubWFwKChpdGVtLCBpbmRleCkgPT4ge1xuICAgICAgICBjb25zdCBpc09yaWdpbmFsID0gIWRlY29yYXRpdmUgJiYgaW5kZXggPCBpdGVtcy5sZW5ndGg7XG4gICAgICAgIHJldHVybiAoXG4gICAgICAgICAgPGltZ1xuICAgICAgICAgICAga2V5PXtgJHtpdGVtLmlkfS0ke2luZGV4fWB9XG4gICAgICAgICAgICBzcmM9e2l0ZW0ubG9nb1VybH1cbiAgICAgICAgICAgIGFsdD17aXNPcmlnaW5hbCA/IHBpY2soaXRlbS5uYW1lKSA6ICcnfVxuICAgICAgICAgICAgYXJpYS1oaWRkZW49e2lzT3JpZ2luYWwgPyB1bmRlZmluZWQgOiB0cnVlfVxuICAgICAgICAgICAgY2xhc3NOYW1lPXtpc09yaWdpbmFsID8gdW5kZWZpbmVkIDogJ2Rlc2lnbi1jdXN0b21lcnMtZHVwZSd9XG4gICAgICAgICAgICBzdHlsZT17aXRlbS5sb2dvSGVpZ2h0ID8geyAnLS1jdXN0b21lcnMtaXRlbS1oJzogYCR7aXRlbS5sb2dvSGVpZ2h0fXB4YCB9IGFzIENTU1Byb3BlcnRpZXMgOiB1bmRlZmluZWR9XG4gICAgICAgICAgICBsb2FkaW5nPVwibGF6eVwiXG4gICAgICAgICAgICBkZWNvZGluZz1cImFzeW5jXCJcbiAgICAgICAgICAvPlxuICAgICAgICApO1xuICAgICAgfSl9XG4gICAgPC9kaXY+XG4gICk7XG5cbiAgY29uc3QgZGlzcGxheSA9IHsgLi4uREVGQVVMVF9DVVNUT01FUl9ESVNQTEFZLCAuLi5zZWN0aW9uLmRpc3BsYXkgfTtcblxuICByZXR1cm4gKFxuICAgIDxzZWN0aW9uXG4gICAgICBpZD1cIm
1889N1c3RvbWVyc1wiXG4gICAgICBjbGFzc05hbWU9e2NuKCdkZXNpZ24tc2VjdGlvbiBkZXNpZ24tY3VzdG9tZXJzJywgZGlzcGxheS5ibGVuZFdoaXRlQmFja2dyb3VuZHMgJiYgJ2Rlc2lnbi1jdXN0b21lcnMtLWJsZW5kJyl9XG4gICAgICBzdHlsZT17e1xuICAgICAgICAnLS1jdXN0b21lcnMtY291bnQnOiBzZXF1ZW5jZS5sZW5ndGgsXG4gICAgICAgICctLWN1c3RvbWVycy1sb2dvLWgnOiBgJHtkaXNwbGF5LmxvZ29IZWlnaHR9cHhgLFxuICAgICAgICAnLS1jdXN0b21lcnMtZ2FwJzogYCR7ZGlzcGxheS5nYXB9cHhgLFxuICAgICAgICAnLS1jdXN0b21lcnMtcGFjZSc6IGAke2Rpc3BsYXkuc2Vjb25kc1BlckxvZ299c2AsXG4gICAgICB9IGFzIENTU1Byb3BlcnRpZXN9XG4gICAgPlxuICAgICAgPGRpdiBjbGFzc05hbWU9XCJzaXRlLWNvbnRhaW5lclwiPlxuICAgICAgICB7cGljayhzZWN0aW9uLnRpdGxlKSAmJiA8aDIgY2xhc3NOYW1lPVwiZGVzaWduLWN1c3RvbWVycy1oZWFkaW5nXCI+e3BpY2soc2VjdGlvbi50aXRsZSl9PC9oMj59XG4gICAgICA8L2Rpdj5cbiAgICAgIDxkaXYgY2xhc3NOYW1lPVwiZGVzaWduLWN1c3RvbWVycy12aWV3cG9ydFwiPlxuICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImRlc2lnbi1jdXN0b21lcnMtc3RyaXBcIj5cbiAgICAgICAgICB7cmVuZGVySGFsZihmYWxzZSl9XG4gICAgICAgICAge3JlbmRlckhhbGYodHJ1ZSl9XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9kaXY+XG4gICAgPC9zZWN0aW9uPlxuICApO1xufVxuXG5mdW5jdGlvbiBXb3JrZmxvdygpIHtcbiAgY29uc3QgeyBsYW5kaW5nIH0gPSB1c2VQdWJsaXNoZWRMYW5kaW5nKCk7XG4gIGNvbnN0IHsgcGljayB9ID0gdXNlU2l0ZUxhbmd1YWdlKCk7XG4gIGNvbnN0IHNlY3Rpb24gPSBsYW5kaW5nLmNvbnRlbnQud29ya2Zsb3c7XG5cbiAgcmV0dXJuIChcbiAgICA8c2VjdGlvbiBpZD1cImhvdy1pdC13b3Jrc1wiIGNsYXNzTmFtZT1cImRlc2lnbi1zZWN0aW9uIGRlc2lnbi13b3JrZmxvd1wiPlxuICAgICAgPGRpdiBjbGFzc05hbWU9XCJkZXNpZ24tZ3JpZCBkZXNpZ24tZ3JpZC0tY2VudGVyXCIgLz5cbiAgICAgIDxkaXYgY2xhc3NOYW1lPVwic2l0ZS1jb250YWluZXJcIj5cbiAgICAgICAgPFNlY3Rpb25JbnRybyBzZWN0aW9uPXtzZWN0aW9ufSAvPlxuICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImRlc2lnbi13b3JrZmxvdy1jYXJkc1wiPlxuICAgICAgICAgIHtzZWN0aW9uLnN0ZXBzLm1hcCgoc3RlcCwgaW5kZXgpID0+IChcbiAgICAgICAgICAgIDxhcnRpY2xlIGtleT17c3RlcC5pZH0gY2xhc3NOYW1lPVwiZGVzaWduLXdvcmtmbG93LWNhcmRcIj5cbiAgICAgICAgICAgICAgPHNwYW4gY2xhc3NOYW1lPVwiZGVzaWduLXdvcmtmbG93LW51bWJlclwiPjB7aW5kZXggKyAxfTwvc3Bhbj5cbiAgICAgICAgICAgICAgPHNwYW4gY2xhc3NOYW1lPVwiZGVzaWduLWljb24tYnViYmxlXCI+PEZlYXR1cmVJY29uIG5hbWU9e3N0ZXAuaWNvbn0gLz48L3NwYW4+XG4gICAgICAgICAgICAgIDxkaXY+XG4gICAgICAgICAgICAgICAgPGgzPntwaWNrKHN0ZXAudGl0bGUpfTwvaDM+XG4gICAgICAgICAgICAgICAgPHA+e3BpY2soc3RlcC5ib2R5KX08L3A+XG4gICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPC9hcnRpY2xlPlxuICAgICAgICAgICkpfVxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvZGl2PlxuICAgIDwvc2VjdGlvbj5cbiAgKTtcbn1cblxuY29uc3QgUkVTUE9OU0VfU1RPUllfSU5UUk86IExhbmRpbmdTZWN0aW9uQmFzZSA9IHtcbiAgZW5hYmxlZDogdHJ1ZSxcbiAgb3JkZXI6IDI1LFxuICBleWVicm93OiB7IGVuOiAnUmVwbHkgZHJhZnRzJywgYXI6ICfZhdiz2YjYr9in2Kog2KfZhNix2K/ZiNivJyB9LFxuICB0aXRsZToge1xuICAgIGVuOiAnVHVybiBjdXN0b21lciBmZWVkYmFjayBpbnRvIGEgcmVwbHkgZHJhZnQgdGhhdCBtYXRjaGVzIHlvdXIgYnVzaW5lc3Mgdm9pY2UnLFxuICAgIGFyOiAn2K3ZiNmR2YQg2YXZhNin2K3YuNipINin2YTYudmF2YrZhCDYpdmE2Ykg2YXYs9mI2K/YqSDYsdivINiq2YbYp9iz2Kgg2YbYqNix2Kkg2YXZhti02KPYqtmDJyxcbiAgfSxcbiAgYm9keToge1xuICAgIGVuOiAnUmV2aWV3IGFuZCBlZGl0IGV2ZXJ5IGRyYWZ0IGJlZm9yZSBwdWJsaXNoaW5n4oCUdGhlIGZpbmFsIGRlY2lzaW9uIHN0YXlzIHdpdGggeW91ciB0ZWFtLicsXG4gICAgYXI6ICfYsdin2KzYuSDZg9mEINmF2LPZiNiv2Kkg2YjYudiv2ZHZhNmH2Kcg2YLYqNmEINin2YTZhti02LHYmyDZiNmK2KjZgtmJINin2YTYp9i52KrZhdin2K8g2KfZhNmG2YfYp9im2Yog2YTYr9mJINmB2LHZitmC2YMuJyxcbiAgfSxcbn07XG5cbmZ1bmN0aW9uIFJlc3BvbnNlU3RvcnlTZWN0aW9uKCkge1xuICByZXR1cm4gKFxuICAgIDxzZWN0aW9uIGlkPVwicmVzcG9uc2Utc3RvcnlcIiBjbGFzc05hbWU9XCJkZXNpZ24tc2VjdGlvbiBkZXNpZ24tcmVzcG9uc2Utc3RvcnlcIj5cbiAgICAgIDxkaXYgY2xhc3NOYW1lPVwiZGVzaWduLWdyaWQgZGVzaWduLWdyaWQtLWNlbnRlclwiIC8+XG4gICAgICA8ZGl2IGNsYXNzTmFtZT1cInNpdGUtY29udGFpbmVyXCI+XG4gICAgICAgIDxTZWN0aW9uSW50cm8gc2VjdGlvbj17UkVTUE9OU0VfU1RPUllfSU5UUk99IC8+XG4gICAgICAgIDxSZXNwb25zZVN0b3J5IC8+XG4gICAgICA8L2Rpdj5cbiAgICA8L3NlY3Rpb24+XG4gICk7XG59XG5cbmZ1bmN0aW9uIEZlYXR1cmVzKCkge1xuICBjb25zdCB7IGxhbmRpbmcgfSA9IHVzZVB1Ymxpc2hlZExhbmRpbmcoKTtcbiAgY29uc3QgeyBwaWNrIH0gPSB1c2VTaXRlTGFuZ3VhZ2UoKTtcbiAgY29uc3Qgc2VjdGlvbiA9IGxhbmRpbmcuY29udGVudC5mZWF0dXJlcztcblxuICByZXR1cm4gKFxuICAgIDxzZWN0aW9uIGlkPVwiZmVhdHVyZXNcIiBjbGFzc05hbWU9XCJkZXNpZ24tc2VjdGlvbiBkZXNpZ24tZmVhdHVyZXNcIj5cbiAgICAgIDxkaXYgY2xhc3NOYW1lPVwiZGVzaWduLWJsb2IgZGVzaWduLWJsb2ItLWZlYXR1cmVzXCIgLz5cbiAgICAgIDxkaXYgY2xhc3NOYW1lPVwiZGVzaWduLWdyaWQgZGVzaWduLWdyaWQtLWNlbnRlclwiIC8+XG4gICAgICA8ZGl2IGNsYXNzTmFtZT1cInNpdGUtY29udGFpbmVyXCI+XG4gICAgICAgIDxTZWN0aW9uSW50cm8gc2VjdGlvbj17c2VjdGlvbn0gY2FsbG91dHMgLz5cbiAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJkZXNpZ24tZmVhdHVyZS1ncmlkXCI+XG4gICAgICAgICAge3NlY3Rpb24uaXRlbXMubWFwKChpdGVtKSA9PiAoXG4gICAgICAgICAgICA8YXJ0aWNsZSBrZXk9e2l0ZW0uaWR9IGNsYXNzTmFtZT1cImRlc2lnbi1mZWF0dXJlLWNhcmRcIj5cbiAgICAgICAgICAgICAgPHNwYW4gY2xhc3NOYW1lPVwiZGVzaWduLWljb24tYnViYmxlXCI+PEZlYXR1cmVJY29uIG5hbWU9e2l0ZW0uaWNvbn0gLz48L3NwYW4+XG4gICAgICAgICAgICAgIDxoMz57cGljayhpdGVtLnRpdGxlKX08L2gzPlxuICAgICAgICAgICAgICA8cD57cGljayhpdGVtLmJvZHkpfTwvcD5cbiAgICAgICAgICAgIDwvYXJ0aWNsZT5cbiAgICAgICAgICApKX1cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L2Rpdj5cbiAgICA8L3NlY3Rpb24+XG4gICk7XG59XG5cbmZ1bmN0aW9uIEF1ZGllbmNlKCkge1xuICBjb25zdCB7IGxhbmRpbmcgfSA9IHVzZVB1Ymxpc2hlZExhbmRpbmcoKTtcbiAgY29uc3QgeyBwaWNrIH0gPSB1c2VTaXRlTGFuZ3VhZ2UoKTtcbiAgY29uc3Qgc2VjdGlvbiA9IGxhbmRpbmcuY29udGVudC5hdWRpZW5jZTtcblxuICByZXR1cm4gKFxuICAgIDxzZWN0aW9uIGlkPVwiYXVkaWVuY2VcIiBjbGFzc05hbWU9XCJkZXNpZ24tc2VjdGlvbiBkZXNpZ24tYXVkaWVuY2VcIj5cbiAgICAgIDxkaXYgY2xhc3NOYW1lPVwic2l0ZS1jb250YWluZXIgZGVzaWduLWF1ZGllbmNlLWdyaWRcIj5cbiAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJkZXNpZ24tYXVkaWVuY2UtdmlzdWFsXCI+XG4gICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJkZXNpZ24tYXVkaWVuY2UtY29sbGFnZVwiPlxuICAgICAgICAgICAgPHNwYW4gY2xhc3NOYW1lPVwiZGVzaWduLWF1ZGllbmNlLWdsb3dcIiBhcmlhLWh
1889pZGRlbj1cInRydWVcIiAvPlxuICAgICAgICAgICAgPGltZ1xuICAgICAgICAgICAgICBjbGFzc05hbWU9XCJkZXNpZ24tYXVkaWVuY2Utc2hvdCBkZXNpZ24tYXVkaWVuY2Utc2hvdC0tZGFzaGJvYXJkXCJcbiAgICAgICAgICAgICAgc3JjPXtwaWNrKHsgZW46ICcvYXNzZXRzL3FyYXItYXVkaWVuY2UtZGFzaGJvYXJkLWVuLndlYnAnLCBhcjogJy9hc3NldHMvcXJhci1hdWRpZW5jZS1kYXNoYm9hcmQtYXIud2VicCcgfSl9XG4gICAgICAgICAgICAgIGFsdD17cGljayh7IGVuOiAnUXJhciBkYXNoYm9hcmQgc2hvd2luZyByYXRpbmcgYW5kIHNlbnRpbWVudCB0cmVuZHMgb3ZlciB0aW1lJywgYXI6ICfZhNmI2K3YqSDZgtix2KfYsSDYqti52LHYtiDYp9iq2KzYp9mH2KfYqiDYp9mE2KrZgtmK2YrZhSDZiNin2YTYp9mG2LfYqNin2LnYp9iqINi52KjYsSDYp9mE2LLZhdmGJyB9KX1cbiAgICAgICAgICAgICAgd2lkdGg9ezEwMDB9XG4gICAgICAgICAgICAgIGhlaWdodD17NjUyfVxuICAgICAgICAgICAgICBsb2FkaW5nPVwibGF6eVwiXG4gICAgICAgICAgICAgIGRlY29kaW5nPVwiYXN5bmNcIlxuICAgICAgICAgICAgLz5cbiAgICAgICAgICAgIDxpbWdcbiAgICAgICAgICAgICAgY2xhc3NOYW1lPVwiZGVzaWduLWF1ZGllbmNlLXNob3QgZGVzaWduLWF1ZGllbmNlLXNob3QtLXJlcHV0YXRpb25cIlxuICAgICAgICAgICAgICBzcmM9e3BpY2soeyBlbjogJy9hc3NldHMvcXJhci1hdWRpZW5jZS1yZXB1dGF0aW9uLWVuLndlYnAnLCBhcjogJy9hc3NldHMvcXJhci1hdWRpZW5jZS1yZXB1dGF0aW9uLWFyLndlYnAnIH0pfVxuICAgICAgICAgICAgICBhbHQ9e3BpY2soeyBlbjogJ1FyYXIgcmVwdXRhdGlvbiBoZWFsdGggc2Nvcm
1889UnLCBhcjogJ9mF2KTYtNixINin2YTYs9mF2LnYqSDZgdmKINmC2LHYp9ixJyB9KX1cbiAgICAgICAgICAgICAgd2lkdGg9ezc4MH1cbiAgICAgICAgICAgICAgaGVpZ2h0PXszMzd9XG4gICAgICAgICAgICAgIGxvYWRpbmc9XCJsYXp5XCJcbiAgICAgICAgICAgICAgZGVjb2Rpbmc9XCJhc3luY1wiXG4gICAgICAgICAgICAvPlxuICAgICAgICAgICAgPGltZ1xuICAgICAgICAgICAgICBjbGFzc05hbWU9XCJkZXNpZ24tYXVkaWVuY2Utc2hvdCBkZXNpZ24tYXVkaWVuY2Utc2hvdC0tY2hhdFwiXG4gICAgICAgICAgICAgIHNyYz1cIi9hc3NldHMvcXJhci1hdWRpZW5jZS1jaGF0LndlYnBcIlxuICAgICAgICAgICAgICBhbHQ9e3BpY2soeyBlbjogJ0NvbnZlcnNhdGlvbiB3aXRoIE5hamQsIFFyYXLigJlzIHNtYXJ0IGFzc2lzdGFudCcsIGFyOiAn2YXYrdin2K/Yq9ipINmF2Lkg2YbYrNiv2Iwg2YXYs9in2LnYryDZgtix2KfYsSDYp9mE2LDZg9mKJyB9KX1cbiAgICAgICAgICAgICAgd2lkdGg9ezQyMH1cbiAgICAgICAgICAgICAgaGVpZ2h0PXs0Nzh9XG4gICAgICAgICAgICAgIGxvYWRpbmc9XCJsYXp5XCJcbiAgICAgICAgICAgICAgZGVjb2Rpbmc9XCJhc3luY1wiXG4gICAgICAgICAgICAvPlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJkZXNpZ24tYXVkaWVuY2UtY29weVwiPlxuICAgICAgICAgIDxzcGFuIGNsYXNzTmFtZT1cImRlc2lnbi1leWVicm93XCI+e3BpY2soc2VjdGlvbi5leWVicm93KX08L3NwYW4+XG4gICAgICAgICAgPGgyPntwaWNrKHNlY3Rpb24udGl0bGUpfTwvaDI+XG4gICAgICAgICAge3BpY2soc2VjdGlvbi5ib2R5KSAmJiA8cCBjbGFzc05hbWU9XCJkZXNpZ24tYXVkaWVuY2UtbGVhZFwiPntwaWNrKHNlY3Rpb24uYm9keSl9PC9wPn1cbiAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImRlc2lnbi1hdWRpZW5jZS1saXN0XCI+XG4gICAgICAgICAgICB7c2VjdGlvbi5pdGVtcy5tYXAoKGl0ZW0sIGluZGV4KSA9PiB7XG4gICAgICAgICAgICAgIGNvbnN0IGF1ZGllbmNlSWNvbnMgPSBbQ29mZmVlLCBCdWlsZGluZzIsIEhvdGVsLCBQaWxsLCBXYWxsZXRDYXJkc107XG4gICAgICAgICAgICAgIGNvbnN0IEljb24gPSBpY29uc1tpdGVtLmljb25dIHx8IGF1ZGllbmNlSWNvbnNbaW5kZXhdIHx8IFN0b3JlO1xuICAgICAgICAgICAgICByZXR1cm4gKFxuICAgICAgICAgICAgICAgIDxkaXYga2V5PXtpdGVtLmlkfSBjbGFzc05hbWU9XCJkZXNpZ24tYXVkaWVuY2UtaXRlbVwiPlxuICAgICAgICAgICAgICAgICAgPHNwYW4+PEljb24gc2l6ZT17Mjd9IC8+PC9zcGFuPlxuICAgICAgICAgICAgICAgICAgPGRpdj48aDM+e3BpY2soaXRlbS50aXRsZSl9PC9oMz48cD57cGljayhpdGVtLmJvZHkpfTwvcD48L2Rpdj5cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgIH0pfVxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvZGl2PlxuICAgIDwvc2VjdGlvbj5cbiAgKTtcbn1cblxuZnVuY3Rpb24gdGllckFjdGlvbih0aWVyOiBMYW5kaW5nVGllclNuYXBzaG90KTogTGFuZGluZ0xpbmsge1xuICBpZiAodGllci5jdGEua2luZCA9PT0gJ2NvbnRhY3QnKSB7XG4gICAgcmV0dXJuIHtcbiAgICAgIGxhYmVsOiB0aWVyLmN0YS5sYWJlbCxcbiAgICAgIGtpbmQ6ICdtYWlsdG8nLFxuICAgICAgdmFsdWU6IGBzYWxlc0BxcmFyLmFpP3N1YmplY3Q9JHtlbmNvZGVVUklDb21wb25lbnQoYFFyYXIgJHt0aWVyLm5hbWUuZW59IHBsYW5gKX1gLFxuICAgIH07XG4gIH1cbiAgcmV0dXJuIHsgbGFiZWw6IHRpZXIuY3RhLmxhYmVsLCBraW5kOiB0aWVyLmN0YS5raW5kLCB2YWx1ZTogJycgfTtcbn1cblxuZnVuY3Rpb24gUHJpY2luZ0NhcmQoeyB0aWVyLCB5ZWFybHkgfTogeyB0aWVyOiBMYW5kaW5nVGllclNuYXBzaG90OyB5ZWFybHk6IGJvb2xlYW4gfSkge1xuICBjb25zdCB7IGxhbmRpbmcgfSA9IHVzZVB1Ymxpc2hlZExhbmRpbmcoKTtcbiAgY29uc3QgeyBwaWNrLCBsYW5ndWFnZSwgaXNBcmFiaWMgfSA9IHVzZVNpdGVMYW5ndWFnZSgpO1xuICBjb25zdCBzZWN0aW9uID0gbGFuZGluZy5jb250ZW50LnByaWNpbmc7XG4gIGNvbnN0IGN1c3RvbSA9IHBpY2sodGllci5jdXN0b21QcmljZUxhYmVsKTtcbiAgY29uc3QgZnJlZSA9IHRpZXIucHJpY2VNb250aGx5ID09PSAwICYmIHRpZXIucHJpY2VZZWFybHkgPT09IDAgJiYgIWN1c3RvbTtcbiAgY29uc3QgbW9udGhseUVxdWl2YWxlbnQgPSB0aWVyLnByaWNlWWVhcmx5ID4gMCA/IHRpZXIucHJpY2VZZWFybHkgLyAxMiA6IDA7XG4gIGNvbnN0IHNob3duUHJpY2UgPSB5ZWFybHkgJiYgdGllci5wcmljZVllYXJseSA+IDAgPyBtb250aGx5RXF1aXZhbGVudCA6IHRpZXIucHJpY2VNb250aGx5O1xuICBjb25zdCBmb3JtYXR0ZXIgPSBuZXcgSW50bC5OdW1iZXJGb3JtYXQobGFuZ3VhZ2UgPT09ICdhcicgPyAnYXItU0EnIDogJ2VuLVVTJywgeyBtYXhpbXVtRnJhY3Rpb25EaWdpdHM6IDAgfSk7XG4gIGNvbnN0IHNhdmluZyA9IHRpZXIucHJpY2VNb250aGx5ID4gMCAmJiB0aWVyLnByaWNlWWVhcmx5ID4gMFxuICAgID8gTWF0aC5tYXgoMCwgTWF0aC5yb3VuZCgoMSAtIHRpZXIucHJpY2VZZWFybHkgLyAodGllci5wcmljZU1vbnRobHkgKiAxMikpICogMTAwKSlcbiAgICA6IDA7XG5cbiAgcmV0dXJuIChcbiAgICA8YXJ0aWNsZSBjbGFzc05hbWU9e2NuKCdkZXNpZ24tcHJpY2UtY2FyZCcsIHRpZXIuZmVhdHVyZWQgJiYgJ2Rlc2lnbi1wcmljZS1jYXJkLS1mZWF0dXJlZCcpfT5cbiAgICAgIDxkaXYgY2xhc3NOYW1lPVwiZGVzaWduLXByaWNlLWhlYWRpbmdcIj5cbiAgICAgICAgPHNwYW4+XG4gICAgICAgICAge3BpY2sodGllci5uYW1lKX1cbiAgICAgICAgICB7KHBpY2sodGllci5iYWRnZSkgfHwgdGllci5mZWF0dXJlZCkgJiYgKFxuICAgICAgICAgICAgPHNwYW4gY2xhc3NOYW1lPVwiZGVzaWduLXByaWNlLWJhZGdlXCI+PFN0YXIgc2l6ZT17MTN9IGZpbGw9XCJjdXJyZW50Q29sb3JcIiAvPntwaWNrKHRpZXIuYmFkZ2UpIHx8IChpc0FyYWJpYyA/ICfZhNmE2KPYudmF2KfZhCDYp9mE2YbYp9mF2YrYqScgOiAnQnVpbHQgZm9yIGdyb3d0aCcpfTwvc3Bhbj5cbiAgICAgICAgICApfVxuICAgICAgICA8L3NwYW4+XG4gICAgICAgI
1889HtjdXN0b20gPyA8c3Ryb25nIGNsYXNzTmFtZT1cImRlc2lnbi1wcmljZS1jdXN0b21cIj57Y3VzdG9tfTwvc3Ryb25nPiA6IGZyZWUgPyAoXG4gICAgICAgICAgPHN0cm9uZyBjbGFzc05hbWU9XCJkZXNpZ24tcHJpY2UtZnJlZVwiPntwaWNrKHNlY3Rpb24uZnJlZUxhYmVsKX08L3N0cm9uZz5cbiAgICAgICAgKSA6IChcbiAgICAgICAgICA8c3Ryb25nPjxiPntmb3JtYXR0ZXIuZm9ybWF0KHNob3duUHJpY2UpfTwvYj4ge3RpZXIuY3VycmVuY3l9PHNtYWxsPntwaWNrKHNlY3Rpb24ucGVyTW9udGhMYWJlbCl9PC9zbWFsbD48L3N0cm9uZz5cbiAgICAgICAgKX1cbiAgICAgICAge3llYXJseSAmJiB0aWVyLnByaWNlWWVhcmx5ID4gMCAmJiAoXG4gICAgICAgICAgPHNwYW4gY2xhc3NOYW1lPVwiZGVzaWduLXByaWNlLWJpbGxpbmctbm90ZVwiPntmb3JtYXR0ZXIuZm9ybWF0KHRpZXIucHJpY2VZZWFybHkpfSB7dGllci5jdXJyZW5jeX0gwrcge3BpY2soc2VjdGlvbi5iaWxsZWRZZWFybHlMYWJlbCl9PC9zcGFuPlxuICAgICAgICApfVxuICAgICAgICA8cD57cGljayh0aWVyLmRlc2NyaXB0aW9uKX08L3A+XG4gICAgICAgIHt5ZWFybHkgJiYgc2F2aW5nID4gMCAmJiA8ZW0+e3BpY2soc2VjdGlvbi5zYXZpbmdzTGFiZWwpLnJlcGxhY2UoJ3twZXJjZW50fScsIFN0cmluZyhzYXZpbmcpKX08L2VtPn1cbiAgICAgIDwvZGl2PlxuICAgICAgPHVsPlxuICAgICAgICB7dGllci5mZWF0dXJlcy5tYXAoKGZlYXR1cmUsIGluZGV4KSA9PiAoXG4gICAgICAgICAgPGxpIGtleT17YCR7dGllci5pZH0tJHtpbmRleH1gfT48c3Bhbj48Q2hlY2sgc2l6ZT17MTJ9IHN0cm9rZVdpZHRoP
1889XszfSAvPjwvc3Bhbj57cGljayhmZWF0dXJlKX08L2xpPlxuICAgICAgICApKX1cbiAgICAgIDwvdWw+XG4gICAgICA8U2l0ZUFjdGlvblxuICAgICAgICBsaW5rPXt0aWVyQWN0aW9uKHRpZXIpfVxuICAgICAgICBzb3VyY2U9XCJwcmljaW5nXCJcbiAgICAgICAgdGllcklkPXt0aWVyLmlkfVxuICAgICAgICBjbGFzc05hbWU9e2NuKCdkZXNpZ24tcHJpY2UtYWN0aW9uJywgdGllci5mZWF0dXJlZCAmJiAnZGVzaWduLXByaWNlLWFjdGlvbi0tZmVhdHVyZWQnKX1cbiAgICAgIC8+XG4gICAgPC9hcnRpY2xlPlxuICApO1xufVxuXG5mdW5jdGlvbiBQcmljaW5nKCkge1xuICBjb25zdCB7IGxhbmRpbmcgfSA9IHVzZVB1Ymxpc2hlZExhbmRpbmcoKTtcbiAgY29uc3QgeyBwaWNrLCBpc0FyYWJpYyB9ID0gdXNlU2l0ZUxhbmd1YWdlKCk7XG4gIGNvbnN0IFt5ZWFybHksIHNldFllYXJseV0gPSB1c2VTdGF0ZShmYWxzZSk7XG4gIGNvbnN0IHNlY3Rpb24gPSBsYW5kaW5nLmNvbnRlbnQucHJpY2luZztcbiAgY29uc3QgcHJpbWFyeSA9IGxhbmRpbmcudGllcnMuc2xpY2UoMCwgNCk7XG4gIGNvbnN0IGV4dGVuZGVkID0gbGFuZGluZy50aWVycy5zbGljZSg0KTtcbiAgY29uc3QgcHJpbWFyeUdyaWRDbGFzcyA9IHByaW1hcnkubGVuZ3RoID49IDRcbiAgICA/ICdkZXNpZ24tcHJpY2luZy1ncmlkLS00J1xuICAgIDogcHJpbWFyeS5sZW5ndGggPT09IDNcbiAgICAgID8gJ2Rlc2lnbi1wcmljaW5nLWdyaWQtLTMnXG4gICAgICA6IHByaW1hcnkubGVuZ3RoID09PSAyXG4gICAgICAgID8gJ2Rlc2lnbi1wcmljaW5nLWdyaWQtLTInXG4gICAgICAgIDogJ2Rlc2lnbi1wcmljaW5nLWdyaWQtLTEnO1xuXG4gIHJldHVybiAoXG4gICAgPHNlY3Rpb24gaWQ9XCJwcmljaW5nXCIgY2xhc3NOYW1lPVwiZGVzaWduLXNlY3Rpb24gZGVzaWduLXByaWNpbmdcIj5cbiAgICAgIDxkaXYgY2xhc3NOYW1lPVwiZGVzaWduLWJsb2IgZGVzaWduLWJsb2ItLXByaWNpbmdcIiAvPlxuICAgICAgPGRpdiBjbGFzc05hbWU9XCJzaXRlLWNvbnRhaW5lclwiPlxuICAgICAgICA8U2VjdGlvbkludHJvIHNlY3Rpb249e3NlY3Rpb259IC8+XG4gICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiZGVzaWduLWJpbGxpbmctdG9nZ2xlXCIgcm9sZT1cImdyb3VwXCIgYXJpYS1sYWJlbD17aXNBcmFiaWMgPyAn2K7Zitin2LEg2KfZhNmB2YjYqtix2KknIDogJ0JpbGxpbmcgb3B0aW9uJ30+XG4gICAgICAgICAgPGJ1dHRvbiB0eXBlPVwiYnV0dG9uXCIgY2xhc3NOYW1lPXtjbigheWVhcmx5ICYmICdpcy1hY3RpdmUnKX0gb25DbGljaz17KCkgPT4gc2V0WWVhcmx5KGZhbHNlKX0+e3BpY2soc2VjdGlvbi5tb250aGx5TGFiZWwpfTwvYnV0dG9uPlxuICAgICAgICAgIDxidXR0b24gdHlwZT1cImJ1dHRvblwiIGNsYXNzTmFtZT17Y24oeWVhcmx5ICYmICdpcy1hY3RpdmUnKX0gb25DbGljaz17KCkgPT4gc2V0WWVhcmx5KHRydWUpfT5cbiAgICAgICAgICAgIHtwaWNrKHNlY3Rpb24ueWVhcmx5TGFiZWwpfSA8c21hbGw+e3BpY2soc2VjdGlvbi5zYXZpbmdzTGFiZWwpLnJlcGxhY2UoJ3twZXJjZW50fScsICcyMCcpfTwvc21hbGw+XG4gICAgICAgICAgPC9idXR0b24+XG4gICAgICAgIDwvZGl2PlxuICAgICAgICB7cHJpbWFyeS5sZW5ndGggPiAwID8gKFxuICAgICAgICAgIDw+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT17Y24oJ2Rlc2lnbi1wcmljaW5nLWdyaWQnLCBwcmltYXJ5R3JpZENsYXNzKX0+XG4gICAgICAgICAgICAgIHtwcmltYXJ5Lm1hcCgodGllcikgPT4gPFByaWNpbmdDYXJkIGtleT17dGllci5pZH0gdGllcj17dGllcn0geWVhcmx5PXt5ZWFybHl9IC8+KX1cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAge2V4dGVuZGVkLmxlbmd0aCA+IDAgJiYgKFxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImRlc2lnbi1wcmljaW5nLWV4dGVuZGVkXCI+XG4gICAgICAgICAgICAgICAgPGgzPntpc0FyYWJpYyA/ICfYrdmE2YjZhCDZhNmE2YXZhti02KLYqiDYp9mE2YPYqNix2Ykg2YjYp9mE2YjZg9in2YTYp9iqJyA6ICdTb2x1dGlvbnMgZm9yIGVudGVycHJpc2VzIGFuZCBhZ2VuY2llcyd9PC9oMz5cbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT17Y24oJ2Rlc2lnbi1wcmljaW5nLWdyaWQgZGVzaWduLXByaWNpbmctZ3JpZC0tZXh0ZW5kZWQnLCBleHRlbmRlZC5sZW5ndGggPT09IDEgJiYgJ2Rlc2lnbi1wcmljaW5nLWdyaWQtLXNpbmdsZScpfT5cbiAgICAgICAgICAgICAgICAgIHtleHRlbmRlZC5tYXAoKHRpZXIpID0+IDxQcmljaW5nQ2FyZCBrZXk9e3RpZXIuaWR9IHRpZXI9e3RpZXJ9IHllYXJseT17eWVhcmx5fSAvPil9XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgKX1cbiAgICAgICAgICA8Lz5cbiAgICAgICAgKSA6IChcbiAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImRlc2lnbi1wcmljaW5nLWVtcHR5XCI+XG4gICAgICAgICAgICA8U3BhcmtsZXMgc2l6ZT17Mjh9IC8+XG4gICAgICAgICAgICA8c3Ryb25nPntpc0FyYWJpYyA/ICfZhti52YXZhCDYudmE2Ykg2KrYrNmH2YrYsiDYp9mE2KjYp9mC2KfYqicgOiAnV2UgYXJlIHByZXBhcmluZyB0aGUgcGxhbnMnfTwvc3Ryb25nPlxuICAgICAgICAgICAgPHA+e2lzQXJhYmljID8gJ9iz2KrYuNmH2LEg2KfZhNio2KfZgtin2Kog2YfZhtinINmB2YjYsSDYp9i52KrZhdin2K/Zh9inINmI2YbYtNix2YfYpy4nIDogJ1BsYW5zIHdpbGwgYXBwZWFyIGhlcmUgb25jZSB0aGV5IGFyZSBhcHByb3ZlZCBhbmQgcHVibGlzaGVkLid9PC9wPlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICApfVxuICAgICAgPC9kaXY+XG4gICAgPC9zZWN0aW9uPlxuICApO1xufVxuXG5mdW5jdGlvbiBVc2VDYXNlcygpIHtcbiAgY29uc3QgeyBsYW5kaW5nIH0gPSB1c2VQdWJsaXNoZWRMYW5kaW5nKCk7XG4gIGNvbnN0IHsgcGljaywgaXNBcmFiaWMgfSA9IHVzZVNpdGVMYW5ndWFnZSgpO1xuICBjb25zdCBzZWN0aW9uID0gbGFuZGluZy5jb250ZW50LnRlc3RpbW9uaWFscztcbiAgY29uc3QgY2FyZHMgPSBzZWN0aW9uLml0ZW1zO1xuXG4gIHJldHVybiAoXG4gICAgPHNlY3Rpb24gaWQ9XCJ1c2UtY2FzZXNcIiBjbGFzc05hbWU9XCJkZXNpZ24tc2VjdGlvbiBkZXNpZ24tdGVzdGltb25pYWxzXCI+XG4gICAgICA8ZGl2IGNsYXNzTmFtZT1cInNpdGUtY29udGFpbmVyIGRlc2lnbi10ZXN0aW1vbmlhbC1ncmlkXCI+XG4gICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiZGVzaWduLXRlc3RpbW9uaWFsLWNvcHlcIj5cbiAgICAgICAgICA8c3BhbiBjbGFzc05hbWU9XCJkZXNpZ24tZXllYnJvd1wiPntwaWNrKHNlY3Rpb24uZXllYnJvdyl9PC9zcGFuPlxuICAgICAgICAgIDxoMj57cGljayhzZWN0aW9uLnRpdGxlKX08L2gyPlxuICAgICAgICAgIDxwPntwaWNrKHNlY3Rpb24uYm9keSl9PC9wPlxuICAgICAgICAgIDxTaXRlQWN0aW9uIGxpbms9e3sgbGFiZWw6IHsgZW46ICdTdGFydCBmcmVlJywgYXI6ICfYp9io2K/YoyDZhdis2KfZhtmL2KcnIH0sIGtpbmQ6ICdzaWdudXAnLCB2YWx1ZTogJycgfX0gc291cmNlPVwidXNlX2Nhc2VzXCIgY2xhc3NOYW1lPVwiZGVzaWduLWJ1dHRvbiBkZXNpZ24tYnV0dG9uLS1wcmltYXJ5XCIgLz5cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiZGVzaWduLXRlc3RpbW9uaWFsLXdhbGxcIiBhcmlhLWxhYmVsPXtpc0FyYWJpYyA/ICfYo9mF2KvZhNipINin2LPYqtiu2K/Yp9mFINmC2LHYp9ixJyA6ICdRcmFyIHVzZSBjYXNlcyd9PlxuICAgICAgICAgI
1889HtjYXJkcy5tYXAoKGl0ZW0sIGluZGV4KSA9PiAoXG4gICAgICAgICAgICA8ZmlndXJlIGtleT17YCR7aXRlbS5pZH0tJHtpbmRleH1gfT5cbiAgICAgICAgICAgICAgPHNwYW4gY2xhc3NOYW1lPVwiZGVzaWduLXVzZS1jYXNlLWxhYmVsXCI+e3BpY2soaXRlbS5yb2xlKX08L3NwYW4+XG4gICAgICAgICAgICAgIDxoMz57cGljayhpdGVtLm5hbWUpfTwvaDM+XG4gICAgICAgICAgICAgIDxwPntwaWNrKGl0ZW0ucXVvdGUpfTwvcD5cbiAgICAgICAgICAgIDwvZmlndXJlPlxuICAgICAgICAgICkpfVxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvZGl2PlxuICAgIDwvc2VjdGlvbj5cbiAgKTtcbn1cblxuZnVuY3Rpb24gTmFqZCgpIHtcbiAgY29uc3QgeyBsYW5kaW5nIH0gPSB1c2VQdWJsaXNoZWRMYW5kaW5nKCk7XG4gIGNvbnN0IHsgcGljayB9ID0gdXNlU2l0ZUxhbmd1YWdlKCk7XG4gIGNvbnN0IHNlY3Rpb24gPSBsYW5kaW5nLmNvbnRlbnQubmFqZDtcblxuICByZXR1cm4gKFxuICAgIDxzZWN0aW9uIGlkPVwibmFqZFwiIGNsYXNzTmFtZT1cImRlc2lnbi1zZWN0aW9uIGRlc2lnbi1uYWpkXCI+XG4gICAgICA8ZGl2IGNsYXNzTmFtZT1cImRlc2lnbi1ncmlkIGRlc2lnbi1ncmlkLS1uYWpkXCIgLz5cbiAgICAgIDxkaXYgY2xhc3NOYW1lPVwiZGVzaWduLWJsb2IgZGVzaWduLWJsb2ItLW5hamRcIiAvPlxuICAgICAgPGRpdiBjbGFzc05hbWU9XCJzaXRlLWNvbnRhaW5lciBkZXNpZ24tbmFqZC1pbm5lclwiPlxuICAgICAgICA8aW1nIHNyYz17c2VjdGlvbi5pbWFnZVVybH0gYWx0PXtwaWNrKHNlY3Rpb24uaW1hZ2VBbHQpfSAvPlxuICAgICAgICA8c3BhbiBjbGFzc05hbWU9XCJkZXNpZ24tZXllYnJvd1wiPntwaWNrKHNlY3Rpb24uZXllYnJvdyl9PC9zcGFuPlxuICAgICAgICA8aDI+e3BpY2soc2VjdGlvbi50aXRsZSl9PC9oMj5cbiAgICAgICAgPHA+e3BpY2soc2VjdGlvbi5ib2R5KX08L3A+XG4gICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiZGVzaWduLW5hamQtcHJvbXB0c1wiPlxuICAgICAgICAgIHtzZWN0aW9uLmJ1bGxldHMubWFwKChidWxsZXQsIGluZGV4KSA9PiA8c3BhbiBrZXk9e2luZGV4fT57cGljayhidWxsZXQpfTwvc3Bhbj4pfVxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPFNpdGVBY3Rpb24gbGluaz17c2VjdGlvbi5jdGF9IHNvdXJjZT1cIm5hamRcIiBjbGFzc05hbWU9XCJkZXNpZ24tYnV0dG9uIGRlc2lnbi1idXR0b24tLXByaW1hcnlcIj48TWljMiBzaXplPXsxOH0gLz48c3Bhbj57cGljayhzZWN0aW9uLmN0YS5sYWJlbCl9PC9zcGFuPjwvU2l0ZUFjdGlvbj5cbiAgICAgIDwvZGl2PlxuICAgIDwvc2VjdGlvbj5cbiAgKTtcbn1cblxuZnVuY3Rpb24gRmluYWxDYWxsKCkge1xuICBjb25zdCB7IGxhbmRpbmcgfSA9IHVzZVB1Ymxpc2hlZExhbmRpbmcoKTtcbiAgY29uc3QgeyBwaWNrLCBpc0FyYWJpYyB9ID0gdXNlU2l0ZUxhbmd1YWdlKCk7XG4gIGNvbnN0IHNlY3Rpb24gPSBsYW5kaW5nLmNvbnRlbnQuZmluYWxDdGE7XG5cbiAgcmV0dXJuIChcbiAgICA8c2VjdGlvbiBpZD1cInN0YXJ0XCIgY2xhc3NOYW1lPVwiZGVzaWduLXNlY3Rpb24gZGVzaWduLWZpbmFsXCI+XG4gICAgICA8ZGl2IGNsYXNzTmFtZT1cImRlc2lnbi1ibG9iIGRlc2lnbi1ibG9iLS1maW5hbFwiIC8+XG4gICAgICA8ZGl2IGNsYXNzTmFtZT1cInNpdGUtY29udGFpbmVyXCI+XG4gICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiZGVzaWduLWZpbmFsLWNhcmRcIj5cbiAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImRlc2lnbi1maW5hbC1jb3B5XCI+XG4gICAgICAgICAgICA8c3BhbiBjbGFzc05hbWU9XCJkZXNpZ24tZXllYnJvd1wiPntwaWNrKHNlY3Rpb24uZXllYnJvdyl9PC9zcGFuPlxuICAgICAgICAgICAgPGgyPntwaWNrKHNlY3Rpb24udGl0bGUpfTwvaDI+XG4gICAgICAgICAgICA8cD57cGljayhzZWN0aW9uLmJvZHkpfTwvcD5cbiAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiZGVzaWduLWFjdGlvbnNcIj5cbiAgICAgICAgICAgICAgPFNpdGVBY3Rpb24gbGluaz17c2VjdGlvbi5wcmltYXJ5Q3RhfSBzb3VyY2U9XCJmaW5hbF9jdGFcIiBjbGFzc05hbWU9XCJkZXNpZ24tYnV0dG9uIGRlc2lnbi1idXR0b24tLXByaW1hcnlcIiAvPlxuICAgICAgICAgICAgICA8U2l0ZUFjdGlvbiBsaW5rPXtzZWN0aW9uLnNlY29uZGFyeUN0YX0gc291cmNlPVwiZmluYWxfY3RhXCIgY2xhc3NOYW1lPVwiZGVzaWduLWJ1dHRvbiBkZXNpZ24tYnV0dG9uLS1zb2Z0XCIgLz5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPHNwYW4gY2xhc3NOYW1lPVwiZGVzaWduLWNyZWRpdC1ub3RlXCI+PFdhbGxldENhcmRzIHNpemU9ezIwfSAvPntpc0FyYWJpYyA/ICfYp9io2K/YoyDYr9mI2YYg2KjYt9in2YLYqSDYp9im2KrZhdin2YbZitipJyA6ICdTdGFydCB3aXRob3V0IGEgY3JlZGl0IGNhcmQnfTwvc3Bhbj5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8Q29uc29sZVNob3djYXNlIGNvbXBhY3QgLz5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L2Rpdj5cbiAgICA8L3NlY3Rpb24+XG4gICk7XG59XG5cbi8vIEFuYWx5dGljcyBzZWN0aW9uIGlkczogdGhlIHNlY3Rpb25zJyBET00gYW5jaG9yIGlkcywgc25ha2VfY2FzZWQgKG1hdGNoZXNcbi8vIHRoZSBzZWN0aW9uX3ZpZXcgZW51bSBpbiBzcmMvbGliL2FuYWx5dGljcy9yZWdpc3RyeS50cykuXG5jb25zdCBBTkFMWVRJQ1NfU0VDVElPTl9JRFM6IFJlY29yZDxzdHJpbmcsIHN0cmluZz4gPSB7XG4gIGhlcm86ICd0b3AnLFxuICBjdXN0b21lcnM6ICdjdXN0b21lcnMnLFxuICB3b3JrZmxvdzogJ2hvd19pdF93b3JrcycsXG4gIHJlc3BvbnNlU3Rvcnk6ICdyZXNwb25zZV9zdG9yeScsXG4gIGZlYXR1cmVzOiAnZmVhdHVyZXMnLFxuICBhdWRpZW5jZTogJ2F1ZGllbmNlJyxcbiAgcHJpY2luZzogJ3ByaWNpbmcnLFxuICB1c2VDYXNlczogJ3VzZV9jYXNlcycsXG4gIG5hamQ6ICduYWpkJyxcbiAgZmluYWw6ICdzdGFydCcsXG59O1xuXG5leHBvcnQgZGVmYXVsdCBmdW5jdGlvbiBMYW5kaW5nUGFnZSgpIHtcbiAgY29uc3QgeyBsYW5kaW5nLCBzb3VyY2UsIHByZXZpZXdNb2RlIH0gPSB1c2VQdWJsaXNoZWRMYW5kaW5nKCk7XG4gIGNvbnN0IHsgbGFuZ3VhZ2UsIH
1889BpY2ssIGlzQXJhYmljIH0gPSB1c2VTaXRlTGFuZ3VhZ2UoKTtcblxuICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgIGRvY3VtZW50LnRpdGxlID0gcGljayhsYW5kaW5nLmNvbnRlbnQuc2VvLnRpdGxlKTtcbiAgICBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKCdtZXRhW25hbWU9XCJkZXNjcmlwdGlvblwiXScpPy5zZXRBdHRyaWJ1dGUoJ2NvbnRlbnQnLCBwaWNrKGxhbmRpbmcuY29udGVudC5zZW8uZGVzY3JpcHRpb24pKTtcbiAgfSwgW2xhbmRpbmcuY29udGVudC5zZW8sIGxhbmd1YWdlLCBwaWNrXSk7XG5cbiAgLy8gc2VjdGlvbl92aWV3OiBvbmNlIHBlciBzZWN0aW9uIHBlciBwYWdlIGxvYWQsIGFmdGVyIGEgc2hvcnQgZHdlbGwgc29cbiAgLy8gc21vb3RoLXNjcm9sbGluZyBwYXN0IGludGVybWVkaWF0ZSBzZWN0aW9ucyBkb2Vzbid0IGNvdW50IHRoZW0uIGBzZWVuYFxuICAvLyBsaXZlcyBpbiBhIHJlZiBiZWNhdXNlIHRoZSBvYnNlcnZlciByZS1jcmVhdGVzIHdoZW5ldmVyIHRoZSBDTVMgY29udGVudFxuICAvLyBzZXR0bGVzIChsYW5kaW5nIGNoYW5nZXMpIOKAlCB0aGUgb25jZS1wZXItbG9hZCBndWFyYW50ZWUgbXVzdCBzdXJ2aXZlIHRoYXQuXG4gIGNvbnN0IHNlY3Rpb25SZWZzID0gdXNlUmVmKG5ldyBNYXA8c3RyaW5nLCBIVE1MRGl2RWxlbWVudD4oKSk7XG4gIGNvbnN0IHNlZW5TZWN0aW9uc1JlZiA9IHVzZVJlZihuZXcgU2V0PHN0cmluZz4oKSk7XG4gIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgaWYgKHR5cGVvZiBJbnRlcnNlY3Rpb25PYnNlcnZlciA9PT0gJ3VuZGVmaW5lZCcpIHJldHVybjtcbiAgICBjb25zdCBzZWVuID0gc2VlblNlY3Rpb25zUmVmLmN1cnJlbnQ7XG4gICAgY29uc3QgdGltZXJzID0gbmV3IE1hcDxzdHJpbmcsIFJldHVyblR5cGU8dHlwZW9mIHNldFRpbWVvdXQ+PigpO1xuICAgIGNvbnN0IG9ic2VydmVyID0gbmV3IEludGVyc2VjdGlvbk9ic2VydmVyKChlbnRyaWVzKSA9PiB7XG4gICAgICBmb3IgKGNvbnN0IGVudHJ5IG9mIGVudHJpZXMpIHtcbiAgICAgICAgY29uc3QgaWQgPSAoZW50cnkudGFyZ2V0IGFzIEhUTUxFbGVtZW50KS5kYXRhc2V0LmFuYWx5dGljc1NlY3Rpb24gfHwgJyc7XG4gICAgICAgIGlmICghaWQgfHwgc2Vlbi5oYXMoaWQpKSBjb250aW51ZTtcbiAgICAgICAgaWYgKGVudHJ5LmlzSW50ZXJzZWN0aW5nKSB7XG4gICAgICAgICAgaWYgKCF0aW1lcnMuaGFzKGlkKSkge1xuICAgICAgICAgICAgdGltZXJzLnNldChpZCwgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICAgICAgICAgIHRpbWVycy5kZWxldGUoaWQpO1xuICAgICAgICAgICAgICBpZiAoc2Vlbi5oYXMoaWQpKSByZXR1cm47XG4gICAgICAgICAgICAgIHNlZW4uYWRkKGlkKTtcbiAgICAgICAgICAgICAgYW5hbHl0aWNzLnRyYWNrKCdzZWN0aW9uX3ZpZXcnLCB7IHNlY3Rpb25faWQ6IGlkIGFzIG5ldmVyIH0pO1xuICAgICAgICAgICAgfSwgMzAwKSk7XG4gICAgICAgICAgfVxuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIGNvbnN0IHBlbmRpbmcgPSB0aW1lcnMuZ2V0KGlkKTtcbiAgICAgICAgICBpZiAocGVuZGluZykge1xuICAgICAgICAgICAgY2xlYXJUaW1lb3V0KHBlbmRpbmcpO1xuICAgICAgICAgICAgdGltZXJzLmRlbGV0ZShpZCk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfSwgeyB0aHJlc2hvbGQ6IDAuMjUgfSk7XG4gICAgZm9yIChjb25zdCBlbCBvZiBzZWN0aW9uUmVmcy5jdXJyZW50LnZhbHVlcygpKSBvYnNlcnZlci5vYnNlcnZlKGVsKTtcbiAgICByZXR1cm4gKCkgPT4ge1xuICAgICAgb2JzZXJ2ZXIuZGlzY29ubmVjdCgpO1xuICAgICAgZm9yIChjb25zdCB0IG9mIHRpbWVycy52YWx1ZXMoKSkgY2xlYXJUaW1lb3V0KHQpO1xuICAgIH07XG4gIH0sIFsvKiByZS1vYnNlcnZlIHdoZW4gdGhlIENNUy1kcml2ZW4gc2VjdGlvbiBsaXN0IGNoYW5nZXMgKi8gbGFuZGluZ10pO1xuXG4gIGNvbnN0IHNlY3Rpb25zID0gdXNlTWVtbzxBcnJheTx7IGtleTogc3RyaW5nOyBlbmFibGVkOiBib29sZWFuOyBvcmRlcjogbnVtYmVyOyBub2RlOiBSZWFjdE5vZGUgfT4+KCgpID0+IFtcbiAgICB7IGtleTogJ2hlcm8nLCBlbmFibGVkOiBsYW5kaW5nLmNvbnRlbnQuaGVyby5lbmFibGVkLCBvcmRlcjogbGFuZGluZy5jb250ZW50Lmhlcm8ub3JkZXIsIG5vZGU6IDxIZXJvIC8+IH0sXG4gICAge1xuICAgICAga2V5OiAnY3VzdG9tZXJzJyxcbiAgICAgIC8vIEFuIGVuYWJsZWQgc3RyaXAgd2l0aCBubyByZW5kZXJhYmxlIGxvZ29zIHNob3VsZCBub3QgbW91bnQgYXQgYWxsIOKAlFxuICAgICAgLy8gb3RoZXJ3aXNlIGl0cyBhbmFseXRpY3Mgd3JhcHBlciBzdGF5cyBvYnNlcnZhYmxlIGFzIGFuIGVtcHR5IGVsZW1lbnQuXG4gICAgICBlbmFibGVkOiBsYW5kaW5nLmNvbnRlbnQuY3VzdG9tZXJzLmVuYWJsZWRcbiAgICAgICAgJiYgbGFuZGluZy5jb250ZW50LmN1c3RvbWVycy5pdGVtcy5zb21lKChpdGVtKSA9PiBpdGVtLmxvZ29VcmwudHJpbSgpICE9PSAnJyksXG4gICAgICBvcmRlcjogbGFuZGluZy5jb250ZW50LmN1c3RvbWVycy5vcmRlcixcbiAgICAgIG5vZGU6IDxDdXN0b21lcnMgLz4sXG4gICAgfSxcbiAgICB7IGtleTogJ3dvcmtmbG93JywgZW5hYmxlZDogbGFuZGluZy5jb250ZW50LndvcmtmbG93LmVuYWJsZWQsIG9yZGVyOiBsYW5kaW5nLmNvbnRlbnQud29ya2Zsb3cub3JkZXIsIG5vZGU6IDxXb3JrZmxvdyAvPiB9LFxuICAgIHsga2V5OiAncmVzcG9uc2VTdG9yeScsIGVuYWJsZWQ6IHRydWUsIG9yZGVyOiAyNSwgbm9kZTogPFJlc3BvbnNlU3RvcnlTZWN0aW9uIC8+IH0sXG4gICAgeyBrZXk6ICdmZWF0dXJlcycsIGVuYWJsZWQ6IGxhbmRpbmcuY29udGVudC5mZWF0dXJlcy5lbmFibGVkLCBvcmRlcjogbGFuZGluZy5jb250ZW50LmZlYXR1cmVzLm9yZGVyLCBub2RlOiA8RmVhdHVyZXMgLz4gfSxcbiAgICB7IGtleTogJ2F1ZGllbmNlJywgZW5hYmxlZDogbGFuZGluZy5jb250ZW50LmF1ZGllbmNlLmVuYWJsZWQsIG9yZGVyOiBsYW5kaW5nLmNvbnRlbnQuYXVkaWVuY2Uub3JkZXIsIG5vZGU6IDxBdWRpZW5jZSAvPiB9LFxuICAgIHsga2V5OiAncHJpY2luZycsIGVuYWJsZWQ6IGxhbmRpbmcuY29udGVudC5wcmljaW5nLmVuYWJsZWQsIG9yZGVyOiBsYW5kaW5nLmNvbnRlbnQucHJpY2luZy5vcmRlciwgbm9kZTogPFByaWNpbmcgLz4gfSxcbiAgICB7IGtleTogJ3VzZUNhc2VzJywgZW5hYmxlZDogbGFuZGluZy5jb250ZW50LnRlc3RpbW9uaWFscy5lbmFibGVkLCBvcmRlcjogbGFuZGluZy5jb250ZW50LnRlc3RpbW9uaWFscy5vcmRlciwgbm9kZTogPFVzZUNhc2VzIC8+IH0sXG4gICAgeyBrZXk6ICduYWpkJywgZW5hYmxlZDogbGFuZGluZy5jb250ZW50Lm5hamQuZW5hYmxlZCwgb3JkZXI6IGxhbmRpbmcuY29udGVudC5uYWpkLm9yZGVyLCBub2RlOiA8TmFqZCAvPiB9LFxuICAgIHsga2V5OiAnZmluYWwnLCBlbmFibGVkOiBsYW5kaW5nLmNvbnRlbnQuZmluYWxDdGEuZW5hYmxlZCwgb3JkZXI6IGxhbmRpbmcuY29udGVudC5maW5hbEN0YS5vcmRlciwgbm9kZTogPEZpbmFsQ2FsbCAvPiB9LFxuICBdLmZpbHRlcigoaXRlbSkgPT4gaXRlbS5lbmFibGVkKS5zb3J0KChhLCBiKSA9PiBhLm9yZGVyIC0gYi5vcmRlciksIFtsYW5kaW5nXSk7XG5cbiAgcmV0dXJuIChcbiAgICA8ZGl2IGNsYXNzTmFtZT1cImRlc2lnbi1wYWdlXCI+XG4gICAgICB7c
1889HJldmlld01vZGUgJiYgKFxuICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImRlc2lnbi1wcmV2aWV3LWJhbm5lclwiPlxuICAgICAgICAgIHtzb3VyY2UgPT09ICdwcmV2aWV3J1xuICAgICAgICAgICAgPyAoaXNBcmFiaWMgPyAn2YXYudin2YrZhtipINmE2YXYs9mI2K/YqSDYutmK2LEg2YXZhti02YjYsdipJyA6ICdQcmV2aWV3IG9mIGFuIHVucHVibGlzaGVkIGRyYWZ0JylcbiAgICAgICAgICAgIDogKGlzQXJhYmljID8gJ9io2KfZhtiq2LjYp9ixINio2YrYp9mG2KfYqiDYp9mE2YXYudin2YrZhtipINmF2YYg2YTZiNit2Kkg2KfZhNil2K/Yp9ix2KknIDogJ1dhaXRpbmcgZm9yIHByZXZpZXcgZGF0YSBmcm9tIHRoZSBhZG1pbiBkYXNoYm9hcmQnKX1cbiAgICAgICAgPC9kaXY+XG4gICAgICApfVxuICAgICAgPGRpdiBjbGFzc05hbWU9e3ByZXZpZXdNb2RlID8gJ2Rlc2lnbi1wcmV2aWV3LW9mZnNldCcgOiB1bmRlZmluZWR9PlxuICAgICAgICA8U2l0ZUhlYWRlciAvPlxuICAgICAgICA8bWFpbj57c2VjdGlvbnMubWFwKChzZWN0aW9uKSA9PiAoXG4gICAgICAgICAgPGRpdlxuICAgICAgICAgICAga2V5PXtzZWN0aW9uLmtleX1cbiAgICAgICAgICAgIGRhdGEtYW5hbHl0aWNzLXNlY3Rpb249e0FOQUxZVElDU19TRUNUSU9OX0lEU1tzZWN0aW9uLmtleV0gPz8gdG9TbmFrZUNhc2Uoc2VjdGlvbi5rZXkpfVxuICAgICAgICAgICAgcmVmPXsoZWwpID0+IHtcbiAgICAgICAgICAgICAgaWYgKGVsKSBzZWN0aW9uUmVmcy5jdXJyZW50LnNldChzZWN0aW9uLmtleSwgZWwpO1xuICAgICAgICAgICAgICBlbHNlIHNlY3Rpb25SZWZzLmN1cnJlbnQuZGVsZXRlKHNlY3Rpb24ua2V5KTtcbiAgICAgICAgICAgIH19XG4gICAgICAgICAgPlxuICAgICAgICAgICAge3NlY3Rpb24ubm9kZX1cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgKSl9PC9tYWluPlxuICAgICAgICA8U2l0ZUZvb3RlciAvPlxuICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG4gICk7XG59XG4iXSwibmFtZXMiOlsidXNlRWZmZWN0IiwidXNlTWVtbyIsInVzZVJlZiIsInVzZVN0YXRlIiwiQXJyb3dMZWZ0IiwiQXJyb3dSaWdodCIsIkJvdCIsIkJyYWluQ2lyY3VpdCIsIkJ1aWxkaW5nMiIsIkNoZWNrIiwiQ2hhcnROb0F4ZXNDb21iaW5lZCIsIkNvZmZlZSIsIkdpdENvbXBhcmVBcnJvd3MiLCJIZWFkcGhvbmVzIiwiSGlzdG9yeSIsIkhvdGVsIiwiTWFwUGluIiwiTWVzc2FnZUNpcmNsZSIsIk1lc3NhZ2VzU3F1YXJlIiwiTWljMiIsIlBpbGwiLCJSYWRhciIsIlNlYXJjaCIsIlNwYXJrbGVzIiwiU3RhciIsIlN0b3JlIiwiVGFncyIsIlRhcmdldCIsIlVzZXJSb3VuZCIsIlVzZXJzIiwiV2FsbGV0Q2FyZHMiLCJXYW5kU3BhcmtsZXMiLCJDb25zb2xlU2hvd2Nhc2UiLCJSZXNwb25zZVN0b3J5IiwiU2l0ZUFjdGlvbiIsIlNpdGVGb290ZXIiLCJTaXRlSGVhZGVyIiwiREVGQVVMVF9DVVNUT01FUl9ESVNQTEFZIiwidXNlUHVibGlzaGVkTGFuZGluZyIsInVzZVNpdGVMYW5ndWFnZSIsImFuYWx5dGljcyIsInRvU25ha2VDYXNlIiwiY24iLCJpY29ucyIsInNlYXJjaCIsInNwYXJrbGVzIiwidGFyZ2V0IiwicmFkYXIiLCJ0YWdzIiwidXNlcnMiLCJoaXN0b3J5Iiwic3RvcmUiLCJib3QiLCJjb2ZmZWUiLCJob3RlbCIsInBpbGwiLCJtZXNzYWdlcyIsIkZlYXR1cmVJY29uIiwibmFtZSIsInNpemUiLCJJY29uIiwic3Ryb2tlV2lkdGgiLCJhcmlhLWhpZGRlbiIsIlNlY3Rpb25JbnRybyIsInNlY3Rpb24iLCJjYWxsb3V0cyIsInBpY2siLCJpc0FyYWJpYyIsImRpdiIsImNsYXNzTmFtZSIsInNwYW4iLCJleWVicm93Iiwic21hbGwiLCJoMiIsInRpdGxlIiwiYm9keSIsInAiLCJIZXJvIiwibGFuZGluZyIsImxhbmd1YWdlIiwiaGVybyIsImNvbnRlbnQiLCJBcnJvdyIsInN0YXRJY29ucyIsIm1ldHJpY0Zvcm1hdHRlciIsIkludGwiLCJOdW1iZXJGb3JtYXQiLCJtYXhpbXVtRnJhY3Rpb25EaWdpdHMiLCJpZCIsImgxIiwidGl0bGVQcmVmaXgiLCJ0aXRsZVN1ZmZpeCIsImVtIiwidGl0bGVIaWdobGlnaHQiLCJsaW5rIiwicHJpbWFyeUN0YSIsInNvdXJjZSIsImxhYmVsIiwic2Vjb25kYXJ5Q3RhIiwic3RhdHMiLCJtYXAiLCJzdGF0IiwiaW5kZXgiLCJ2YWx1ZSIsInVzYWdlTWV0cmljcyIsIm1ldHJpYyIsInN0cm9uZyIsInVuZGVmaW5lZCIsImZvcm1hdCIsImNvbXBhY3QiLCJDdXN0b21lcnMiLCJjdXN0b21lcnMiLCJpdGVtcyIsImZpbHRlciIsIml0ZW0iLCJsb2dvVXJsIiwidHJpbSIsImxlbmd0aCIsIm
1889NvcGllcyIsIk1hdGgiLCJtYXgiLCJjZWlsIiwic2VxdWVuY2UiLCJBcnJheSIsImZyb20iLCJmbGF0IiwicmVuZGVySGFsZiIsImRlY29yYXRpdmUiLCJpc09yaWdpbmFsIiwiaW1nIiwic3JjIiwiYWx0Iiwic3R5bGUiLCJsb2dvSGVpZ2h0IiwibG9hZGluZyIsImRlY29kaW5nIiwiZGlzcGxheSIsImJsZW5kV2hpdGVCYWNrZ3JvdW5kcyIsImdhcCIsInNlY29uZHNQZXJMb2dvIiwiV29ya2Zsb3ciLCJ3b3JrZmxvdyIsInN0ZXBzIiwic3RlcCIsImFydGljbGUiLCJpY29uIiwiaDMiLCJSRVNQT05TRV9TVE9SWV9JTlRSTyIsImVuYWJsZWQiLCJvcmRlciIsImVuIiwiYXIiLCJSZXNwb25zZVN0b3J5U2VjdGlvbiIsIkZlYXR1cmVzIiwiZmVhdHVyZXMiLCJBdWRpZW5jZSIsImF1ZGllbmNlIiwid2lkdGgiLCJoZWlnaHQiLCJhdWRpZW5jZUljb25zIiwidGllckFjdGlvbiIsInRpZXIiLCJjdGEiLCJraW5kIiwiZW5jb2RlVVJJQ29tcG9uZW50IiwiUHJpY2luZ0NhcmQiLCJ5ZWFybHkiLCJwcmljaW5nIiwiY3VzdG9tIiwiY3VzdG9tUHJpY2VMYWJlbCIsImZyZWUiLCJwcmljZU1vbnRobHkiLCJwcmljZVllYXJseSIsIm1vbnRobHlFcXVpdmFsZW50Iiwic2hvd25QcmljZSIsImZvcm1hdHRlciIsInNhdmluZyIsInJvdW5kIiwiZmVhdHVyZWQiLCJiYWRnZSIsImZpbGwiLCJmcmVlTGFiZWwiLCJiIiwiY3VycmVuY3kiLCJwZXJNb250aExhYmVsIiwiYmlsbGVkWWVhcmx5TGFiZWwiLCJkZXNjcmlwdGlvbiIsInNhdmluZ3NMYWJlbCIsInJlcGxhY2UiLCJTdHJpbmciLCJ1bCIsImZlYXR1cmUiLCJsaSIsInRpZXJJZCIsIlByaWNpbmciLCJzZXRZZWFybHkiLCJwcmltYXJ5IiwidGllcnMiLCJzbGljZSIsImV4dGVuZGVkIiwicHJpbWFyeUdyaWRDbGFzcyIsInJvbGUiLCJhcmlhLWxhYmVsIiwiYnV0dG9uIiwidHlwZSIsIm9uQ2xpY2siLCJtb250aGx5TGFiZWwiLCJ5ZWFybHlMYWJlbCIsIlVzZUNhc2VzIiwidGVzdGltb25pYWxzIiwiY2FyZHMiLCJmaWd1cmUiLCJxdW90ZSIsIk5hamQiLCJuYWpkIiwiaW1hZ2VVcmwiLCJpbWFnZUFsdCIsImJ1bGxldHMiLCJidWxsZXQiLCJGaW5hbENhbGwiLCJmaW5hbEN0YSIsIkFOQUxZVElDU19TRUNUSU9OX0lEUyIsInJlc3BvbnNlU3RvcnkiLCJ1c2VDYXNlcyIsImZpbmFsIiwiTGFuZGluZ1BhZ2UiLCJwcmV2aWV3TW9kZSIsImRvY3VtZW50Iiwic2VvIiwicXVlcnlTZWxlY3RvciIsInNldEF0dHJpYnV0ZSIsInNlY3Rpb25SZWZzIiwiTWFwIiwic2VlblNlY3Rpb25zUmVmIiwiU2V0IiwiSW50ZXJzZWN0aW9uT2JzZXJ2ZXIiLCJzZWVuIiwiY3VycmVudCIsInRpbWVycyIsIm9ic2VydmVyIiwiZW50cmllcyIsImVudHJ5IiwiZGF0YXNldCIsImFuYWx5dGljc1NlY3Rpb24iLCJoYXMiLCJpc0ludGVyc2VjdGluZyIsInNldCIsInNldFRpbWVvdXQiLCJkZWxldGUiLCJhZGQiLCJ0cmFjayIsInNlY3Rpb25faWQiLCJwZW5kaW5nIiwiZ2V0IiwiY2xlYXJUaW1lb3V0IiwidGhyZXNob2xkIiwiZWwiLCJ2YWx1ZXMiLCJvYnNlcnZlIiwiZGlzY29ubmVjdCIsInQiLCJzZWN0aW9ucyIsImtleSIsIm5vZGUiLCJzb21lIiwic29ydCIsImEiLCJtYWluIiwiZGF0YS1hbmFseXRpY3Mtc2VjdGlvbiIsInJlZiJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUEsU0FBU0EsU0FBUyxFQUFFQyxPQUFPLEVBQUVDLE1BQU0sRUFBRUMsUUFBUSxRQUE0QyxRQUFRO0FBQ2pHLFNBQ0VDLFNBQVMsRUFDVEMsVUFBVSxFQUVWQyxHQUFHLEVBQ0hDLFlBQVksRUFDWkMsU0FBUyxFQUNUQyxLQUFLLEVBQ0xDLG1CQUFtQixFQU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
18897UUFDSkM7OztPQUZmMEwifQ==
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.