vendor: 91 bytes, lines 1-4
1/******/ (() => { // webpackBootstrap 2/******/ var __webpack_modules__ = ({ 3 4/***/ "./src/
4js/components/acc.js": 5/*!**********************************!*\ 6 !*** ./src/js/components/acc.js ***! 7 \**********************************/ 8/***/ (() => { 9 10$(function () { 11 var Accordion = function Accordion(el, multiple) { 12 this.el = el || {}; 13 this.multiple = multiple || false; 14 15 // Variables privadas 16 var links = this.el.find('.link'); 17 // Evento 18 links.on('click', { 19 el: this.el, 20 multiple: this.multiple 21 }, this.dropdown); 22 }; 23 Accordion.prototype.dropdown = function (e) { 24 var $el = e.data.el; 25 $this = $(this), $next = $this.next(); 26 $next.slideToggle(400); 27 $this.parent().toggleClass('open'); 28 if (!e.data.multiple) { 29 $el.find('.submenu').not($next).slideUp().parent().removeClass('open'); 30 } 31 ; 32 }; 33 var accordion = new Accordion($('.accordion-flex'), false); 34}); 35 36/***/ }), 37
38/***/ "./src/js/components/blog-dropdown.js": 39/*!********************************************!*\ 40 !*** ./src/js/components/blog-dropdown.js ***! 41 \********************************************/ 42/***/ (() => { 43 44document.addEventListener("DOMContentLoaded", function () { 45 (function ($) { 46 $(".blogDropdownToggle").click(function () { 47 if ($(".dropdownMenu").hasClass("is-active")) { 48 $(".dropdownMenu").removeClass("is-active"); 49 $(".blog-dropdown").removeClass("is-expanded"); 50 $(this).attr("aria-expanded", "false"); 51 $(this).siblings(".dropdownMenu").attr("aria-hidden", "true"); 52 } else { 53 $(".dropdownMenu").addClass("is-active"); 54 $(this).attr("aria-expanded", "true"); 55 $(".blog-dropdown").addClass("is-expanded"); 56 $(this).siblings(".dropdownMenu").attr("aria-hidden", "false"); 57 } 58 }); 59 })(jQuery); 60}, false); 61 62/***/ }), 63
64/***/ "./src/js/components/cat-toggle.js": 65/*!*****************************************!*\ 66 !*** ./src/js/components/cat-toggle.js ***! 67 \*****************************************/ 68/***/ (() => { 69 70$(".the-cat").on("mouseenter", function () { 71 $(this).addClass("active"); 72 $(this).attr("aria-expanded", "true"); 73 $(this).children(".inner-wrap").attr("aria-hidden", "false"); 74}); 75$(".the-cat").on("mouseleave", function () { 76 $(this).removeClass("active"); 77 $(this).attr("aria-expanded", "false"); 78 $(this).children(".inner-wrap").attr("aria-hidden", "true"); 79}); 80 81/***/ }), 82
83/***/ "./src/js/components/checkforjs.js": 84/*!*****************************************!*\ 85 !*** ./src/js/components/checkforjs.js ***! 86 \*****************************************/ 87/***/ (() => { 88 89document.body.classList.add('js'); 90 91/***/ }), 92
93/***/ "./src/js/components/clickEvents.js": 94/*!******************************************!*\ 95 !*** ./src/js/components/clickEvents.js ***! 96 \******************************************/ 97/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { 98 99"use strict"; 100__webpack_require__.r(__webpack_exports__); 101/* harmony export */ __webpack_require__.d(__webpack_exports__, { 102/* harmony export */ clickEvents: () => (/* binding */ clickEvents) 103/* harmony export */ }); 104/* harmony import */ var _index_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./index.js */ "./src/js/components/index.js"); 105 106var clickEvents = function clickEvents() { 107 if (!$("main").hasClass("page-schedule")) { 108 // Clicking on Hash Links 109 $('a[href^="#"]').on("click", function (e) { 110 e.preventDefault(); 111 if (screen.width <= 1025) { 112 // If It's A Hash Link on Mobile Scroll and Close Menu 113 gsap.set($(".wrapper"), { 114 height: "auto", 115 overflow: "visible" 116 }); 117 menuToggleTL.reverse(); 118 (0,_index_js__WEBPACK_IMPORTED_MODULE_0__.smoothScrolling)($(this)); 119 } else { 120 // Otherwise just scroll to the hash 121 (0,_index_js__WEBPACK_IMPORTED_MODULE_0__.smoothScrolling)($(this)); 122 } 123 }); 124 } 125}; 126 127/***/ }), 128
129/***/ "./src/js/components/form-pop.js": 130/*!***************************************!*\ 131 !*** ./src/js/components/form-pop.js ***! 132 \***************************************/ 133/***/ (() => { 134 135(function ($) { 136 $('.toggleForm').click(function () { 137 $('.pop-form').addClass('active'); 138 }); 139})(jQuery); 140(function ($) { 141 $('.closePopFormModal').click(function () { 142 $('.pop-form').removeClass('active'); 143 }); 144})(jQuery); 145 146/***/ }), 147
148/***/ "./src/js/components/global.js": 149/*!*************************************!*\ 150 !*** ./src/js/components/global.js ***! 151 \*************************************/ 152/***/ (() => { 153 154// (function ($) { 155// $(".content-shift p img").parent().css({ "padding-left": "0" }); 156// $(".content-shift p img").parent().addClass("img-border-bg"); 157// })(jQuery); 158 159// (function ($) { 160// $(".global-content p > img").parent().addClass("img-border-bg"); 161// })(jQuery); 162 163// const player = new Plyr(".plyerPlayer", { 164// // autoplay: true, 165// hideControls: false, 166// fullscreen: { 167// enabled: true, 168// iosNative: true, 169// }, 170// playsinline: false, 171// }); 172 173// SPLASH 174 175var acc = document.getElementsByClassName("accordion"); 176var i; 177for (i = 0; i < acc.length; i++) { 178 acc[i].addEventListener("click", function () { 179 this.classList.toggle("active"); 180 var panel = this.nextElementSibling; 181 if (panel.style.maxHeight) { 182 panel.style.maxHeight = null; 183 } else { 184 panel.style.maxHeight = panel.scrollHeight + "px"; 185 } 186 }); 187} 188 189/***/ }), 190
191/***/ "./src/js/components/gsapRegisters.js": 192/*!********************************************!*\ 193 !*** ./src/js/components/gsapRegisters.js ***! 194 \********************************************/ 195/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { 196 197"use strict"; 198__webpack_require__.r(__webpack_exports__); 199/* harmony export */ __webpack_require__.d(__webpack_exports__, { 200/* harmony export */ gsapRegisters: () => (/* binding */ gsapRegisters) 201/* harmony export */ }); 202// Register any GSAP plugins we need 203var gsapRegisters = function gsapRegisters() { 204 gsap.registerPlugin(ScrollToPlugin); 205}; 206 207/***/ }), 208
209/***/ "./src/js/components/index.js": 210/*!************************************!*\ 211 !*** ./src/js/components/index.js ***! 212 \************************************/ 213/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { 214 215"use strict"; 216__webpack_require__.r(__webpack_exports__); 217/* harmony export */ __webpack_require__.d(__webpack_exports__, { 218/* harmony export */ clickEvents: () => (/* reexport safe */ _clickEvents_js__WEBPACK_IMPORTED_MODULE_3__.clickEvents), 219/* harmony export */ externalLinks: () => (/* reexport safe */ _pageSetup_js__WEBPACK_IMPORTED_MODULE_0__.externalLinks), 220/* harmony export */ gsapRegisters: () => (/* reexport safe */ _gsapRegisters_js__WEBPACK_IMPORTED_MODULE_2__.gsapRegisters), 221/* harmony export */ menuToggle: () => (/* reexport safe */ _menuToggle_js__WEBPACK_IMPORTED_MODULE_1__.menuToggle), 222/* harmony export */ mobileNavSetup: () => (/* reexport safe */ _pageSetup_js__WEBPACK_IMPORTED_MODULE_0__.mobileNavSetup), 223/* harmony export */ navSearchSetup: () => (/* reexport safe */ _pageSetup_js__WEBPACK_IMPORTED_MODULE_0__.navSearchSetup), 224/* harmony export */ preLoader: () => (/* reexport safe */ _pageSetup_js__WEBPACK_IMPORTED_MODULE_0__.preLoader), 225/* harmony export */ searchReveal: () => (/* reexport safe */ _searchReveal_js__WEBPACK_IMPORTED_MODULE_4__.searchReveal), 226/* harmony export */ smoothScrolling: () => (/* reexport safe */ _pageSetup_js__WEBPACK_IMPORTED_MODULE_0__.smoothScrolling) 227/* harmony export */ }); 228/* harmony import */ var _pageSetup_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./pageSetup.js */ "./src/js/components/pageSetup.js"); 229/* harmony import */ var _menuToggle_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./menuToggle.js */ "./src/js/components/menuToggle.js"); 230/* harmony import */ var _gsapRegisters_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./gsapRegisters.js */ "./src/js/components/gsapRegisters.js"); 231/* harmony import */ var _clickEvents_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./clickEvents.js */ "./src/js/components/clickEvents.js"); 232/* harmony import */ var _searchReveal_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./searchReveal.js */ "./src/js/components/searchReveal.js"); 233// Import All Functions here 234// So they can all be called from: index.js in other files. 235 236 237 238 239 240 241/***/ }), 242
243/***/ "./src/js/components/menuToggle.js": 244/*!*****************************************!*\ 245 !*** ./src/js/components/menuToggle.js ***! 246 \*****************************************/ 247/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { 248 249"use strict"; 250__webpack_require__.r(__webpack_exports__); 251/* harmony export */ __webpack_require__.d(__webpack_exports__, { 252/* harmony export */ menuToggle: () => (/* binding */ menuToggle) 253/* harmony export */ }); 254// Animate The Mobile Nav open and closed - called in clickEvents.js 255var menuToggle = function menuToggle() { 256 var tl = new gsap.timeline({ 257 paused: true, 258 defaults: { 259 ease: 'circ.out()', 260 duration: 0.3 261 } 262 }); 263 var menuWidth = $('.menuToggle').outerWidth(); 264 var menuHeight = $('.menuToggle').outerHeight(); 265 var toggledWidth = menuWidth / 4 * 3; 266 var toggledX = menuWidth / 4; 267 var angledWidth = menuWidth / 3; 268 var angledY = menuHeight / 3 - 1; 269 var angledX = menuWidth - angledWidth + 1; 270 tl.to('.main-nav', { 271 duration: 0.3, 272 x: '0%' 273 }, 'menuOpen'); 274 tl.to('nav .menu-item', { 275 opacity: 1, 276 x: '0%', 277 stagger: { 278 amount: 0.1 279 } 280 }, 'menuOpen+=0.2'); 281 tl.to('.hamTop', { 282 rotation: 45, 283 x: angledX, 284 y: angledY, 285 width: angledWidth, 286 transformOrigin: '50% 50%' 287 }, 'menuOpen'); 288 tl.to('.hamMid', { 289 x: toggledX, 290 width: toggledWidth 291 }, 'menuOpen'); 292 tl.to('.hamBot', { 293 rotation: -45, 294 x: angledX, 295 y: -angledY, 296 width: angledWidth, 297 transformOrigin: '50% 50%' 298 }, 'menuOpen'); 299 return tl; 300}; 301 302/***/ }), 303
304/***/ "./src/js/components/nav-class-scroll.js": 305/*!***********************************************!*\ 306 !*** ./src/js/components/nav-class-scroll.js ***! 307 \***********************************************/ 308/***/ (() => { 309 310$(window).scroll(function () { 311 if ($(this).scrollTop() > 100) { 312 $(".masthead").addClass("add-bg"); 313 } else { 314 $(".masthead").removeClass("add-bg"); 315 } 316}); 317 318/***/ }), 319
320/***/ "./src/js/components/nav-toggle.js": 321/*!*****************************************!*\ 322 !*** ./src/js/components/nav-toggle.js ***! 323 \*****************************************/ 324/***/ (() => { 325 326var toggle = document.querySelector("#switch"); 327var menu = document.querySelector("#menu"); 328var menuItems = document.querySelectorAll("#menu li a"); 329toggle.addEventListener("click", function () { 330 if (menu.classList.contains("is-active")) { 331 this.setAttribute("aria-expanded", "false"); 332 $("body").removeClass("noScroll"); 333 menu.classList.remove("is-active"); 334 } else { 335 menu.classList.add("is-active"); 336 $("body").addClass("noScroll"); 337 this.setAttribute("aria-expanded", "true"); 338 //menuItems[0].focus(); 339 } 340}); 341(function ($) { 342 $("#switch").click(function () { 343 $(".hamburger").toggleClass("menu-open"); 344 $(".header").toggleClass("drawer-open"); 345 $(".filterExpand").removeClass("expanded"); 346 }); 347})(jQuery); 348(function ($) { 349 $(".filterToggle").click(function () { 350 $(".filterExpand").addClass("expanded"); 351 }); 352})(jQuery); 353(function ($) { 354 $(".closeFilter").click(function () { 355 $(".filterExpand").removeClass("expanded"); 356 }); 357})(jQuery); 358 359/***/ }), 360
361/***/ "./src/js/components/pageSetup.js": 362/*!****************************************!*\ 363 !*** ./src/js/components/pageSetup.js ***! 364 \****************************************/ 365/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { 366 367"use strict"; 368__webpack_require__.r(__webpack_exports__); 369/* harmony export */ __webpack_require__.d(__webpack_exports__, { 370/* harmony export */ externalLinks: () => (/* binding */ externalLinks), 371/* harmony export */ mobileNavSetup: () => (/* binding */ mobileNavSetup), 372/* harmony export */ navSearchSetup: () => (/* binding */ navSearchSetup), 373/* harmony export */ preLoader: () => (/* binding */ preLoader), 374/* harmony export */ smoothScrolling: () => (/* binding */ smoothScrolling) 375/* harmony export */ }); 376// Show and Hide the Preloader - Called on windowLoad.js 377var preLoader = function preLoader() { 378 var tl = new gsap.timeline({ 379 defaults: { 380 duration: 0.3, 381 ease: 'power1.in' 382 }, 383 onComplete: function onComplete() { 384 $('#preloader').remove(); 385 } 386 }); 387 tl.to('#preloader svg', { 388 rotateY: 90 389 }); 390 tl.to('#preloader', { 391 opacity: 0 392 }, "+=0.05"); 393}; 394 395// Hide Each of the Mobile Nav Links - called in windowLoad.js 396var mobileNavSetup = function mobileNavSetup() { 397 gsap.set('nav .menu-item', { 398 opacity: 0, 399 x: '50%' 400 }); 401}; 402 403// Hide Each of the Mobile Nav Links - called in windowLoad.js 404var navSearchSetup = function navSearchSetup() { 405 var container = $('.headerSearchContainer'); 406 var headline = container.find('h4'); 407 var thisForm = container.find('.searchform'); 408 var searchContainerHeight = container.outerHeight(); 409 var close = $('.mobile-search-close'); 410 container.attr('data-height', searchContainerHeight); 411 gsap.set([headline, thisForm], { 412 opacity: 0, 413 y: -10 414 }); 415 gsap.set(close, { 416 opacity: 0, 417 y: -10 418 }); 419 gsap.set(container, { 420 height: 0 421 }); 422}; 423 424// Always Open External Links in a new tab - called in windowLoad.js 425var externalLinks = function externalLinks() { 426 $('a').each(function () { 427 var a = new RegExp('/' + window.location.host + '/'); 428 if (!a.test(this.href)) { 429 $(this).on('click', function (event) { 430 event.preventDefault(); 431 event.stopPropagation(); 432 window.open(this.href, '_blank'); 433 }); 434 } 435 }); 436}; 437 438// Function for SmoothScrolling - Called in clickEvents.js 439var smoothScrolling = function smoothScrolling(theLink) { 440 var target = $(theLink).attr('href'); 441 var headerHeight = $('.header').outerHeight(); 442 gsap.to(window, { 443 duration: .5, 444 ease: 'circ.out', 445 scrollTo: { 446 y: target 447 // Activate if Header Is Fixed 448 // offsetY:headerHeight 449 } 450 }); 451 return false; 452}; 453 454/***/ }), 455
456/***/ "./src/js/components/pop-team.js": 457/*!***************************************!*\ 458 !*** ./src/js/components/pop-team.js ***! 459 \***************************************/ 460/***/ (() => { 461 462/*trigger*/ 463$('.pop-team-trigger').click(function (event) { 464 var current_id = $(this).attr('id'); 465 $('.hidden-modal').removeClass('displayMe'); 466 $('.hidden-modal[id="' + current_id + '"]').addClass('displayMe'); 467 // var selected_current_id = $('.pop-team ').attr('id'); 468 $('.pop-overlay').addClass('on'); 469}); 470$('.closeHiddenModal').click(function (event) { 471 $('.hidden-modal').removeClass('displayMe'); 472 $('.pop-overlay').removeClass('on'); 473}); 474$('.pop-overlay').click(function (event) { 475 $('.hidden-modal').removeClass('displayMe'); 476 $('.pop-overlay').removeClass('on'); 477}); 478 479/*trigger*/ 480$('.portToggle').click(function (event) { 481 var current_id_port = $(this).attr('id'); 482 $('.hidden-port-modal').removeClass('displayPortfolio'); 483 $('.hidden-port-modal[id="' + current_id_port + '"]').addClass('displayPortfolio'); 484 // var selected_current_id = $('.pop-team ').attr('id'); 485}); 486$('.closePortfolio').click(function (event) { 487 $('.hidden-port-modal').removeClass('displayPortfolio'); 488}); 489 490/***/ }), 491
492/***/ "./src/js/components/searchReveal.js": 493/*!*******************************************!*\ 494 !*** ./src/js/components/searchReveal.js ***! 495 \*******************************************/ 496/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { 497 498"use strict"; 499__webpack_require__.r(__webpack_exports__); 500/* harmony export */ __webpack_require__.d(__webpack_exports__, { 501/* harmony export */ searchReveal: () => (/* binding */ searchReveal) 502/* harmony export */ }); 503var searchReveal = function searchReveal() { 504 var tl = new gsap.timeline({ 505 paused: true, 506 defaults: { 507 ease: 'Power4.in()', 508 duration: 0.3 509 } 510 }); 511 var container = $('.headerSearchContainer'); 512 var headline = container.find('h4'); 513 var form = container.find('.searchform'); 514 var close = $('.mobile-search-close'); 515 var toggleHeight = container.attr('data-height'); 516 517 // Rotate Main Nav Item / Different Class than click event trigger 518 tl.to('.searchNavItem', { 519 rotation: 90 520 }, 'searchOpen'); 521 tl.to(container, { 522 height: toggleHeight 523 }, 'searchOpen'); 524 tl.to([headline, form, close], { 525 opacity: 1, 526 y: 0, 527 duration: 0.2 528 }, 'searchOpen+=0.1'); 529 return tl; 530}; 531 532/***/ }), 533
534/***/ "./src/js/components/swiper.js": 535/*!*************************************!*\ 536 !*** ./src/js/components/swiper.js ***! 537 \*************************************/ 538/***/ (() => { 539 540var swiper = new Swiper(".swiper", { 541 // Optional parameters 542 543 loop: "true", 544 speed: 1000, 545 autoplay: { 546 delay: 3000 547 }, 548 // Navigation arrows 549 navigation: { 550 nextEl: ".swiper-button-next", 551 prevEl: ".swiper-button-prev" 552 } 553}); 554 555/***/ }), 556
557/***/ "./src/js/components/tabs.js": 558/*!***********************************!*\ 559 !*** ./src/js/components/tabs.js ***! 560 \***********************************/ 561/***/ (() => { 562 563tabControl(); 564 565/* 566We also apply the switch when a viewport change is detected on the fly 567(e.g. when you resize the browser window or flip your device from 568portrait mode to landscape). We set a timer with a small delay to run 569it only once when the resizing ends. It's not perfect, but it's better 570than have it running constantly during the action of resizing. 571*/ 572var resizeTimer; 573$(window).on("resize", function (e) { 574 clearTimeout(resizeTimer); 575 resizeTimer = setTimeout(function () { 576 tabControl(); 577 }, 250); 578}); 579 580/* 581The function below is responsible for switching the tabs when clicked. 582It switches both the tabs and the accordion buttons even if 583only the one or the other can be visible on a screen. We prefer 584that in order to have a consistent selection in case the viewport 585changes (e.g. when you esize the browser window or flip your 586device from portrait mode to landscape). 587*/ 588function tabControl() { 589 var tabs = $(".tabbed-content").find(".tabs"); 590 if (tabs.is(":visible")) { 591 tabs.find("a").on("click", function (event) { 592 event.preventDefault(); 593 var target = $(this).attr("href"), 594 tabs = $(this).parents(".tabs"), 595 buttons = tabs.find("a"), 596 item = tabs.parents(".tabbed-content").find(".item"); 597 buttons.removeClass("active"); 598 item.removeClass("active"); 599 $(this).addClass("active"); 600 $(target).addClass("active"); 601 }); 602 } else { 603 $(".item").on("click", function () { 604 var container = $(this).parents(".tabbed-content"), 605 currId = $(this).attr("id"), 606 items = container.find(".item"); 607 container.find(".tabs a").removeClass("active"); 608 items.removeClass("active"); 609 $(this).addClass("active"); 610 container.find('.tabs a[href$="#' + currId + '"]').addClass("active"); 611 }); 612 } 613} 614 615/***/ }), 616
617/***/ "./src/js/components/video-pop.js": 618/*!****************************************!*\ 619 !*** ./src/js/components/video-pop.js ***! 620 \****************************************/ 621/***/ (() => { 622 623// (function( $ ) { 624// $('.play-icon').click(function() { 625// $('.videoModal').addClass('showModal'); 626// } 627// ); 628// })(jQuery); 629// (function( $ ) { 630// $('.closeModal').click(function() { 631// 632// var video1 = $(".video-modal iframe").attr("src"); 633// $(".video-modal iframe").attr("src",""); 634// $(".video-modal iframe").attr("src",video1); 635// 636// 637// $('.videoModal').removeClass('showModal'); 638// } 639// ); 640// })(jQuery); 641 642document.addEventListener("DOMContentLoaded", function () { 643 var player = new Plyr(".plyerPlayer", { 644 autoplay: false, 645 hideControls: false, 646 fullscreen: { 647 enabled: true, 648 iosNative: true 649 }, 650 playsinline: false 651 }); 652 (function ($) { 653 $(".playHomeVideo").on("click", function () { 654 $(".videoModalHome").addClass("overlay-on"); 655 player.play(); 656 //$(".plyerPlayer").get(0).play(); 657 // $('.masthead').addClass('slideUp slide-up'); 658 $(".cta-row").addClass("slideDown slide-down"); 659 // $(".stopElementClass").toggleClass('stopElementClass playElementClass'); 660 }); 661 })(jQuery); 662 (function ($) { 663 $(".closeVideoOverlayHome").on("click", function () { 664 $(".videoModalHome").removeClass("overlay-on"); 665 player.stop(); 666 //$("#player").get(0).pause(); 667 // $('.masthead').removeClass('slideUp slide-up'); 668 $(".cta-row").removeClass("slideDown slide-down"); 669 // $(".stopElementClass").toggleClass('stopElementClass playElementClass'); 670 }); 671 })(jQuery); 672}, false); 673 674/***/ }), 675
676/***/ "./src/js/components/windowLoad.js": 677/*!*****************************************!*\ 678 !*** ./src/js/components/windowLoad.js ***! 679 \*****************************************/ 680/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { 681 682"use strict"; 683__webpack_require__.r(__webpack_exports__); 684/* harmony import */ var _index_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./index.js */ "./src/js/components/index.js"); 685 686window.addEventListener("load", function () { 687 // Setup Basic Functionality 688 (0,_index_js__WEBPACK_IMPORTED_MODULE_0__.preLoader)(); 689 (0,_index_js__WEBPACK_IMPORTED_MODULE_0__.externalLinks)(); 690 (0,_index_js__WEBPACK_IMPORTED_MODULE_0__.gsapRegisters)(); 691 (0,_index_js__WEBPACK_IMPORTED_MODULE_0__.navSearchSetup)(); 692 (0,_index_js__WEBPACK_IMPORTED_MODULE_0__.clickEvents)(); 693}); 694window.addEventListener("resize", function () { 695 if ($(window).width() < 1024) {} else {} 696}); 697 698/***/ })
vendor: 7,160 bytes, lines 698-799
698 699 700/******/ }); 701/************************************************************************/ 702/******/ // The module cache 703/******/ var __webpack_module_cache__ = {}; 704/******/ 705/******/ // The require function 706/******/ function __webpack_require__(moduleId) { 707/******/ // Check if module is in cache 708/******/ var cachedModule = __webpack_module_cache__[moduleId]; 709/******/ if (cachedModule !== undefined) { 710/******/ return cachedModule.exports; 711/******/ } 712/******/ // Create a new module (and put it into the cache) 713/******/ var module = __webpack_module_cache__[moduleId] = { 714/******/ // no module.id needed 715/******/ // no module.loaded needed 716/******/ exports: {} 717/******/ }; 718/******/ 719/******/ // Execute the module function 720/******/ __webpack_modules__[moduleId](module, module.exports, __webpack_require__); 721/******/ 722/******/ // Return the exports of the module 723/******/ return module.exports; 724/******/ } 725/******/ 726/************************************************************************/ 727/******/ /* webpack/runtime/compat get default export */ 728/******/ (() => { 729/******/ // getDefaultExport function for compatibility with non-harmony modules 730/******/ __webpack_require__.n = (module) => { 731/******/ var getter = module && module.__esModule ? 732/******/ () => (module['default']) : 733/******/ () => (module); 734/******/ __webpack_require__.d(getter, { a: getter }); 735/******/ return getter; 736/******/ }; 737/******/ })(); 738/******/ 739/******/ /* webpack/runtime/define property getters */ 740/******/ (() => { 741/******/ // define getter functions for harmony exports 742/******/ __webpack_require__.d = (exports, definition) => { 743/******/ for(var key in definition) { 744/******/ if(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) { 745/******/ Object.defineProperty(exports, key, { enumerable: true, get: definition[key] }); 746/******/ } 747/******/ } 748/******/ }; 749/******/ })(); 750/******/ 751/******/ /* webpack/runtime/hasOwnProperty shorthand */ 752/******/ (() => { 753/******/ __webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop)) 754/******/ })(); 755/******/ 756/******/ /* webpack/runtime/make namespace object */ 757/******/ (() => { 758/******/ // define __esModule on exports 759/******/ __webpack_require__.r = (exports) => { 760/******/ if(typeof Symbol !== 'undefined' && Symbol.toStringTag) { 761/******/ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' }); 762/******/ } 763/******/ Object.defineProperty(exports, '__esModule', { value: true }); 764/******/ }; 765/******/ })(); 766/******/ 767/************************************************************************/ 768var __webpack_exports__ = {}; 769// This entry needs to be wrapped in an IIFE because it needs to be in strict mode. 770(() => { 771"use strict"; 772/*!**************************!*\ 773 !*** ./src/js/bundle.js ***! 774 \**************************/ 775__webpack_require__.r(__webpack_exports__); 776/* harmony import */ var _components_windowLoad_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./components/windowLoad.js */ "./src/js/components/windowLoad.js"); 777/* harmony import */ var _components_checkforjs_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./components/checkforjs.js */ "./src/js/components/checkforjs.js"); 778/* harmony import */ var _components_checkforjs_js__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_components_checkforjs_js__WEBPACK_IMPORTED_MODULE_1__); 779/* harmony import */ var _components_nav_toggle_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./components/nav-toggle.js */ "./src/js/components/nav-toggle.js"); 780/* harmony import */ var _components_nav_toggle_js__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(_components_nav_toggle_js__WEBPACK_IMPORTED_MODULE_2__); 781/* harmony import */ var _components_nav_class_scroll_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./components/nav-class-scroll.js */ "./src/js/components/nav-class-scroll.js"); 782/* harmony import */ var _components_nav_class_scroll_js__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(_components_nav_class_scroll_js__WEBPACK_IMPORTED_MODULE_3__); 783/* harmony import */ var _components_form_pop_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./components/form-pop.js */ "./src/js/components/form-pop.js"); 784/* harmony import */ var _components_form_pop_js__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(_components_form_pop_js__WEBPACK_IMPORTED_MODULE_4__); 785/* harmony import */ var _components_cat_toggle_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./components/cat-toggle.js */ "./src/js/components/cat-toggle.js"); 786/* harmony import */ var _components_cat_toggle_js__WEBPACK_IMPORTED_MODULE_5___default = /*#__PURE__*/__webpack_require__.n(_components_cat_toggle_js__WEBPACK_IMPORTED_MODULE_5__); 787/* harmony import */ var _components_swiper_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./components/swiper.js */ "./src/js/components/swiper.js"); 788/* harmony import */ var _components_swiper_js__WEBPACK_IMPORTED_MODULE_6___default = /*#__PURE__*/__webpack_require__.n(_components_swiper_js__WEBPACK_IMPORTED_MODULE_6__); 789/* harmony import */ var _components_global_js__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./components/global.js */ "./src/js/components/global.js"); 790/* harmony import */ var _components_global_js__WEBPACK_IMPORTED_MODULE_7___default = /*#__PURE__*/__webpack_require__.n(_components_global_js__WEBPACK_IMPORTED_MODULE_7__); 791/* harmony import */ var _components_pop_team_js__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ./components/pop-team.js */ "./src/js/components/pop-team.js"); 792/* harmony import */ var _components_pop_team_js__WEBPACK_IMPORTED_MODULE_8___default = /*#__PURE__*/__webpack_require__.n(_components_pop_team_js__WEBPACK_IMPORTED_MODULE_8__); 793/* harmony import */ var _components_blog_dropdown_js__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ./components/blog-dropdown.js */ "./src/js/components/blog-dropdown.js"); 794/* harmony import */ var _components_blog_dropdown_js__WEBPACK_IMPORTED_MODULE_9___default = /*#__PURE__*/__webpack_require__.n(_components_blog_dropdown_js__WEBPACK_IMPORTED_MODULE_9__); 795/* harmony import */ var _components_tabs_js__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ./components/tabs.js */ "./src/js/components/tabs.js"); 796/* harmony import */ var _components_tabs_js__WEBPACK_IMPORTED_MODULE_10___default = /*#__PURE__*/__webpack_require__.n(_components_tabs_js__WEBPACK_IMPORTED_MODULE_10__); 797/* harmony import */ var _components_video_pop_js__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! ./components/video-pop.js */ "./src/js/components/video-pop.js"); 798/* harmony import */ var _components_video_pop_js__WEBPACK_IMPORTED_MODULE_11___default = /*#__PURE__*/__webpack_require__.n(_components_video_pop_js__WEBPACK_IMPORTED_MODULE_11__); 799/* harmony import */ var _components_acc_js__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! ./components/
799acc.js */ "./src/js/components/acc.js"); 800/* harmony import */ var _components_acc_js__WEBPACK_IMPORTED_MODULE_12___default = /*#__PURE__*/__webpack_require__.n(_components_acc_js__WEBPACK_IMPORTED_MODULE_12__); 801 802// GLOBALS 803 804// import "./components/nav-color.js"; 805// import './components/nav-drop-accessible.js'; 806 807// import './components/video-pop.js'; 808// import "./components/header-color.js"; 809 810 811// import "./components/smooth-scroll.js"; 812 813// import "./components/smooth-scroll.js"; 814 815// SITE 816 817// import "./components/gallery-lightbox.js"; 818 819 820 821 822 823})(); 824 825/******/ })() 826; 827//# sourceMappingURL=data:application/json;charset=utf-8;base64,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s7Ozs7VUN0QkY7VUFDQTs7VUFFQTtVQUNBO1VBQ0E7VUFDQTtVQUNBO1VBQ0E7VUFDQTtVQUNBO1VBQ0E7VUFDQTtVQUNBO1VBQ0E7VUFDQTs7VUFFQTtVQUNBOztVQUVBO1VBQ0E7VUFDQTs7Ozs7V0N0QkE7V0FDQTtXQUNBO1dBQ0E7V0FDQTtXQUNBLGlDQUFpQyxXQUFXO1dBQzVDO1dBQ0E7Ozs7O1dDUEE7V0FDQTtXQUNBO1dBQ0E7V0FDQSx5Q0FBeUMsd0NBQXdDO1dBQ2pGO1dBQ0E7V0FDQTs7Ozs7V0NQQTs7Ozs7V0NBQTtXQUNBO1dBQ0E7V0FDQSx1REFBdUQsaUJBQWlCO1dBQ3hFO1dBQ0EsZ0RBQWdELGFBQWE7V0FDN0Q7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUNOb0M7QUFDcEM7QUFDb0M7QUFDcEM7QUFDQTtBQUNvQztBQUNwQztBQUNBO0FBQzBDO0FBQ1I7QUFDbEM7QUFDb0M7QUFDcEM7QUFDZ0M7QUFDaEM7QUFDZ0M7QUFDaEM7QUFDa0M7QUFDSztBQUNUO0FBQ0siLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9mdWdfdGhlbWUvLi9zcmMvanMvY29tcG9uZW50cy9hY2MuanMiLCJ3ZWJwYWNrOi8vZnVnX3RoZW1lLy4vc3JjL2pzL2NvbXBvbmVudHMvYmxvZy1kcm9wZG93bi5qcyIsIndlYnBhY2s6Ly9mdWdfdGhlbWUvLi9zcmMvanMvY29tcG9uZW50cy9jYXQtdG9nZ2xlLmpzIiwid2VicGFjazovL2Z1Z190aGVtZS8uL3NyYy9qcy9jb21wb25lbnRzL2NoZWNrZm9yanMuanMiLCJ3ZWJwYWNrOi8vZnVnX3RoZW1lLy4vc3JjL2pzL2NvbXBvbmVudHMvY2xpY2tFdmVudHMuanMiLCJ3ZWJwYWNrOi8vZnVnX3RoZW1lLy4vc3JjL2pzL2NvbXBvbmVudHMvZm9ybS1wb3AuanMiLCJ3ZWJwYWNrOi8vZnVnX3RoZW1lLy4vc3JjL2pzL2NvbXBvbmVudHMvZ2xvYmFsLmpzIiwid2VicGFjazovL2Z1Z190aGVtZS8uL3NyYy9qcy9jb21wb25lbnRzL2dzYXBSZWdpc3RlcnMuanMiLCJ3ZWJwYWNrOi8vZnVnX3RoZW1lLy4vc3JjL2pzL2NvbXBvbmVudHMvaW5kZXguanMiLCJ3ZWJwYWNrOi8vZnVnX3RoZW1lLy4vc3JjL2pzL2NvbXBvbmVudHMvbWVudVRvZ2dsZS5qcyIsIndlYnBhY2s6Ly9mdWdfdGhlbWUvLi9zcmMvanMvY29tcG9uZW50cy9uYXYtY2xhc3Mtc2Nyb2xsLmpzIiwid2VicGFjazovL2Z1Z190aGVtZS8uL3NyYy9qcy9jb21wb25lbnRzL25hdi10b2dnbGUuanMiLCJ3ZWJwYWNrOi8vZnVnX3RoZW1lLy4vc3JjL2pzL2NvbXBvbmVudHMvcGFnZVNldHVwLmpzIiwid2VicGFjazovL2Z1Z190aGVtZS8uL3NyYy9qcy9jb21wb25lbnRzL3BvcC10ZWFtLmpzIiwid2VicGFjazovL2Z1Z190aGVtZS8uL3NyYy9qcy9jb21wb25lbnRzL3NlYXJjaFJldmVhbC5qcyIsIndlYnBhY2s6Ly9mdWdfdGhlbWUvLi9zcmMvanMvY29tcG9uZW50cy9zd2lwZXIuanMiLCJ3ZWJwYWNrOi8vZnVnX3RoZW1lLy4vc3JjL2pzL2NvbXBvbmVudHMvdGFicy5qcyIsIndlYnBhY2s6Ly9mdWdfdGhlbWUvLi9zcmMvanMvY29tcG9uZW50cy92aWRlby1wb3AuanMiLCJ3ZWJwYWNrOi8vZnVnX3RoZW1lLy4vc3JjL2pzL2NvbXBvbmVudHMvd2luZG93TG9hZC5qcyIsIndlYnBhY2s6Ly9mdWdfdGhlbWUvd2VicGFjay9ib290c3RyYXAiLCJ3ZWJwYWNrOi8vZnVnX3RoZW1lL3dlYnBhY2svcnVudGltZS9jb21wYXQgZ2V0IGRlZmF1bHQgZXhwb3J0Iiwid2VicGFjazovL2Z1Z190aGVtZS93ZWJwYWNrL3J1bnRpbWUvZGVmaW5lIHByb3BlcnR5IGdldHRlcnMiLCJ3ZWJwYWNrOi8vZnVnX3RoZW1lL3dlYnBhY2svcnVudGltZS9oYXNPd25Qcm9wZXJ0eSBzaG9ydGhhbmQiLCJ3ZWJwYWNrOi8vZnVnX3RoZW1lL3dlYnBhY2svcnVudGltZS9tYWtlIG5hbWVzcGFjZSBvYmplY3QiLCJ3ZWJwYWNrOi8vZnVnX3RoZW1lLy4vc3JjL2pzL2J1bmRsZS5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyIkKGZ1bmN0aW9uKCkge1xuXHR2YXIgQWNjb3JkaW9uID0gZnVuY3Rpb24oZWwsIG11bHRpcGxlKSB7XG5cdFx0dGhpcy5lbCA9IGVsIHx8IHt9O1xuXHRcdHRoaXMubXVsdGlwbGUgPSBtdWx0aXBsZSB8fCBmYWxzZTtcblxuXHRcdC8vIFZhcmlhYmxlcyBwcml2YWRhc1xuXHRcdHZhciBsaW5rcyA9IHRoaXMuZWwuZmluZCgnLmxpbmsnKTtcblx0XHQvLyBFdmVudG9cblx0XHRsaW5rcy5vbignY2xpY2snLCB7ZWw6IHRoaXMuZWwsIG11bHRpcGxlOiB0aGlzLm11bHRpcGxlfSwgdGhpcy5kcm9wZG93bilcblx0fVxuXG5cdEFjY29yZGlvbi5wcm90b3R5cGUuZHJvcGRvd24gPSBmdW5jdGlvbihlKSB7XG5cdFx0dmFyICRlbCA9IGUuZGF0YS5lbDtcblx0XHRcdCR0aGlzID0gJCh0aGlzKSxcblx0XHRcdCRuZXh0ID0gJHRoaXMubmV4dCgpO1xuXG5cdFx0JG5leHQuc2xpZGVUb2dnbGUoNDAwKTtcblx0XHQkdGhpcy5wYXJlbnQoKS50b2dnbGVDbGFzcygnb3BlbicpO1xuXG5cdFx0aWYgKCFlLmRhdGEubXVsdGlwbGUpIHtcblx0XHRcdCRlbC5maW5kKCcuc3VibWVudScpLm5vdCgkbmV4dCkuc2xpZGVVcCgpLnBhcmVudCgpLnJlbW92ZUNsYXNzKCdvcGVuJyk7XG5cdFx0fTtcblx0fVx0XG5cblx0dmFyIGFjY29yZGlvbiA9IG5ldyBBY2NvcmRpb24oJCgnLmFjY29yZGlvbi1mbGV4JyksIGZhbHNlKTtcbn0pO1xuIiwiZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcihcblx0XCJET01Db250ZW50TG9hZGVkXCIsXG5cdGZ1bmN0aW9uICgpIHtcblx0XHQoZnVuY3Rpb24gKCQpIHtcblx0XHRcdCQoXCIuYmxvZ0Ryb3Bkb3duVG9nZ2xlXCIpLmNsaWNrKGZ1bmN0aW9uICgpIHtcblx0XHRcdFx0aWYgKCQoXCIuZHJvcGRvd25NZW51XCIpLmhhc0NsYXNzKFwiaXMtYWN0aXZlXCIpKSB7XG5cdFx0XHRcdFx0JChcIi
8275kcm9wZG93bk1lbnVcIikucmVtb3ZlQ2xhc3MoXCJpcy1hY3RpdmVcIik7XG5cdFx0XHRcdFx0JChcIi5ibG9nLWRyb3Bkb3duXCIpLnJlbW92ZUNsYXNzKFwiaXMtZXhwYW5kZWRcIik7XG5cdFx0XHRcdFx0JCh0aGlzKS5hdHRyKFwiYXJpYS1leHBhbmRlZFwiLCBcImZhbHNlXCIpO1xuXHRcdFx0XHRcdCQodGhpcykuc2libGluZ3MoXCIuZHJvcGRvd25NZW51XCIpLmF0dHIoXCJhcmlhLWhpZGRlblwiLCBcInRydWVcIik7XG5cdFx0XHRcdH0gZWxzZSB7XG5cdFx0XHRcdFx0JChcIi5kcm9wZG93bk1lbnVcIikuYWRkQ2xhc3MoXCJpcy1hY3RpdmVcIik7XG5cdFx0XHRcdFx0JCh0aGlzKS5hdHRyKFwiYXJpYS1leHBhbmRlZFwiLCBcInRydWVcIik7XG5cdFx0XHRcdFx0JChcIi5ibG9nLWRyb3Bkb3duXCIpLmFkZENsYXNzKFwiaXMtZXhwYW5kZWRcIik7XG5cdFx0XHRcdFx0JCh0aGlzKS5zaWJsaW5ncyhcIi5kcm9wZG93bk1lbnVcIikuYXR0cihcImFyaWEtaGlkZGVuXCIsIFwiZmFsc2VcIik7XG5cdFx0XHRcdH1cblx0XHRcdH0pO1xuXHRcdH0pKGpRdWVyeSk7XG5cdH0sXG5cdGZhbHNlXG4pO1xuIiwiJChcIi50aGUtY2F0XCIpLm9uKFwibW91c2VlbnRlclwiLCBmdW5jdGlvbiAoKSB7XG5cdCQodGhpcykuYWRkQ2xhc3MoXCJhY3RpdmVcIik7XG5cdCQodGhpcykuYXR0cihcImFyaWEtZXhwYW5kZWRcIiwgXCJ0cnVlXCIpO1xuXHQkKHRoaXMpLmNoaWxkcmVuKFwiLmlubmVyLXdyYXBcIikuYXR0cihcImFyaWEtaGlkZGVuXCIsIFwiZmFsc2VcIik7XG59KTtcblxuJChcIi50aGUtY2F0XCIpLm9uKFwibW91c2VsZWF2ZVwiLCBmdW5jdGlvbiAoKSB7XG5cdCQodGhpcykucmVtb3ZlQ2xhc3MoXCJhY3RpdmVcIik7XG5cdCQodGhpcykuYXR0cihcImFyaWEtZXhwYW5kZWRcIiwgXCJmYWxzZVwiKTtcblx0JCh0aGlzKS5jaGlsZHJlbihcIi5pbm5lci13cmFwXCIpLmF0dHIoXCJhcmlhLWhpZGRlblwiLCBcInRydWVcIik7XG59KTtcbiIsImRvY3VtZW50LmJvZHkuY2xhc3NMaXN0LmFkZCgnanMnKTtcbiIsImltcG9ydCB7IG1lbnVUb2dnbGUsIHNtb290aFNjcm9sbGluZywgc2VhcmNoUmV2ZWFsIH0gZnJvbSBcIi4vaW5kZXguanNcIjtcblxuZXhwb3J0IGxldCBjbGlja0V2ZW50cyA9ICgpID0+IHtcblx0aWYgKCEkKFwibWFpblwiKS5oYXNDbGFzcyhcInBhZ2Utc2NoZWR1bGVcIikpIHtcblx0XHQvLyBDbGlja2luZyBvbiBIYXNoIExpbmtzXG5cdFx0JCgnYVtocmVmXj1cIiNcIl0nKS5vbihcImNsaWNrXCIsIGZ1bmN0aW9uIChlKSB7XG5cdFx0XHRlLnByZXZlbnREZWZhdWx0KCk7XG5cdFx0XHRpZiAoc2NyZWVuLndpZHRoIDw9IDEwMjUpIHtcblx0XHRcdFx0Ly8gSWYgSXQncyBBIEhhc2ggTGluayBvbiBNb2JpbGUgU2Nyb2xsIGFuZCBDbG9zZSBNZW51XG5cdFx0XHRcdGdzYXAuc2V0KCQoXCIud3JhcHBlclwiKSwgeyBoZWlnaHQ6IFwiYXV0b1wiLCBvdmVyZmxvdzogXCJ2aXNpYmxlXCIgfSk7XG5cdFx0XHRcdG1lbnVUb2dnbGVUTC5yZXZlcnNlKCk7XG5cdFx0XHRcdHNtb290aFNjcm9sbGluZygkKHRoaXMpKTtcblx0XHRcdH0gZWxzZSB7XG5cdFx0XHRcdC8vIE90aGVyd2lzZSBqdXN0IHNjcm9sbCB0byB0aGUgaGFzaFxuXHRcdFx0XHRzbW9vdGhTY3JvbGxpbmcoJCh0aGlzKSk7XG5cdFx0XHR9XG5cdFx0fSk7XG5cdH1cbn07XG4iLCIoZnVuY3Rpb24oICQgKSB7XG4gICQoJy50b2dnbGVGb3JtJykuY2xpY2soZnVuY3Rpb24oKSB7XG4gICAgJCgnLnBvcC1mb3JtJykuYWRkQ2xhc3MoJ2FjdGl2ZScpO1xuICB9XG4pO1xufSkoalF1ZXJ5KTtcbihmdW5jdGlvbiggJCApIHtcbiAgJCgnLmNsb3NlUG9wRm9ybU1vZGFsJykuY2xpY2soZnVuY3Rpb24oKSB7XG5cblxuXG4gICAgJCgnLnBvcC1mb3JtJykucmVtb3ZlQ2xhc3MoJ2FjdGl2ZScpO1xuICB9XG4pO1xufSkoalF1ZXJ5KTtcbiIsIi8vIChmdW5jdGlvbiAoJCkge1xuLy8gXHQkKFwiLmNvbnRlbnQtc2hpZnQgcCBpbWdcIikucGFyZW50KCkuY3NzKHsgXCJwYWRkaW5nLWxlZnRcIjogXCIwXCIgfSk7XG4vLyBcdCQoXCIuY29udGVudC1zaGlmdCBwIGltZ1wiKS5wYXJlbnQoKS5hZGRDbGFzcyhcImltZy1ib3JkZXItYmdcIik7XG4vLyAgfSkoalF1ZXJ5KTtcblxuLy8gKGZ1bmN0aW9uICgkKSB7XG4vLyBcdCQoXCIuZ2xvYmFsLWNvbnRlbnQgcCA+IGltZ1wiKS5wYXJlbnQoKS5hZGRDbGFzcyhcImltZy1ib3JkZXItYmdcIik7XG4vLyB9KShqUXVlcnkpO1xuXG4vLyBjb25zdCBwbGF5ZXIgPSBuZXcgUGx5cihcIi5wbHllclBsYXllclwiLCB7XG4vLyBcdC8vICAgIGF1dG9wbGF5OiB0cnVlLFxuLy8gXHRoaWRlQ29udHJvbHM6IGZhbHNlLFxuLy8gXHRmdWxsc2NyZWVuOiB7XG4vLyBcdFx0ZW5hYmxlZDogdHJ1ZSxcbi8vIFx0XHRpb3NOYXRpdmU6IHRydWUsXG4vLyBcdH0sXG4vLyBcdHBsYXlzaW5saW5lOiBmYWxzZSxcbi8vICB9KTtcblxuLy8gU1BMQVNIXG5cbnZhciBhY2MgPSBkb2N1bWVudC5nZXRFbGVtZW50c0J5Q2xhc3NOYW1lKFwiYWNjb3JkaW9uXCIpO1xudmFyIGk7XG5cbmZvciAoaSA9IDA7IGkgPCBhY2MubGVuZ3RoOyBpKyspIHtcblx0YWNjW2ldLmFkZEV2ZW50TGlzdGVuZXIoXCJjbGlja1wiLCBmdW5jdGlvbiAoKSB7XG5cdFx0dGhpcy5jbGFzc0xpc3QudG9nZ2xlKFwiYWN0aXZlXCIpO1xuXHRcdHZhciBwYW5lbCA9IHRoaXMubmV4dEVsZW1lbnRTaWJsaW5nO1xuXHRcdGlmIChwYW5lbC5zdHlsZS5tYXhIZWlnaHQpIHtcblx0XHRcdHBhbmVsLnN0eWxlLm1heEhlaWdodCA9IG51bGw7XG5cdFx0fSBlbHNlIHtcblx0XHRcdHBhbmVsLnN0eWxlLm1heEhlaWdodCA9IHBhbmVsLnNjcm9sbEhlaWdodCArIFwicHhcIjtcblx0XHR9XG5cdH0pO1xufVxuIiwiLy8gUmVnaXN0ZXIgYW55IEdTQVAgcGx1Z2lucyB3ZSBuZWVkXG5leHBvcnQgbGV0IGdzYXBSZWdpc3RlcnMgPSAoKSA9PiB7XG4gIGdzYXAucmVnaXN0ZXJQbHVnaW4oU2Nyb2xsVG9QbHVnaW4pO1xufSIsIi8vIEltcG9ydCBBbGwgRnVuY3Rpb25zIGhlcmVcbi8vIFNvIHRoZXkgY2FuIGFsbCBiZSBjYWxsZWQgZnJvbTogaW5kZXguanMgaW4gb3RoZXIgZmlsZXMuXG5leHBvcnQge1xuICBwcmVMb2FkZXIsXG4gIGV4dGVybmFsTGlua3MsXG4gIHNtb290aFNjcm9sbGluZyxcbiAgbW9iaWxlTmF2U2V0dXAsXG4gIG5hdlNlYXJjaFNldHVwXG59IGZyb20gJy4vcGFnZVNldHVwLmpzJ1xuXG5leHBvcnQge1xuICBtZW51VG9nZ2xlXG59IGZyb20gJy4vbWVudVRvZ2dsZS5qcydcblxuZXhwb3J0IHtcbiAgZ3NhcFJlZ2lzdGVyc1xufSBmcm9tICcuL2dzYXBSZWdpc3RlcnMuanMnXG5cbmV4cG9ydCB7XG4gIGNsaWNrRXZlbnRzLFxufSBmcm9tICcuL2NsaWNrRXZlbnRzLmpzJ1xuXG5leHBvcnQge1xuICBzZWFyY2hSZXZlYWwsXG59IGZyb20gJy4vc2VhcmNoUmV2ZWFsLmpzJ1xuIiwiLy8gQW5pbWF0ZSBUaGUgTW9iaWxlIE5hdiBvcGVuIGFuZCBjbG9zZWQgLSBjYWxsZWQgaW4gY2xpY2tFdmVudHMuanNcbmV4cG9ydCBsZXQgbWVudVRvZ2dsZSA9ICgpID0+IHtcblx0bGV0IHRsID0gbmV3IGdzYXAudGltZWxpbmUoe1xuXHRcdHBhdXNlZDp0cnVlLFxuXHRcdGRlZmF1bHRzOiB7XG5cdFx0XHRlYXNlOiAnY2lyYy5vdXQoKScsXG5cdFx0XHRkdXJhdGlvbj
827owLjMsXG5cdFx0fVxuXHR9KTtcblxuXHRsZXQgbWVudVdpZHRoID0gJCgnLm1lbnVUb2dnbGUnKS5vdXRlcldpZHRoKCk7XG5cdGxldCBtZW51SGVpZ2h0ID0gJCgnLm1lbnVUb2dnbGUnKS5vdXRlckhlaWdodCgpO1xuXHRsZXQgdG9nZ2xlZFdpZHRoID0gKG1lbnVXaWR0aCAvIDQpICogMztcblx0bGV0IHRvZ2dsZWRYID0gbWVudVdpZHRoIC8gNDtcblx0bGV0IGFuZ2xlZFdpZHRoID0gbWVudVdpZHRoIC8gMztcblx0bGV0IGFuZ2xlZFkgPSAobWVudUhlaWdodCAvIDMpIC0gMTtcblx0bGV0IGFuZ2xlZFggPSAobWVudVdpZHRoIC0gYW5nbGVkV2lkdGgpICsgMTtcblxuXHR0bC50bygnLm1haW4tbmF2Jywge2R1cmF0aW9uOjAuMywgeDonMCUnfSwgJ21lbnVPcGVuJyk7XG5cdHRsLnRvKCduYXYgLm1lbnUtaXRlbScsIHtvcGFjaXR5OjEsIHg6JzAlJywgc3RhZ2dlcjoge2Ftb3VudDowLjF9fSwgJ21lbnVPcGVuKz0wLjInKTtcblx0dGwudG8oJy5oYW1Ub3AnLCB7cm90YXRpb246NDUseDphbmdsZWRYICx5OmFuZ2xlZFksIHdpZHRoOmFuZ2xlZFdpZHRoLCB0cmFuc2Zvcm1PcmlnaW46JzUwJSA1MCUnfSwgJ21lbnVPcGVuJyk7XG5cdHRsLnRvKCcuaGFtTWlkJywge3g6dG9nZ2xlZFgsIHdpZHRoOnRvZ2dsZWRXaWR0aH0sICdtZW51T3BlbicpO1xuXHR0bC50bygnLmhhbUJvdCcsIHtyb3RhdGlvbjotNDUsIHg6YW5nbGVkWCwgeTotYW5nbGVkWSwgd2lkdGg6YW5nbGVkV2lkdGgsIHRyYW5zZm9ybU9yaWdpbjonNTAlIDUwJSd9LCAnbWVudU9wZW4nKTtcblxuXHRyZXR1cm4gdGw7XG59IiwiJCh3aW5kb3cpLnNjcm9sbChmdW5jdGlvbiAoKSB7XG5cdGlmICgkKHRoaXMpLnNjcm9sbFRvcCgpID4gMTAwKSB7XG5cdFx0JChcIi5tYXN0aGVhZFwiKS5hZGRDbGFzcyhcImFkZC1iZ1wiKTtcblx0fSBlbHNlIHtcblx0XHQkKFwiLm1hc3RoZWFkXCIpLnJlbW92ZUNsYXNzKFwiYWRkLWJnXCIpO1xuXHR9XG59KTtcbiIsInZhciB0b2dnbGUgPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKFwiI3N3aXRjaFwiKTtcbnZhciBtZW51ID0gZG9jdW1lbnQucXVlcnlTZWxlY3RvcihcIiNtZW51XCIpO1xudmFyIG1lbnVJdGVtcyA9IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3JBbGwoXCIjbWVudSBsaSBhXCIpO1xuXG50b2dnbGUuYWRkRXZlbnRMaXN0ZW5lcihcImNsaWNrXCIsIGZ1bmN0aW9uICgpIHtcblx0aWYgKG1lbnUuY2xhc3NMaXN0LmNvbnRhaW5zKFwiaXMtYWN0aXZlXCIpKSB7XG5cdFx0dGhpcy5zZXRBdHRyaWJ1dGUoXCJhcmlhLWV4cGFuZGVkXCIsIFwiZmFsc2VcIik7XG5cdFx0JChcImJvZHlcIikucmVtb3ZlQ2xhc3MoXCJub1Njcm9sbFwiKTtcblx0XHRtZW51LmNsYXNzTGlzdC5yZW1vdmUoXCJpcy1hY3RpdmVcIik7XG5cdH0gZWxzZSB7XG5cdFx0bWVudS5jbGFzc0xpc3QuYWRkKFwiaXMtYWN0aXZlXCIpO1xuXHRcdCQoXCJib2R5XCIpLmFkZENsYXNzKFwibm9TY3JvbGxcIik7XG5cdFx0dGhpcy5zZXRBdHRyaWJ1dGUoXCJhcmlhLWV4cGFuZGVkXCIsIFwidHJ1ZVwiKTtcblx0XHQvL21lbnVJdGVtc1swXS5mb2N1cygpO1xuXHR9XG59KTtcblxuKGZ1bmN0aW9uICgkKSB7XG5cdCQoXCIjc3dpdGNoXCIpLmNsaWNrKGZ1bmN0aW9uICgpIHtcblx0XHQkKFwiLmhhbWJ1cmdlclwiKS50b2dnbGVDbGFzcyhcIm1lbnUtb3BlblwiKTtcblx0XHQkKFwiLmhlYWRlclwiKS50b2dnbGVDbGFzcyhcImRyYXdlci1vcGVuXCIpO1xuXHRcdCQoXCIuZmlsdGVyRXhwYW5kXCIpLnJlbW92ZUNsYXNzKFwiZXhwYW5kZWRcIik7XG5cdH0pO1xufSkoalF1ZXJ5KTtcblxuKGZ1bmN0aW9uICgkKSB7XG5cdCQoXCIuZmlsdGVyVG9nZ2xlXCIpLmNsaWNrKGZ1bmN0aW9uICgpIHtcblx0XHQkKFwiLmZpbHRlckV4cGFuZFwiKS5hZGRDbGFzcyhcImV4cGFuZGVkXCIpO1xuXHR9KTtcbn0pKGpRdWVyeSk7XG5cbihmdW5jdGlvbiAoJCkge1xuXHQkKFwiLmNsb3NlRmlsdGVyXCIpLmNsaWNrKGZ1bmN0aW9uICgpIHtcblx0XHQkKFwiLmZpbHRlckV4cGFuZFwiKS5yZW1vdmVDbGFzcyhcImV4cGFuZGVkXCIpO1xuXHR9KTtcbn0pKGpRdWVyeSk7XG4iLCIvLyBTaG93IGFuZCBIaWRlIHRoZSBQcmVsb2FkZXIgLSBDYWxsZWQgb24gd2luZG93TG9hZC5qc1xuZXhwb3J0IGxldCBwcmVMb2FkZXIgPSAoKSA9PiB7XG4gIGxldCB0bCA9IG5ldyBnc2FwLnRpbWVsaW5lKHtcbiAgICBkZWZhdWx0czoge1xuICAgICAgZHVyYXRpb246MC4zLFxuICAgICAgZWFzZToncG93ZXIxLmluJyxcbiAgICB9LFxuICAgIG9uQ29tcGxldGU6IGZ1bmN0aW9uKCl7XG4gICAgICAkKCcjcHJlbG9hZGVyJykucmVtb3ZlKCk7XG4gICAgfVxuICB9KVxuICB0bC50bygnI3ByZWxvYWRlciBzdmcnLCB7cm90YXRlWTo5MH0pO1xuXHR0bC50bygnI3ByZWxvYWRlcicsIHtvcGFjaXR5OjB9LFwiKz0wLjA1XCIpO1xufVxuXG5cbi8vIEhpZGUgRWFjaCBvZiB0aGUgTW9iaWxlIE5hdiBMaW5rcyAtIGNhbGxlZCBpbiB3aW5kb3dMb2FkLmpzXG5leHBvcnQgbGV0IG1vYmlsZU5hdlNldHVwID0gKCkgPT4ge1xuICBnc2FwLnNldCgnbmF2IC5tZW51LWl0ZW0nLCB7b3BhY2l0eTowLCB4Oic1MCUnfSk7XG59XG5cbi8vIEhpZGUgRWFjaCBvZiB0aGUgTW9iaWxlIE5hdiBMaW5rcyAtIGNhbGxlZCBpbiB3aW5kb3dMb2FkLmpzXG5leHBvcnQgbGV0IG5hdlNlYXJjaFNldHVwID0gKCkgPT4ge1xuICBsZXQgY29udGFpbmVyID0gJCgnLmhlYWRlclNlYXJjaENvbnRhaW5lcicpXG4gIGxldCBoZWFkbGluZSA9IGNvbnRhaW5lciAuZmluZCgnaDQnKTtcbiAgbGV0IHRoaXNGb3JtID0gY29udGFpbmVyIC5maW5kKCcuc2VhcmNoZm9ybScpO1xuICBsZXQgc2VhcmNoQ29udGFpbmVySGVpZ2h0ID0gY29udGFpbmVyLm91dGVySGVpZ2h0KCk7XG4gIGxldCBjbG9zZSA9ICQoJy5tb2JpbGUtc2VhcmNoLWNsb3NlJyk7XG4gIGNvbnRhaW5lci5hdHRyKCdkYXRhLWhlaWdodCcsIHNlYXJjaENvbnRhaW5lckhlaWdodClcblx0Z3NhcC5zZXQoW2hlYWRsaW5lLCB0aGlzRm9ybV0sIHtvcGFjaXR5OjAsIHk6IC0xMH0pO1xuICBnc2FwLnNldChjbG9zZSwge29wYWNpdHk6MCwgeTotMTB9KTtcbiAgZ3NhcC5zZXQoY29udGFpbmVyLCB7aGVpZ2h0OjB9KTtcbn1cblxuXG4vLyBBbHdheXMgT3BlbiBFeHRlcm5hbCBMaW5rcyBpbiBhIG5ldyB0YWIgLSBjYWxsZWQgaW4gd2luZG93TG9hZC5qc1xuZXhwb3J0IGxldCBleHRlcm5hbExpbmtzPSAoKSA9PiB7XG4gICQoJ2EnKS5lYWNoKGZ1bmN0aW9uKCkge1xuICAgIGxldCBhID0gbmV3IFJlZ0V4cCgnLycgKyB3aW5kb3cubG9jYXRpb24uaG9zdCArICcvJyk7XG4gICAgaWYoIWEudGVzdCh0aGlzLmhyZWYpKSB7XG4gICAgICAkKHRoaXMpLm9uKCdjbGljaycsIGZ1bmN0aW9uKGV2ZW50KSB7XG4gICAgICAgIGV2ZW50LnByZXZlbn
827REZWZhdWx0KCk7XG4gICAgICAgIGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpO1xuICAgICAgICB3aW5kb3cub3Blbih0aGlzLmhyZWYsICdfYmxhbmsnKTtcbiAgICAgIH0pO1xuICAgIH1cbiAgfSk7XG59XG5cbi8vIEZ1bmN0aW9uIGZvciBTbW9vdGhTY3JvbGxpbmcgLSBDYWxsZWQgaW4gY2xpY2tFdmVudHMuanNcbmV4cG9ydCBsZXQgc21vb3RoU2Nyb2xsaW5nID0gKHRoZUxpbmspID0+IHtcbiAgXG4gIGxldCB0YXJnZXQgPSAkKHRoZUxpbmspLmF0dHIoJ2hyZWYnKTtcbiAgbGV0IGhlYWRlckhlaWdodCA9ICQoJy5oZWFkZXInKS5vdXRlckhlaWdodCgpOyBcbiAgZ3NhcC50byh3aW5kb3csIHtkdXJhdGlvbjouNSwgZWFzZTogJ2NpcmMub3V0JywgXG4gICAgc2Nyb2xsVG86e1xuICAgICAgeTp0YXJnZXQsIFxuICAgICAgLy8gQWN0aXZhdGUgaWYgSGVhZGVyIElzIEZpeGVkXG4gICAgICAvLyBvZmZzZXRZOmhlYWRlckhlaWdodFxuICAgIH1cbiAgfSk7XG4gIHJldHVybiBmYWxzZTtcbn0iLCIvKnRyaWdnZXIqL1xuJCgnLnBvcC10ZWFtLXRyaWdnZXInKS5jbGljayhmdW5jdGlvbihldmVudCkge1xuICB2YXIgY3VycmVudF9pZCA9ICQodGhpcykuYXR0cignaWQnKTtcbiAgJCgnLmhpZGRlbi1tb2RhbCcpLnJlbW92ZUNsYXNzKCdkaXNwbGF5TWUnKTtcbiAgJCgnLmhpZGRlbi1tb2RhbFtpZD1cIicrY3VycmVudF9pZCsnXCJdJykuYWRkQ2xhc3MoJ2Rpc3BsYXlNZScpO1xuICAvLyB2YXIgc2VsZWN0ZWRfY3VycmVudF9pZCA9ICQoJy5wb3AtdGVhbSAnKS5hdHRyKCdpZCcpO1xuICAkKCcucG9wLW92ZXJsYXknKS5hZGRDbGFzcygnb24nKTtcbn0pO1xuJCgnLmNsb3NlSGlkZGVuTW9kYWwnKS5jbGljayhmdW5jdGlvbihldmVudCkge1xuICAkKCcuaGlkZGVuLW1vZGFsJykucmVtb3ZlQ2xhc3MoJ2Rpc3BsYXlNZScpO1xuICAkKCcucG9wLW92ZXJsYXknKS5yZW1vdmVDbGFzcygnb24nKTtcbn0pO1xuJCgnLnBvcC1vdmVybGF5JykuY2xpY2soZnVuY3Rpb24oZXZlbnQpIHtcbiAgJCgnLmhpZGRlbi1tb2RhbCcpLnJlbW92ZUNsYXNzKCdkaXNwbGF5TWUnKTtcbiAgJCgnLnBvcC1vdmVybGF5JykucmVtb3ZlQ2xhc3MoJ29uJyk7XG59KTtcblxuXG5cbi8qdHJpZ2dlciovXG4kKCcucG9ydFRvZ2dsZScpLmNsaWNrKGZ1bmN0aW9uKGV2ZW50KSB7XG4gIHZhciBjdXJyZW50X2lkX3BvcnQgPSAkKHRoaXMpLmF0dHIoJ2lkJyk7XG4gICQoJy5oaWRkZW4tcG9ydC1tb2RhbCcpLnJlbW92ZUNsYXNzKCdkaXNwbGF5UG9ydGZvbGlvJyk7XG4gICQoJy5oaWRkZW4tcG9ydC1tb2RhbFtpZD1cIicrY3VycmVudF9pZF9wb3J0KydcIl0nKS5hZGRDbGFzcygnZGlzcGxheVBvcnRmb2xpbycpO1xuICAvLyB2YXIgc2VsZWN0ZWRfY3VycmVudF9pZCA9ICQoJy5wb3AtdGVhbSAnKS5hdHRyKCdpZCcpO1xuXG59KTtcbiQoJy5jbG9zZVBvcnRmb2xpbycpLmNsaWNrKGZ1bmN0aW9uKGV2ZW50KSB7XG4gICQoJy5oaWRkZW4tcG9ydC1tb2RhbCcpLnJlbW92ZUNsYXNzKCdkaXNwbGF5UG9ydGZvbGlvJyk7XG5cbn0pO1xuIiwiZXhwb3J0IGxldCBzZWFyY2hSZXZlYWwgPSAoKSA9PiB7XG4gIGxldCB0bCA9IG5ldyBnc2FwLnRpbWVsaW5lKHtcblx0XHRwYXVzZWQ6dHJ1ZSxcblx0XHRkZWZhdWx0czoge1xuXHRcdFx0ZWFzZTogJ1Bvd2VyNC5pbigpJyxcblx0XHRcdGR1cmF0aW9uOjAuMyxcblx0XHR9XG5cdH0pO1xuXG4gIGxldCBjb250YWluZXIgPSAkKCcuaGVhZGVyU2VhcmNoQ29udGFpbmVyJyk7XG4gIGxldCBoZWFkbGluZSA9IGNvbnRhaW5lci5maW5kKCdoNCcpO1xuICBsZXQgZm9ybSA9IGNvbnRhaW5lci5maW5kKCcuc2VhcmNoZm9ybScpO1xuICBsZXQgY2xvc2UgPSAkKCcubW9iaWxlLXNlYXJjaC1jbG9zZScpO1xuICBsZXQgdG9nZ2xlSGVpZ2h0ID0gY29udGFpbmVyLmF0dHIoJ2RhdGEtaGVpZ2h0Jyk7XG5cbiAgLy8gUm90YXRlIE1haW4gTmF2IEl0ZW0gLyBEaWZmZXJlbnQgQ2xhc3MgdGhhbiBjbGljayBldmVudCB0cmlnZ2VyXG4gIHRsLnRvKCcuc2VhcmNoTmF2SXRlbScsIHtyb3RhdGlvbjo5MH0sICdzZWFyY2hPcGVuJyk7XG5cdHRsLnRvKGNvbnRhaW5lciwge2hlaWdodDp0b2dnbGVIZWlnaHR9LCAnc2VhcmNoT3BlbicpO1xuICB0bC50byhbaGVhZGxpbmUsIGZvcm0sIGNsb3NlXSwge29wYWNpdHk6MSwgeTowLCBkdXJhdGlvbjowLjJ9LCAnc2VhcmNoT3Blbis9MC4xJyk7XG4gIFxuXHRyZXR1cm4gdGw7XG59IiwiY29uc3Qgc3dpcGVyID0gbmV3IFN3aXBlcihcIi5zd2lwZXJcIiwge1xuXHQvLyBPcHRpb25hbCBwYXJhbWV0ZXJzXG5cblx0bG9vcDogXCJ0cnVlXCIsXG5cdHNwZWVkOiAxMDAwLFxuXHRhdXRvcGxheToge1xuXHRcdGRlbGF5OiAzMDAwLFxuXHR9LFxuXHQvLyBOYXZpZ2F0aW9uIGFycm93c1xuXHRuYXZpZ2F0aW9uOiB7XG5cdFx0bmV4dEVsOiBcIi5zd2lwZXItYnV0dG9uLW5leHRcIixcblx0XHRwcmV2RWw6IFwiLnN3aXBlci1idXR0b24tcHJldlwiLFxuXHR9LFxufSk7XG4iLCJ0YWJDb250cm9sKCk7XG5cbi8qXG5XZSBhbHNvIGFwcGx5IHRoZSBzd2l0Y2ggd2hlbiBhIHZpZXdwb3J0IGNoYW5nZSBpcyBkZXRlY3RlZCBvbiB0aGUgZmx5XG4oZS5nLiB3aGVuIHlvdSByZXNpemUgdGhlIGJyb3dzZXIgd2luZG93IG9yIGZsaXAgeW91ciBkZXZpY2UgZnJvbSBcbnBvcnRyYWl0IG1vZGUgdG8gbGFuZHNjYXBlKS4gV2Ugc2V0IGEgdGltZXIgd2l0aCBhIHNtYWxsIGRlbGF5IHRvIHJ1biBcbml0IG9ubHkgb25jZSB3aGVuIHRoZSByZXNpemluZyBlbmRzLiBJdCdzIG5vdCBwZXJmZWN0LCBidXQgaXQncyBiZXR0ZXJcbnRoYW4gaGF2ZSBpdCBydW5uaW5nIGNvbnN0YW50bHkgZHVyaW5nIHRoZSBhY3Rpb24gb2YgcmVzaXppbmcuXG4qL1xudmFyIHJlc2l6ZVRpbWVyO1xuJCh3aW5kb3cpLm9uKFwicmVzaXplXCIsIGZ1bmN0aW9uIChlKSB7XG5cdGNsZWFyVGltZW91dChyZXNpemVUaW1lcik7XG5cdHJlc2l6ZVRpbWVyID0gc2V0VGltZW91dChmdW5jdGlvbiAoKSB7XG5cdFx0dGFiQ29udHJvbCgpO1xuXHR9LCAyNTApO1xufSk7XG5cbi8qXG5UaGUgZnVuY3Rpb24gYmVsb3cgaXMgcmVzcG9uc2libGUgZm9yIHN3aXRjaGluZyB0aGUgdGFicyB3aGVuIGNsaWNrZWQuXG5JdCBzd2l0Y2hlcyBib3RoIHRoZSB0YWJzIGFuZCB0aGUgYWNjb3JkaW9uIGJ1dHRvbnMgZXZlbiBpZiBcbm9ubHkgdGhlIG9uZSBvciB0aGUgb3RoZXIgY2FuIGJlIHZpc2libGUgb24gYSBzY3JlZW4uIFdlIHByZWZlclxudGhhdCBpbiBvcmRlciB0byBoYXZlIGEgY29uc2lzdGVudCBzZWxlY3Rpb24gaW4gY2FzZSB0aGUgdmlld3BvcnRcbmNoYW5nZXMgKGUuZy4gd2hlbiB5b3UgZXNpemUgdGhlIGJyb3dzZXIgd2luZG93IG9yIGZsaXAgeW91ciBcbmRldmljZSBmcm9tIHBvcnRyYWl0IG1vZGUgdG8gbGFuZHNjYXBlKS5cbiovXG5mdW5jdGlvbiB0YWJDb250cm9sKCkge1xuXHR2YXIgdGFicyA9ICQoXCIudGFiYmVkLWNvbnRlbn
827RcIikuZmluZChcIi50YWJzXCIpO1xuXHRpZiAodGFicy5pcyhcIjp2aXNpYmxlXCIpKSB7XG5cdFx0dGFicy5maW5kKFwiYVwiKS5vbihcImNsaWNrXCIsIGZ1bmN0aW9uIChldmVudCkge1xuXHRcdFx0ZXZlbnQucHJldmVudERlZmF1bHQoKTtcblx0XHRcdHZhciB0YXJnZXQgPSAkKHRoaXMpLmF0dHIoXCJocmVmXCIpLFxuXHRcdFx0XHR0YWJzID0gJCh0aGlzKS5wYXJlbnRzKFwiLnRhYnNcIiksXG5cdFx0XHRcdGJ1dHRvbnMgPSB0YWJzLmZpbmQoXCJhXCIpLFxuXHRcdFx0XHRpdGVtID0gdGFicy5wYXJlbnRzKFwiLnRhYmJlZC1jb250ZW50XCIpLmZpbmQoXCIuaXRlbVwiKTtcblx0XHRcdGJ1dHRvbnMucmVtb3ZlQ2xhc3MoXCJhY3RpdmVcIik7XG5cdFx0XHRpdGVtLnJlbW92ZUNsYXNzKFwiYWN0aXZlXCIpO1xuXHRcdFx0JCh0aGlzKS5hZGRDbGFzcyhcImFjdGl2ZVwiKTtcblx0XHRcdCQodGFyZ2V0KS5hZGRDbGFzcyhcImFjdGl2ZVwiKTtcblx0XHR9KTtcblx0fSBlbHNlIHtcblx0XHQkKFwiLml0ZW1cIikub24oXCJjbGlja1wiLCBmdW5jdGlvbiAoKSB7XG5cdFx0XHR2YXIgY29udGFpbmVyID0gJCh0aGlzKS5wYXJlbnRzKFwiLnRhYmJlZC1jb250ZW50XCIpLFxuXHRcdFx0XHRjdXJySWQgPSAkKHRoaXMpLmF0dHIoXCJpZFwiKSxcblx0XHRcdFx0aXRlbXMgPSBjb250YWluZXIuZmluZChcIi5pdGVtXCIpO1xuXHRcdFx0Y29udGFpbmVyLmZpbmQoXCIudGFicyBhXCIpLnJlbW92ZUNsYXNzKFwiYWN0aXZlXCIpO1xuXHRcdFx0aXRlbXMucmVtb3ZlQ2xhc3MoXCJhY3RpdmVcIik7XG5cdFx0XHQkKHRoaXMpLmFkZENsYXNzKFwiYWN0aXZlXCIpO1xuXHRcdFx0Y29udGFpbmVyLmZpbmQoJy50YWJzIGFbaHJlZiQ9XCIjJyArIGN1cnJJZCArICdcIl0nKS5hZGRDbGFzcyhcImFjdGl2ZVwiKTtcblx0XHR9KTtcblx0fVxufVxuIiwiLy8gKGZ1bmN0aW9uKCAkICkge1xuLy8gICAkKCcucGxheS1pY29uJykuY2xpY2soZnVuY3Rpb24oKSB7XG4vLyAgICAgJCgnLnZpZGVvTW9kYWwnKS5hZGRDbGFzcygnc2hvd01vZGFsJyk7XG4vLyAgIH1cbi8vICk7XG4vLyB9KShqUXVlcnkpO1xuLy8gKGZ1bmN0aW9uKCAkICkge1xuLy8gICAkKCcuY2xvc2VNb2RhbCcpLmNsaWNrKGZ1bmN0aW9uKCkge1xuLy9cbi8vICAgICB2YXIgdmlkZW8xID0gJChcIi52aWRlby1tb2RhbCBpZnJhbWVcIikuYXR0cihcInNyY1wiKTtcbi8vICAgICAkKFwiLnZpZGVvLW1vZGFsIGlmcmFtZVwiKS5hdHRyKFwic3JjXCIsXCJcIik7XG4vLyAgICAgJChcIi52aWRlby1tb2RhbCBpZnJhbWVcIikuYXR0cihcInNyY1wiLHZpZGVvMSk7XG4vL1xuLy9cbi8vICAgICAkKCcudmlkZW9Nb2RhbCcpLnJlbW92ZUNsYXNzKCdzaG93TW9kYWwnKTtcbi8vICAgfVxuLy8gKTtcbi8vIH0pKGpRdWVyeSk7XG5cbmRvY3VtZW50LmFkZEV2ZW50TGlzdGVuZXIoXG5cdFwiRE9NQ29udGVudExvYWRlZFwiLFxuXHRmdW5jdGlvbiAoKSB7XG5cdFx0Y29uc3QgcGxheWVyID0gbmV3IFBseXIoXCIucGx5ZXJQbGF5ZXJcIiwge1xuXHRcdFx0YXV0b3BsYXk6IGZhbHNlLFxuXHRcdFx0aGlkZUNvbnRyb2xzOiBmYWxzZSxcblx0XHRcdGZ1bGxzY3JlZW46IHtcblx0XHRcdFx0ZW5hYmxlZDogdHJ1ZSxcblx0XHRcdFx0aW9zTmF0aXZlOiB0cnVlLFxuXHRcdFx0fSxcblx0XHRcdHBsYXlzaW5saW5lOiBmYWxzZSxcblx0XHR9KTtcblx0XHQoZnVuY3Rpb24gKCQpIHtcblx0XHRcdCQoXCIucGxheUhvbWVWaWRlb1wiKS5vbihcImNsaWNrXCIsIGZ1bmN0aW9uICgpIHtcblx0XHRcdFx0JChcIi52aWRlb01vZGFsSG9tZVwiKS5hZGRDbGFzcyhcIm92ZXJsYXktb25cIik7XG5cdFx0XHRcdHBsYXllci5wbGF5KCk7XG5cdFx0XHRcdC8vJChcIi5wbHllclBsYXllclwiKS5nZXQoMCkucGxheSgpO1xuXHRcdFx0XHQvLyAgICAgICQoJy5tYXN0aGVhZCcpLmFkZENsYXNzKCdzbGlkZVVwIHNsaWRlLXVwJyk7XG5cdFx0XHRcdCQoXCIuY3RhLXJvd1wiKS5hZGRDbGFzcyhcInNsaWRlRG93biBzbGlkZS1kb3duXCIpO1xuXHRcdFx0XHQvLyAgJChcIi5zdG9wRWxlbWVudENsYXNzXCIpLnRvZ2dsZUNsYXNzKCdzdG9wRWxlbWVudENsYXNzIHBsYXlFbGVtZW50Q2xhc3MnKTtcblx0XHRcdH0pO1xuXHRcdH0pKGpRdWVyeSk7XG5cdFx0KGZ1bmN0aW9uICgkKSB7XG5cdFx0XHQkKFwiLmNsb3NlVmlkZW9PdmVybGF5SG9tZVwiKS5vbihcImNsaWNrXCIsIGZ1bmN0aW9uICgpIHtcblx0XHRcdFx0JChcIi52aWRlb01vZGFsSG9tZVwiKS5yZW1vdmVDbGFzcyhcIm92ZXJsYXktb25cIik7XG5cdFx0XHRcdHBsYXllci5zdG9wKCk7XG5cdFx0XHRcdC8vJChcIiNwbGF5ZXJcIikuZ2V0KDApLnBhdXNlKCk7XG5cdFx0XHRcdC8vICAgICQoJy5tYXN0aGVhZCcpLnJlbW92ZUNsYXNzKCdzbGlkZVVwIHNsaWRlLXVwJyk7XG5cdFx0XHRcdCQoXCIuY3RhLXJvd1wiKS5yZW1vdmVDbGFzcyhcInNsaWRlRG93biBzbGlkZS1kb3duXCIpO1xuXHRcdFx0XHQvLyAgJChcIi5zdG9wRWxlbWVudENsYXNzXCIpLnRvZ2dsZUNsYXNzKCdzdG9wRWxlbWVudENsYXNzIHBsYXlFbGVtZW50Q2xhc3MnKTtcblx0XHRcdH0pO1xuXHRcdH0pKGpRdWVyeSk7XG5cdH0sXG5cdGZhbHNlXG4pO1xuIiwiaW1wb3J0IHtcblx0cHJlTG9hZGVyLFxuXHQvLyBtb2JpbGVOYXZTZXR1cCxcblx0ZXh0ZXJuYWxMaW5rcyxcblx0Z3NhcFJlZ2lzdGVycyxcblx0Y2xpY2tFdmVudHMsXG5cdG5hdlNlYXJjaFNldHVwLFxufSBmcm9tIFwiLi9pbmRleC5qc1wiO1xuXG53aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcihcImxvYWRcIiwgZnVuY3Rpb24gKCkge1xuXHQvLyBTZXR1cCBCYXNpYyBGdW5jdGlvbmFsaXR5XG5cdHByZUxvYWRlcigpO1xuXHRleHRlcm5hbExpbmtzKCk7XG5cdGdzYXBSZWdpc3RlcnMoKTtcblx0bmF2U2VhcmNoU2V0dXAoKTtcblx0Y2xpY2tFdmVudHMoKTtcbn0pO1xuXG53aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcihcInJlc2l6ZVwiLCBmdW5jdGlvbiAoKSB7XG5cdGlmICgkKHdpbmRvdykud2lkdGgoKSA8IDEwMjQpIHtcblx0fSBlbHNlIHtcblx0fVxufSk7XG4iLCIvLyBUaGUgbW9kdWxlIGNhY2hlXG52YXIgX193ZWJwYWNrX21vZHVsZV9jYWNoZV9fID0ge307XG5cbi8vIFRoZSByZXF1aXJlIGZ1bmN0aW9uXG5mdW5jdGlvbiBfX3dlYnBhY2tfcmVxdWlyZV9fKG1vZHVsZUlkKSB7XG5cdC8vIENoZWNrIGlmIG1vZHVsZSBpcyBpbiBjYWNoZVxuXHR2YXIgY2FjaGVkTW9kdWxlID0gX193ZWJwYWNrX21vZHVsZV9jYWNoZV9fW21vZHVsZUlkXTtcblx0aWYgKGNhY2hlZE1vZHVsZSAhPT0gdW5kZWZpbmVkKSB7XG5cdFx0cmV0dXJuIGNhY2hlZE1vZHVsZS5leHBvcnRzO1xuXHR9XG5cdC8vIENyZWF0ZSBhIG5ldyBtb2R1bGUgKGFuZCBwdXQgaXQgaW50byB0aGUgY2FjaGUpXG5cdHZhciBtb2R1bGUgPSBfX3dlYnBhY2tfbW9kdWxlX2NhY2hlX19bbW9kdWxlSWRdID0ge1xuXHRcdC8vIG5vIG1vZHVsZS5pZCBuZWVkZWRcblx0XHQvLyBubyBtb2R1bGUubG9hZGVkIG5lZWRlZFxuXHRcdGV4cG9ydHM6IHt9XG5cdH07XG5cblx0Ly8gRXhlY3V0ZSB0aGUgbW9kdWxlIGZ1bmN0aW9uXG5cdF9fd2VicGFja19tb2R1bGVzX19bbW9kdWxlSWRdKG1vZHVsZSwgbW9kdWxlLmV4cG9ydHMsIF9fd2VicGFja19yZXF1aXJlX18pO1xuXG5cdC8vIFJldHVybi
827B0aGUgZXhwb3J0cyBvZiB0aGUgbW9kdWxlXG5cdHJldHVybiBtb2R1bGUuZXhwb3J0cztcbn1cblxuIiwiLy8gZ2V0RGVmYXVsdEV4cG9ydCBmdW5jdGlvbiBmb3IgY29tcGF0aWJpbGl0eSB3aXRoIG5vbi1oYXJtb255IG1vZHVsZXNcbl9fd2VicGFja19yZXF1aXJlX18ubiA9IChtb2R1bGUpID0+IHtcblx0dmFyIGdldHRlciA9IG1vZHVsZSAmJiBtb2R1bGUuX19lc01vZHVsZSA/XG5cdFx0KCkgPT4gKG1vZHVsZVsnZGVmYXVsdCddKSA6XG5cdFx0KCkgPT4gKG1vZHVsZSk7XG5cdF9fd2VicGFja19yZXF1aXJlX18uZChnZXR0ZXIsIHsgYTogZ2V0dGVyIH0pO1xuXHRyZXR1cm4gZ2V0dGVyO1xufTsiLCIvLyBkZWZpbmUgZ2V0dGVyIGZ1bmN0aW9ucyBmb3IgaGFybW9ueSBleHBvcnRzXG5fX3dlYnBhY2tfcmVxdWlyZV9fLmQgPSAoZXhwb3J0cywgZGVmaW5pdGlvbikgPT4ge1xuXHRmb3IodmFyIGtleSBpbiBkZWZpbml0aW9uKSB7XG5cdFx0aWYoX193ZWJwYWNrX3JlcXVpcmVfXy5vKGRlZmluaXRpb24sIGtleSkgJiYgIV9fd2VicGFja19yZXF1aXJlX18ubyhleHBvcnRzLCBrZXkpKSB7XG5cdFx0XHRPYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywga2V5LCB7IGVudW1lcmFibGU6IHRydWUsIGdldDogZGVmaW5pdGlvbltrZXldIH0pO1xuXHRcdH1cblx0fVxufTsiLCJfX3dlYnBhY2tfcmVxdWlyZV9fLm8gPSAob2JqLCBwcm9wKSA9PiAoT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKG9iaiwgcHJvcCkpIiwiLy8gZGVmaW5lIF9fZXNNb2R1bGUgb24gZXhwb3J0c1xuX193ZWJwYWNrX3JlcXVpcmVfXy5yID0gKGV4cG9ydHMpID0+IHtcblx0aWYodHlwZW9mIFN5bWJvbCAhPT0gJ3VuZGVmaW5lZCcgJiYgU3ltYm9sLnRvU3RyaW5nVGFnKSB7XG5cdFx0T2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFN5bWJvbC50b1N0cmluZ1RhZywgeyB2YWx1ZTogJ01vZHVsZScgfSk7XG5cdH1cblx0T2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsICdfX2VzTW9kdWxlJywgeyB2YWx1ZTogdHJ1ZSB9KTtcbn07IiwiaW1wb3J0IFwiLi9jb21wb25lbnRzL3dpbmRvd0xvYWQuanNcIjtcbi8vIEdMT0JBTFNcbmltcG9ydCBcIi4vY29tcG9uZW50cy9jaGVja2ZvcmpzLmpzXCI7XG4vLyBpbXBvcnQgXCIuL2NvbXBvbmVudHMvbmF2LWNvbG9yLmpzXCI7XG4vLyBpbXBvcnQgJy4vY29tcG9uZW50cy9uYXYtZHJvcC1hY2Nlc3NpYmxlLmpzJztcbmltcG9ydCBcIi4vY29tcG9uZW50cy9uYXYtdG9nZ2xlLmpzXCI7XG4vLyBpbXBvcnQgJy4vY29tcG9uZW50cy92aWRlby1wb3AuanMnO1xuLy8gaW1wb3J0IFwiLi9jb21wb25lbnRzL2hlYWRlci1jb2xvci5qc1wiO1xuaW1wb3J0IFwiLi9jb21wb25lbnRzL25hdi1jbGFzcy1zY3JvbGwuanNcIjtcbmltcG9ydCBcIi4vY29tcG9uZW50cy9mb3JtLXBvcC5qc1wiO1xuLy8gaW1wb3J0IFwiLi9jb21wb25lbnRzL3Ntb290aC1zY3JvbGwuanNcIjtcbmltcG9ydCBcIi4vY29tcG9uZW50cy9jYXQtdG9nZ2xlLmpzXCI7XG4vLyBpbXBvcnQgXCIuL2NvbXBvbmVudHMvc21vb3RoLXNjcm9sbC5qc1wiO1xuaW1wb3J0IFwiLi9jb21wb25lbnRzL3N3aXBlci5qc1wiO1xuLy8gU0lURVxuaW1wb3J0IFwiLi9jb21wb25lbnRzL2dsb2JhbC5qc1wiO1xuLy8gaW1wb3J0IFwiLi9jb21wb25lbnRzL2dhbGxlcnktbGlnaHRib3guanNcIjtcbmltcG9ydCBcIi4vY29tcG9uZW50cy9wb3AtdGVhbS5qc1wiO1xuaW1wb3J0IFwiLi9jb21wb25lbnRzL2Jsb2ctZHJvcGRvd24uanNcIjtcbmltcG9ydCBcIi4vY29tcG9uZW50cy90YWJzLmpzXCI7XG5pbXBvcnQgXCIuL2NvbXBvbmVudHMvdmlkZW8tcG9wLmpzXCI7XG5pbXBvcnQgXCIuL2NvbXBvbmVudHMvYWNjLmpzXCI7XG4iXSwibmFtZXMiOlsiJCIsIkFjY29yZGlvbiIsImVsIiwibXVsdGlwbGUiLCJsaW5rcyIsImZpbmQiLCJvbiIsImRyb3Bkb3duIiwicHJvdG90eXBlIiwiZSIsIiRlbCIsImRhdGEiLCIkdGhpcyIsIiRuZXh0IiwibmV4dCIsInNsaWRlVG9nZ2xlIiwicGFyZW50IiwidG9nZ2xlQ2xhc3MiLCJub3QiLCJzbGlkZVVwIiwicmVtb3ZlQ2xhc3MiLCJhY2NvcmRpb24iLCJkb2N1bWVudCIsImFkZEV2ZW50TGlzdGVuZXIiLCJjbGljayIsImhhc0NsYXNzIiwiYXR0ciIsInNpYmxpbmdzIiwiYWRkQ2xhc3MiLCJqUXVlcnkiLCJjaGlsZHJlbiIsImJvZHkiLCJjbGFzc0xpc3QiLCJhZGQiLCJtZW51VG9nZ2xlIiwic21vb3RoU2Nyb2xsaW5nIiwic2VhcmNoUmV2ZWFsIiwiY2xpY2tFdmVudHMiLCJwcmV2ZW50RGVmYXVsdCIsInNjcmVlbiIsIndpZHRoIiwiZ3NhcCIsInNldCIsImhlaWdodCIsIm92ZXJmbG93IiwibWVudVRvZ2dsZVRMIiwicmV2ZXJzZSIsImFjYyIsImdldEVsZW1lbnRzQnlDbGFzc05hbWUiLCJpIiwibGVuZ3RoIiwidG9nZ2xlIiwicGFuZWwiLCJuZXh0RWxlbWVudFNpYmxpbmciLCJzdHlsZSIsIm1heEhlaWdodCIsInNjcm9sbEhlaWdodCIsImdzYXBSZWdpc3RlcnMiLCJyZWdpc3RlclBsdWdpbiIsIlNjcm9sbFRvUGx1Z2luIiwicHJlTG9hZGVyIiwiZXh0ZXJuYWxMaW5rcyIsIm1vYmlsZU5hdlNldHVwIiwibmF2U2VhcmNoU2V0dXAiLCJ0bCIsInRpbWVsaW5lIiwicGF1c2VkIiwiZGVmYXVsdHMiLCJlYXNlIiwiZHVyYXRpb24iLCJtZW51V2lkdGgiLCJvdXRlcldpZHRoIiwibWVudUhlaWdodCIsIm91dGVySGVpZ2h0IiwidG9nZ2xlZFdpZHRoIiwidG9nZ2xlZFgiLCJhbmdsZWRXaWR0aCIsImFuZ2xlZFkiLCJhbmdsZWRYIiwidG8iLCJ4Iiwib3BhY2l0eSIsInN0YWdnZXIiLCJhbW91bnQiLCJyb3RhdGlvbiIsInkiLCJ0cmFuc2Zvcm1PcmlnaW4iLCJ3aW5kb3ciLCJzY3JvbGwiLCJzY3JvbGxUb3AiLCJxdWVyeVNlbGVjdG9yIiwibWVudSIsIm1lbnVJdGVtcyIsInF1ZXJ5U2VsZWN0b3JBbGwiLCJjb250YWlucyIsInNldEF0dHJpYnV0ZSIsInJlbW92ZSIsIm9uQ29tcGxldGUiLCJyb3RhdGVZIiwiY29udGFpbmVyIiwiaGVhZGxpbmUiLCJ0aGlzRm9ybSIsInNlYXJjaENvbnRhaW5lckhlaWdodCIsImNsb3NlIiwiZWFjaCIsImEiLCJSZWdFeHAiLCJsb2NhdGlvbiIsImhvc3QiLCJ0ZXN0IiwiaHJlZiIsImV2ZW50Iiwic3RvcFByb3BhZ2F0aW9uIiwib3BlbiIsInRoZUxpbmsiLCJ0YXJnZXQiLCJoZWFkZXJIZWlnaHQiLCJzY3JvbGxUbyIsImN1cnJlbnRfaWQiLCJjdXJyZW50X2lkX3BvcnQiLCJmb3JtIiwidG9nZ2xlSGVpZ2h0Iiwic3dpcGVyIiwiU3dpcGVyIiwibG9vcCIsInNwZWVkIiwiYXV0b3BsYXkiLCJkZWxheSIsIm5hdmlnYXRpb24iLCJuZXh0RWwiLCJwcmV2RWwiLCJ0YWJDb250cm9sIiwicmVzaXplVGltZXIiLCJjbGVhclRpbWVvdXQiLCJzZXRUaW1lb3V0IiwidGFicyIsImlzIiwicGFyZW50cyIsImJ1dHRvbnMiLCJpdGVtIiwiY3VycklkIiwiaXRlbXMiLCJwbGF5ZXIiLCJQbHlyIiwiaGlkZUNvb
827nRyb2xzIiwiZnVsbHNjcmVlbiIsImVuYWJsZWQiLCJpb3NOYXRpdmUiLCJwbGF5c2lubGluZSIsInBsYXkiLCJzdG9wIl0sInNvdXJjZVJvb3QiOiIifQ==
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.