1import { createHotContext as __vite__createHotContext } from "/@vite/client";import.meta.hot = __vite__createHotContext("/src/pages/CookiesPage.tsx");import __vite__cjsImport0_react_jsxDevRuntime from "/@fs/home/runner/workspace/node_modules/.vite/deps/react_jsx-dev-runtime.js?v=9ce4103e"; const jsxDEV = __vite__cjsImport0_react_jsxDevRuntime["jsxDEV"]; 2import RefreshRuntime from "/@react-refresh"; 3const inWebWorker = typeof WorkerGlobalScope !== "undefined" && self instanceof WorkerGlobalScope; 4let prevRefreshReg; 5let prevRefreshSig; 6if (import.meta.hot && !inWebWorker) { 7 if (!window.__vite_plugin_react_preamble_installed__) { 8 throw new Error("@vitejs/plugin-react can't detect preamble. Something is wrong. See https://github.com/vitejs/vite-plugin-react/pull/11#discussion_r430879201"); 9 } 10 prevRefreshReg = window.$RefreshReg$; 11 prevRefreshSig = window.$RefreshSig$; 12 window.$RefreshReg$ = (type, id) => { 13 RefreshRuntime.register(type, "/home/runner/workspace/client/src/pages/CookiesPage.tsx " + id); 14 }; 15 window.$RefreshSig$ = RefreshRuntime.createSignatureFunctionForTransform; 16} 17var _s = $RefreshSig$(); 18import __vite__cjsImport3_react from "/@fs/home/runner/workspace/node_modules/.vite/deps/react.js?v=9ce4103e"; const useState = __vite__cjsImport3_react["useState"]; const useEffect = __vite__cjsImport3_react["useEffect"]; 19import { Switch } from "/src/components/ui/switch.tsx"; 20const CookiesPage = () => { 21 _s(); 22 const [strictlyNecessary] = useState(true); 23 const [performance, setPerformance] = useState(false); 24 const [marketing, setMarketing] = useState(false); 25 useEffect(() => { 26 document.title = "Cookie Preferences | KYN Skincare"; 27 return () => { 28 document.title = "KYN - Sustainable Skincare for Melanin-Rich Skin"; 29 }; 30 }, []); 31 const handleSavePreferences = () => { 32 localStorage.setItem("cookie-preferences", JSON.stringify({ 33 strictlyNecessary: true, 34 performance, 35 marketing 36 })); 37 alert("Your cookie preferences have been saved!"); 38 }; 39 const handleAcceptAll = () => { 40 setPerformance(true); 41 setMarketing(true); 42 localStorage.setItem("cookie-preferences", JSON.stringify({ 43 strictlyNecessary: true, 44 performance: true, 45 marketing: true 46 })); 47 alert("All cookies accepted!"); 48 }; 49 const handleRejectNonEssential = () => { 50 setPerformance(false); 51 setMarketing(false); 52 localStorage.setItem("cookie-preferences", JSON.stringify({ 53 strictlyNecessary: true, 54 performance: false, 55 marketing: false 56 })); 57 alert("Non-essential cookies rejected!"); 58 }; 59 return /* @__PURE__ */ jsxDEV("div", { style: { backgroundColor: "#f5f5f5", minHeight: "100vh" }, children: /* @__PURE__ */ jsxDEV("div", { className: "max-w-4xl mx-auto px-6 py-20", children: [ 60 /* @__PURE__ */ jsxDEV( 61 "h1", 62 { 63 className: "text-3xl md:text-4xl mb-8", 64 style: { 65 fontFamily: "Helvetica, Arial, sans-serif", 66 fontWeight: 400, 67 color: "#1A1A1A", 68 letterSpacing: "0.02em" 69 }, 70 children: "Cookie Preferences" 71 }, 72 void 0, 73 false, 74 { 75 fileName: "/home/runner/workspace/client/src/pages/CookiesPage.tsx", 76 lineNumber: 50, 77 columnNumber: 9 78 }, 79 this 80 ), 81 /* @__PURE__ */ jsxDEV( 82 "p", 83 { 84 className: "text-base leading-relaxed mb-12", 85 style: { 86 fontFamily: "Helvetica, Arial, sans-serif", 87 fontWeight: 300, 88 color: "#1A1A1A", 89 lineHeight: 1.6 90 }, 91 children: "We use cookies to make your experience seamless, personalize content, and analyze performance. Manage your preferences or accept all cookies to continue." 92 }, 93 void 0, 94 false, 95 { 96 fileName: "/home/runner/workspace/client/src/pages/CookiesPage.tsx", 97 lineNumber: 62, 98 columnNumber: 9 99 }, 100 this 101 ), 102 /* @__PURE__ */ jsxDEV("div", { className: "space-y-8 mb-12", children: [
103 /* @__PURE__ */ jsxDEV("div", { className: "border border-black bg-white p-6", children: [ 104 /* @__PURE__ */ jsxDEV("div", { className: "flex justify-between items-center mb-3", children: [ 105 /* @__PURE__ */ jsxDEV( 106 "h2", 107 { 108 className: "text-xl", 109 style: { 110 fontFamily: "Helvetica, Arial, sans-serif", 111 fontWeight: 400, 112 color: "#1A1A1A" 113 }, 114 children: "Strictly Necessary" 115 }, 116 void 0, 117 false, 118 { 119 fileName: "/home/runner/workspace/client/src/pages/CookiesPage.tsx", 120 lineNumber: 77, 121 columnNumber: 15 122 }, 123 this 124 ), 125 /* @__PURE__ */ jsxDEV("div", { className: "flex items-center gap-3", children: [ 126 /* @__PURE__ */ jsxDEV( 127 "span", 128 { 129 className: "text-sm", 130 style: { 131 fontFamily: "Helvetica, Arial, sans-serif", 132 fontWeight: 300, 133 color: "#666" 134 }, 135 children: "Always Active" 136 }, 137 void 0, 138 false, 139 { 140 fileName: "/home/runner/workspace/client/src/pages/CookiesPage.tsx", 141 lineNumber: 88, 142 columnNumber: 17 143 }, 144 this 145 ),
146 /* @__PURE__ */ jsxDEV(Switch, { checked: strictlyNecessary, disabled: true, "data-testid": "switch-strictly-necessary" }, void 0, false, { 147 fileName: "/home/runner/workspace/client/src/pages/CookiesPage.tsx", 148 lineNumber: 98, 149 columnNumber: 17 150 }, this) 151 ] }, void 0, true, { 152 fileName: "/home/runner/workspace/client/src/pages/CookiesPage.tsx", 153 lineNumber: 87, 154 columnNumber: 15 155 }, this) 156 ] }, void 0, true, { 157 fileName: "/home/runner/workspace/client/src/pages/CookiesPage.tsx", 158 lineNumber: 76, 159 columnNumber: 13 160 }, this), 161 /* @__PURE__ */ jsxDEV( 162 "p", 163 { 164 className: "text-base", 165 style: { 166 fontFamily: "Helvetica, Arial, sans-serif", 167 fontWeight: 300, 168 color: "#1A1A1A", 169 lineHeight: 1.6 170 }, 171 children: "These cookies are essential for the website to function properly. They enable core functionality such as security, network management, and accessibility." 172 }, 173 void 0, 174 false, 175 { 176 fileName: "/home/runner/workspace/client/src/pages/CookiesPage.tsx", 177 lineNumber: 101, 178 columnNumber: 13 179 }, 180 this 181 ) 182 ] }, void 0, true, { 183 fileName: "/home/runner/workspace/client/src/pages/CookiesPage.tsx", 184 lineNumber: 75, 185 columnNumber: 11 186 }, this),
187 /* @__PURE__ */ jsxDEV("div", { className: "border border-black bg-white p-6", children: [ 188 /* @__PURE__ */ jsxDEV("div", { className: "flex justify-between items-center mb-3", children: [ 189 /* @__PURE__ */ jsxDEV( 190 "h2", 191 { 192 className: "text-xl", 193 style: { 194 fontFamily: "Helvetica, Arial, sans-serif", 195 fontWeight: 400, 196 color: "#1A1A1A" 197 }, 198 children: "Performance & Analytics" 199 }, 200 void 0, 201 false, 202 { 203 fileName: "/home/runner/workspace/client/src/pages/CookiesPage.tsx", 204 lineNumber: 116, 205 columnNumber: 15 206 }, 207 this 208 ), 209 /* @__PURE__ */ jsxDEV( 210 Switch, 211 { 212 checked: performance, 213 onCheckedChange: setPerformance, 214 "data-testid": "switch-performance" 215 }, 216 void 0, 217 false, 218 { 219 fileName: "/home/runner/workspace/client/src/pages/CookiesPage.tsx", 220 lineNumber: 126, 221 columnNumber: 15 222 }, 223 this 224 ) 225 ] }, void 0, true, { 226 fileName: "/home/runner/workspace/client/src/pages/CookiesPage.tsx", 227 lineNumber: 115, 228 columnNumber: 13 229 }, this),
230 /* @__PURE__ */ jsxDEV( 231 "p", 232 { 233 className: "text-base", 234 style: { 235 fontFamily: "Helvetica, Arial, sans-serif", 236 fontWeight: 300, 237 color: "#1A1A1A", 238 lineHeight: 1.6 239 }, 240 children: "These cookies help us understand how visitors interact with our website by collecting and reporting information anonymously. This helps us improve our site performance and user experience." 241 }, 242 void 0, 243 false, 244 { 245 fileName: "/home/runner/workspace/client/src/pages/CookiesPage.tsx", 246 lineNumber: 132, 247 columnNumber: 13 248 }, 249 this 250 ) 251 ] }, void 0, true, { 252 fileName: "/home/runner/workspace/client/src/pages/CookiesPage.tsx", 253 lineNumber: 114, 254 columnNumber: 11 255 }, this), 256 /* @__PURE__ */ jsxDEV("div", { className: "border border-black bg-white p-6", children: [ 257 /* @__PURE__ */ jsxDEV("div", { className: "flex justify-between items-center mb-3", children: [
258 /* @__PURE__ */ jsxDEV( 259 "h2", 260 { 261 className: "text-xl", 262 style: { 263 fontFamily: "Helvetica, Arial, sans-serif", 264 fontWeight: 400, 265 color: "#1A1A1A" 266 }, 267 children: "Marketing & Personalization" 268 }, 269 void 0, 270 false, 271 { 272 fileName: "/home/runner/workspace/client/src/pages/CookiesPage.tsx", 273 lineNumber: 147, 274 columnNumber: 15 275 }, 276 this 277 ), 278 /* @__PURE__ */ jsxDEV( 279 Switch, 280 { 281 checked: marketing, 282 onCheckedChange: setMarketing, 283 "data-testid": "switch-marketing" 284 }, 285 void 0, 286 false, 287 { 288 fileName: "/home/runner/workspace/client/src/pages/CookiesPage.tsx", 289 lineNumber: 157, 290 columnNumber: 15 291 }, 292 this 293 ) 294 ] }, void 0, true, { 295 fileName: "/home/runner/workspace/client/src/pages/CookiesPage.tsx", 296 lineNumber: 146, 297 columnNumber: 13 298 }, this),
299 /* @__PURE__ */ jsxDEV( 300 "p", 301 { 302 className: "text-base", 303 style: { 304 fontFamily: "Helvetica, Arial, sans-serif", 305 fontWeight: 300, 306 color: "#1A1A1A", 307 lineHeight: 1.6 308 }, 309 children: "These cookies are used to track visitors across websites to display relevant advertisements and personalized content. They help measure the effectiveness of advertising campaigns." 310 }, 311 void 0, 312 false, 313 { 314 fileName: "/home/runner/workspace/client/src/pages/CookiesPage.tsx", 315 lineNumber: 163, 316 columnNumber: 13 317 }, 318 this 319 ) 320 ] }, void 0, true, { 321 fileName: "/home/runner/workspace/client/src/pages/CookiesPage.tsx", 322 lineNumber: 145, 323 columnNumber: 11 324 }, this) 325 ] }, void 0, true, { 326 fileName: "/home/runner/workspace/client/src/pages/CookiesPage.tsx", 327 lineNumber: 74, 328 columnNumber: 9 329 }, this), 330 /* @__PURE__ */ jsxDEV("div", { className: "flex flex-col sm:flex-row gap-4 mb-6", children: [
331 /* @__PURE__ */ jsxDEV( 332 "button", 333 { 334 onClick: handleAcceptAll, 335 className: "px-8 py-3 border border-black transition-colors text-sm uppercase tracking-wider", 336 style: { 337 fontFamily: "Helvetica, Arial, sans-serif", 338 fontWeight: 400, 339 color: "#fff", 340 backgroundColor: "#1A1A1A", 341 letterSpacing: "3px" 342 }, 343 onMouseEnter: (e) => { 344 const target = e.target; 345 target.style.backgroundColor = "#333"; 346 }, 347 onMouseLeave: (e) => { 348 const target = e.target; 349 target.style.backgroundColor = "#1A1A1A"; 350 }, 351 "data-testid": "button-accept-all", 352 children: "Accept All" 353 }, 354 void 0, 355 false, 356 { 357 fileName: "/home/runner/workspace/client/src/pages/CookiesPage.tsx", 358 lineNumber: 178, 359 columnNumber: 11 360 }, 361 this 362 ), 363 /* @__PURE__ */ jsxDEV( 364 "button", 365 { 366 onClick: handleSavePreferences, 367 className: "px-8 py-3 border border-black transition-colors text-sm uppercase tracking-wider", 368 style: { 369 fontFamily: "Helvetica, Arial, sans-serif", 370 fontWeight: 400, 371 color: "#1A1A1A", 372 backgroundColor: "transparent", 373 letterSpacing: "3px" 374 }, 375 onMouseEnter: (e) => { 376 const target = e.target; 377 target.style.backgroundColor = "#f0f0f0"; 378 }, 379 onMouseLeave: (e) => { 380 const target = e.target; 381 target.style.backgroundColor = "transparent"; 382 }, 383 "data-testid": "button-save-preferences", 384 children: "Save Preferences" 385 }, 386 void 0, 387 false, 388 { 389 fileName: "/home/runner/workspace/client/src/pages/CookiesPage.tsx", 390 lineNumber: 201, 391 columnNumber: 11 392 }, 393 this 394 ),
395 /* @__PURE__ */ jsxDEV( 396 "button", 397 { 398 onClick: handleRejectNonEssential, 399 className: "px-8 py-3 border border-black transition-colors text-sm uppercase tracking-wider", 400 style: { 401 fontFamily: "Helvetica, Arial, sans-serif", 402 fontWeight: 400, 403 color: "#1A1A1A", 404 backgroundColor: "transparent", 405 letterSpacing: "3px" 406 }, 407 onMouseEnter: (e) => { 408 const target = e.target; 409 target.style.backgroundColor = "#f0f0f0"; 410 }, 411 onMouseLeave: (e) => { 412 const target = e.target; 413 target.style.backgroundColor = "transparent"; 414 }, 415 "data-testid": "button-reject-non-essential", 416 children: "Reject Non-Essential" 417 }, 418 void 0, 419 false, 420 { 421 fileName: "/home/runner/workspace/client/src/pages/CookiesPage.tsx", 422 lineNumber: 224, 423 columnNumber: 11 424 }, 425 this 426 ) 427 ] }, void 0, true, { 428 fileName: "/home/runner/workspace/client/src/pages/CookiesPage.tsx", 429 lineNumber: 177, 430 columnNumber: 9 431 }, this), 432 /* @__PURE__ */ jsxDEV( 433 "p", 434 { 435 className: "text-sm", 436 style: { 437 fontFamily: "Helvetica, Arial, sans-serif", 438 fontWeight: 300, 439 color: "#666", 440 lineHeight: 1.6 441 }, 442 children: "You can change your preferences anytime by visiting this page." 443 }, 444 void 0, 445 false, 446 { 447 fileName: "/home/runner/workspace/client/src/pages/CookiesPage.tsx", 448 lineNumber: 248, 449 columnNumber: 9 450 }, 451 this 452 ) 453 ] }, void 0, true, { 454 fileName: "/home/runner/workspace/client/src/pages/CookiesPage.tsx", 455 lineNumber: 49, 456 columnNumber: 7 457 }, this) }, void 0, false, { 458 fileName: "/home/runner/workspace/client/src/pages/CookiesPage.tsx", 459 lineNumber: 48, 460 columnNumber: 5 461 }, this); 462}; 463_s(CookiesPage, "6CeR1auK1x3639uPlahFsL1lheA="); 464_c = CookiesPage; 465export default CookiesPage; 466var _c; 467$RefreshReg$(_c, "CookiesPage"); 468if (import.meta.hot && !inWebWorker) { 469 window.$RefreshReg$ = prevRefreshReg; 470 window.$RefreshSig$ = prevRefreshSig; 471} 472if (import.meta.hot && !inWebWorker) { 473 RefreshRuntime.__hmr_import(import.meta.url).then((currentExports) => { 474 RefreshRuntime.registerExportsForReactRefresh("/home/runner/workspace/client/src/pages/CookiesPage.tsx", currentExports); 475 import.meta.hot.accept((nextExports) => { 476 if (!nextExports) return; 477 const invalidateMessage = RefreshRuntime.validateRefreshBoundaryAndEnqueueUpdate("/home/runner/workspace/client/src/pages/CookiesPage.tsx", currentExports, nextExports); 478 if (invalidateMessage) import.meta.hot.invalidate(invalidateMessage); 479 }); 480 }); 481} 482 483//# sourceMappingURL=data:application/json;base64,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
483QUFBO0FBQUE7QUFBQTtBQUFBLFNBb05BO0FBRUo7QUFBRXZCLEdBbFFJRCxhQUFXO0FBQUE0QixLQUFYNUI7QUFvUU4sZUFBZUE7QUFBWSxJQUFBNEI7QUFBQUMsYUFBQUQsSUFBQSIsIm5hbWVzIjpbInVzZUVmZmVjdCIsIlN3aXRjaCIsIkNvb2tpZXNQYWdlIiwiX3MiLCJzdHJpY3RseU5lY2Vzc2FyeSIsInVzZVN0YXRlIiwicGVyZm9ybWFuY2UiLCJzZXRQZXJmb3JtYW5jZSIsIm1hcmtldGluZyIsInNldE1hcmtldGluZyIsImRvY3VtZW50IiwidGl0bGUiLCJoYW5kbGVTYXZlUHJlZmVyZW5jZXMiLCJsb2NhbFN0b3JhZ2UiLCJzZXRJdGVtIiwiSlNPTiIsInN0cmluZ2lmeSIsImFsZXJ0IiwiaGFuZGxlQWNjZXB0QWxsIiwiaGFuZGxlUmVqZWN0Tm9uRXNzZW50aWFsIiwiYmFja2dyb3VuZENvbG9yIiwibWluSGVpZ2h0IiwiZm9udEZhbWlseSIsImZvbnRXZWlnaHQiLCJjb2xvciIsImxldHRlclNwYWNpbmciLCJsaW5lSGVpZ2h0IiwiZSIsInRhcmdldCIsInN0eWxlIiwiX2MiLCIkUmVmcmVzaFJlZyQiXSwiaWdub3JlTGlzdCI6W10sInNvdXJjZXMiOlsiQ29va2llc1BhZ2UudHN4Il0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IHVzZVN0YXRlLCB1c2VFZmZlY3QgfSBmcm9tICdyZWFjdCc7XG5pbXBvcnQgeyBTd2l0Y2ggfSBmcm9tICdAL2NvbXBvbmVudHMvdWkvc3dpdGNoJztcblxuY29uc3QgQ29va2llc1BhZ2UgPSAoKSA9PiB7XG4gIGNvbnN0IFtzdHJpY3RseU5lY2Vzc2FyeV0gPSB1c2VTdGF0ZSh0cnVlKTtcbiAgY29uc3QgW3BlcmZvcm1hbmNlLCBzZXRQZXJmb3JtYW5jZV0gPSB1c2VTdGF0ZShmYWxzZSk7XG4gIGNvbnN0IFttYXJrZXRpbmcsIHNldE1hcmtldGluZ10gPSB1c2VTdGF0ZShmYWxzZSk7XG5cbiAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICBkb2N1bWVudC50aXRsZSA9IFwiQ29va2llIFByZWZlcmVuY2VzIHwgS1lOIFNraW5jYXJlXCI7XG4gICAgcmV0dXJuICgpID0+IHtcbiAgICAgIGRvY3VtZW50LnRpdGxlID0gXCJLWU4gLSBTdXN0YWluYWJsZSBTa2luY2FyZSBmb3IgTWVsYW5pbi1SaWNoIFNraW5cIjtcbiAgICB9O1xuICB9LCBbXSk7XG5cbiAgY29uc3QgaGFuZGxlU2F2ZVByZWZlcmVuY2VzID0gKCkgPT4ge1xuICAgIGxvY2FsU3RvcmFnZS5zZXRJdGVtKCdjb29raWUtcHJlZmVyZW5jZXMnLCBKU09OLnN0cmluZ2lmeSh7XG4gICAgICBzdHJpY3RseU5lY2Vzc2FyeTogdHJ1ZSxcbiAgICAgIHBlcmZvcm1hbmNlLFxuICAgICAgbWFya2V0aW5nXG4gICAgfSkpO1xuICAgIGFsZXJ0KCdZb3VyIGNvb2tpZSBwcmVmZXJlbmNlcyBoYXZlIGJlZW4gc2F2ZWQhJyk7XG4gIH07XG5cbiAgY29uc3QgaGFuZGxlQWNjZXB0QWxsID0gKCkgPT4ge1xuICAgIHNldFBlcmZvcm1hbmNlKHRydWUpO1xuICAgIHNldE1hcmtldGluZyh0cnVlKTtcbiAgICBsb2NhbFN0b3JhZ2Uuc2V0SXRlbSgnY29va2llLXByZWZlcmVuY2VzJywgSlNPTi5zdHJpbmdpZnkoe1xuICAgICAgc3RyaWN0bHlOZWNlc3Nhcnk6IHRydWUsXG4gICAgICBwZXJmb3JtYW5jZTogdHJ1ZSxcbiAgICAgIG1hcmtldGluZzogdHJ1ZVxuICAgIH0pKTtcbiAgICBhbGVydCgnQWxsIGNvb2tpZXMgYWNjZXB0ZWQhJyk7XG4gIH07XG5cbiAgY29uc3QgaGFuZGxlUmVqZWN0Tm9uRXNzZW50aWFsID0gKCkgPT4ge1xuICAgIHNldFBlcmZvcm1hbmNlKGZhbHNlKTtcbiAgICBzZXRNYXJrZXRpbmcoZmFsc2UpO1xuICAgIGxvY2FsU3RvcmFnZS5zZXRJdGVtKCdjb29raWUtcHJlZmVyZW5jZXMnLCBKU09OLnN0cmluZ2lmeSh7XG4gICAgICBzdHJpY3RseU5lY2Vzc2FyeTogdHJ1ZSxcbiAgICAgIHBlcmZvcm1hbmNlOiBmYWxzZSxcbiAgICAgIG1hcmtldGluZzogZmFsc2VcbiAgICB9KSk7XG4gICAgYWxlcnQoJ05vbi1lc3NlbnRpYWwgY29va2llcyByZWplY3RlZCEnKTtcbiAgfTtcblxuICByZXR1cm4gKFxuICAgIDxkaXYgc3R5bGU9e3sgYmFja2dyb3VuZENvbG9yOiAnI2Y1ZjVmNScsIG1pbkhlaWdodDogJzEwMHZoJyB9fT5cbiAgICAgIDxkaXYgY2xhc3NOYW1lPVwibWF4LXctNHhsIG14LWF1dG8gcHgtNiBweS0yMFwiPlxuICAgICAgICA8aDEgXG4gICAgICAgICAgY2xhc3NOYW1lPVwidGV4dC0zeGwgbWQ6dGV4dC00eGwgbWItOFwiXG4gICAgICAgICAgc3R5bGU9e3tcbiAgICAgICAgICAgIGZvbnRGYW1pbHk6IFwiSGVsdmV0aWNhLCBBcmlhbCwgc2Fucy1zZXJpZlwiLFxuICAgICAgICAgICAgZm9udFdlaWdodDogNDAwLFxuICAgICAgICAgICAgY29sb3I6ICcjMUExQTFBJyxcbiAgICAgICAgICAgIGxldHRlclNwYWNpbmc6ICcwLjAyZW0nXG4gICAgICAgICAgfX1cbiAgICAgICAgPlxuICAgICAgICAgIENvb2tpZSBQcmVmZXJlbmNlc1xuICAgICAgICA8L2gxPlxuICAgICAgICBcbiAgICAgICAgPHAgXG4gICAgICAgICAgY2xhc3NOYW1lPVwidGV4dC1iYXNlIGxlYWRpbmctcmVsYXhlZCBtYi0xMlwiXG4gICAgICAgICAgc3R5bGU9e3tcbiAgICAgICAgICAgIGZvbnRGYW1pbHk6IFwiSGVsdmV0aWNhLCBBcmlhbCwgc2Fucy1zZXJpZlwiLFxuICAgICAgICAgICAgZm9udFdlaWdodDogMzAwLFxuICAgICAgICAgICAgY29sb3I6ICcjMUExQTFBJyxcbiAgICAgICAgICAgIGxpbmVIZWlnaHQ6IDEuNlxuICAgICAgICAgIH19XG4gICAgICAgID5cbiAgICAgICAgICBXZSB1c2UgY29va2llcyB0byBtYWtlIHlvdXIgZXhwZXJpZW5jZSBzZWFtbGVzcywgcGVyc29uYWxpemUgY29udGVudCwgYW5kIGFuYWx5emUgcGVyZm9ybWFuY2UuIE1hbmFnZSB5b3VyIHByZWZlcmVuY2VzIG9yIGFjY2VwdCBhbGwgY29va2llcyB0byBjb250aW51ZS5cbiAgICAgICAgPC9wPlxuXG4gICAgICAgIDxkaXYgY2xhc3NOYW1lPVwic3BhY2UteS04IG1iLTEyXCI+XG4gICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJib3JkZXIgYm9yZGVyLWJsYWNrIGJnLXdoaXRlIHAtNlwiPlxuICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJmbGV4IGp1c3RpZnktYmV0d2VlbiBpdGVtcy1jZW50ZXIgbWItM1wiPlxuICAgICAgICAgICAgICA8aDIgXG4gICAgICAgICAgICAgICAgY2xhc3NOYW1lPVwidGV4dC14bFwiXG4gICAgICAgICAgICAgICAgc3R5bGU9e3tcbiAgICAgICAgICAgICAgICAgIGZvbnRGYW1pbHk6IFwiSGVsdmV0aWNhLCBBcmlhbCwgc2Fucy1zZXJpZlwiLFxuICAgICAgICAgICAgICAgICAgZm9udFdlaWdodDogNDAwLFxuICAgICAgICAgICAgICAgICAgY29sb3I6ICcjMUExQTFBJ1xuICAgICAgICAgICAgICAgI
483H19XG4gICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICBTdHJpY3RseSBOZWNlc3NhcnlcbiAgICAgICAgICAgICAgPC9oMj5cbiAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJmbGV4IGl0ZW1zLWNlbnRlciBnYXAtM1wiPlxuICAgICAgICAgICAgICAgIDxzcGFuIFxuICAgICAgICAgICAgICAgICAgY2xhc3NOYW1lPVwidGV4dC1zbVwiXG4gICAgICAgICAgICAgICAgICBzdHlsZT17e1xuICAgICAgICAgICAgICAgICAgICBmb250RmFtaWx5OiBcIkhlbHZldGljYSwgQXJpYWwsIHNhbnMtc2VyaWZcIixcbiAgICAgICAgICAgICAgICAgICAgZm9udFdlaWdodDogMzAwLFxuICAgICAgICAgICAgICAgICAgICBjb2xvcjogJyM2NjYnXG4gICAgICAgICAgICAgICAgICB9fVxuICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgIEFsd2F5cyBBY3RpdmVcbiAgICAgICAgICAgICAgICA8L3NwYW4+XG4gICAgICAgICAgICAgICAgPFN3aXRjaCBjaGVja2VkPXtzdHJpY3RseU5lY2Vzc2FyeX0gZGlzYWJsZWQgZGF0YS10ZXN0aWQ9XCJzd2l0Y2gtc3RyaWN0bHktbmVjZXNzYXJ5XCIgLz5cbiAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDxwIFxuICAgICAgICAgICAgICBjbGFzc05hbWU9XCJ0ZXh0LWJhc2VcIlxuICAgICAgICAgICAgICBzdHlsZT17e1xuICAgICAgICAgICAgICAgIGZvbnRGYW1pbHk6IFwiSGVsdmV0aWNhLCBBcmlhbCwgc2Fucy1zZXJpZlwiLFxuICAgICAgICAgICAgICAgIGZvbnRXZWlnaHQ6IDMwMCxcbiAgICAgICAgICAgICAgICBjb2xvcjogJyMxQTFBMUEnLFxuICAgICAgICAgICAgICAgIGxpbmVIZWlnaHQ6IDEuNlxuICAgICAgICAgICAgICB9fVxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgICBUaGVzZSBjb29raWVzIGFyZSBlc3NlbnRpYWwgZm9yIHRoZSB3ZWJzaXRlIHRvIGZ1bmN0aW9uIHByb3Blcmx5LiBUaGV5IGVuYWJsZSBjb3JlIGZ1bmN0aW9uYWxpdHkgc3VjaCBhcyBzZWN1cml0eSwgbmV0d29yayBtYW5hZ2VtZW50LCBhbmQgYWNjZXNzaWJpbGl0eS5cbiAgICAgICAgICAgIDwvcD5cbiAgICAgICAgICA8L2Rpdj5cblxuICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiYm9yZGVyIGJvcmRlci1ibGFjayBiZy13aGl0ZSBwLTZcIj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiZmxleCBqdXN0aWZ5LWJldHdlZW4gaXRlbXMtY2VudGVyIG1iLTNcIj5cbiAgICAgICAgICAgICAgPGgyIFxuICAgICAgICAgICAgICAgIGNsYXNzTmFtZT1cInRleHQteGxcIlxuICAgICAgICAgICAgICAgIHN0eWxlPXt7XG4gICAgICAgICAgICAgICAgICBmb250RmFtaWx5OiBcIkhlbHZldGljYSwgQXJpYWwsIHNhbnMtc2VyaWZcIixcbiAgICAgICAgICAgICAgICAgIGZvbnRXZWlnaHQ6IDQwMCxcbiAgICAgICAgICAgICAgICAgIGNvbG9yOiAnIzFBMUExQSdcbiAgICAgICAgICAgICAgICB9fVxuICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgUGVyZm9ybWFuY2UgJiBBbmFseXRpY3NcbiAgICAgICAgICAgICAgPC9oMj5cbiAgICAgICAgICAgICAgPFN3aXRjaCBcbiAgICAgICAgICAgICAgICBjaGVja2VkPXtwZXJmb3JtYW5jZX0gXG4gICAgICAgICAgICAgICAgb25DaGVja2VkQ2hhbmdlPXtzZXRQZXJmb3JtYW5jZX1cbiAgICAgICAgICAgICAgICBkYXRhLXRlc3RpZD1cInN3aXRjaC1wZXJmb3JtYW5jZVwiXG4gICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDxwIFxuICAgICAgICAgICAgICBjbGFzc05hbWU9XCJ0ZXh0LWJhc2VcIlxuICAgICAgICAgICAgICBzdHlsZT17e1xuICAgICAgICAgICAgICAgIGZvbnRGYW1pbHk6IFwiSGVsdmV0aWNhLCBBcmlhbCwgc2Fucy1zZXJpZlwiLFxuICAgICAgICAgICAgICAgIGZvbnRXZWlnaHQ6IDMwMCxcbiAgICAgICAgICAgICAgICBjb2xvcjogJyMxQTFBMUEnLFxuICAgICAgICAgICAgICAgIGxpbmVIZWlnaHQ6IDEuNlxuICAgICAgICAgICAgICB9fVxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgICBUaGVzZSBjb29raWVzIGhlbHAgdXMgdW5kZXJzdGFuZCBob3cgdmlzaXRvcnMgaW50ZXJhY3Qgd2l0aCBvdXIgd2Vic2l0ZSBieSBjb2xsZWN0aW5nIGFuZCByZXBvcnRpbmcgaW5mb3JtYXRpb24gYW5vbnltb3VzbHkuIFRoaXMgaGVscHMgdXMgaW1wcm92ZSBvdXIgc2l0ZSBwZXJmb3JtYW5jZSBhbmQgdXNlciBleHBlcmllbmNlLlxuICAgICAgICAgICAgPC9wPlxuICAgICAgICAgIDwvZGl2PlxuXG4gICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJib3JkZXIgYm9yZGVyLWJsYWNrIGJnLXdoaXRlIHAtNlwiPlxuICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJmbGV4IGp1c3RpZnktYmV0d2VlbiBpdGVtcy1jZW50ZXIgbWItM1wiPlxuICAgICAgICAgICAgICA8aDIgXG4gICAgICAgICAgICAgICAgY2xhc3NOYW1lPVwidGV4dC14bFwiXG4gICAgICAgICAgICAgICAgc3R5bGU9e3tcbiAgICAgICAgICAgICAgICAgIGZvbnRGYW1pbHk6IFwiSGVsdmV0aWNhLCBBcmlhbCwgc2Fucy1zZXJpZlwiLFxuICAgICAgICAgICAgICAgICAgZm9udFdlaWdodDogNDAwLFxuICAgICAgICAgICAgICAgICAgY29sb3I6ICcjMUExQTFBJ1xuICAgICAgICAgICAgICAgIH19XG4gICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICBNYXJrZXRpbmcgJiBQZXJzb25hbGl6YXRpb25cbiAgICAgICAgICAgICAgPC9oMj5cbiAgICAgICAgICAgICAgPFN3aXRjaCBcbiAgICAgICAgICAgICAgICBjaGVja2VkPXttYXJrZXRpbmd9IFxuICAgICAgICAgICAgICAgIG9uQ2hlY2tlZENoYW5nZT17c2V0TWFya2V0aW5nfVxuICAgICAgICAgICAgICAgIGRhdGEtdGVzdGlkPVwic3dpdGNoLW1hcmtldGluZ1wiXG4gICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDxwIFxuICAgICAgICAgICAgICBjbGFzc05hbWU9XCJ0ZXh0LWJhc2VcIlxuICAgICAgICAgICAgICBzdHlsZT17e1xuICAgICAgICAgICAgICAgIGZvbnRGYW1pbHk6IFwiSGVsdmV0aWNhLCBBcmlhbCwgc2Fucy1zZXJpZlwiLFxuICAgICAgICAgICAgICAgIGZvbnRXZWlnaHQ6IDMwMCxcbiAgICAgICAgICAgICAgICBjb2xvcjogJyMxQTFBMUEnLFxuICAgICAgICAgICAgICAgIGxpbmVIZWlnaHQ6IDEuNlxuICAgICAgICAgICAgICB9fVxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgICBUaGVzZSBjb29raWVzIGFyZSB1c2VkIHRvIHRyYWNrIHZpc2l0b3JzIGFjcm9zcyB3ZWJzaXRlcyB0byBkaXNwbGF5IHJlbGV2YW50IGFkdmVydGlzZW1lbnRzIGFuZCBwZXJzb25hbGl6ZWQgY29udGVudC4gVGhleSBoZWxwIG1lYXN1cmUgdGhlIGVmZmVjdGl2ZW5lc3Mgb2YgYWR2ZXJ0aXNpbmcgY2FtcGFpZ25zLlxuICAgICAgICAgICAgPC9wPlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L2Rpdj5cblxuICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImZsZXggZmxleC1jb2wgc206ZmxleC1yb3cgZ2FwLTQgbWItNlwiPlxuICAgICAgICAgIDxidXR0b24gXG4gICAgICAgICAgICBvbkNsaWNrPXtoYW5kbGVBY2NlcHRBbGx9XG4gICAgICAgICAgICBjbGFzc05hbWU9XCJweC04IHB5LTMgYm9yZGVyIGJvcmRlci1ibGFjayB0cmFuc2l0aW9uLWNvbG9ycyB0ZXh0LXNtIHVwcGVyY2FzZSB0cmFja2luZy13aWRlclwiXG4gICAgICAgICAgICBzdHlsZT17e1xuICAgICAgICAgICAgICBmb250RmFtaWx5OiBcIkhlbHZldGljYSwgQXJpYWwsIHNhbnMtc2VyaWZcIixcbiAgICAgICAgICAgICAgZm9udFdlaWdodDogNDAwLFxuICAgICAgICAgICAgICBjb2xvcjogJyNmZmYnLFxuICAgICAgICAgICAgICBiYWNrZ3JvdW5k
483Q29sb3I6ICcjMUExQTFBJyxcbiAgICAgICAgICAgICAgbGV0dGVyU3BhY2luZzogJzNweCdcbiAgICAgICAgICAgIH19XG4gICAgICAgICAgICBvbk1vdXNlRW50ZXI9eyhlKSA9PiB7XG4gICAgICAgICAgICAgIGNvbnN0IHRhcmdldCA9IGUudGFyZ2V0IGFzIEhUTUxFbGVtZW50O1xuICAgICAgICAgICAgICB0YXJnZXQuc3R5bGUuYmFja2dyb3VuZENvbG9yID0gJyMzMzMnO1xuICAgICAgICAgICAgfX1cbiAgICAgICAgICAgIG9uTW91c2VMZWF2ZT17KGUpID0+IHtcbiAgICAgICAgICAgICAgY29uc3QgdGFyZ2V0ID0gZS50YXJnZXQgYXMgSFRNTEVsZW1lbnQ7XG4gICAgICAgICAgICAgIHRhcmdldC5zdHlsZS5iYWNrZ3JvdW5kQ29sb3IgPSAnIzFBMUExQSc7XG4gICAgICAgICAgICB9fVxuICAgICAgICAgICAgZGF0YS10ZXN0aWQ9XCJidXR0b24tYWNjZXB0LWFsbFwiXG4gICAgICAgICAgPlxuICAgICAgICAgICAgQWNjZXB0IEFsbFxuICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICAgIFxuICAgICAgICAgIDxidXR0b24gXG4gICAgICAgICAgICBvbkNsaWNrPXtoYW5kbGVTYXZlUHJlZmVyZW5jZXN9XG4gICAgICAgICAgICBjbGFzc05hbWU9XCJweC04IHB5LTMgYm9yZGVyIGJvcmRlci1ibGFjayB0cmFuc2l0aW9uLWNvbG9ycyB0ZXh0LXNtIHVwcGVyY2FzZSB0cmFja2luZy13aWRlclwiXG4gICAgICAgICAgICBzdHlsZT17e1xuICAgICAgICAgICAgICBmb250RmFtaWx5OiBcIkhlbHZldGljYSwgQXJpYWwsIHNhbnMtc2VyaWZcIixcbiAgICAgICAgICAgICAgZm9udFdlaWdodDogNDAwLFxuICAgICAgICAgICAgICBjb2xvcjogJyMxQTFBMUEnLFxuICAgICAgICAgICAgICBiYWNrZ3JvdW5kQ29sb3I6ICd0cmFuc3BhcmVudCcsXG4gICAgICAgICAgICAgIGxldHRlclNwYWNpbmc6ICczcHgnXG4gICAgICAgICAgICB9fVxuICAgICAgICAgICAgb25Nb3VzZUVudGVyPXsoZSkgPT4ge1xuICAgICAgICAgICAgICBjb25zdCB0YXJnZXQgPSBlLnRhcmdldCBhcyBIVE1MRWxlbWVudDtcbiAgICAgICAgICAgICAgdGFyZ2V0LnN0eWxlLmJhY2tncm91bmRDb2xvciA9ICcjZjBmMGYwJztcbiAgICAgICAgICAgIH19XG4gICAgICAgICAgICBvbk1vdXNlTGVhdmU9eyhlKSA9PiB7XG4gICAgICAgICAgICAgIGNvbnN0IHRhcmdldCA9IGUudGFyZ2V0IGFzIEhUTUxFbGVtZW50O1xuICAgICAgICAgICAgICB0YXJnZXQuc3R5bGUuYmFja2dyb3VuZENvbG9yID0gJ3RyYW5zcGFyZW50JztcbiAgICAgICAgICAgIH19XG4gICAgICAgICAgICBkYXRhLXRlc3RpZD1cImJ1dHRvbi1zYXZlLXByZWZlcmVuY2VzXCJcbiAgICAgICAgICA+XG4gICAgICAgICAgICBTYXZlIFByZWZlcmVuY2VzXG4gICAgICAgICAgPC9idXR0b24+XG4gICAgICAgICAgXG4gICAgICAgICAgPGJ1dHRvbiBcbiAgICAgICAgICAgIG9uQ2xpY2s9e2hhbmRsZVJlamVjdE5vbkVzc2VudGlhbH1cbiAgICAgICAgICAgIGNsYXNzTmFtZT1cInB4LTggcHktMyBib3JkZXIgYm9yZGVyLWJsYWNrIHRyYW5zaXRpb24tY29sb3JzIHRleHQtc20gdXBwZXJjYXNlIHRyYWNraW5nLXdpZGVyXCJcbiAgICAgICAgICAgIHN0eWxlPXt7XG4gICAgICAgICAgICAgIGZvbnRGYW1pbHk6IFwiSGVsdmV0aWNhLCBBcmlhbCwgc2Fucy1zZXJpZlwiLFxuICAgICAgICAgICAgICBmb250V2VpZ2h0OiA0MDAsXG4gICAgICAgICAgICAgIGNvbG9yOiAnIzFBMUExQScsXG4gICAgICAgICAgICAgIGJhY2tncm91bmRDb2xvcjogJ3RyYW5zcGFyZW50JyxcbiAgICAgICAgICAgICAgbGV0dGVyU3BhY2luZzogJzNweCdcbiAgICAgICAgICAgIH19XG4gICAgICAgICAgICBvbk1vdXNlRW50ZXI9eyhlKSA9PiB7XG4gICAgICAgICAgICAgIGNvbnN0IHRhcmdldCA9IGUudGFyZ2V0IGFzIEhUTUxFbGVtZW50O1xuICAgICAgICAgICAgICB0YXJnZXQuc3R5bGUuYmFja2dyb3VuZENvbG9yID0gJyNmMGYwZjAnO1xuICAgICAgICAgICAgfX1cbiAgICAgICAgICAgIG9uTW91c2VMZWF2ZT17KGUpID0+IHtcbiAgICAgICAgICAgICAgY29uc3QgdGFyZ2V0ID0gZS50YXJnZXQgYXMgSFRNTEVsZW1lbnQ7XG4gICAgICAgICAgICAgIHRhcmdldC5zdHlsZS5iYWNrZ3JvdW5kQ29sb3IgPSAndHJhbnNwYXJlbnQnO1xuICAgICAgICAgICAgfX1cbiAgICAgICAgICAgIGRhdGEtdGVzdGlkPVwiYnV0dG9uLXJlamVjdC1ub24tZXNzZW50aWFsXCJcbiAgICAgICAgICA+XG4gICAgICAgICAgICBSZWplY3QgTm9uLUVzc2VudGlhbFxuICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICA8L2Rpdj5cblxuICAgICAgICA8cCBcbiAgICAgICAgICBjbGFzc05hbWU9XCJ0ZXh0LXNtXCJcbiAgICAgICAgICBzdHlsZT17e1xuICAgICAgICAgICAgZm9udEZhbWlseTogXCJIZWx2ZXRpY2EsIEFyaWFsLCBzYW5zLXNlcmlmXCIsXG4gICAgICAgICAgICBmb250V2VpZ2h0OiAzMDAsXG4gICAgICAgICAgICBjb2xvcjogJyM2NjYnLFxuICAgICAgICAgICAgbGluZUhlaWdodDogMS42XG4gICAgICAgICAgfX1cbiAgICAgICAgPlxuICAgICAgICAgIFlvdSBjYW4gY2hhbmdlIHlvdXIgcHJlZmVyZW5jZXMgYW55dGltZSBieSB2aXNpdGluZyB0aGlzIHBhZ2UuXG4gICAgICAgIDwvcD5cbiAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuICApO1xufTtcblxuZXhwb3J0IGRlZmF1bHQgQ29va2llc1BhZ2U7XG4iXSwiZmlsZSI6Ii9ob21lL3J1bm5lci93b3Jrc3BhY2UvY2xpZW50L3NyYy9wYWdlcy9Db29raWVzUGFnZS50c3gifQ==
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.