PageSourceSearch

https://qrar.ai/src/pages/LandingPage.tsx

js qrar.ai collected 2026-10-05 13:31:34 UTC 158,958 bytes, 1,889 lines download raw bytes

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.