1import { createHotContext as __vite__createHotContext } from "/@vite/client";import.meta.hot = __vite__createHotContext("/src/components/Resources.tsx");import __vite__cjsImport0_react_jsxDevRuntime from "/@fs/home/runner/workspace/node_modules/.vite/deps/react_jsx-dev-runtime.js?v=7d105d5e"; 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/components/Resources.tsx " + id); 14 }; 15 window.$RefreshSig$ = RefreshRuntime.createSignatureFunctionForTransform; 16} 17var _s = $RefreshSig$(), _s2 = $RefreshSig$(); 18import { motion } from "/@fs/home/runner/workspace/node_modules/.vite/deps/framer-motion.js?v=7d105d5e"; 19import { Card } from "/src/components/ui/card.tsx"; 20import { 21 Book, 22 FileText, 23 GraduationCap, 24 Newspaper, 25 PlayCircle, 26 Video, 27 ArrowRight, 28 Clock, 29 Bookmark 30} from "/@fs/home/runner/workspace/node_modules/.vite/deps/lucide-react.js?v=7d105d5e"; 31import { Button } from "/src/components/ui/button.tsx"; 32import { Carousel, CarouselContent, CarouselItem, CarouselNext, CarouselPrevious } from "/src/components/ui/carousel.tsx"; 33import { Badge } from "/src/components/ui/badge.tsx"; 34import __vite__cjsImport9_react from "/@fs/home/runner/workspace/node_modules/.vite/deps/react.js?v=7d105d5e"; const useState = __vite__cjsImport9_react["useState"]; 35import { itemVariants, buttonHoverAnimation } from "/src/lib/animations.ts"; 36const getColorHex = (colorClass) => { 37 if (colorClass.includes("blue")) return "#3b82f6"; 38 if (colorClass.includes("purple")) return "#a855f7"; 39 if (colorClass.includes("cyan")) return "#06b6d4"; 40 if (colorClass.includes("green")) return "#22c55e"; 41 if (colorClass.includes("red")) return "#ef4444"; 42 if (colorClass.includes("amber")) return "#f59e0b"; 43 return "#1f2937"; 44}; 45const resources = [ 46 { 47 title: "Guide to Clinical Documentation", 48 type: "Article", 49 icon: /* @__PURE__ */ jsxDEV(FileText, { className: "w-6 h-6" }, void 0, false, { 50 fileName: "/home/runner/workspace/client/src/components/Resources.tsx", 51 lineNumber: 47, 52 columnNumber: 9 53 }, this), 54 description: "Learn best practices for therapy note-taking and documentation.", 55 readTime: "10 min read", 56 category: "Documentation", 57 color: "bg-blue-500", 58 badgeColor: "bg-blue-100 text-blue-600" 59 }, 60 { 61 title: "EHR Integration Strategies", 62 type: "Video", 63 icon: /* @__PURE__ */ jsxDEV(Video, { className: "w-6 h-6" }, void 0, false, { 64 fileName: "/home/runner/workspace/client/src/components/Resources.tsx", 65 lineNumber: 57, 66 columnNumber: 9 67 }, this), 68 description: "How to seamlessly integrate AI notes with your EHR system.", 69 readTime: "15 min watch", 70 category: "Technical", 71 color: "bg-purple-500", 72 badgeColor: "bg-purple-100 text-purple-600" 73 }, 74 { 75 title: "Therapy Note Templates", 76 type: "Guide", 77 icon: /* @__PURE__ */ jsxDEV(Book, { className: "w-6 h-6" }, void 0, false, { 78 fileName: "/home/runner/workspace/client/src/components/Resources.tsx", 79 lineNumber: 67, 80 columnNumber: 9 81 }, this), 82 description: "Standardized templates for different therapy modalities.", 83 readTime: "8 min read", 84 category: "Templates", 85 color: "bg-green-500", 86 badgeColor: "bg-green-100 text-green-600" 87 }, 88 { 89 title: "HIPAA Compliance Guide", 90 type: "Course", 91 icon: /* @__PURE__ */ jsxDEV(GraduationCap, { className: "w-6 h-6" }, void 0, false, { 92 fileName: "/home/runner/workspace/client/src/components/Resources.tsx", 93 lineNumber: 77, 94 columnNumber: 9 95 }, this), 96 description: "Understanding HIPAA requirements in digital note-taking.", 97 readTime: "30 min course", 98 category: "Compliance", 99 color: "bg-red-500", 100 badgeColor: "bg-red-100 text-red-600" 101 }, 102 { 103 title: "Latest Updates", 104 type: "News", 105 icon: /* @__PURE__ */ jsxDEV(Newspaper, { className: "w-6 h-6" }, void 0, false, { 106 fileName: "/home/runner/workspace/client/src/components/Resources.tsx", 107 lineNumber: 87, 108 columnNumber: 9 109 }, this), 110 description: "Stay updated with the latest features and improvements.", 111 readTime: "5 min read", 112 category: "News", 113 color: "bg-amber-500", 114 badgeColor: "bg-amber-100 text-amber-600" 115 }, 116 { 117 title: "Video Tutorials", 118 type: "Video Series", 119 icon: /* @__PURE__ */ jsxDEV(PlayCircle, { className: "w-6 h-6" }, void 0, false, { 120 fileName: "/home/runner/workspace/client/src/components/Resources.tsx", 121 lineNumber: 97, 122 columnNumber: 9 123 }, this), 124 description: "Step-by-step guides to using all platform features.", 125 readTime: "45 min series", 126 category: "Tutorial", 127 color: "bg-cyan-500", 128 badgeColor: "bg-cyan-100 text-cyan-600" 129 } 130]; 131const ResourceCard = ({ resource, index }) => { 132 _s(); 133 const [isHovered, setIsHovered] = useState(false); 134 const getResourceColorHex = (color) => { 135 if (color.includes("blue")) return "#3b82f6"; 136 if (color.includes("purple")) return "#a855f7"; 137 if (color.includes("cyan")) return "#06b6d4"; 138 if (color.includes("green")) return "#22c55e"; 139 if (color.includes("red")) return "#ef4444"; 140 if (color.includes("amber")) return "#f59e0b"; 141 return "#1f2937"; 142 }; 143 return /* @__PURE__ */ jsxDEV( 144 motion.div, 145 { 146 variants: itemVariants, 147 custom: index, 148 onHoverStart: () => setIsHovered(true), 149 onHoverEnd: () => setIsHovered(false), 150 whileHover: { y: -8 }, 151 transition: { type: "spring", stiffness: 300, damping: 20 }, 152 className: "h-full", 153 children: /* @__PURE__ */ jsxDEV(Card, { className: "p-6 h-full border shadow-sm hover:shadow-lg transition-all duration-300 overflow-hidden relative", children: [
154 /* @__PURE__ */ jsxDEV( 155 motion.div, 156 { 157 className: `absolute -top-12 -right-12 w-32 h-32 ${resource.color} rounded-full opacity-10 blur-lg`, 158 animate: { 159 scale: isHovered ? 1.5 : 1, 160 opacity: isHovered ? 0.2 : 0.1 161 }, 162 transition: { duration: 0.7 } 163 }, 164 void 0, 165 false, 166 { 167 fileName: "/home/runner/workspace/client/src/components/Resources.tsx", 168 lineNumber: 132, 169 columnNumber: 9 170 }, 171 this 172 ), 173 /* @__PURE__ */ jsxDEV("div", { className: "flex items-start gap-4 mb-4 relative z-10", children: [ 174 /* @__PURE__ */ jsxDEV( 175 motion.div, 176 { 177 animate: { 178 rotate: isHovered ? [0, 15, 0] : 0, 179 scale: isHovered ? 1.1 : 1 180 }, 181 transition: { duration: 0.6, ease: "easeInOut" }, 182 className: `w-12 h-12 ${resource.color} bg-opacity-10 rounded-lg flex items-center justify-center ${resource.color.replace("bg-", "text-")}`, 183 children: resource.icon 184 }, 185 void 0, 186 false, 187 { 188 fileName: "/home/runner/workspace/client/src/components/Resources.tsx", 189 lineNumber: 142, 190 columnNumber: 11 191 }, 192 this 193 ),
194 /* @__PURE__ */ jsxDEV("div", { children: [ 195 /* @__PURE__ */ jsxDEV(Badge, { variant: "secondary", className: `${resource.badgeColor} font-medium mb-1`, children: resource.type }, void 0, false, { 196 fileName: "/home/runner/workspace/client/src/components/Resources.tsx", 197 lineNumber: 153, 198 columnNumber: 13 199 }, this), 200 /* @__PURE__ */ jsxDEV("div", { className: "flex items-center gap-2 text-sm text-gray-500", children: [ 201 /* @__PURE__ */ jsxDEV(Clock, { className: "w-3.5 h-3.5" }, void 0, false, { 202 fileName: "/home/runner/workspace/client/src/components/Resources.tsx", 203 lineNumber: 157, 204 columnNumber: 15 205 }, this), 206 /* @__PURE__ */ jsxDEV("span", { children: resource.readTime }, void 0, false, { 207 fileName: "/home/runner/workspace/client/src/components/Resources.tsx", 208 lineNumber: 158, 209 columnNumber: 15 210 }, this) 211 ] }, void 0, true, { 212 fileName: "/home/runner/workspace/client/src/components/Resources.tsx", 213 lineNumber: 156, 214 columnNumber: 13 215 }, this) 216 ] }, void 0, true, { 217 fileName: "/home/runner/workspace/client/src/components/Resources.tsx", 218 lineNumber: 152, 219 columnNumber: 11 220 }, this) 221 ] }, void 0, true, { 222 fileName: "/home/runner/workspace/client/src/components/Resources.tsx", 223 lineNumber: 141, 224 columnNumber: 9 225 }, this),
226 /* @__PURE__ */ jsxDEV( 227 motion.h3, 228 { 229 className: "text-lg font-semibold mb-2", 230 animate: { 231 x: isHovered ? 3 : 0, 232 color: isHovered ? getResourceColorHex(resource.color) : "#1f2937" 233 }, 234 transition: { duration: 0.3 }, 235 children: resource.title 236 }, 237 void 0, 238 false, 239 { 240 fileName: "/home/runner/workspace/client/src/components/Resources.tsx", 241 lineNumber: 163, 242 columnNumber: 9 243 }, 244 this 245 ), 246 /* @__PURE__ */ jsxDEV("p", { className: "text-gray-600 mb-4 relative z-10", children: resource.description }, void 0, false, { 247 fileName: "/home/runner/workspace/client/src/components/Resources.tsx", 248 lineNumber: 174, 249 columnNumber: 9 250 }, this), 251 /* @__PURE__ */ jsxDEV("div", { className: "flex items-center justify-between mt-auto relative z-10", children: [ 252 /* @__PURE__ */ jsxDEV(Badge, { variant: "outline", className: "text-gray-500 border-gray-200", children: resource.category }, void 0, false, { 253 fileName: "/home/runner/workspace/client/src/components/Resources.tsx", 254 lineNumber: 177, 255 columnNumber: 11 256 }, this),
257 /* @__PURE__ */ jsxDEV( 258 motion.div, 259 { 260 whileHover: "hover", 261 whileTap: "tap", 262 variants: buttonHoverAnimation, 263 children: /* @__PURE__ */ jsxDEV( 264 Button, 265 { 266 variant: "ghost", 267 size: "sm", 268 className: "group", 269 children: [ 270 /* @__PURE__ */ jsxDEV("span", { className: "mr-1", children: "Learn More" }, void 0, false, { 271 fileName: "/home/runner/workspace/client/src/components/Resources.tsx", 272 lineNumber: 191, 273 columnNumber: 15 274 }, this), 275 /* @__PURE__ */ jsxDEV( 276 motion.div, 277 { 278 animate: { x: isHovered ? 3 : 0 }, 279 transition: { duration: 0.2 }, 280 children: /* @__PURE__ */ jsxDEV(ArrowRight, { size: 16, className: `group-hover:text-blue-500` }, void 0, false, { 281 fileName: "/home/runner/workspace/client/src/components/Resources.tsx", 282 lineNumber: 196, 283 columnNumber: 17 284 }, this) 285 }, 286 void 0, 287 false, 288 { 289 fileName: "/home/runner/workspace/client/src/components/Resources.tsx", 290 lineNumber: 192, 291 columnNumber: 15 292 }, 293 this 294 ) 295 ] 296 }, 297 void 0, 298 true, 299 { 300 fileName: "/home/runner/workspace/client/src/components/Resources.tsx", 301 lineNumber: 186, 302 columnNumber: 13 303 }, 304 this 305 ) 306 }, 307 void 0, 308 false, 309 { 310 fileName: "/home/runner/workspace/client/src/components/Resources.tsx", 311 lineNumber: 181, 312 columnNumber: 11 313 }, 314 this 315 ) 316 ] }, void 0, true, { 317 fileName: "/home/runner/workspace/client/src/components/Resources.tsx", 318 lineNumber: 176, 319 columnNumber: 9 320 }, this) 321 ] }, void 0, true, { 322 fileName: "/home/runner/workspace/client/src/components/Resources.tsx", 323 lineNumber: 130, 324 columnNumber: 7 325 }, this) 326 }, 327 void 0, 328 false, 329 { 330 fileName: "/home/runner/workspace/client/src/components/Resources.tsx", 331 lineNumber: 121, 332 columnNumber: 5 333 }, 334 this 335 ); 336}; 337_s(ResourceCard, "FPQn8a98tPjpohC7NUYORQR8GJE="); 338_c = ResourceCard; 339export default function Resources() { 340 _s2(); 341 const [isBookmarked, setIsBookmarked] = useState(false); 342 return /* @__PURE__ */ jsxDEV("section", { id: "resources-section", className: "py-24 px-4 bg-gradient-to-b from-white to-gray-50 relative overflow-hidden", children: [ 343 /* @__PURE__ */ jsxDEV( 344 motion.div, 345 { 346 initial: { opacity: 0, scale: 0.8 }, 347 animate: { opacity: 0.05, scale: 1 }, 348 transition: { duration: 1.5 }, 349 className: "absolute -right-20 top-40 w-80 h-80 bg-gradient-to-br from-blue-300 to-cyan-300 rounded-full blur-3xl" 350 }, 351 void 0, 352 false, 353 { 354 fileName: "/home/runner/workspace/client/src/components/Resources.tsx", 355 lineNumber: 211, 356 columnNumber: 7 357 }, 358 this 359 ), 360 /* @__PURE__ */ jsxDEV("div", { className: "container mx-auto relative z-10", children: [
361 /* @__PURE__ */ jsxDEV("div", { className: "text-center max-w-3xl mx-auto mb-16", children: [ 362 /* @__PURE__ */ jsxDEV( 363 motion.h2, 364 { 365 initial: { opacity: 0, y: 20 }, 366 whileInView: { opacity: 1, y: 0 }, 367 transition: { duration: 0.6 }, 368 viewport: { once: true }, 369 className: "text-4xl font-bold mb-4", 370 children: [ 371 /* @__PURE__ */ jsxDEV("span", { className: "bg-clip-text text-transparent bg-gradient-to-r from-blue-500 to-cyan-400", children: "Resources" }, void 0, false, { 372 fileName: "/home/runner/workspace/client/src/components/Resources.tsx", 373 lineNumber: 227, 374 columnNumber: 13 375 }, this), 376 /* @__PURE__ */ jsxDEV("span", { className: "text-gray-900", children: " & Learning Hub" }, void 0, false, { 377 fileName: "/home/runner/workspace/client/src/components/Resources.tsx", 378 lineNumber: 230, 379 columnNumber: 13 380 }, this) 381 ] 382 }, 383 void 0, 384 true, 385 { 386 fileName: "/home/runner/workspace/client/src/components/Resources.tsx", 387 lineNumber: 220, 388 columnNumber: 11 389 }, 390 this 391 ),
392 /* @__PURE__ */ jsxDEV( 393 motion.p, 394 { 395 initial: { opacity: 0, y: 20 }, 396 whileInView: { opacity: 1, y: 0 }, 397 transition: { duration: 0.6, delay: 0.2 }, 398 viewport: { once: true }, 399 className: "text-xl text-gray-600 mb-8", 400 children: "Explore our comprehensive library of guides, tutorials, and best practices to enhance your clinical documentation workflow." 401 }, 402 void 0, 403 false, 404 { 405 fileName: "/home/runner/workspace/client/src/components/Resources.tsx", 406 lineNumber: 232, 407 columnNumber: 11 408 }, 409 this 410 ) 411 ] }, void 0, true, { 412 fileName: "/home/runner/workspace/client/src/components/Resources.tsx", 413 lineNumber: 219, 414 columnNumber: 9 415 }, this), 416 /* @__PURE__ */ jsxDEV( 417 motion.div, 418 { 419 initial: { opacity: 0, y: 20 }, 420 whileInView: { opacity: 1, y: 0 }, 421 transition: { duration: 0.6 }, 422 viewport: { once: true }, 423 className: "mb-16", 424 children: /* @__PURE__ */ jsxDEV( 425 Carousel, 426 { 427 opts: { 428 align: "start", 429 loop: true 430 }, 431 className: "w-full", 432 children: [
433 /* @__PURE__ */ jsxDEV(CarouselContent, { className: "-ml-4", children: resources.map( 434 (resource, index) => /* @__PURE__ */ jsxDEV(CarouselItem, { className: "pl-4 md:basis-1/2 lg:basis-1/3", children: /* @__PURE__ */ jsxDEV(ResourceCard, { resource, index }, void 0, false, { 435 fileName: "/home/runner/workspace/client/src/components/Resources.tsx", 436 lineNumber: 262, 437 columnNumber: 19 438 }, this) }, index, false, { 439 fileName: "/home/runner/workspace/client/src/components/Resources.tsx", 440 lineNumber: 261, 441 columnNumber: 15 442 }, this) 443 ) }, void 0, false, { 444 fileName: "/home/runner/workspace/client/src/components/Resources.tsx", 445 lineNumber: 259, 446 columnNumber: 13 447 }, this), 448 /* @__PURE__ */ jsxDEV("div", { className: "hidden md:flex items-center justify-center mt-8 gap-2", children: [
449 /* @__PURE__ */ jsxDEV( 450 motion.div, 451 { 452 whileHover: { scale: 1.05 }, 453 whileTap: { scale: 0.95 }, 454 children: /* @__PURE__ */ jsxDEV(CarouselPrevious, { className: "position-relative border-blue-200 hover:bg-blue-50 hover:border-blue-300" }, void 0, false, { 455 fileName: "/home/runner/workspace/client/src/components/Resources.tsx", 456 lineNumber: 271, 457 columnNumber: 17 458 }, this) 459 }, 460 void 0, 461 false, 462 { 463 fileName: "/home/runner/workspace/client/src/components/Resources.tsx", 464 lineNumber: 267, 465 columnNumber: 15 466 }, 467 this 468 ), 469 /* @__PURE__ */ jsxDEV( 470 motion.div, 471 { 472 whileHover: { scale: 1.05 }, 473 whileTap: { scale: 0.95 }, 474 children: /* @__PURE__ */ jsxDEV(CarouselNext, { className: "position-relative border-blue-200 hover:bg-blue-50 hover:border-blue-300" }, void 0, false, { 475 fileName: "/home/runner/workspace/client/src/components/Resources.tsx", 476 lineNumber: 277, 477 columnNumber: 17 478 }, this) 479 }, 480 void 0, 481 false, 482 { 483 fileName: "/home/runner/workspace/client/src/components/Resources.tsx", 484 lineNumber: 273, 485 columnNumber: 15 486 }, 487 this 488 ) 489 ] }, void 0, true, { 490 fileName: "/home/runner/workspace/client/src/components/Resources.tsx", 491 lineNumber: 266, 492 columnNumber: 13 493 }, this) 494 ] 495 }, 496 void 0, 497 true, 498 { 499 fileName: "/home/runner/workspace/client/src/components/Resources.tsx", 500 lineNumber: 252, 501 columnNumber: 11 502 }, 503 this 504 ) 505 }, 506 void 0, 507 false, 508 { 509 fileName: "/home/runner/workspace/client/src/components/Resources.tsx", 510 lineNumber: 245, 511 columnNumber: 9 512 }, 513 this 514 ),
515 /* @__PURE__ */ jsxDEV( 516 motion.div, 517 { 518 initial: { opacity: 0, y: 20 }, 519 whileInView: { opacity: 1, y: 0 }, 520 transition: { duration: 0.6 }, 521 viewport: { once: true }, 522 className: "text-center", 523 children: [ 524 /* @__PURE__ */ jsxDEV( 525 motion.div, 526 { 527 whileHover: "hover", 528 whileTap: "tap", 529 variants: buttonHoverAnimation, 530 children: /* @__PURE__ */ jsxDEV("a", { href: "https://transcribe.therapedia.pro/resources", target: "_blank", rel: "noopener noreferrer", children: /* @__PURE__ */ jsxDEV( 531 Button, 532 { 533 size: "lg", 534 className: "bg-gradient-to-r from-blue-500 to-cyan-400 text-white hover:from-blue-600 hover:to-cyan-500 shadow-lg hover:shadow-xl transition-all duration-300", 535 children: [ 536 /* @__PURE__ */ jsxDEV("span", { className: "mr-2", children: "Browse All Resources" }, void 0, false, { 537 fileName: "/home/runner/workspace/client/src/components/Resources.tsx", 538 lineNumber: 301, 539 columnNumber: 17 540 }, this),
541 /* @__PURE__ */ jsxDEV(ArrowRight, { size: 18 }, void 0, false, { 542 fileName: "/home/runner/workspace/client/src/components/Resources.tsx", 543 lineNumber: 302, 544 columnNumber: 17 545 }, this) 546 ] 547 }, 548 void 0, 549 true, 550 { 551 fileName: "/home/runner/workspace/client/src/components/Resources.tsx", 552 lineNumber: 297, 553 columnNumber: 15 554 }, 555 this 556 ) }, void 0, false, { 557 fileName: "/home/runner/workspace/client/src/components/Resources.tsx", 558 lineNumber: 296, 559 columnNumber: 13 560 }, this) 561 }, 562 void 0, 563 false, 564 { 565 fileName: "/home/runner/workspace/client/src/components/Resources.tsx", 566 lineNumber: 291, 567 columnNumber: 11 568 }, 569 this 570 ),
571 /* @__PURE__ */ jsxDEV( 572 motion.div, 573 { 574 initial: { opacity: 0 }, 575 whileInView: { opacity: 1 }, 576 transition: { delay: 0.8 }, 577 viewport: { once: true }, 578 className: "mt-8 flex items-center justify-center gap-2 text-gray-500", 579 children: /* @__PURE__ */ jsxDEV( 580 Button, 581 { 582 variant: "ghost", 583 size: "sm", 584 className: "text-gray-500 hover:text-blue-500", 585 onClick: () => setIsBookmarked(!isBookmarked), 586 children: [ 587 /* @__PURE__ */ jsxDEV( 588 Bookmark, 589 { 590 className: `mr-1 h-4 w-4 ${isBookmarked ? "fill-blue-500 text-blue-500" : ""}` 591 }, 592 void 0, 593 false, 594 { 595 fileName: "/home/runner/workspace/client/src/components/Resources.tsx", 596 lineNumber: 320, 597 columnNumber: 15 598 }, 599 this 600 ),
601 /* @__PURE__ */ jsxDEV("span", { children: isBookmarked ? "Bookmarked" : "Bookmark for later" }, void 0, false, { 602 fileName: "/home/runner/workspace/client/src/components/Resources.tsx", 603 lineNumber: 323, 604 columnNumber: 15 605 }, this) 606 ] 607 }, 608 void 0, 609 true, 610 { 611 fileName: "/home/runner/workspace/client/src/components/Resources.tsx", 612 lineNumber: 314, 613 columnNumber: 13 614 }, 615 this 616 ) 617 }, 618 void 0, 619 false, 620 { 621 fileName: "/home/runner/workspace/client/src/components/Resources.tsx", 622 lineNumber: 307, 623 columnNumber: 11 624 }, 625 this 626 ) 627 ] 628 }, 629 void 0, 630 true, 631 { 632 fileName: "/home/runner/workspace/client/src/components/Resources.tsx", 633 lineNumber: 284, 634 columnNumber: 9 635 }, 636 this 637 ) 638 ] }, void 0, true, { 639 fileName: "/home/runner/workspace/client/src/components/Resources.tsx", 640 lineNumber: 218, 641 columnNumber: 7 642 }, this) 643 ] }, void 0, true, { 644 fileName: "/home/runner/workspace/client/src/components/Resources.tsx", 645 lineNumber: 210, 646 columnNumber: 5 647 }, this); 648} 649_s2(Resources, "HFurTH7sY6RQgkzgOadQX9lUkTY="); 650_c2 = Resources; 651var _c, _c2; 652$RefreshReg$(_c, "ResourceCard"); 653$RefreshReg$(_c2, "Resources"); 654if (import.meta.hot && !inWebWorker) { 655 window.$RefreshReg$ = prevRefreshReg; 656 window.$RefreshSig$ = prevRefreshSig; 657} 658if (import.meta.hot && !inWebWorker) { 659 RefreshRuntime.__hmr_import(import.meta.url).then((currentExports) => { 660 RefreshRuntime.registerExportsForReactRefresh("/home/runner/workspace/client/src/components/Resources.tsx", currentExports); 661 import.meta.hot.accept((nextExports) => { 662 if (!nextExports) return; 663 const invalidateMessage = RefreshRuntime.validateRefreshBoundaryAndEnqueueUpdate("/home/runner/workspace/client/src/components/Resources.tsx", currentExports, nextExports); 664 if (invalidateMessage) import.meta.hot.invalidate(invalidateMessage); 665 }); 666 }); 667} 668 669//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJtYXBwaW5ncyI6IkFBOENVOzs7Ozs7Ozs7Ozs7Ozs7OztBQTdDVixTQUFTQSxjQUFjO0FBQ3ZCLFNBQVNDLFlBQVk7QUFDckI7QUFBQSxFQUNFQztBQUFBQSxFQUNBQztBQUFBQSxFQUNBQztBQUFBQSxFQUNBQztBQUFBQSxFQUNBQztBQUFBQSxFQUNBQztBQUFBQSxFQUNBQztBQUFBQSxFQUNBQztBQUFBQSxFQUNBQztBQUFBQSxPQUNLO0FBQ1AsU0FBU0MsY0FBYztBQUN2QixTQUFTQyxVQUFVQyxpQkFBaUJDLGNBQWNDLGNBQWNDLHdCQUF3QjtB
669QUN4RixTQUFTQyxhQUFhO0FBQ3RCLFNBQVNDLGdCQUFnQjtBQUN6QixTQUE0QkMsY0FBY0MsNEJBQTRCO0FBR3RFLE1BQU1DLGNBQWNBLENBQUNDLGVBQStCO0FBQ2xELE1BQUlBLFdBQVdDLFNBQVMsTUFBTSxFQUFHLFFBQU87QUFDeEMsTUFBSUQsV0FBV0MsU0FBUyxRQUFRLEVBQUcsUUFBTztBQUMxQyxNQUFJRCxXQUFXQyxTQUFTLE1BQU0sRUFBRyxRQUFPO0FBQ3hDLE1BQUlELFdBQVdDLFNBQVMsT0FBTyxFQUFHLFFBQU87QUFDekMsTUFBSUQsV0FBV0MsU0FBUyxLQUFLLEVBQUcsUUFBTztBQUN2QyxNQUFJRCxXQUFXQyxTQUFTLE9BQU8sRUFBRyxRQUFPO0FBQ3pDLFNBQU87QUFDVDtBQWFBLE1BQU1DLFlBQTRCO0FBQUEsRUFDaEM7QUFBQSxJQUNFQyxPQUFPO0FBQUEsSUFDUEMsTUFBTTtBQUFBLElBQ05DLE1BQU0sdUJBQUMsWUFBUyxXQUFVLGFBQXBCO0FBQUE7QUFBQTtBQUFBO0FBQUEsV0FBNkI7QUFBQSxJQUNuQ0MsYUFBYTtBQUFBLElBQ2JDLFVBQVU7QUFBQSxJQUNWQyxVQUFVO0FBQUEsSUFDVkMsT0FBTztBQUFBLElBQ1BDLFlBQVk7QUFBQSxFQUNkO0FBQUEsRUFDQTtBQUFBLElBQ0VQLE9BQU87QUFBQSxJQUNQQyxNQUFNO0FBQUEsSUFDTkMsTUFBTSx1QkFBQyxTQUFNLFdBQVUsYUFBakI7QUFBQTtBQUFBO0FBQUE7QUFBQSxXQUEwQjtBQUFBLElBQ2hDQyxhQUFhO0FBQUEsSUFDYkMsVUFBVTtBQUFBLElBQ1ZDLFVBQVU7QUFBQSxJQUNWQyxPQUFPO0FBQUEsSUFDUEMsWUFBWTtBQUFBLEVBQ2Q7QUFBQSxFQUNBO0FBQUEsSUFDRVAsT0FBTztBQUFBLElBQ1BDLE1BQU07QUFBQSxJQUNOQyxNQUFNLHVCQUFDLFFBQUssV0FBVSxhQUFoQjtBQUFBO0FBQUE7QUFBQTtBQUFBLFdBQXlCO0FBQUEsSUFDL0JDLGFBQWE7QUFBQSxJQUNiQyxVQUFVO0FBQUEsSUFDVkMsV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FBO0FBQUEsb0JBQ0MsU0FBUTtBQUFBLG9CQUNSLE1BQUs7QUFBQSxvQkFDTCxXQUFVO0FBQUEsb0JBQ1YsU0FBUyxNQUFNRCxnQkFBZ0IsQ0FBQ0QsWUFBWTtBQUFBLG9CQUU1QztBQUFBO0FBQUEsd0JBQUM7QUFBQTtBQUFBLDBCQUNDLFdBQVcsZ0JBQWdCQSxlQUFlLGdDQUFnQyxFQUFFO0FBQUE7QUFBQSx3QkFEOUU7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBLHNCQUNpRjtBQUFBLHNCQUVqRix1QkFBQyxVQUFNQSx5QkFBZSxlQUFlLHdCQUFyQztBQUFBO0FBQUE7QUFBQTtBQUFBLDZCQUEwRDtBQUFBO0FBQUE7QUFBQSxrQkFUNUQ7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBLGdCQVVBO0FBQUE7QUFBQSxjQWpCRjtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUEsWUFrQkE7QUFBQTtBQUFBO0FBQUEsUUF6Q0Y7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBLE1BMENBO0FBQUEsU0E1R0Y7QUFBQTtBQUFBO0FBQUE7QUFBQSxXQTZHQTtBQUFBLE9BckhGO0FBQUE7QUFBQTtBQUFBO0FBQUEsU0FzSEE7QUFFSjtBQUFDRCxJQTVIdUJELFdBQVM7QUFBQVMsTUFBVFQ7QUFBUyxJQUFBRCxJQUFBVTtBQUFBQyxhQUFBWCxJQUFBO0FBQUFXLGFBQUFELEtBQUEiLCJuYW1lcyI6WyJtb3Rpb24iLCJDYXJkIiwiQm9vayIsIkZpbGVUZXh0IiwiR3JhZHVhdGlvbkNhcCIsIk5ld3NwYXBlciIsIlBsYXlDaXJjbGUiLCJWaWRlbyIsIkFycm93UmlnaHQiLCJDbG9jayIsIkJvb2ttYXJrIiwiQnV0dG9uIiwiQ2Fyb3VzZWwiLCJDYXJvdXNlbENvbnRlbnQiLCJDYXJvdXNlbEl0ZW0iLCJDYXJvdXNlbE5leHQiLCJDYXJvdXNlbFByZXZpb3VzIiwiQmFkZ2UiLCJ1c2VTdGF0ZSIsIml0ZW1WYXJpYW50cyIsImJ1dHRvbkhvdmVyQW5pbWF0aW9uIiwiZ2V0Q29sb3JIZXgiLCJjb2xvckNsYXNzIiwiaW5jbHVkZXMiLCJyZXNvdXJjZXMiLCJ0aXRsZSIsInR5cGUiLCJpY29uIiwiZGVzY3JpcHRpb24iLCJyZWFkVGltZSIsImNhdGVnb3J5IiwiY29sb3IiLCJiYWRnZUNvbG9yIiwiUmVzb3VyY2VDYXJkIiwicmVzb3VyY2UiLCJpbmRleCIsIl9zIiwiaXNIb3ZlcmVkIiwic2V0SXNIb3ZlcmVkIiwiZ2V0UmVzb3VyY2VDb2xvckhleCIsInkiLCJzdGlmZm5lc3MiLCJkYW1waW5nIiwic2NhbGUiLCJvcGFjaXR5IiwiZHVyYXRpb24iLCJyb3RhdGUiLCJlYXNlIiwicmVwbGFjZSIsIngiLCJfYyIsIlJlc291cmNlcyIsIl9zMiIsImlzQm9va21hcmtlZCIsInNldElzQm9va21hcmtlZCIsIm9uY2UiLCJkZWxheSIsImFsaWduIiwibG9vcCIsIm1hcCIsIl9jMiIsIiRSZWZyZXNoUmVnJCJdLCJpZ25vcmVMaXN0IjpbXSwic291cmNlcyI6WyJSZXNvdXJjZXMudHN4Il0sInNvdXJjZXNDb250ZW50IjpbIlxuaW1wb3J0IHsgbW90aW9uIH0gZnJvbSBcImZyYW1lci1tb3Rpb25cIjtcbmltcG9ydCB7IENhcmQgfSBmcm9tIFwiQC9jb21wb25lbnRzL3VpL2NhcmRcIjtcbmltcG9ydCB7XG4gIEJvb2ssXG4gIEZpbGVUZXh0LFxuICBHcmFkdWF0aW9uQ2FwLFxuICBOZXdzcGFwZXIsXG4gIFBsYXlDaXJjbGUsXG4gIFZpZGVvLFxuICBBcnJvd1JpZ2h0LFxuICBDbG9jayxcbiAgQm9va21hcmssXG59IGZyb20gXCJsdWNpZGUtcmVhY3RcIjtcbmltcG9ydCB7IEJ1dHRvbiB9IGZyb20gXCJAL2NvbXBvbmVudHMvdWkvYnV0dG9uXCI7XG5pbXBvcnQgeyBDYXJvdXNlbCwgQ2Fyb3VzZWxDb250ZW50LCBDYXJvdXNlbEl0ZW0sIENhcm91c2VsTmV4dCwgQ2Fyb3VzZWxQcmV2aW91cyB9IGZyb20gXCJAL2NvbXBvbmVudHMvdWkvY2Fyb3VzZWxcIjtcbmltcG9ydCB7IEJhZGdlIH0gZnJvbSBcIkAvY29tcG9uZW50cy91aS9iYWRnZVwiO1xuaW1wb3J0IHsgdXNlU3RhdGUgfSBmcm9tIFwicmVhY3RcIjtcbmltcG9ydCB7IGNvbnRhaW5lclZhcmlhbnRzLCBpdGVtVmFyaWFudHMsIGJ1dHRvbkhvdmVyQW5pbWF0aW9uIH0gZnJvbSBcIkAvbGliL2FuaW1hdGlvbnNcIjtcblxuLy8gRnVuY3Rpb24gdG8gY29udmVydCBUYWlsd2luZCBjb2xvciBjbGFzc2VzIHRvIGhleCB2YWx1ZXNcbmNvbnN0IGdldENvbG9ySGV4ID0gKGNvbG9yQ2xhc3M6IHN0cmluZyk6IHN0cmluZyA9PiB7XG4gIGlmIChjb2xvckNsYXNzLmluY2x1ZGVzKCdibHVlJykpIHJldHVybiAnIzNiODJmNic7ICAvLyBibHVlLTUwMFxuICBpZiAoY29sb3JDbGFzcy5pbmNsdWRlcygncHVycGxlJykpIHJldHVybiAnI2E4NTVmNyc7ICAvLyBwdXJwbGUtNTAwXG4gIGlmIChjb2xvckNsYXNzLmluY2x1ZGVzKCdjeWFuJykpIHJldHVybiAnIzA2YjZkNCc7ICAvLyBjeWFuLTUwMFxuICBpZiAoY29sb3JDbGFzcy5pbmNsdWRlcygnZ3JlZW4nKSkgcmV0dXJuICcjMjJjNTVlJzsgIC8vIGdyZWVuLTUwMFxuICBpZiAoY29sb3JDbGFzcy5pbmNsdWRlcygncmVkJykpIHJldHVybiAnI2VmNDQ0NCc7ICAvLyByZWQtNTAwXG4gIGlmIChjb2xvckNsYXNzLmluY2x1ZGVzKCdhbWJlcicpKSByZXR1cm4gJyNmNTllMGInOyAgLy8gYW1iZXItNTAwXG4gIHJldHVybiAnIzFmMjkzNyc7ICAvLyBEZWZhdWx0IGdyYXktOTAwXG59O1xuXG50eXBlIFJlc291cmNlVHlwZSA9IHtcbiAgdGl0bGU6IHN0cmluZztcbiAgdHlwZTogc3RyaW5nO1xuICBpY29uOiBSZWFjdC5SZWFjdE5vZGU7XG4gIGRlc2NyaXB0aW9uOiBzdHJpbmc7XG4gIHJlYWRUaW1lOiBzdHJpbmc7XG4gIGNhdGVnb3J5OiBzdHJpbmc7XG4gIGNvbG9yOiBzdHJpbmc7XG4gIGJhZGdlQ29sb3I6IHN0cmluZztcbn07XG5cbmNvbnN0IHJlc291cmNlczogUmVzb3VyY2VUeXBlW10gPSBbXG4gIHtcbiAgICB0aXRsZTogXCJHdWlkZSB0byBDbGluaWNhbCBEb2N1bWVudGF0aW9uXCIsXG4gICAgdHlwZTogXCJBcnRpY2xlXCIsXG4gICAgaWNvbjogPEZpbGVUZXh0IGNsYXNzTmFtZT1cInctNiBoLTZcIiAvPixcbiAgICBkZXNjcmlwdGlvbjogXCJMZWFybiBiZXN0IHByYWN0aWNlcyBmb3IgdGhlcmFweSBub3RlLXRha2luZyBhbmQgZG9jdW1lbnRhdGlvbi5cIixcbiAgICByZWFkVGltZTogXCIxMCBtaW4gcmVhZFwiLFxuICAgIGNhdGVnb3J5OiBcIkRvY3VtZW50YXRpb25cIixcbiAgICBjb2xvcjogXCJiZy1ibHVlLTUwMFwiLFxuICAgIGJhZGdlQ29sb3I6IFwiYmctYmx1ZS0xMDAgdGV4dC1ibHVlLTYwMFwiLFxuICB9LFxuICB7XG4gICAgdGl0bGU6IFwiRUhSIEludGVncmF0aW9uIFN0cmF0ZWdpZXNcIixcbiAgICB0eX
669BlOiBcIlZpZGVvXCIsXG4gICAgaWNvbjogPFZpZGVvIGNsYXNzTmFtZT1cInctNiBoLTZcIiAvPixcbiAgICBkZXNjcmlwdGlvbjogXCJIb3cgdG8gc2VhbWxlc3NseSBpbnRlZ3JhdGUgQUkgbm90ZXMgd2l0aCB5b3VyIEVIUiBzeXN0ZW0uXCIsXG4gICAgcmVhZFRpbWU6IFwiMTUgbWluIHdhdGNoXCIsXG4gICAgY2F0ZWdvcnk6IFwiVGVjaG5pY2FsXCIsXG4gICAgY29sb3I6IFwiYmctcHVycGxlLTUwMFwiLFxuICAgIGJhZGdlQ29sb3I6IFwiYmctcHVycGxlLTEwMCB0ZXh0LXB1cnBsZS02MDBcIixcbiAgfSxcbiAge1xuICAgIHRpdGxlOiBcIlRoZXJhcHkgTm90ZSBUZW1wbGF0ZXNcIixcbiAgICB0eXBlOiBcIkd1aWRlXCIsXG4gICAgaWNvbjogPEJvb2sgY2xhc3NOYW1lPVwidy02IGgtNlwiIC8+LFxuICAgIGRlc2NyaXB0aW9uOiBcIlN0YW5kYXJkaXplZCB0ZW1wbGF0ZXMgZm9yIGRpZmZlcmVudCB0aGVyYXB5IG1vZGFsaXRpZXMuXCIsXG4gICAgcmVhZFRpbWU6IFwiOCBtaW4gcmVhZFwiLFxuICAgIGNhdGVnb3J5OiBcIlRlbXBsYXRlc1wiLFxuICAgIGNvbG9yOiBcImJnLWdyZWVuLTUwMFwiLFxuICAgIGJhZGdlQ29sb3I6IFwiYmctZ3JlZW4tMTAwIHRleHQtZ3JlZW4tNjAwXCIsXG4gIH0sXG4gIHtcbiAgICB0aXRsZTogXCJISVBBQSBDb21wbGlhbmNlIEd1aWRlXCIsXG4gICAgdHlwZTogXCJDb3Vyc2VcIixcbiAgICBpY29uOiA8R3JhZHVhdGlvbkNhcCBjbGFzc05hbWU9XCJ3LTYgaC02XCIgLz4sXG4gICAgZGVzY3JpcHRpb246IFwiVW5kZXJzdGFuZGluZyBISVBBQSByZXF1aXJlbWVudHMgaW4gZGlnaXRhbCBub3RlLXRha2luZy5cIixcbiAgICByZWFkVGltZTogXCIzMCBtaW4gY291cnNlXCIsXG4gICAgY2F0ZWdvcnk6IFwiQ29tcGxpYW5jZVwiLFxuICAgIGNvbG9yOiBcImJnLXJlZC01MDBcIixcbiAgICBiYWRnZUNvbG9yOiBcImJnLXJlZC0xMDAgdGV4dC1yZWQtNjAwXCIsXG4gIH0sXG4gIHtcbiAgICB0aXRsZTogXCJMYXRlc3QgVXBkYXRlc1wiLFxuICAgIHR5cGU6IFwiTmV3c1wiLFxuICAgIGljb246IDxOZXdzcGFwZXIgY2xhc3NOYW1lPVwidy02IGgtNlwiIC8+LFxuICAgIGRlc2NyaXB0aW9uOiBcIlN0YXkgdXBkYXRlZCB3aXRoIHRoZSBsYXRlc3QgZmVhdHVyZXMgYW5kIGltcHJvdmVtZW50cy5cIixcbiAgICByZWFkVGltZTogXCI1IG1pbiByZWFkXCIsXG4gICAgY2F0ZWdvcnk6IFwiTmV3c1wiLFxuICAgIGNvbG9yOiBcImJnLWFtYmVyLTUwMFwiLFxuICAgIGJhZGdlQ29sb3I6IFwiYmctYW1iZXItMTAwIHRleHQtYW1iZXItNjAwXCIsXG4gIH0sXG4gIHtcbiAgICB0aXRsZTogXCJWaWRlbyBUdXRvcmlhbHNcIixcbiAgICB0eXBlOiBcIlZpZGVvIFNlcmllc1wiLFxuICAgIGljb246IDxQbGF5Q2lyY2xlIGNsYXNzTmFtZT1cInctNiBoLTZcIiAvPixcbiAgICBkZXNjcmlwdGlvbjogXCJTdGVwLWJ5LXN0ZXAgZ3VpZGVzIHRvIHVzaW5nIGFsbCBwbGF0Zm9ybSBmZWF0dXJlcy5cIixcbiAgICByZWFkVGltZTogXCI0NSBtaW4gc2VyaWVzXCIsXG4gICAgY2F0ZWdvcnk6IFwiVHV0b3JpYWxcIixcbiAgICBjb2xvcjogXCJiZy1jeWFuLTUwMFwiLFxuICAgIGJhZGdlQ29sb3I6IFwiYmctY3lhbi0xMDAgdGV4dC1jeWFuLTYwMFwiLFxuICB9LFxuXTtcblxuY29uc3QgUmVzb3VyY2VDYXJkID0gKHsgcmVzb3VyY2UsIGluZGV4IH06IHsgcmVzb3VyY2U6IFJlc291cmNlVHlwZTsgaW5kZXg6IG51bWJlciB9KSA9PiB7XG4gIGNvbnN0IFtpc0hvdmVyZWQsIHNldElzSG92ZXJlZF0gPSB1c2VTdGF0ZShmYWxzZSk7XG4gIFxuICAvLyBIZWxwZXIgZnVuY3Rpb24gdG8gZ2V0IGNvbG9yIGhleCBiYXNlZCBvbiByZXNvdXJjZSBjb2xvclxuICBjb25zdCBnZXRSZXNvdXJjZUNvbG9ySGV4ID0gKGNvbG9yOiBzdHJpbmcpOiBzdHJpbmcgPT4ge1xuICAgIGlmIChjb2xvci5pbmNsdWRlcygnYmx1ZScpKSByZXR1cm4gJyMzYjgyZjYnO1xuICAgIGlmIChjb2xvci5pbmNsdWRlcygncHVycGxlJykpIHJldHVybiAnI2E4NTVmNyc7XG4gICAgaWYgKGNvbG9yLmluY2x1ZGVzKCdjeWFuJykpIHJldHVybiAnIzA2YjZkNCc7XG4gICAgaWYgKGNvbG9yLmluY2x1ZGVzKCdncmVlbicpKSByZXR1cm4gJyMyMmM1NWUnO1xuICAgIGlmIChjb2xvci5pbmNsdWRlcygncmVkJykpIHJldHVybiAnI2VmNDQ0NCc7XG4gICAgaWYgKGNvbG9yLmluY2x1ZGVzKCdhbWJlcicpKSByZXR1cm4gJyNmNTllMGInO1xuICAgIHJldHVybiAnIzFmMjkzNyc7XG4gIH07XG5cbiAgcmV0dXJuIChcbiAgICA8bW90aW9uLmRpdlxuICAgICAgdmFyaWFudHM9e2l0ZW1WYXJpYW50c31cbiAgICAgIGN1c3RvbT17aW5kZXh9XG4gICAgICBvbkhvdmVyU3RhcnQ9eygpID0+IHNldElzSG92ZXJlZCh0cnVlKX1cbiAgICAgIG9uSG92ZXJFbmQ9eygpID0+IHNldElzSG92ZXJlZChmYWxzZSl9XG4gICAgICB3aGlsZUhvdmVyPXt7IHk6IC04IH19XG4gICAgICB0cmFuc2l0aW9uPXt7IHR5cGU6IFwic3ByaW5nXCIsIHN0aWZmbmVzczogMzAwLCBkYW1waW5nOiAyMCB9fVxuICAgICAgY2xhc3NOYW1lPVwiaC1mdWxsXCJcbiAgICA+XG4gICAgICA8Q2FyZCBjbGFzc05hbWU9XCJwLTYgaC1mdWxsIGJvcmRlciBzaGFkb3ctc20gaG92ZXI6c2hhZG93LWxnIHRyYW5zaXRpb24tYWxsIGR1cmF0aW9uLTMwMCBvdmVyZmxvdy1oaWRkZW4gcmVsYXRpdmVcIj5cbiAgICAgICAgey8qIERlY29yYXRpdmUgY29ybmVyIGJsdXIgZWZmZWN0ICovfVxuICAgICAgICA8bW90aW9uLmRpdiBcbiAgICAgICAgICBjbGFzc05hbWU9e2BhYnNvbHV0ZSAtdG9wLTEyIC1yaWdodC0xMiB3LTMyIGgtMzIgJHtyZXNvdXJjZS5jb2xvcn0gcm91bmRlZC1mdWxsIG9wYWNpdHktMTAgYmx1ci1sZ2B9XG4gICAgICAgICAgYW5pbWF0ZT17eyBcbiAgICAgICAgICAgIHNjYWxlOiBpc0hvdmVyZWQgPyAxLjUgOiAxLFxuICAgICAgICAgICAgb3BhY2l0eTogaXNIb3ZlcmVkID8gMC4yIDogMC4xXG4gICAgICAgICAgfX1cbiAgICAgICAgICB0cmFuc2l0aW9uPXt7IGR1cmF0aW9uOiAwLjcgfX1cbiAgICAgICAgLz5cblxuICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImZsZXggaXRlbXMtc3RhcnQgZ2FwLTQgbWItNCByZWxhdGl2ZSB6LTEwXCI+XG4gICAgICAgICAgPG1vdGlvbi5kaXYgXG4gICAgICAgICAgICBhbmltYXRlPXt7IFxuICAgICAgICAgICAgICByb3RhdGU6IGlzSG92ZXJlZCA/IFswLCAxNSwgMF0gOiAwLFxuICAgICAgICAgICAgICBzY2FsZTogaXNIb3ZlcmVkID8gMS4xIDogMSBcbiAgICAgICAgICAgI
669H19XG4gICAgICAgICAgICB0cmFuc2l0aW9uPXt7IGR1cmF0aW9uOiAwLjYsIGVhc2U6IFwiZWFzZUluT3V0XCIgfX1cbiAgICAgICAgICAgIGNsYXNzTmFtZT17YHctMTIgaC0xMiAke3Jlc291cmNlLmNvbG9yfSBiZy1vcGFjaXR5LTEwIHJvdW5kZWQtbGcgZmxleCBpdGVtcy1jZW50ZXIganVzdGlmeS1jZW50ZXIgJHtyZXNvdXJjZS5jb2xvci5yZXBsYWNlKCdiZy0nLCAndGV4dC0nKX1gfVxuICAgICAgICAgID5cbiAgICAgICAgICAgIHtyZXNvdXJjZS5pY29ufVxuICAgICAgICAgIDwvbW90aW9uLmRpdj5cbiAgICAgICAgICA8ZGl2PlxuICAgICAgICAgICAgPEJhZGdlIHZhcmlhbnQ9XCJzZWNvbmRhcnlcIiBjbGFzc05hbWU9e2Ake3Jlc291cmNlLmJhZGdlQ29sb3J9IGZvbnQtbWVkaXVtIG1iLTFgfT5cbiAgICAgICAgICAgICAge3Jlc291cmNlLnR5cGV9XG4gICAgICAgICAgICA8L0JhZGdlPlxuICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJmbGV4IGl0ZW1zLWNlbnRlciBnYXAtMiB0ZXh0LXNtIHRleHQtZ3JheS01MDBcIj5cbiAgICAgICAgICAgICAgPENsb2NrIGNsYXNzTmFtZT1cInctMy41IGgtMy41XCIgLz5cbiAgICAgICAgICAgICAgPHNwYW4+e3Jlc291cmNlLnJlYWRUaW1lfTwvc3Bhbj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L2Rpdj5cblxuICAgICAgICA8bW90aW9uLmgzIFxuICAgICAgICAgIGNsYXNzTmFtZT1cInRleHQtbGcgZm9udC1zZW1pYm9sZCBtYi0yXCJcbiAgICAgICAgICBhbmltYXRlPXt7IFxuICAgICAgICAgICAgeDogaXNIb3ZlcmVkID8gMyA6IDAsXG4gICAgICAgICAgICBjb2xvcjogaXNIb3ZlcmVkID8gZ2V0UmVzb3VyY2VDb2xvckhleChyZXNvdXJjZS5jb2xvcikgOiAnIzFmMjkzNycgXG4gICAgICAgICAgfX1cbiAgICAgICAgICB0cmFuc2l0aW9uPXt7IGR1cmF0aW9uOiAwLjMgfX1cbiAgICAgICAgPlxuICAgICAgICAgIHtyZXNvdXJjZS50aXRsZX1cbiAgICAgICAgPC9tb3Rpb24uaDM+XG4gICAgICAgIFxuICAgICAgICA8cCBjbGFzc05hbWU9XCJ0ZXh0LWdyYXktNjAwIG1iLTQgcmVsYXRpdmUgei0xMFwiPntyZXNvdXJjZS5kZXNjcmlwdGlvbn08L3A+XG4gICAgICAgIFxuICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImZsZXggaXRlbXMtY2VudGVyIGp1c3RpZnktYmV0d2VlbiBtdC1hdXRvIHJlbGF0aXZlIHotMTBcIj5cbiAgICAgICAgICA8QmFkZ2UgdmFyaWFudD1cIm91dGxpbmVcIiBjbGFzc05hbWU9XCJ0ZXh0LWdyYXktNTAwIGJvcmRlci1ncmF5LTIwMFwiPlxuICAgICAgICAgICAge3Jlc291cmNlLmNhdGVnb3J5fVxuICAgICAgICAgIDwvQmFkZ2U+XG4gICAgICAgICAgXG4gICAgICAgICAgPG1vdGlvbi5kaXZcbiAgICAgICAgICAgIHdoaWxlSG92ZXI9XCJob3ZlclwiXG4gICAgICAgICAgICB3aGlsZVRhcD1cInRhcFwiXG4gICAgICAgICAgICB2Y
669XJpYW50cz17YnV0dG9uSG92ZXJBbmltYXRpb259XG4gICAgICAgICAgPlxuICAgICAgICAgICAgPEJ1dHRvbiBcbiAgICAgICAgICAgICAgdmFyaWFudD1cImdob3N0XCIgXG4gICAgICAgICAgICAgIHNpemU9XCJzbVwiIFxuICAgICAgICAgICAgICBjbGFzc05hbWU9XCJncm91cFwiXG4gICAgICAgICAgICA+XG4gICAgICAgICAgICAgIDxzcGFuIGNsYXNzTmFtZT1cIm1yLTFcIj5MZWFybiBNb3JlPC9zcGFuPlxuICAgICAgICAgICAgICA8bW90aW9uLmRpdlxuICAgICAgICAgICAgICAgIGFuaW1hdGU9e3sgeDogaXNIb3ZlcmVkID8gMyA6IDAgfX1cbiAgICAgICAgICAgICAgICB0cmFuc2l0aW9uPXt7IGR1cmF0aW9uOiAwLjIgfX1cbiAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgIDxBcnJvd1JpZ2h0IHNpemU9ezE2fSBjbGFzc05hbWU9e2Bncm91cC1ob3Zlcjp0ZXh0LWJsdWUtNTAwYH0gLz5cbiAgICAgICAgICAgICAgPC9tb3Rpb24uZGl2PlxuICAgICAgICAgICAgPC9CdXR0b24+XG4gICAgICAgICAgPC9tb3Rpb24uZGl2PlxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvQ2FyZD5cbiAgICA8L21vdGlvbi5kaXY+XG4gICk7XG59O1xuXG5leHBvcnQgZGVmYXVsdCBmdW5jdGlvbiBSZXNvdXJjZXMoKSB7XG4gIGNvbnN0IFtpc0Jvb2ttYXJrZWQsIHNldElzQm9va21hcmtlZF0gPSB1c2VTdGF0ZShmYWxzZSk7XG5cbiAgcmV0dXJuIChcbiAgICA8c2VjdGlvbiBpZD1cInJlc291cmNlcy1zZWN0aW9uXCIgY2xhc3NOYW1lPVwicHktMjQgcHgtNCBiZy1ncmFkaWVudC10by1iIGZyb20td2hpdGUgdG8tZ3JheS01MCByZWxhdGl2ZSBvdmVyZmxvdy1oaWRkZW5cIj5cbiAgICAgIDxtb3Rpb24uZGl2IFxuICAgICAgICBpbml0aWFsPXt7IG9wYWNpdHk6IDAsIHNjYWxlOiAwLjggfX1cbiAgICAgICAgYW5pbWF0ZT17eyBvcGFjaXR5OiAwLjA1LCBzY2FsZTogMSB9fVxuICAgICAgICB0cmFuc2l0aW9uPXt7IGR1cmF0aW9uOiAxLjUgfX1cbiAgICAgICAgY2xhc3NOYW1lPVwiYWJzb2x1dGUgLXJpZ2h0LTIwIHRvcC00MCB3LTgwIGgtODAgYmctZ3JhZGllbnQtdG8tYnIgZnJvbS1ibHVlLTMwMCB0by1jeWFuLTMwMCByb3VuZGVkLWZ1bGwgYmx1ci0zeGxcIlxuICAgICAgLz5cbiAgICAgIFxuICAgICAgPGRpdiBjbGFzc05hbWU9XCJjb250YWluZXIgbXgtYXV0byByZWxhdGl2ZSB6LTEwXCI+XG4gICAgICAgIDxkaXYgY2xhc3NOYW1lPVwidGV4dC1jZW50ZXIgbWF4LXctM3hsIG14LWF1dG8gbWItMTZcIj5cbiAgICAgICAgICA8bW90aW9uLmgyXG4gICAgICAgICAgICBpbml0aWFsPXt7IG9wYWNpdHk6IDAsIHk6IDIwIH19XG4gICAgICAgICAgICB3aGlsZUluVmlldz17eyBvcGFjaXR5OiAxLCB5OiAwIH19XG4gICAgICAgICAgICB0cmFuc2l0aW9uPXt7IGR1cmF0aW9uOiAwLjYgfX1cbiAgICAgICAgICAgIHZpZXdwb3J0PXt7IG9uY2U6IHRydWUgfX1cbiAgICAgICAgICAgIGNsYXNzTmFtZT1cInRleHQtNHhsIGZvbnQtYm9sZCBtYi00XCJcbiAgICAgICAgICA+XG4gICAgICAgICAgICA8c3BhbiBjbGFzc05hbWU9XCJiZy1jbGlwLXRleHQgdGV4dC10cmFuc3BhcmVudCBiZy1ncmFkaWVudC10by1yIGZyb20tYmx1ZS01MDAgdG8tY3lhbi00MDBcIj5cbiAgICAgICAgICAgICAgUmVzb3VyY2VzXG4gICAgICAgICAgICA8L3NwYW4+XG4gICAgICAgICAgICA8c3BhbiBjbGFzc05hbWU9XCJ0ZXh0LWdyYXktOTAwXCI+ICYgTGVhcm5pbmcgSHViPC9zcGFuPlxuICAgICAgICAgIDwvbW90aW9uLmgyPlxuICAgICAgICAgIDxtb3Rpb24ucFxuICAgICAgICAgICAgaW5pdGlhbD17eyBvcGFjaXR5OiAwLCB5OiAyMCB9fVxuICAgICAgICAgICAgd2hpbGVJblZpZXc9e3sgb3BhY2l0eTogMSwgeTogMCB9fVxuICAgICAgICAgICAgdHJhbnNpdGlvbj17eyBkdXJhdGlvbjogMC42LCBkZWxheTogMC4yIH19XG4gICAgICAgICAgICB2aWV3cG9ydD17eyBvbmNlOiB0cnVlIH19XG4gICAgICAgICAgICBjbGFzc05hbWU9XCJ0ZXh0LXhsIHRleHQtZ3JheS02MDAgbWItOFwiXG4gICAgICAgICAgPlxuICAgICAgICAgICAgRXhwbG9yZSBvdXIgY29tcHJlaGVuc2l2ZSBsaWJyYXJ5IG9mIGd1aWRlcywgdHV0b3JpYWxzLCBhbmQgYmVzdCBwcmFjdGljZXNcbiAgICAgICAgICAgIHRvIGVuaGFuY2UgeW91ciBjbGluaWNhbCBkb2N1bWVudGF0aW9uIHdvcmtmbG93LlxuICAgICAgICAgIDwvbW90aW9uLnA+XG4gICAgICAgIDwvZGl2PlxuXG4gICAgICAgIHsvKiBGZWF0dXJlZCBSZXNvdXJjZXMgQ2Fyb3VzZWwgKi99XG4gICAgICAgIDxtb3Rpb24uZGl2XG4gICAgICAgICAgaW5pdGlhbD17eyBvcGFjaXR5OiAwLCB5OiAyMCB9fVxuICAgICAgICAgIHdoaWxlSW5WaWV3PXt7IG9wYWNpdHk6IDEsIHk6IDAgfX1cbiAgICAgICAgICB0cmFuc2l0aW9uPXt7IGR1cmF0aW9uOiAwLjYgfX1cbiAgICAgICAgICB2aWV3cG9ydD17eyBvbmNlOiB0cnVlIH19XG4gICAgICAgICAgY2xhc3NOYW1lPVwibWItMTZcIlxuICAgICAgICA+XG4gICAgICAgICAgPENhcm91c2VsXG4gICAgICAgICAgICBvcHRzPXt7XG4gICAgICAgICAgICAgIGFsaWduOiBcInN0YXJ0XCIsXG4gICAgICAgICAgICAgIGxvb3A6IHRydWUsXG4gICAgICAgICAgICB9fVxuICAgICAgICAgICAgY2xhc3NOYW1lPVwidy1mdWxsXCJcbiAgICAgICAgICA+XG4gICAgICAgICAgICA8Q2Fyb3VzZWxDb250ZW50IGNsYXNzTmFtZT1cIi1tbC00XCI+XG4gICAgICAgICAgICAgIHtyZXNvdXJjZXMubWFwKChyZXNvdXJjZSwgaW5kZXgpID0+IChcbiAgICAgICAgICAgICAgICA8Q2Fyb3VzZWxJdGVtIGtleT17aW5kZXh9IGNsYXNzTmFtZT1cInBsLTQgbWQ6YmFzaXMtMS8yIGxnOmJhc2lzLTEvM1wiPlxuICAgICAgICAgICAgICAgICAgPFJlc291cmNlQ2FyZCByZXNvdXJjZT17cmVzb3VyY2V9IGluZGV4PXtpbmRleH0gLz5cbiAgICAgICAgICAgICAgICA8L0Nhcm91c2VsSXRlbT5cbiAgICAgICAgICAgICAgKSl9XG4gICAgICAgICAgICA8L0Nhcm91c2VsQ29udGVudD5cbiAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiaGlkZGVuIG1kOmZsZXggaXRlbXMtY2VudGVyIGp1c3RpZnktY2VudGVyIG10LTggZ2FwLTJcIj5cbiAgICAgICAgICAgICAgPG1vdGlvbi5kaXZcbiAgICAgICAgICAgICAgICB3aGlsZUhvdmVyPXt7IHNjYWxlOiAxLjA1IH19XG4gICAgICAgICAgICAgICAgd2hpbGVUYXA9e3sgc2NhbGU6IDAuOTUgfX1cbiAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgIDxDYXJvdXNlbFByZXZpb3VzIGNsYXNzTmFtZT1cInBvc2l0aW9uLXJlbGF0aXZlIGJvcmRlci1ibHVlLTIwMCBob3ZlcjpiZy1ibHVlLTUwIGhvdmVyOmJvcmRlci1ibHVlLTMwMFwiIC8+XG4gICAgICAgICAgICAgIDwvbW90aW9uLmRpdj5cbiAgICAgICAgICAgICAgPG1vdGlvbi5kaXZcbiAgICAgICAgICAgICAgICB3aGlsZUhvdmVyPXt7IHNjYWxlOiAxLjA1IH19XG4gICAgICAgICAgICAgICAgd2hpbGVUYXA9e3sgc2NhbGU6IDAuOTUgfX1cbiAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgIDxDYXJvdXNlbE5leHQgY2xhc3NOYW1lPVwicG9zaXRpb24tcmVsYXRpdmUgYm9yZGVyLWJsdWUtMjAwIGhvdmVyOmJnLWJsdWUtNTAgaG92ZXI6Ym9yZGVyLWJsdWUtMzAwXCIgLz5cbiAgICAgICAgICAgICAgPC9tb3Rpb24uZGl2PlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPC9DYXJvdXNlbD5cbiAgICAgICAgPC9tb3Rpb24uZGl2PlxuXG4gICAgICAgI
669HsvKiBDYWxsIHRvIEFjdGlvbiAqL31cbiAgICAgICAgPG1vdGlvbi5kaXZcbiAgICAgICAgICBpbml0aWFsPXt7IG9wYWNpdHk6IDAsIHk6IDIwIH19XG4gICAgICAgICAgd2hpbGVJblZpZXc9e3sgb3BhY2l0eTogMSwgeTogMCB9fVxuICAgICAgICAgIHRyYW5zaXRpb249e3sgZHVyYXRpb246IDAuNiB9fVxuICAgICAgICAgIHZpZXdwb3J0PXt7IG9uY2U6IHRydWUgfX1cbiAgICAgICAgICBjbGFzc05hbWU9XCJ0ZXh0LWNlbnRlclwiXG4gICAgICAgID5cbiAgICAgICAgICA8bW90aW9uLmRpdlxuICAgICAgICAgICAgd2hpbGVIb3Zlcj1cImhvdmVyXCJcbiAgICAgICAgICAgIHdoaWxlVGFwPVwidGFwXCJcbiAgICAgICAgICAgIHZhcmlhbnRzPXtidXR0b25Ib3ZlckFuaW1hdGlvbn1cbiAgICAgICAgICA+XG4gICAgICAgICAgICA8YSBocmVmPVwiaHR0cHM6Ly90cmFuc2NyaWJlLnRoZXJhcGVkaWEucHJvL3Jlc291cmNlc1wiIHRhcmdldD1cIl9ibGFua1wiIHJlbD1cIm5vb3BlbmVyIG5vcmVmZXJyZXJcIj5cbiAgICAgICAgICAgICAgPEJ1dHRvblxuICAgICAgICAgICAgICAgIHNpemU9XCJsZ1wiXG4gICAgICAgICAgICAgICAgY2xhc3NOYW1lPVwiYmctZ3JhZGllbnQtdG8tciBmcm9tLWJsdWUtNTAwIHRvLWN5YW4tNDAwIHRleHQtd2hpdGUgaG92ZXI6ZnJvbS1ibHVlLTYwMCBob3Zlcjp0by1jeWFuLTUwMCBzaGFkb3ctbGcgaG92ZXI6c2hhZG93LXhsIHRyYW5zaXRpb24tYWxsIGR1cmF0aW9uLTMwMFwiXG4gICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICA8c3BhbiBjbGFzc05hbWU9XCJtci0yXCI+QnJvd3NlIEFsbCBSZXNvdXJjZXM8L3NwYW4+XG4gICAgICAgICAgICAgICAgPEFycm93UmlnaHQgc2l6ZT17MTh9IC8+XG4gICAgICAgICAgICAgIDwvQnV0dG9uPlxuICAgICAgICAgICAgPC9hPlxuICAgICAgICAgIDwvbW90aW9uLmRpdj5cbiAgICAgICAgICBcbiAgICAgICAgICA8bW90aW9uLmRpdiBcbiAgICAgICAgICAgIGluaXRpYWw9e3sgb3BhY2l0eTogMCB9fVxuICAgICAgICAgICAgd2hpbGVJblZpZXc9e3sgb3BhY2l0eTogMSB9fVxuICAgICAgICAgICAgdHJhbnNpdGlvbj17eyBkZWxheTogMC44IH19XG4gICAgICAgICAgICB2aWV3cG9ydD17eyBvbmNlOiB0cnVlIH19XG4gICAgICAgICAgICBjbGFzc05hbWU9XCJtdC04IGZsZXggaXRlbXMtY2VudGVyIGp1c3RpZnktY2VudGVyIGdhcC0yIHRleHQtZ3JheS01MDBcIlxuICAgICAgICAgID5cbiAgICAgICAgICAgIDxCdXR0b24gXG4gICAgICAgICAgICAgIHZhcmlhbnQ9XCJnaG9zdFwiIFxuICAgICAgICAgICAgICBzaXplPVwic21cIiBcbiAgICAgICAgICAgICAgY2xhc3NOYW1lPVwidGV4dC1ncmF5LTUwMCBob3Zlcjp0ZXh0LWJsdWUtNTAwXCJcbiAgICAgICAgICAgICAgb25DbGljaz17KCkgPT4gc2V0SXNCb29rbWFya2VkKCFpc0Jvb2ttYXJrZWQpfVxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgICA8Qm9va21hcmsgXG4gICAgICAgICAgICAgICAgY2xhc3NOYW1lPXtgbXItMSBoLTQgdy00ICR7aXNCb29rbWFya2VkID8gJ2ZpbGwtYmx1ZS01MDAgdGV4dC1ibHVlLTUwMCcgOiAnJ31gfSBcbiAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgPHNwYW4+e2lzQm9va21hcmtlZCA/ICdCb29rbWFya2VkJyA6ICdCb29rbWFyayBmb3IgbGF0ZXInfTwvc3Bhbj5cbiAgICAgICAgICAgIDwvQnV0dG9uPlxuICAgICAgICAgIDwvbW90aW9uLmRpdj5cbiAgICAgICAgPC9tb3Rpb24uZGl2PlxuICAgICAgPC9kaXY+XG4gICAgPC9zZWN0aW9uPlxuICApO1xufVxuIl0sImZpbGUiOiIvaG9tZS9ydW5uZXIvd29ya3NwYWNlL2NsaWVudC9zcmMvY29tcG9uZW50cy9SZXNvdXJjZXMudHN4In0=
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.