1"use strict"; 2(self["webpackChunkabanohealthcare"] = self["webpackChunkabanohealthcare"] || []).push([["main"],{ 3
4/***/ "./resources/src/js/app/libraries/debounce.js": 5/*!****************************************************!*\ 6 !*** ./resources/src/js/app/libraries/debounce.js ***! 7 \****************************************************/ 8/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { 9 10__webpack_require__.r(__webpack_exports__); 11/* harmony export */ __webpack_require__.d(__webpack_exports__, { 12/* harmony export */ "default": () => (/* binding */ debounce) 13/* harmony export */ }); 14// Returns a function, that, as long as it continues to be invoked, will not 15// be triggered. The function will be called after it stops being called for 16// N milliseconds. If `immediate` is passed, trigger the function on the 17// leading edge, instead of the trailing. 18function debounce(func, wait, options) { 19 var timeout; 20 var leading = options.leading || false; 21 var trailing = options.trailing === undefined ? true : options.trailing; 22 return function () { 23 var context = this, 24 args = arguments; 25 var later = function () { 26 timeout = null; 27 if (trailing) func.apply(context, args); 28 }; 29 var callNow = leading && !timeout; 30 clearTimeout(timeout); 31 timeout = setTimeout(later, wait); 32 if (callNow) func.apply(context, args); 33 }; 34} 35; 36 37/***/ }), 38
39/***/ "./resources/src/js/app/main.js": 40/*!**************************************!*\ 41 !*** ./resources/src/js/app/main.js ***! 42 \**************************************/ 43/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { 44 45__webpack_require__.r(__webpack_exports__); 46/* harmony import */ var jquery__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! jquery */ "jquery"); 47/* harmony import */ var jquery__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(jquery__WEBPACK_IMPORTED_MODULE_0__); 48/* harmony import */ var _libraries_debounce__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./libraries/debounce */ "./resources/src/js/app/libraries/debounce.js"); 49 50 51 52// import { MY_TOPIC } from "./components/EventTypes"; 53 54/** 55* documentation for pubsub module here 56https://github.com/mroderick/PubSubJS/ 57 58use like this: 59 60//handler 61var mySubscriber = function (msg, data) { 62 console.log(msg, data); 63}; 64 65//listen for a topic 66var token = PubSub.subscribe(MY_TOPIC, mySubscriber); 67 68// publish a topic asynchronously 69PubSub.publish(MY_TOPIC, ['hello world!','test']); 70 71**/ 72 73window.abano = window.abano || {}; 74var vh = window.innerHeight * 0.01; 75 76// Then we set the value in the --vh custom property to the root of the document 77document.documentElement.style.setProperty('--vh', `${vh}px`); 78var menuVhFix__DEBOUNCED_WINDOW_RESIZE = (0,_libraries_debounce__WEBPACK_IMPORTED_MODULE_1__["default"])(function () { 79 let vh = window.innerHeight * 0.01; 80 document.documentElement.style.setProperty('--vh', `${vh}px`); 81}, 100, { 82 trailing: true 83}); 84jquery__WEBPACK_IMPORTED_MODULE_0___default()(window).on('resize', menuVhFix__DEBOUNCED_WINDOW_RESIZE); 85const loadRules = { 86 documentContains: selector => { 87 return document.querySelector(selector) != null; 88 } 89}; 90abano.navigation = function () { 91 return { 92 init: function () { 93 if (loadRules.documentContains('.c-nav')) { 94 __webpack_require__.e(/*! import() | abano.navigation */ "abano.navigation").then(__webpack_require__.bind(__webpack_require__, /*! ./LazyComponents/abano.navigation */ "./resources/src/js/app/LazyComponents/abano.navigation.js")).then(module => { 95 module.default(); 96 }); 97 } 98 } 99 }; 100}(); 101abano.navigation.init(); 102abano.miniSearch = function () { 103 return { 104 init: function () { 105 if (loadRules.documentContains('.c-mini-search')) { 106 __webpack_require__.e(/*! import() | abano.miniSearch */ "abano.miniSearch").then(__webpack_require__.bind(__webpack_require__, /*! ./LazyComponents/abano.miniSearch */ "./resources/src/js/app/LazyComponents/abano.miniSearch.js")).then(module => { 107 module.default(); 108 }); 109 } 110 } 111 }; 112}(); 113abano.miniSearch.init(); 114abano.bookNow = function () { 115 return { 116 init() { 117 if (abano.config && abano.config.practiceDirectory) { 118 __webpack_require__.e(/*! import() | abano.bookNow */ "abano.bookNow").then(__webpack_require__.bind(__webpack_require__, /*! ./LazyComponents/abano.bookNow */ "./resources/src/js/app/LazyComponents/abano.bookNow.js")).then(module => { 119 module.default(); 120 }); 121 } 122 } 123 }; 124}(); 125abano.bookNow.init(); 126abano.preferredPractice = function () { 127 return { 128 init: function () { 129 if (loadRules.documentContains('[data-practice-widget], [data-practice-details-label]')) { 130 __webpack_require__.e(/*! import() | abano.preferredPractice */ "abano.preferredPractice").then(__webpack_require__.bind(__webpack_require__, /*! ./LazyComponents/abano.preferredPractice */ "./resources/src/js/app/LazyComponents/abano.preferredPractice.js")).then(module => { 131 module.default(); 132 }); 133 } 134 } 135 }; 136}(); 137abano.preferredPractice.init(); 138 139//this will not work well with 2 pagination areas on the same page both will update the url. 140//if we need this feature a work around is required. 141abano.mainSearch = function () { 142 return { 143 init: function () { 144 if (loadRules.documentContains('.pagination-results')) { 145 __webpack_require__.e(/*! import() | abano.mainSearch */ "abano.mainSearch").then(__webpack_require__.bind(__webpack_require__, /*! ./LazyComponents/
145abano.mainSearch */ "./resources/src/js/app/LazyComponents/abano.mainSearch.js")).then(module => { 146 module.default(); 147 }); 148 } 149 } 150 }; 151}(); 152abano.mainSearch.init(); 153abano.careersSearch = function () { 154 return { 155 init: function () { 156 if (loadRules.documentContains('[data-component="c-careers-search-bar"]')) { 157 __webpack_require__.e(/*! import() | abano.careersSearchBar */ "abano.careersSearchBar").then(__webpack_require__.bind(__webpack_require__, /*! ./LazyComponents/abano.careersSearchBar */ "./resources/src/js/app/LazyComponents/abano.careersSearchBar.js")).then(module => { 158 module.default(); 159 }); 160 } 161 } 162 }; 163}(); 164abano.careersSearch.init(); 165abano.careersJobList = function () { 166 return { 167 init: function () { 168 if (loadRules.documentContains('[data-component="c-careers-job-list"]')) { 169 __webpack_require__.e(/*! import() | abano.careersJobListr */ "abano.careersJobListr").then(__webpack_require__.bind(__webpack_require__, /*! ./LazyComponents/abano.careersJobList */ "./resources/src/js/app/LazyComponents/abano.careersJobList.js")).then(module => { 170 module.default(); 171 }); 172 } 173 } 174 }; 175}(); 176abano.careersJobList.init(); 177abano.toggleCollapse = function () { 178 return { 179 init: function () { 180 if (loadRules.documentContains('[data-toggle-text]')) { 181 __webpack_require__.e(/*! import() | abano.toggleCollapse */ "abano.toggleCollapse").then(__webpack_require__.bind(__webpack_require__, /*! ./LazyComponents/abano.toggleCollapse */ "./resources/src/js/app/LazyComponents/abano.toggleCollapse.js")).then(module => { 182 module.default(); 183 }); 184 } 185 } 186 }; 187}(); 188abano.toggleCollapse.init(); 189 190//wrap the bootstrap modules we need so that we can lazy load with webpack. 191//the bootstrap plugins ars self contained so we don't actually need to do any callback. 192abano.collapse = function () { 193 return { 194 init: function () { 195 if (loadRules.documentContains('[data-toggle="collapse"], [data-depends="collapse"]')) { 196 Promise.all(/*! import() | abano.bsCollapse */[__webpack_require__.e("vendors"), __webpack_require__.e("abano.bsCollapse")]).then(__webpack_require__.bind(__webpack_require__, /*! ./LazyComponents/abano.bsCollapse */ "./resources/src/js/app/LazyComponents/abano.bsCollapse.js")); 197 } 198 if (loadRules.documentContains('[data-toggle="tab"]')) { 199 Promise.all(/*! import() | abano.bsTab */[__webpack_require__.e("vendors"), __webpack_require__.e("abano.bsTab")]).then(__webpack_require__.bind(__webpack_require__, /*! ./LazyComponents/abano.bsTab */ "./resources/src/js/app/LazyComponents/abano.bsTab.js")); 200 } 201 } 202 }; 203}().init(); 204abano.scrollBannerAlert = function () { 205 return { 206 init: function () { 207 if (loadRules.documentContains('[data-component="c-sliding-banner-alert"]')) { 208 Promise.all(/*! import() | abano.sliderAlert */[__webpack_require__.e("vendors"), __webpack_require__.e("abano.sliderAlert")]).then(__webpack_require__.bind(__webpack_require__, /*! ./LazyComponents/abano.sliderAlert */ "./resources/src/js/app/LazyComponents/abano.sliderAlert.js")).then(module => { 209 module.default(); 210 }); 211 } 212 } 213 }; 214}(); 215abano.scrollBannerAlert.init(); 216abano.ribbon = function () { 217 return { 218 practiceRibbon: function () { 219 return practiceRibbon; 220 }, 221 //todo: this wont work. 222 init: function () { 223 if (loadRules.documentContains('.c-ribbon')) { 224 __webpack_require__.e(/*! import() | abano.ribbon */ "abano.ribbon").then(__webpack_require__.bind(__webpack_require__, /*! ./LazyComponents/abano.ribbon */ "./resources/src/js/app/LazyComponents/abano.ribbon.js")).then(module => { 225 module.default(); 226 }); 227 } 228 } 229 }; 230}(); 231abano.ribbon.init(); 232abano.umbracoForms = function () { 233 var forms = jquery__WEBPACK_IMPORTED_MODULE_0___default()('.umbraco-forms-form form'); 234 return { 235 init: function () { 236 if (forms.length) { 237 __webpack_require__.e(/*! import() | abano.umbracoForms */ "abano.umbracoForms").then(__webpack_require__.bind(__webpack_require__, /*! ./LazyComponents/
237abano.umbracoForms */ "./resources/src/js/app/LazyComponents/abano.umbracoForms.js")).then(module => { 238 module.default(forms); 239 }); 240 } 241 } 242 }; 243}(); 244abano.umbracoForms.init(); 245abano.parallax = function () { 246 return { 247 init: function () { 248 if (loadRules.documentContains('.c-flourish--angle.c-flourish--parallax')) { 249 Promise.all(/*! import() | abano.parallax */[__webpack_require__.e("vendors"), __webpack_require__.e("abano.parallax")]).then(__webpack_require__.bind(__webpack_require__, /*! ./LazyComponents/abano.parallax */ "./resources/src/js/app/LazyComponents/abano.parallax.js")).then(module => { 250 module.default(); 251 }); 252 } 253 } 254 }; 255}(); 256abano.parallax.init(); 257abano.practiceMiniFinder = function () { 258 return { 259 init: function () { 260 if (loadRules.documentContains('[data-practice-minifinder]')) { 261 Promise.all(/*! import() | abano.practiceMiniFinder */[__webpack_require__.e("vendors"), __webpack_require__.e("resources_src_js_app_components_practiceFinder_js"), __webpack_require__.e("abano.practiceMiniFinder")]).then(__webpack_require__.bind(__webpack_require__, /*! ./LazyComponents/abano.practiceMiniFinder */ "./resources/src/js/app/LazyComponents/abano.practiceMiniFinder.js")).then(module => { 262 module.default(); 263 }); 264 } 265 } 266 }; 267}(); 268abano.practiceMiniFinder.init(); 269abano.meganav = function () { 270 return { 271 init: function () { 272 if (loadRules.documentContains('.c-meganav--trigger')) { 273 __webpack_require__.e(/*! import() | abano.megaNavigation */ "abano.megaNavigation").then(__webpack_require__.bind(__webpack_require__, /*! ./LazyComponents/abano.megaNavigation */ "./resources/src/js/app/LazyComponents/abano.megaNavigation.js")).then(module => { 274 module.default(); 275 }); 276 } 277 } 278 }; 279}(); 280abano.meganav.init(); 281abano.testimonials = function () { 282 return { 283 init: function () { 284 if (loadRules.documentContains('.slick-testimonials')) { 285 Promise.all(/*! import() | abano.testimonials */[__webpack_require__.e("resources_src_js_vendors_2_slick_js"), __webpack_require__.e("abano.testimonials")]).then(__webpack_require__.bind(__webpack_require__, /*! ./LazyComponents/abano.testimonials */ "./resources/src/js/app/LazyComponents/abano.testimonials.js")).then(module => { 286 module.default(); 287 }); 288 } 289 } 290 }; 291}(); 292abano.testimonials.init(); 293abano.textClamp = function () { 294 return { 295 init: function () { 296 if (loadRules.documentContains('.c-clamp-text')) { 297 __webpack_require__.e(/*! import() | abano.textClamp */ "abano.textClamp").then(__webpack_require__.bind(__webpack_require__, /*! ./LazyComponents/abano.textClamp */ "./resources/src/js/app/LazyComponents/abano.textClamp.js")).then(module => { 298 module.default(); 299 }); 300 } 301 } 302 }; 303}(); 304jquery__WEBPACK_IMPORTED_MODULE_0___default()(window).on("load", function (e) { 305 abano.textClamp.init(); 306}); 307abano.resultsimages = function () { 308 jquery__WEBPACK_IMPORTED_MODULE_0___default()(window).on("load", function (e) { 309 abano.resultsimages.init(); 310 }); 311 return { 312 init: function () { 313 if (loadRules.documentContains('.result-image-item')) { 314 __webpack_require__.e(/*! import() | abano.resultsimages */ "abano.resultsimages").then(__webpack_require__.bind(__webpack_require__, /*! ./LazyComponents/abano.resultsImages */ "./resources/src/js/app/LazyComponents/abano.resultsImages.js")).then(module => { 315 module.default(); 316 }); 317 } 318 } 319 }; 320}(); 321abano.gallerySlider = function () { 322 return { 323 init: function () { 324 if (loadRules.documentContains('.c-slider.slick-gallery')) { 325 Promise.all(/*! import() | abano.gallerySlider */[__webpack_require__.e("resources_src_js_vendors_2_slick_js"), __webpack_require__.e("abano.gallerySlider")]).then(__webpack_require__.bind(__webpack_require__, /*! ./LazyComponents/abano.gallerySlider */ "./resources/src/js/app/LazyComponents/
325abano.gallerySlider.js")).then(module => { 326 module.default(); 327 }); 328 } 329 } 330 }; 331}(); 332abano.gallerySlider.init(); 333abano.scrollBanner = function () { 334 return { 335 init: function () { 336 if (loadRules.documentContains('.c-scroll-banner')) { 337 Promise.all(/*! import() | abano.scrollBanner */[__webpack_require__.e("vendors"), __webpack_require__.e("resources_src_js_vendors_2_slick_js"), __webpack_require__.e("abano.scrollBanner")]).then(__webpack_require__.bind(__webpack_require__, /*! ./LazyComponents/abano.scrollBanner */ "./resources/src/js/app/LazyComponents/abano.scrollBanner.js")).then(module => { 338 module.default(); 339 }); 340 } 341 } 342 }; 343}(); 344abano.scrollBanner.init(); 345abano.imageSlider = function () { 346 return { 347 init: function () { 348 if (loadRules.documentContains('.c-image-slider')) { 349 Promise.all(/*! import() | abano.imageSlider */[__webpack_require__.e("resources_src_js_vendors_2_slick_js"), __webpack_require__.e("abano.imageSlider")]).then(__webpack_require__.bind(__webpack_require__, /*! ./LazyComponents/abano.imageSlider */ "./resources/src/js/app/LazyComponents/abano.imageSlider.js")).then(module => { 350 module.default(); 351 }); 352 } 353 } 354 }; 355}(); 356abano.imageSlider.init(); 357abano.promoSlider = function () { 358 return { 359 init: function () { 360 if (loadRules.documentContains('.c-slider.slick-promo')) { 361 Promise.all(/*! import() | abano.promoSlider */[__webpack_require__.e("resources_src_js_vendors_2_slick_js"), __webpack_require__.e("abano.promoSlider")]).then(__webpack_require__.bind(__webpack_require__, /*! ./LazyComponents/abano.promoSlider */ "./resources/src/js/app/LazyComponents/abano.promoSlider.js")).then(module => { 362 module.default(); 363 }); 364 } 365 } 366 }; 367}(); 368abano.promoSlider.init(); 369abano.articleSlider = function () { 370 return { 371 init: function () { 372 if (loadRules.documentContains('.c-slider.slick-news')) { 373 Promise.all(/*! import() | abano.articleSlider */[__webpack_require__.e("resources_src_js_vendors_2_slick_js"), __webpack_require__.e("abano.articleSlider")]).then(__webpack_require__.bind(__webpack_require__, /*! ./LazyComponents/abano.articleSlider */ "./resources/src/js/app/LazyComponents/abano.articleSlider.js")).then(module => { 374 module.default(); 375 }); 376 } 377 } 378 }; 379}(); 380abano.articleSlider.init(); 381abano.bookNowButton = function () { 382 return { 383 init: function () { 384 if (loadRules.documentContains('[data-book-now]')) { 385 __webpack_require__.e(/*! import() | abano.bookNowButton */ "abano.bookNowButton").then(__webpack_require__.bind(__webpack_require__, /*! ./LazyComponents/abano.bookNowButton */ "./resources/src/js/app/LazyComponents/abano.bookNowButton.js")).then(module => { 386 module.default(); 387 }); 388 } 389 } 390 }; 391}(); 392abano.bookNowButton.init(); 393abano.scrollJump = function () { 394 return { 395 init: function () { 396 if (loadRules.documentContains('a[data-scroll-to], select[data-scroll-to]')) { 397 __webpack_require__.e(/*! import() | abano.scrollJump */ "abano.scrollJump").then(__webpack_require__.bind(__webpack_require__, /*! ./LazyComponents/abano.scrollJump */ "./resources/src/js/app/LazyComponents/abano.scrollJump.js")).then(module => { 398 module.default(); 399 }); 400 } 401 } 402 }; 403}(); 404abano.scrollJump.init(); 405abano.menu = function () { 406 return { 407 init: function () { 408 if (loadRules.documentContains('.menu-trigger button')) { 409 __webpack_require__.e(/*! import() | abano.menu */ "abano.menu").then(__webpack_require__.bind(__webpack_require__, /*! ./LazyComponents/abano.menu */ "./resources/src/js/app/LazyComponents/abano.menu.js")).then(module => { 410 module.default(); 411 }); 412 } 413 } 414 }; 415}(); 416abano.menu.init(); 417 418//todo: make sure this is correct. 419abano.forms = function () { 420 return { 421 init: function () { 422 if (loadRules.documentContains('.practicepicker, .treatmentpicker')) { 423 __webpack_require__.e(/*! import() | abano.umbracoFormsDynamicFields */ "abano.umbracoFormsDynamicFields").then(__webpack_require__.bind(__webpack_require__, /*! ./LazyComponents/
423abano.umbracoFormsDynamicFields */ "./resources/src/js/app/LazyComponents/abano.umbracoFormsDynamicFields.js")).then(module => { 424 module.default(); 425 }); 426 } 427 } 428 }; 429}(); 430abano.forms.init(); 431 432//place for google maps to hook once it loads. 433abano.maps = function () { 434 return { 435 //the callback that google maps will run 436 init: function () { 437 if (loadRules.documentContains('[data-map]')) { 438 Promise.all(/*! import() | abano.maps */[__webpack_require__.e("vendors"), __webpack_require__.e("resources_src_js_app_components_practiceFinder_js"), __webpack_require__.e("abano.maps")]).then(__webpack_require__.bind(__webpack_require__, /*! ./LazyComponents/abano.maps */ "./resources/src/js/app/LazyComponents/abano.maps.js")).then(module => { 439 module.default(); 440 }); 441 } 442 } 443 }; 444}(); 445abano.maps.init(); 446abano.practiceFinderV2 = function () { 447 return { 448 init: function () { 449 if (loadRules.documentContains('wc-practice-finder')) { 450 Promise.all(/*! import() | abano.practiceFinderV2 */[__webpack_require__.e("vendors"), __webpack_require__.e("abano.practiceFinderV2")]).then(__webpack_require__.bind(__webpack_require__, /*! ./LazyComponents/abano.practiceFinderV2 */ "./resources/src/js/app/LazyComponents/abano.practiceFinderV2.js")).then(module => { 451 module.default(); 452 }); 453 } 454 } 455 }; 456}(); 457abano.practiceFinderV2.init(); 458abano.introReadMoreButton = function () { 459 return { 460 init: function () { 461 if (loadRules.documentContains('.dynamic-introtext article')) { 462 __webpack_require__.e(/*! import() | abano.introReadMoreButton */ "abano.introReadMoreButton").then(__webpack_require__.bind(__webpack_require__, /*! ./LazyComponents/abano.introReadMoreButton */ "./resources/src/js/app/LazyComponents/abano.introReadMoreButton.js")).then(module => { 463 module.default(); 464 }); 465 } 466 } 467 }; 468}(); 469abano.introReadMoreButton.init(); 470abano.animations = function () { 471 return { 472 init: function () { 473 if (loadRules.documentContains('.animate')) { 474 Promise.all(/*! import() | abano.animations */[__webpack_require__.e("vendors"), __webpack_require__.e("resources_src_js_app_libraries_SplitText_js"), __webpack_require__.e("abano.animations")]).then(__webpack_require__.bind(__webpack_require__, /*! ./LazyComponents/abano.animations */ "./resources/src/js/app/LazyComponents/abano.animations.js")).then(module => { 475 module.default(); 476 }); 477 } 478 } 479 }; 480}(); 481abano.animations.init(); 482abano.healthFund = function () { 483 return { 484 init: function () { 485 if (loadRules.documentContains('.c-health-fund-minifinder, [data-component="health-fund-controls"]')) { 486 __webpack_require__.e(/*! import() | abano.healthFund */ "abano.healthFund").then(__webpack_require__.bind(__webpack_require__, /*! ./LazyComponents/abano.healthFund */ "./resources/src/js/app/LazyComponents/abano.healthFund.js")).then(module => { 487 module.default(); 488 }); 489 } 490 } 491 }; 492}(); 493abano.healthFund.init(); 494abano.careers = function () { 495 return { 496 init: function () { 497 if (loadRules.documentContains('[data-component="c-careers"]')) { 498 __webpack_require__.e(/*! import() | abano.careers */ "abano.careers").then(__webpack_require__.bind(__webpack_require__, /*! ./LazyComponents/abano.careers */ "./resources/src/js/app/LazyComponents/abano.careers.js")).then(module => { 499 module.default(); 500 }); 501 } 502 } 503 }; 504}(); 505abano.careers.init(); 506abano.emergencyDentists = function () { 507 return { 508 init: function () { 509 if (loadRules.documentContains('[data-component="c-emergency-dentists"]')) { 510 Promise.all(/*! import() | abano.emergencyDentists */[__webpack_require__.e("vendors"), __webpack_require__.e("resources_src_js_app_components_practiceFinder_js"), __webpack_require__.e("abano.emergencyDentists")]).then(__webpack_require__.bind(__webpack_require__, /*! ./LazyComponents/abano.emergencyDentists */ "./resources/src/js/app/LazyComponents/
510abano.emergencyDentists.js")).then(module => { 511 module.default(); 512 }); 513 } 514 } 515 }; 516}(); 517abano.emergencyDentists.init(); 518abano.locationOffers = function () { 519 return { 520 init: function () { 521 if (loadRules.documentContains('[data-component="c-location-offers"]')) { 522 Promise.all(/*! import() | abano.locationOffers */[__webpack_require__.e("vendors"), __webpack_require__.e("resources_src_js_app_components_practiceFinder_js"), __webpack_require__.e("abano.locationOffers")]).then(__webpack_require__.bind(__webpack_require__, /*! ./LazyComponents/abano.locationOffers */ "./resources/src/js/app/LazyComponents/abano.locationOffers.js")).then(module => { 523 module.default(); 524 }); 525 } 526 } 527 }; 528}(); 529abano.locationOffers.init(); 530abano.wellnessBlock = function () { 531 return { 532 init: function () { 533 if (loadRules.documentContains('[data-component="c-wellness-block"]')) { 534 Promise.all(/*! import() | abano.wellnessBlock */[__webpack_require__.e("vendors"), __webpack_require__.e("resources_src_js_app_libraries_SplitText_js"), __webpack_require__.e("abano.wellnessBlock")]).then(__webpack_require__.bind(__webpack_require__, /*! ./LazyComponents/abano.wellnessBlock */ "./resources/src/js/app/LazyComponents/abano.wellnessBlock.js")).then(module => { 535 module.default(); 536 }); 537 } 538 } 539 }; 540}(); 541abano.wellnessBlock.init(); 542abano.accordionBlock = function () { 543 return { 544 init: function () { 545 if (loadRules.documentContains('[data-component="c-accordion-block"]')) { 546 Promise.all(/*! import() | abano.accordionBlock */[__webpack_require__.e("vendors"), __webpack_require__.e("abano.accordionBlock")]).then(__webpack_require__.bind(__webpack_require__, /*! ./LazyComponents/abano.accordionBlock */ "./resources/src/js/app/LazyComponents/abano.accordionBlock.js")).then(module => { 547 module.default(); 548 }); 549 } 550 } 551 }; 552}(); 553abano.accordionBlock.init(); 554 555// OnThisPage - disabled but kept for potential future use 556// abano.onThisPage = (function () { 557// return { 558// init: function () { 559// if (loadRules.documentContains('.js-on-this-page')) { 560// import(/* webpackChunkName: "abano.onThisPage" */ './components/OnThisPage').then(module => { 561// module.default(); 562// }); 563// } 564// } 565// }; 566// }());
567// abano.onThisPage.init(); 568 569/***/ })
569, 570 571/***/ "jquery": 572/*!*************************!*\ 573 !*** external "jQuery" ***! 574 \*************************/ 575/***/ ((module) => { 576 577module.exports = jQuery; 578 579/***/ }) 580 581}, 582/******/ __webpack_require__ => { // webpackRuntimeModules 583/******/ var __webpack_exec__ = (moduleId) => (__webpack_require__(__webpack_require__.s = moduleId)) 584/******/ var __webpack_exports__ = (__webpack_exec__("./resources/src/js/app/main.js")); 585/******/ } 586]); 587//# sourceMappingURL=data:application/json;charset=utf-8;base64,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MsTUFBTSxJQUFJO1VBQ2hIQSxNQUFNLENBQUNDLE9BQU8sQ0FBQyxDQUFDO1FBQ3BCLENBQUMsQ0FBQztNQUNOO0lBQ0o7RUFDSixDQUFDO0FBQ0wsQ0FBQyxDQUFDLENBQUU7QUFDSmpCLEtBQUssQ0FBQ3VELGlCQUFpQixDQUFDekMsSUFBSSxDQUFDLENBQUM7QUFHOUJkLEtBQUssQ0FBQ3dELGNBQWMsR0FBSSxZQUFZO0VBQ2hDLE9BQU87SUFDSDFDLElBQUksRUFBRSxTQUFBQSxDQUFBLEVBQVk7TUFDZCxJQUFJTCxTQUFTLENBQUNDLGdCQUFnQixDQUFDLHNDQUFzQyxDQUFDLEVBQUU7UUFFcEUsa1hBQThGLENBQUNLLElBQUksQ0FBQ0MsTUFBTSxJQUFJO1VBQzFHQSxNQUFNLENBQUNDLE9BQU8sQ0FBQyxDQUFDO1FBQ3BCLENBQUMsQ0FBQztNQUNOO0lBQ0o7RUFDSixDQUFDO0FBQ0wsQ0FBQyxDQUFDLENBQUU7QUFDSmpCLEtBQUssQ0FBQ3dELGNBQWMsQ0FBQzFDLElBQUksQ0FBQyxDQUFDO0FBRTNCZCxLQUFLLENBQUN5RCxhQUFhLEd
587BQUksWUFBWTtFQUMvQixPQUFPO0lBQ0gzQyxJQUFJLEVBQUUsU0FBQUEsQ0FBQSxFQUFZO01BQ2QsSUFBSUwsU0FBUyxDQUFDQyxnQkFBZ0IsQ0FBQyxxQ0FBcUMsQ0FBQyxFQUFFO1FBQ25FLHdXQUE0RixDQUFDSyxJQUFJLENBQUNDLE1BQU0sSUFBSTtVQUN4R0EsTUFBTSxDQUFDQyxPQUFPLENBQUMsQ0FBQztRQUNwQixDQUFDLENBQUM7TUFDTjtJQUNKO0VBQ0osQ0FBQztBQUNMLENBQUMsQ0FBQyxDQUFFO0FBQ0pqQixLQUFLLENBQUN5RCxhQUFhLENBQUMzQyxJQUFJLENBQUMsQ0FBQztBQUcxQmQsS0FBSyxDQUFDMEQsY0FBYyxHQUFJLFlBQVk7RUFDaEMsT0FBTztJQUNINUMsSUFBSSxFQUFFLFNBQUFBLENBQUEsRUFBWTtNQUNkLElBQUlMLFNBQVMsQ0FBQ0MsZ0JBQWdCLENBQUMsc0NBQXNDLENBQUMsRUFBRTtRQUNwRSxzU0FBOEYsQ0FBQ0ssSUFBSSxDQUFDQyxNQUFNLElBQUk7VUFDMUdBLE1BQU0sQ0FBQ0MsT0FBTyxDQUFDLENBQUM7UUFDcEIsQ0FBQyxDQUFDO01BQ047SUFDSjtFQUNKLENBQUM7QUFDTCxDQUFDLENBQUMsQ0FBRTtBQUNKakIsS0FBSyxDQUFDMEQsY0FBYyxDQUFDNUMsSUFBSSxDQUFDLENBQUM7O0FBRTNCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOzs7Ozs7Ozs7O0FDdm1CQSIsInNvdXJjZXMiOlsid2VicGFjazovL2FiYW5vaGVhbHRoY2FyZS8uL3Jlc291cmNlcy9zcmMvanMvYXBwL2xpYnJhcmllcy9kZWJvdW5jZS5qcyIsIndlYnBhY2s6Ly9hYmFub2hlYWx0aGNhcmUvLi9yZXNvdXJjZXMvc3JjL2pzL2FwcC9tYWluLmpzIiwid2VicGFjazovL2FiYW5vaGVhbHRoY2FyZS9leHRlcm5hbCB2YXIgXCJqUXVlcnlcIiJdLCJzb3VyY2VzQ29udGVudCI6WyIvLyBSZXR1cm5zIGEgZnVuY3Rpb24sIHRoYXQsIGFzIGxvbmcgYXMgaXQgY29udGludWVzIHRvIGJlIGludm9rZWQsIHdpbGwgbm90XHJcbi8vIGJlIHRyaWdnZXJlZC4gVGhlIGZ1bmN0aW9uIHdpbGwgYmUgY2FsbGVkIGFmdGVyIGl0IHN0b3BzIGJlaW5nIGNhbGxlZCBmb3JcclxuLy8gTiBtaWxsaXNlY29uZHMuIElmIGBpbW1lZGlhdGVgIGlzIHBhc3NlZCwgdHJpZ2dlciB0aGUgZnVuY3Rpb24gb24gdGhlXHJcbi8vIGxlYWRpbmcgZWRnZSwgaW5zdGVhZCBvZiB0aGUgdHJhaWxpbmcuXHJcbmV4cG9ydCBkZWZhdWx0IGZ1bmN0aW9uIGRlYm91bmNlKGZ1bmMsIHdhaXQsIG9wdGlvbnMpIHtcclxuICAgIHZhciB0aW1lb3V0O1xyXG4gXHJcbiAgICB2YXIgbGVhZGluZyA9IG9wdGlvbnMubGVhZGluZyB8fCBmYWxzZTtcclxuICAgIHZhciB0cmFpbGluZyA9IG9wdGlvbnMudHJhaWxpbmcgPT09IHVuZGVmaW5lZCA/IHRydWUgOiBvcHRpb25zLnRyYWlsaW5nO1xyXG4gIFxyXG4gICAgcmV0dXJuIGZ1bmN0aW9uICgpIHtcclxuXHJcbiAgICAgICAgdmFyIGNvbnRleHQgPSB0aGlzLCBhcmdzID0gYXJndW1lbnRzO1xyXG4gICAgICAgIHZhciBsYXRlciA9IGZ1bmN0aW9uICgpIHtcclxuICAgICAgICAgICAgdGltZW91dCA9IG51bGw7XHJcbiAgICAgICAgICAgIGlmICh0cmFpbGluZykgZnVuYy5hcHBseShjb250ZXh0LCBhcmdzKTtcclxuICAgICAgICB9O1xyXG4gICAgICAgIHZhciBjYWxsTm93ID0gbGVhZGluZyAmJiAhdGltZW91dDtcclxuICAgICAgICBjbGVhclRpbWVvdXQodGltZW91dCk7XHJcbiAgICAgICAgdGltZW91dCA9IHNldFRpbWVvdXQobGF0ZXIsIHdhaXQpO1xyXG4gICAgICAgIGlmIChjYWxsTm93KSBmdW5jLmFwcGx5KGNvbnRleHQsIGFyZ3MpO1xyXG4gICAgfTtcclxufTtcclxuXHJcbiIsImltcG9ydCAkIGZyb20gJ2pxdWVyeSdcclxuaW1wb3J0IGRlYm91bmNlIGZyb20gJy4vbGlicmFyaWVzL2RlYm91bmNlJztcclxuXHJcbi8vIGltcG9ydCB7IE1ZX1RPUElDIH0gZnJvbSBcIi4vY29tcG9uZW50cy9FdmVudFR5cGVzXCI7IFxyXG5cclxuXHJcblxyXG4gXHJcbi8qKlxyXG4qIGRvY3VtZW50YXRpb24gZm9yIHB1YnN1YiBtb2R1bGUgaGVyZVxyXG5odHRwczovL2dpdGh1Yi5jb20vbXJvZGVyaWNrL1B1YlN1YkpTL1xyXG5cclxudXNlIGxpa2UgdGhpczpcclxuICBcclxuLy9oYW5kbGVyXHJcbnZhciBteVN1YnNjcmliZXIgPSBmdW5jdGlvbiAobXNnLCBkYXRhKSB7IFxyXG4gICBjb25zb2xlLmxvZyhtc2csIGRhdGEpOyBcclxufTsgXHJcbiBcclxuLy9saXN0ZW4gZm9yIGEgdG9waWNcclxudmFyIHRva2VuID0gUHViU3ViLnN1YnNjcmliZShNWV9UT1BJQywgbXlTdWJzY3JpYmVyKTtcclxuXHJcbi8vIHB1Ymxpc2ggYSB0b3BpYyBhc3luY2hyb25vdXNseSBcclxuUHViU3ViLnB1Ymxpc2goTVlfVE9QSUMsIFsnaGVsbG8gd29ybGQhJywndGVzdCddKTtcclxuXHJcbioqL1xyXG5cclxuXHJcblxyXG53aW5kb3cuYWJhbm8gPSB3aW5kb3cuYWJhbm8gfHwge307XHJcblxyXG52YXIgdmggPSB3aW5kb3cuaW5uZXJIZWlnaHQgKiAwLjAxO1xyXG5cclxuLy8gVGhlbiB3ZSBzZXQgdGhlIHZhbHVlIGluIHRoZSAtLXZoIGN1c3RvbSBwcm9wZXJ0eSB0byB0aGUgcm9vdCBvZiB0aGUgZG9jdW1lbnRcclxuZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LnN0eWxlLnNldFByb3BlcnR5KCctLXZoJywgYCR7dmh9cHhgKTtcclxuXHJcbnZhciBtZW51VmhGaXhfX0RFQk9VTkNFRF9XSU5ET1dfUkVTSVpFID0gZGVib3VuY2UoZnVuY3Rpb24gKCkge1xyXG4gICAgbGV0IHZoID0gd2luZG93LmlubmVySGVpZ2h0ICogMC4wMTtcclxuICAgIGRvY3VtZW50LmRvY3VtZW50RWxlbWVudC5zdHlsZS5zZXRQcm9wZXJ0eSgnLS12aCcsIGAke3ZofXB4YCk7XHJcbn0sIDEwMCwgeyB0cmFpbGluZzogdHJ1ZSB9KTtcclxuJCh3aW5kb3cpLm9uKCdyZXNpemUnLCBtZW51VmhGaXhfX0RFQk9VTkNFRF9XSU5ET1dfUkVTSVpFKTtcclxuXHJcblxyXG5jb25zdCBsb2FkUnVsZXMgPSB7XHJcbiAgICBkb2N1bWVudENvbnRhaW5zOiAoc2VsZWN0b3IpID0+IHsgcmV0dXJuIGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3Ioc2VsZWN0b3IpICE9IG51bGwgfVxyXG59XHJcblxyXG5hYmFuby5uYXZpZ2F0aW9uID0gKGZ1bmN0aW9uICgpIHtcclxuICAgIHJldHVybiB7XHJcbiAgICAgICAgaW5pdDogZnVuY3Rpb24gKCkge1xyXG4gICAgICAgICAgICBpZiAobG9hZFJ1bGVzLmRvY3VtZW50Q29udGFpbnMoJy5jLW5hdicpKSB7XHJcblxyXG4gICAgICAgICAgICAgICAgaW1wb3J0KC8qIHdlYnBhY2tDaHVua05hbWU6IFwiYWJhbm8ubmF2aWdhdGlvblwiICovICcuL0xhenlDb21wb25lbnRzL2FiYW5vLm5hdmlnYXRpb24nKS50aGVuKG1vZHVsZSA9PiB7XHJcbiAgICAgICAgICAgICAgICAgICAgbW9kdWxlLmRlZmF1bHQoKTtcclxuICAgICAgICAgICAgICAgI
587H0pO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfSxcclxuICAgIH07XHJcbn0oKSk7XHJcbmFiYW5vLm5hdmlnYXRpb24uaW5pdCgpO1xyXG5cclxuXHJcblxyXG5hYmFuby5taW5pU2VhcmNoID0gKGZ1bmN0aW9uICgpIHtcclxuICAgIHJldHVybiB7XHJcbiAgICAgICAgaW5pdDogZnVuY3Rpb24gKCkge1xyXG4gICAgICAgICAgICBpZiAobG9hZFJ1bGVzLmRvY3VtZW50Q29udGFpbnMoJy5jLW1pbmktc2VhcmNoJykpIHtcclxuICAgICAgICAgICAgICAgIGltcG9ydCgvKiB3ZWJwYWNrQ2h1bmtOYW1lOiBcImFiYW5vLm1pbmlTZWFyY2hcIiAqLyAnLi9MYXp5Q29tcG9uZW50cy9hYmFuby5taW5pU2VhcmNoJykudGhlbihtb2R1bGUgPT4ge1xyXG4gICAgICAgICAgICAgICAgICAgIG1vZHVsZS5kZWZhdWx0KCk7XHJcbiAgICAgICAgICAgICAgICB9KTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxufSgpKTtcclxuYWJhbm8ubWluaVNlYXJjaC5pbml0KCk7XHJcblxyXG5cclxuYWJhbm8uYm9va05vdyA9IChmdW5jdGlvbiAoKSB7XHJcbiAgICByZXR1cm4ge1xyXG4gICAgICAgIGluaXQoKSB7XHJcbiAgICAgICAgICAgIGlmIChhYmFuby5jb25maWcgJiYgYWJhbm8uY29uZmlnLnByYWN0aWNlRGlyZWN0b3J5KSB7XHJcbiAgICAgICAgICAgICAgICBpbXBvcnQoLyogd2VicGFja0NodW5rTmFtZTogXCJhYmFuby5ib29rTm93XCIgKi8gJy4vTGF6eUNvbXBvbmVudHMvYWJhbm8uYm9va05vdycpLnRoZW4obW9kdWxlID0+IHtcclxuICAgICAgICAgICAgICAgICAgICBtb2R1bGUuZGVmYXVsdCgpO1xyXG4gICAgICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbn0oKSk7XHJcbmFiYW5vLmJvb2tOb3cuaW5pdCgpO1xyXG5cclxuXHJcbmFiYW5vLnByZWZlcnJlZFByYWN0aWNlID0gKGZ1bmN0aW9uICgpIHtcclxuICAgIHJldHVybiB7XHJcbiAgICAgICAgaW5pdDogZnVuY3Rpb24gKCkge1xyXG4gICAgICAgICAgICBpZiAobG9hZFJ1bGVzLmRvY3VtZW50Q29udGFpbnMoJ1tkYXRhLXByYWN0aWNlLXdpZGdldF0sIFtkYXRhLXByYWN0aWNlLWRldGFpbHMtbGFiZWxdJykpIHtcclxuXHJcbiAgICAgICAgICAgICAgICBpbXBvcnQoLyogd2VicGFja0NodW5rTmFtZTogXCJhYmFuby5wcmVmZXJyZWRQcmFjdGljZVwiICovICcuL0xhenlDb21wb25lbnRzL2FiYW5vLnByZWZlcnJlZFByYWN0aWNlJykudGhlbihtb2R1bGUgPT4ge1xyXG4gICAgICAgICAgICAgICAgICAgIG1vZHVsZS5kZWZhdWx0KCk7XHJcbiAgICAgICAgICAgICAgICB9KTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxufSgpKTtcclxuYWJhbm8ucHJlZmVycmVkUHJhY3RpY2UuaW5pdCgpO1xyXG5cclxuXHJcblxyXG5cclxuLy90aGlzIHdpbGwgbm90IHdvcmsgd2VsbCB3aXRoIDIgcGFnaW5hdGlvbiBhcmVhcyBvbiB0aGUgc2FtZSBwYWdlIGJvdGggd2lsbCB1cGRhdGUgdGhlIHVybC5cclxuLy9pZiB3ZSBuZWVkIHRoaXMgZmVhdHVyZSBhIHdvcmsgYXJvdW5kIGlzIHJlcXVpcmVkLlxyXG5hYmFuby5tYWluU2VhcmNoID0gKGZ1bmN0aW9uICgpIHtcclxuICAgIHJldHVybiB7XHJcbiAgICAgICAgaW5pdDogZnVuY3Rpb24gKCkge1xyXG4gICAgICAgICAgICBpZiAobG9hZFJ1bGVzLmRvY3VtZW50Q29udGFpbnMoJy5wYWdpbmF0aW9uLXJlc3VsdHMnKSkge1xyXG4gICAgICAgICAgICAgICAgaW1wb3J0KC8qIHdlYnBhY2tDaHVua05hbWU6IFwiYWJhbm8ubWFpblNlYXJjaFwiICovICcuL0xhenlDb21wb25lbnRzL2FiYW5vLm1haW5TZWFyY2gnKS50aGVuKG1vZHVsZSA9PiB7XHJcbiAgICAgICAgICAgICAgICAgICAgbW9kdWxlLmRlZmF1bHQoKTtcclxuICAgICAgICAgICAgICAgIH0pO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59KCkpO1xyXG5hYmFuby5tYWluU2VhcmNoLmluaXQoKTtcclxuXHJcbmFiYW5vLmNhcmVlcnNTZWFyY2ggPSAoZnVuY3Rpb24gKCkge1xyXG4gICAgcmV0dXJuIHtcclxuICAgICAgICBpbml0OiBmdW5jdGlvbiAoKSB7XHJcbiAgICAgICAgICAgIGlmIChsb2FkUnVsZXMuZG9jdW1lbnRDb250YWlucygnW2RhdGEtY29tcG9uZW50PVwiYy1jYXJlZXJzLXNlYXJjaC1iYXJcIl0nKSkge1xyXG4gICAgICAgICAgICAgICAgaW1wb3J0KC8qIHdlYnBhY2tDaHVua05hbWU6IFwiYWJhbm8uY2FyZWVyc1NlYXJjaEJhclwiICovICcuL0xhenlDb21wb25lbnRzL2FiYW5vLmNhcmVlcnNTZWFyY2hCYXInKS50aGVuKG1vZHVsZSA9PiB7XHJcbiAgICAgICAgICAgICAgICAgICAgbW9kdWxlLmRlZmF1bHQoKTtcclxuICAgICAgICAgICAgICAgIH0pO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59KCkpO1xyXG5hYmFuby5jYXJlZXJzU2VhcmNoLmluaXQoKTtcclxuXHJcbmFiYW5vLmNhcmVlcnNKb2JMaXN0ID0gKGZ1bmN0aW9uICgpIHtcclxuICAgIHJldHVybiB7XHJcbiAgICAgICAgaW5pdDogZnVuY3Rpb24gKCkge1xyXG4gICAgICAgICAgICBpZiAobG9hZFJ1bGVzLmRvY3VtZW50Q29udGFpbnMoJ1tkYXRhLWNvbXBvbmVudD1cImMtY2FyZWVycy1qb2ItbGlzdFwiXScpKSB7XHJcbiAgICAgICAgICAgICAgICBpbXBvcnQoLyogd2VicGFja0NodW5rTmFtZTogXCJhYmFuby5jYXJlZXJzSm9iTGlzdHJcIiAqLyAnLi9MYXp5Q29tcG9uZW50cy9hYmFuby5jYXJlZXJzSm9iTGlzdCcpLnRoZW4obW9kdWxlID0+IHtcclxuICAgICAgICAgICAgICAgICAgICBtb2R1bGUuZGVmYXVsdCgpO1xyXG4gICAgICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbn0oKSk7XHJcbmFiYW5vLmNhcmVlcnNKb2JMaXN0LmluaXQoKTtcclxuXHJcbmFiYW5vLnRvZ2dsZUNvbGxhcHNlID0gKGZ1bmN0aW9uICgpIHtcclxuICAgIHJldHVybiB7XHJcbiAgICAgICAgaW5pdDogZnVuY3Rpb24gKCkge1xyXG4gICAgICAgICAgICBpZiAobG9hZFJ1bGVzLmRvY3VtZW50Q29udGFpbnMoJ1tkYXRhLXRvZ2dsZS10ZXh0XScpKSB7XHJcblxyXG4gICAgICAgICAgICAgICAgaW1wb3J0KC8qIHdlYnBhY2tDaHVua05hbWU6IFwiYWJhbm8udG9nZ2xlQ29sbGFwc2VcIiAqLyAnLi9MYXp5Q29tcG9uZW50cy9hYmFuby50b2dnbGVDb2xsYXBzZScpLnRoZW4obW9kdWxlID0+IHtcclxuICAgICAgICAgICAgICAgICAgICBtb2R1bGUuZGVmYXVsdCgpO1xyXG4gICAgICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgICAgI
587H1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbn0oKSk7XHJcbmFiYW5vLnRvZ2dsZUNvbGxhcHNlLmluaXQoKTtcclxuXHJcblxyXG4vL3dyYXAgdGhlIGJvb3RzdHJhcCBtb2R1bGVzIHdlIG5lZWQgc28gdGhhdCB3ZSBjYW4gbGF6eSBsb2FkIHdpdGggd2VicGFjay5cclxuLy90aGUgYm9vdHN0cmFwIHBsdWdpbnMgYXJzIHNlbGYgY29udGFpbmVkIHNvIHdlIGRvbid0IGFjdHVhbGx5IG5lZWQgdG8gZG8gYW55IGNhbGxiYWNrLlxyXG5hYmFuby5jb2xsYXBzZSA9IChmdW5jdGlvbiAoKSB7XHJcbiAgICByZXR1cm4ge1xyXG4gICAgICAgIGluaXQ6IGZ1bmN0aW9uICgpIHtcclxuICAgICAgICAgICAgaWYgKGxvYWRSdWxlcy5kb2N1bWVudENvbnRhaW5zKCdbZGF0YS10b2dnbGU9XCJjb2xsYXBzZVwiXSwgW2RhdGEtZGVwZW5kcz1cImNvbGxhcHNlXCJdJykpIHtcclxuICAgICAgICAgICAgICAgIGltcG9ydCgvKiB3ZWJwYWNrQ2h1bmtOYW1lOiBcImFiYW5vLmJzQ29sbGFwc2VcIiAqLyAnLi9MYXp5Q29tcG9uZW50cy9hYmFuby5ic0NvbGxhcHNlJylcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBpZiAobG9hZFJ1bGVzLmRvY3VtZW50Q29udGFpbnMoJ1tkYXRhLXRvZ2dsZT1cInRhYlwiXScpKSB7XHJcbiAgICAgICAgICAgICAgICBpbXBvcnQoLyogd2VicGFja0NodW5rTmFtZTogXCJhYmFuby5ic1RhYlwiICovICcuL0xhenlDb21wb25lbnRzL2FiYW5vLmJzVGFiJylcclxuXHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbn0pKCkuaW5pdCgpO1xyXG5cclxuYWJhbm8uc2Nyb2xsQmFubmVyQWxlcnQgPSAoZnVuY3Rpb24gKCkge1xyXG4gICAgcmV0dXJuIHtcclxuICAgICAgIFxyXG4gICAgICAgIGluaXQ6IGZ1bmN0aW9uICgpIHtcclxuICAgICAgICAgICAgaWYgKGxvYWRSdWxlcy5kb2N1bWVudENvbnRhaW5zKCdbZGF0YS1jb21wb25lbnQ9XCJjLXNsaWRpbmctYmFubmVyLWFsZXJ0XCJdJykpIHtcclxuXHJcbiAgICAgICAgICAgICAgICBpbXBvcnQoLyogd2VicGFja0NodW5rTmFtZTogXCJhYmFuby5zbGlkZXJBbGVydFwiICovICcuL0xhenlDb21wb25lbnRzL2FiYW5vLnNsaWRlckFsZXJ0JykudGhlbihtb2R1bGUgPT4ge1xyXG4gICAgICAgICAgICAgICAgICAgIG1vZHVsZS5kZWZhdWx0KCk7XHJcbiAgICAgICAgICAgICAgICB9KTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH07XHJcblxyXG59KCkpO1xyXG5hYmFuby5zY3JvbGxCYW5uZXJBbGVydC5pbml0KCk7XHJcblxyXG5hYmFuby5yaWJib24gPSAoZnVuY3Rpb24gKCkge1xyXG4gICAgcmV0dXJuIHtcclxuICAgICAgICBwcmFjdGljZVJpYmJvbjogZnVuY3Rpb24gKCkgeyByZXR1cm4gcHJhY3RpY2VSaWJib24gfSwgLy90b2RvOiB0aGlzIHdvbnQgd29yay5cclxuICAgICAgICBpbml0OiBmdW5jdGlvbiAoKSB7XHJcbiAgICAgICAgICAgIGlmIChsb2FkUnVsZXMuZG9jdW1lbnRDb250YWlucygnLmMtcmliYm9uJykpIHtcclxuXHJcbiAgICAgICAgICAgICAgICBpbXBvcnQoLyogd2VicGFja0NodW5rTmFtZTogXCJhYmFuby5yaWJib25cIiAqLyAnLi9MYXp5Q29tcG9uZW50cy9hYmFuby5yaWJib24nKS50aGVuKG1vZHVsZSA9PiB7XHJcbiAgICAgICAgICAgICAgICAgICAgbW9kdWxlLmRlZmF1bHQoKTtcclxuICAgICAgICAgICAgICAgIH0pO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfTtcclxuXHJcbn0oKSk7XHJcbmFiYW5vLnJpYmJvbi5pbml0KCk7XHJcblxyXG4gYWJhbm8udW1icmFjb0Zvcm1zID0gKGZ1bmN0aW9uICgpIHtcclxuICAgIHZhciBmb3JtcyA9ICQoJy51bWJyYWNvLWZvcm1zLWZvcm0gZm9ybScpO1xyXG4gICAgcmV0dXJuIHtcclxuICAgICAgICBpbml0OiBmdW5jdGlvbiAoKSB7XHJcbiAgICAgICAgICAgIGlmIChmb3Jtcy5sZW5ndGgpIHtcclxuICAgICAgICAgICAgICAgIGltcG9ydCgvKiB3ZWJwYWNrQ2h1bmtOYW1lOiBcImFiYW5vLnVtYnJhY29Gb3Jtc1wiICovICcuL0xhenlDb21wb25lbnRzL2FiYW5vLnVtYnJhY29Gb3JtcycpLnRoZW4obW9kdWxlID0+IHtcclxuICAgICAgICAgICAgICAgICAgICBtb2R1bGUuZGVmYXVsdChmb3Jtcyk7XHJcbiAgICAgICAgICAgICAgICB9KTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxufSgpKTtcclxuYWJhbm8udW1icmFjb0Zvcm1zLmluaXQoKTtcclxuXHJcbmFiYW5vLnBhcmFsbGF4ID0gKGZ1bmN0aW9uICgpIHtcclxuICAgIHJldHVybiB7XHJcbiAgICAgICAgaW5pdDogZnVuY3Rpb24gKCkge1xyXG4gICAgICAgICAgICBpZiAobG9hZFJ1bGVzLmRvY3VtZW50Q29udGFpbnMoJy5jLWZsb3VyaXNoLS1hbmdsZS5jLWZsb3VyaXNoLS1wYXJhbGxheCcpKSB7XHJcblxyXG4gICAgICAgICAgICAgICAgaW1wb3J0KC8qIHdlYnBhY2tDaHVua05hbWU6IFwiYWJhbm8ucGFyYWxsYXhcIiAqLyAnLi9MYXp5Q29tcG9uZW50cy9hYmFuby5wYXJhbGxheCcpLnRoZW4obW9kdWxlID0+IHtcclxuICAgICAgICAgICAgICAgICAgICBtb2R1bGUuZGVmYXVsdCgpO1xyXG4gICAgICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9O1xyXG59KCkpO1xyXG5hYmFuby5wYXJhbGxheC5pbml0KCk7XHJcblxyXG5hYmFuby5wcmFjdGljZU1pbmlGaW5kZXIgPSAoZnVuY3Rpb24gKCkge1xyXG4gICAgcmV0dXJuIHtcclxuICAgICAgICBpbml0OiBmdW5jdGlvbiAoKSB7XHJcbiAgICAgICAgICAgIGlmIChsb2FkUnVsZXMuZG9jdW1lbnRDb250YWlucygnW2RhdGEtcHJhY3RpY2UtbWluaWZpbmRlcl0nKSkge1xyXG5cclxuICAgICAgICAgICAgICAgIGltcG9ydCgvKiB3ZWJwYWNrQ2h1bmtOYW1lOiBcImFiYW5vLnByYWN0aWNlTWluaUZpbmRlclwiICovICcuL0xhenlDb21wb25lbnRzL2FiYW5vLnByYWN0aWNlTWluaUZpbmRlcicpLnRoZW4obW9kdWxlID0+IHtcclxuICAgICAgICAgICAgICAgICAgICBtb2R1bGUuZGVmYXVsdCgpO1xyXG4gICAgICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbn0oKSk7XHJcbmFiYW5vLnByYWN0aWNlTWluaUZpbmRlci5pbml0KCk7XHJcblxyXG5cclxuXHJcbmFiYW5vLm1lZ2FuYXYgPSAoZnVuY3Rpb24gKCkge1xyXG4gICAgcmV0dXJuIHtcclxuICAgICAgICBpbml0OiBmdW5jdGlvbiAoKSB7XHJcbiAgICAgICAgICAgIGlmIChsb2FkUnVsZXMuZG9jdW1lbnRDb250YWlucygnLmMtbWVnYW5hdi0tdHJpZ2dlcicpKSB7XHJcblxyXG4gICAgICAgICAgICAgICAgaW1wb3J0KC8qIHdlYnBhY2tDaHVua05hbWU6IFwiYWJhbm8ubWVnYU5hdmlnYXRpb25cIiAqLyAnLi9MYXp5Q29tcG9uZW50cy9hYmFuby5tZWdhTmF2aWdhdGlvbic
587pLnRoZW4obW9kdWxlID0+IHtcclxuICAgICAgICAgICAgICAgICAgICBtb2R1bGUuZGVmYXVsdCgpO1xyXG4gICAgICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbn0oKSk7XHJcbmFiYW5vLm1lZ2FuYXYuaW5pdCgpO1xyXG5cclxuYWJhbm8udGVzdGltb25pYWxzID0gKGZ1bmN0aW9uICgpIHtcclxuICAgIHJldHVybiB7XHJcbiAgICAgICAgaW5pdDogZnVuY3Rpb24gKCkge1xyXG4gICAgICAgICAgICBpZiAobG9hZFJ1bGVzLmRvY3VtZW50Q29udGFpbnMoJy5zbGljay10ZXN0aW1vbmlhbHMnKSkge1xyXG5cclxuICAgICAgICAgICAgICAgIGltcG9ydCgvKiB3ZWJwYWNrQ2h1bmtOYW1lOiBcImFiYW5vLnRlc3RpbW9uaWFsc1wiICovICcuL0xhenlDb21wb25lbnRzL2FiYW5vLnRlc3RpbW9uaWFscycpLnRoZW4obW9kdWxlID0+IHtcclxuICAgICAgICAgICAgICAgICAgICBtb2R1bGUuZGVmYXVsdCgpO1xyXG4gICAgICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbn0oKSk7XHJcbmFiYW5vLnRlc3RpbW9uaWFscy5pbml0KCk7XHJcblxyXG5hYmFuby50ZXh0Q2xhbXAgPSAoZnVuY3Rpb24gKCkge1xyXG4gICAgcmV0dXJuIHtcclxuICAgICAgICBpbml0OiBmdW5jdGlvbiAoKSB7XHJcbiAgICAgICAgICAgIGlmIChsb2FkUnVsZXMuZG9jdW1lbnRDb250YWlucygnLmMtY2xhbXAtdGV4dCcpKSB7XHJcblxyXG4gICAgICAgICAgICAgICAgaW1wb3J0KC8qIHdlYnBhY2tDaHVua05hbWU6IFwiYWJhbm8udGV4dENsYW1wXCIgKi8gJy4vTGF6eUNvbXBvbmVudHMvYWJhbm8udGV4dENsYW1wJykudGhlbihtb2R1bGUgPT4ge1xyXG4gICAgICAgICAgICAgICAgICAgIG1vZHVsZS5kZWZhdWx0KCk7XHJcbiAgICAgICAgICAgICAgICB9KTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxufSgpKTtcclxuXHJcbiQod2luZG93KS5vbihcImxvYWRcIiwgZnVuY3Rpb24gKGUpIHtcclxuICAgIGFiYW5vLnRleHRDbGFtcC5pbml0KCk7XHJcbn0pXHJcblxyXG5hYmFuby5yZXN1bHRzaW1hZ2VzID0gKGZ1bmN0aW9uICgpIHtcclxuXHJcbiAgICAkKHdpbmRvdykub24oXCJsb2FkXCIsIGZ1bmN0aW9uIChlKSB7XHJcbiAgICAgICAgYWJhbm8ucmVzdWx0c2ltYWdlcy5pbml0KCk7XHJcbiAgICB9KVxyXG5cclxuICAgIHJldHVybiB7XHJcbiAgICAgICAgaW5pdDogZnVuY3Rpb24gKCkge1xyXG4gICAgICAgICAgICBpZiAobG9hZFJ1bGVzLmRvY3VtZW50Q29udGFpbnMoJy5yZXN1bHQtaW1hZ2UtaXRlbScpKSB7XHJcblxyXG5cclxuICAgICAgICAgICAgICAgIGltcG9ydCgvKiB3ZWJwYWNrQ2h1bmtOYW1lOiBcImFiYW5vLnJlc3VsdHNpbWFnZXNcIiAqLyAnLi9MYXp5Q29tcG9uZW50cy9hYmFuby5yZXN1bHRzSW1hZ2VzJykudGhlbihtb2R1bGUgPT4ge1xyXG4gICAgICAgICAgICAgICAgICAgIG1vZHVsZS5kZWZhdWx0KCk7XHJcbiAgICAgICAgICAgICAgICB9KTtcclxuXHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbn0oKSk7XHJcblxyXG5cclxuXHJcblxyXG5hYmFuby5nYWxsZXJ5U2xpZGVyID0gKGZ1bmN0aW9uICgpIHtcclxuICAgIHJldHVybiB7XHJcbiAgICAgICAgaW5pdDogZnVuY3Rpb24gKCkge1xyXG4gICAgICAgICAgICBpZiAobG9hZFJ1bGVzLmRvY3VtZW50Q29udGFpbnMoJy5jLXNsaWRlci5zbGljay1nYWxsZXJ5JykpIHtcclxuXHJcbiAgICAgICAgICAgICAgICBpbXBvcnQoLyogd2VicGFja0NodW5rTmFtZTogXCJhYmFuby5nYWxsZXJ5U2xpZGVyXCIgKi8gJy4vTGF6eUNvbXBvbmVudHMvYWJhbm8uZ2FsbGVyeVNsaWRlcicpLnRoZW4obW9kdWxlID0+IHtcclxuICAgICAgICAgICAgICAgICAgICBtb2R1bGUuZGVmYXVsdCgpO1xyXG4gICAgICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbn0oKSk7XHJcbmFiYW5vLmdhbGxlcnlTbGlkZXIuaW5pdCgpO1xyXG5cclxuYWJhbm8uc2Nyb2xsQmFubmVyID0gKGZ1bmN0aW9uICgpIHtcclxuICAgIHJldHVybiB7XHJcbiAgICAgICAgaW5pdDogZnVuY3Rpb24gKCkge1xyXG4gICAgICAgICAgICBpZiAobG9hZFJ1bGVzLmRvY3VtZW50Q29udGFpbnMoJy5jLXNjcm9sbC1iYW5uZXInKSkge1xyXG4gICAgICAgICAgICAgICAgaW1wb3J0KC8qIHdlYnBhY2tDaHVua05hbWU6IFwiYWJhbm8uc2Nyb2xsQmFubmVyXCIgKi8gJy4vTGF6eUNvbXBvbmVudHMvYWJhbm8uc2Nyb2xsQmFubmVyJykudGhlbihtb2R1bGUgPT4ge1xyXG4gICAgICAgICAgICAgICAgICAgIG1vZHVsZS5kZWZhdWx0KCk7XHJcbiAgICAgICAgICAgICAgICB9KTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxufSgpKTsgXHJcbmFiYW5vLnNjcm9sbEJhbm5lci5pbml0KCk7XHJcblxyXG5hYmFuby5pbWFnZVNsaWRlciA9IChmdW5jdGlvbiAoKSB7XHJcbiAgICByZXR1cm4ge1xyXG4gICAgICAgIGluaXQ6IGZ1bmN0aW9uICgpIHtcclxuICAgICAgICAgICAgaWYgKGxvYWRSdWxlcy5kb2N1bWVudENvbnRhaW5zKCcuYy1pbWFnZS1zbGlkZXInKSkge1xyXG4gICAgICAgICAgICAgICAgaW1wb3J0KC8qIHdlYnBhY2tDaHVua05hbWU6IFwiYWJhbm8uaW1hZ2VTbGlkZXJcIiAqLyAnLi9MYXp5Q29tcG9uZW50cy9hYmFuby5pbWFnZVNsaWRlcicpLnRoZW4obW9kdWxlID0+IHtcclxuICAgICAgICAgICAgICAgICAgICBtb2R1bGUuZGVmYXVsdCgpXHJcbiAgICAgICAgICAgICAgICB9KVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59KCkpO1xyXG5hYmFuby5pbWFnZVNsaWRlci5pbml0KCk7IFxyXG5cclxuYWJhbm8ucHJvbW9TbGlkZXIgPSAoZnVuY3Rpb24gKCkge1xyXG4gICAgcmV0dXJuIHtcclxuICAgICAgICBpbml0OiBmdW5jdGlvbiAoKSB7XHJcbiAgICAgICAgICAgIGlmIChsb2FkUnVsZXMuZG9jdW1lbnRDb250YWlucygnLmMtc2xpZGVyLnNsaWNrLXByb21vJykpIHtcclxuXHJcbiAgICAgICAgICAgICAgICBpbXBvcnQoLyogd2VicGFja0NodW5rTmFtZTogXCJhYmFuby5wcm9tb1NsaWRlclwiICovICcuL0xhenlDb21wb25lbnRzL2FiYW5vLnByb21vU2xpZGVyJykudGhlbihtb2R1bGUgPT4ge1xyXG4gICAgICAgICAgICAgICAgICAgIG1vZHVsZS5kZWZhdWx0KCk7XHJcbiAgICAgICAgICAgICAgICB9KTtcclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG59KCkpO1xyXG5hYmFuby5wcm9tb1NsaWRlci5pbml0KCk7XHJcblxyXG5hYmFuby5hcnRpY2xlU2xpZGVyID0gKGZ1bmN0aW9uICgpIHtcclxuICAgIHJldHVybi
587B7XHJcbiAgICAgICAgaW5pdDogZnVuY3Rpb24gKCkge1xyXG4gICAgICAgICAgICBpZiAobG9hZFJ1bGVzLmRvY3VtZW50Q29udGFpbnMoJy5jLXNsaWRlci5zbGljay1uZXdzJykpIHtcclxuXHJcbiAgICAgICAgICAgICAgICBpbXBvcnQoLyogd2VicGFja0NodW5rTmFtZTogXCJhYmFuby5hcnRpY2xlU2xpZGVyXCIgKi8gJy4vTGF6eUNvbXBvbmVudHMvYWJhbm8uYXJ0aWNsZVNsaWRlcicpLnRoZW4obW9kdWxlID0+IHtcclxuICAgICAgICAgICAgICAgICAgICBtb2R1bGUuZGVmYXVsdCgpO1xyXG4gICAgICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbn0oKSk7XHJcbmFiYW5vLmFydGljbGVTbGlkZXIuaW5pdCgpO1xyXG5cclxuYWJhbm8uYm9va05vd0J1dHRvbiA9IChmdW5jdGlvbiAoKSB7XHJcbiAgICByZXR1cm4ge1xyXG4gICAgICAgIGluaXQ6IGZ1bmN0aW9uICgpIHtcclxuICAgICAgICAgICAgaWYgKGxvYWRSdWxlcy5kb2N1bWVudENvbnRhaW5zKCdbZGF0YS1ib29rLW5vd10nKSkge1xyXG5cclxuICAgICAgICAgICAgICAgIGltcG9ydCgvKiB3ZWJwYWNrQ2h1bmtOYW1lOiBcImFiYW5vLmJvb2tOb3dCdXR0b25cIiAqLyAnLi9MYXp5Q29tcG9uZW50cy9hYmFuby5ib29rTm93QnV0dG9uJykudGhlbihtb2R1bGUgPT4ge1xyXG4gICAgICAgICAgICAgICAgICAgIG1vZHVsZS5kZWZhdWx0KCk7XHJcbiAgICAgICAgICAgICAgICB9KTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxufSgpKTtcclxuYWJhbm8uYm9va05vd0J1dHRvbi5pbml0KCk7XHJcblxyXG5hYmFuby5zY3JvbGxKdW1wID0gKGZ1bmN0aW9uICgpIHtcclxuICAgIHJldHVybiB7XHJcbiAgICAgICAgaW5pdDogZnVuY3Rpb24gKCkge1xyXG4gICAgICAgICAgICBpZiAobG9hZFJ1bGVzLmRvY3VtZW50Q29udGFpbnMoJ2FbZGF0YS1zY3JvbGwtdG9dLCBzZWxlY3RbZGF0YS1zY3JvbGwtdG9dJykpIHtcclxuXHJcbiAgICAgICAgICAgICAgICBpbXBvcnQoLyogd2VicGFja0NodW5rTmFtZTogXCJhYmFuby5zY3JvbGxKdW1wXCIgKi8gJy4vTGF6eUNvbXBvbmVudHMvYWJhbm8uc2Nyb2xsSnVtcCcpLnRoZW4obW9kdWxlID0+IHtcclxuICAgICAgICAgICAgICAgICAgICBtb2R1bGUuZGVmYXVsdCgpO1xyXG4gICAgICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbn0oKSk7XHJcbmFiYW5vLnNjcm9sbEp1bXAuaW5pdCgpO1xyXG5cclxuXHJcbmFiYW5vLm1lbnUgPSAoZnVuY3Rpb24gKCkge1xyXG5cclxuICAgIHJldHVybiB7XHJcbiAgICAgICAgaW5pdDogZnVuY3Rpb24gKCkge1xyXG4gICAgICAgICAgICBpZiAobG9hZFJ1bGVzLmRvY3VtZW50Q29udGFpbnMoJy5tZW51LXRyaWdnZXIgYnV0dG9uJykpIHtcclxuXHJcbiAgICAgICAgICAgICAgICBpbXBvcnQoLyogd2VicGFja0NodW5rTmFtZTogXCJhYmFuby5tZW51XCIgKi8gJy4vTGF6eUNvbXBvbmVudHMvYWJhbm8ubWVudScpLnRoZW4obW9kdWxlID0+IHtcclxuICAgICAgICAgICAgICAgICAgICBtb2R1bGUuZGVmYXVsdCgpO1xyXG4gICAgICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbn0oKSk7XHJcbmFiYW5vLm1lbnUuaW5pdCgpO1xyXG5cclxuLy90b2RvOiBtYWtlIHN1cmUgdGhpcyBpcyBjb3JyZWN0LlxyXG5hYmFuby5mb3JtcyA9IChmdW5jdGlvbiAoKSB7XHJcblxyXG4gICAgcmV0dXJuIHtcclxuICAgICAgICBpbml0OiBmdW5jdGlvbiAoKSB7XHJcbiAgICAgICAgICAgIGlmIChsb2FkUnVsZXMuZG9jdW1lbnRDb250YWlucygnLnByYWN0aWNlcGlja2VyLCAudHJlYXRtZW50cGlja2VyJykpIHtcclxuXHJcbiAgICAgICAgICAgICAgICBpbXBvcnQoLyogd2VicGFja0NodW5rTmFtZTogXCJhYmFuby51bWJyYWNvRm9ybXNEeW5hbWljRmllbGRzXCIgKi8gJy4vTGF6eUNvbXBvbmVudHMvYWJhbm8udW1icmFjb0Zvcm1zRHluYW1pY0ZpZWxkcycpLnRoZW4obW9kdWxlID0+IHtcclxuICAgICAgICAgICAgICAgICAgICBtb2R1bGUuZGVmYXVsdCgpO1xyXG4gICAgICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbn0oKSk7XHJcbmFiYW5vLmZvcm1zLmluaXQoKTtcclxuXHJcbi8vcGxhY2UgZm9yIGdvb2dsZSBtYXBzIHRvIGhvb2sgb25jZSBpdCBsb2Fkcy5cclxuYWJhbm8ubWFwcyA9IChmdW5jdGlvbiAoKSB7XHJcblxyXG4gICAgcmV0dXJuIHtcclxuICAgICAgICAvL3RoZSBjYWxsYmFjayB0aGF0IGdvb2dsZSBtYXBzIHdpbGwgcnVuXHJcbiAgICAgICAgaW5pdDogZnVuY3Rpb24gKCkge1xyXG4gICAgICAgICAgICBpZiAobG9hZFJ1bGVzLmRvY3VtZW50Q29udGFpbnMoJ1tkYXRhLW1hcF0nKSkge1xyXG5cclxuICAgICAgICAgICAgICAgIGltcG9ydCgvKiB3ZWJwYWNrQ2h1bmtOYW1lOiBcImFiYW5vLm1hcHNcIiAqLyAnLi9MYXp5Q29tcG9uZW50cy9hYmFuby5tYXBzJykudGhlbihtb2R1bGUgPT4ge1xyXG4gICAgICAgICAgICAgICAgICAgIG1vZHVsZS5kZWZhdWx0KCk7XHJcbiAgICAgICAgICAgICAgICB9KTtcclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICB9XHJcbiAgICB9O1xyXG59KCkpO1xyXG5hYmFuby5tYXBzLmluaXQoKTtcclxuXHJcblxyXG5hYmFuby5wcmFjdGljZUZpbmRlclYyID0gKGZ1bmN0aW9uICgpIHtcclxuICAgIHJldHVybiB7XHJcbiAgICAgICAgaW5pdDogZnVuY3Rpb24gKCkge1xyXG4gICAgICAgICAgICBpZiAobG9hZFJ1bGVzLmRvY3VtZW50Q29udGFpbnMoJ3djLXByYWN0aWNlLWZpbmRlcicpKSB7XHJcbiAgICAgICAgICAgICAgICBpbXBvcnQoLyogd2VicGFja0NodW5rTmFtZTogXCJhYmFuby5wcmFjdGljZUZpbmRlclYyXCIgKi8gJy4vTGF6eUNvbXBvbmVudHMvYWJhbm8ucHJhY3RpY2VGaW5kZXJWMicpLnRoZW4obW9kdWxlID0+IHtcclxuICAgICAgICAgICAgICAgICAgICBtb2R1bGUuZGVmYXVsdCgpO1xyXG4gICAgICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgICAgI
587H1cclxuICAgICAgICB9XHJcbiAgICB9O1xyXG59KCkpO1xyXG5hYmFuby5wcmFjdGljZUZpbmRlclYyLmluaXQoKTtcclxuXHJcblxyXG5hYmFuby5pbnRyb1JlYWRNb3JlQnV0dG9uID0gKGZ1bmN0aW9uICgpIHtcclxuICAgIHJldHVybiB7XHJcbiAgICAgICAgaW5pdDogZnVuY3Rpb24gKCkge1xyXG4gICAgICAgICAgICBpZiAobG9hZFJ1bGVzLmRvY3VtZW50Q29udGFpbnMoJy5keW5hbWljLWludHJvdGV4dCBhcnRpY2xlJykpIHtcclxuXHJcbiAgICAgICAgICAgICAgICBpbXBvcnQoLyogd2VicGFja0NodW5rTmFtZTogXCJhYmFuby5pbnRyb1JlYWRNb3JlQnV0dG9uXCIgKi8gJy4vTGF6eUNvbXBvbmVudHMvYWJhbm8uaW50cm9SZWFkTW9yZUJ1dHRvbicpLnRoZW4obW9kdWxlID0+IHtcclxuICAgICAgICAgICAgICAgICAgICBtb2R1bGUuZGVmYXVsdCgpO1xyXG4gICAgICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9O1xyXG59KCkpO1xyXG5hYmFuby5pbnRyb1JlYWRNb3JlQnV0dG9uLmluaXQoKTtcclxuXHJcblxyXG5hYmFuby5hbmltYXRpb25zID0gKGZ1bmN0aW9uICgpIHtcclxuXHJcbiAgICByZXR1cm4ge1xyXG4gICAgICAgIGluaXQ6IGZ1bmN0aW9uICgpIHtcclxuICAgICAgICAgICAgaWYgKGxvYWRSdWxlcy5kb2N1bWVudENvbnRhaW5zKCcuYW5pbWF0ZScpKSB7XHJcblxyXG4gICAgICAgICAgICAgICAgaW1wb3J0KC8qIHdlYnBhY2tDaHVua05hbWU6IFwiYWJhbm8uYW5pbWF0aW9uc1wiICovICcuL0xhenlDb21wb25lbnRzL2FiYW5vLmFuaW1hdGlvbnMnKS50aGVuKG1vZHVsZSA9PiB7XHJcbiAgICAgICAgICAgICAgICAgICAgbW9kdWxlLmRlZmF1bHQoKTtcclxuICAgICAgICAgICAgICAgIH0pO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59KCkpO1xyXG5hYmFuby5hbmltYXRpb25zLmluaXQoKTtcclxuXHJcbmFiYW5vLmhlYWx0aEZ1bmQgPSAoZnVuY3Rpb24gKCkge1xyXG5cclxuICAgIHJldHVybiB7XHJcbiAgICAgICAgaW5pdDogZnVuY3Rpb24gKCkge1xyXG4gICAgICAgICAgICBpZiAobG9hZFJ1bGVzLmRvY3VtZW50Q29udGFpbnMoJy5jLWhlYWx0aC1mdW5kLW1pbmlmaW5kZXIsIFtkYXRhLWNvbXBvbmVudD1cImhlYWx0aC1mdW5kLWNvbnRyb2xzXCJdJykpIHtcclxuXHJcbiAgICAgICAgICAgICAgICBpbXBvcnQoLyogd2VicGFja0NodW5rTmFtZTogXCJhYmFuby5oZWFsdGhGdW5kXCIgKi8gJy4vTGF6eUNvbXBvbmVudHMvYWJhbm8uaGVhbHRoRnVuZCcpLnRoZW4obW9kdWxlID0+IHtcclxuICAgICAgICAgICAgICAgICAgICBtb2R1bGUuZGVmYXVsdCgpO1xyXG4gICAgICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9O1xyXG59KCkpO1xyXG5hYmFuby5oZWFsdGhGdW5kLmluaXQoKTtcclxuXHJcbmFiYW5vLmNhcmVlcnMgPSAoZnVuY3Rpb24gKCkge1xyXG4gICAgcmV0dXJuIHtcclxuICAgICAgICBpbml0OiBmdW5jdGlvbiAoKSB7XHJcbiAgICAgICAgICAgIGlmIChsb2FkUnVsZXMuZG9jdW1lbnRDb250YWlucygnW2RhdGEtY29tcG9uZW50PVwiYy1jYXJlZXJzXCJdJykpIHtcclxuXHJcbiAgICAgICAgICAgICAgICBpbXBvcnQoLyogd2VicGFja0NodW5rTmFtZTogXCJhYmFuby5jYXJlZXJzXCIgKi8gJy4vTGF6eUNvbXBvbmVudHMvYWJhbm8uY2FyZWVycycpLnRoZW4obW9kdWxlID0+IHtcclxuICAgICAgICAgICAgICAgICAgICBtb2R1bGUuZGVmYXVsdCgpO1xyXG4gICAgICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9O1xyXG59KCkpO1xyXG5hYmFuby5jYXJlZXJzLmluaXQoKTtcclxuXHJcbmFiYW5vLmVtZXJnZW5jeURlbnRpc3RzID0gKGZ1bmN0aW9uICgpIHtcclxuICAgIHJldHVybiB7XHJcblxyXG4gICAgICAgIGluaXQ6IGZ1bmN0aW9uICgpIHtcclxuICAgICAgICAgICAgaWYgKGxvYWRSdWxlcy5kb2N1bWVudENvbnRhaW5zKCdbZGF0YS1jb21wb25lbnQ9XCJjLWVtZXJnZW5jeS1kZW50aXN0c1wiXScpKSB7XHJcblxyXG4gICAgICAgICAgICAgICAgaW1wb3J0KC8qIHdlYnBhY2tDaHVua05hbWU6IFwiYWJhbm8uZW1lcmdlbmN5RGVudGlzdHNcIiAqLyAnLi9MYXp5Q29tcG9uZW50cy9hYmFuby5lbWVyZ2VuY3lEZW50aXN0cycpLnRoZW4obW9kdWxlID0+IHtcclxuICAgICAgICAgICAgICAgICAgICBtb2R1bGUuZGVmYXVsdCgpO1xyXG4gICAgICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9O1xyXG59KCkpO1xyXG5hYmFuby5lbWVyZ2VuY3lEZW50aXN0cy5pbml0KCk7XHJcblxyXG5cclxuYWJhbm8ubG9jYXRpb25PZmZlcnMgPSAoZnVuY3Rpb24gKCkge1xyXG4gICAgcmV0dXJuIHtcclxuICAgICAgICBpbml0OiBmdW5jdGlvbiAoKSB7XHJcbiAgICAgICAgICAgIGlmIChsb2FkUnVsZXMuZG9jdW1lbnRDb250YWlucygnW2RhdGEtY29tcG9uZW50PVwiYy1sb2NhdGlvbi1vZmZlcnNcIl0nKSkge1xyXG5cclxuICAgICAgICAgICAgICAgIGltcG9ydCgvKiB3ZWJwYWNrQ2h1bmtOYW1lOiBcImFiYW5vLmxvY2F0aW9uT2ZmZXJzXCIgKi8gJy4vTGF6eUNvbXBvbmVudHMvYWJhbm8ubG9jYXRpb25PZmZlcnMnKS50aGVuKG1vZHVsZSA9PiB7XHJcbiAgICAgICAgICAgICAgICAgICAgbW9kdWxlLmRlZmF1bHQoKTtcclxuICAgICAgICAgICAgICAgIH0pO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59KCkpO1xyXG5hYmFuby5sb2NhdGlvbk9mZmVycy5pbml0KCk7XHJcblxyXG5hYmFuby53ZWxsbmVzc0Jsb2NrID0gKGZ1bmN0aW9uICgpIHtcclxuICAgIHJldHVybiB7XHJcbiAgICAgICAgaW5pdDogZnVuY3Rpb24gKCkge1xyXG4gICAgICAgICAgICBpZiAobG9hZFJ1bGVzLmRvY3VtZW50Q29udGFpbnMoJ1tkYXRhLWNvbXBvbmVudD1cImMtd2VsbG5lc3MtYmxvY2tcIl0nKSkge1xyXG4gICAgICAgICAgICAgICAgaW1wb3J0KC8qIHdlYnBhY2tDaHVua05hbWU6IFwiYWJhbm8ud2VsbG5lc3NCbG9ja1wiICovICcuL0xhenlDb21wb25lbnRzL2FiYW5vLndlbGxuZXNzQmxvY2snKS50aGVuKG1vZHVsZSA9PiB7XHJcbiAgICAgICAgICAgICAgICAgICAgbW9kdWxlLmRlZmF1bHQoKTtcclxuICAgICAgICAgICAgICAgI
587H0pO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfTtcclxufSgpKTtcclxuYWJhbm8ud2VsbG5lc3NCbG9jay5pbml0KCk7XHJcblxyXG5cclxuYWJhbm8uYWNjb3JkaW9uQmxvY2sgPSAoZnVuY3Rpb24gKCkge1xyXG4gICAgcmV0dXJuIHtcclxuICAgICAgICBpbml0OiBmdW5jdGlvbiAoKSB7XHJcbiAgICAgICAgICAgIGlmIChsb2FkUnVsZXMuZG9jdW1lbnRDb250YWlucygnW2RhdGEtY29tcG9uZW50PVwiYy1hY2NvcmRpb24tYmxvY2tcIl0nKSkge1xyXG4gICAgICAgICAgICAgICAgaW1wb3J0KC8qIHdlYnBhY2tDaHVua05hbWU6IFwiYWJhbm8uYWNjb3JkaW9uQmxvY2tcIiAqLyAnLi9MYXp5Q29tcG9uZW50cy9hYmFuby5hY2NvcmRpb25CbG9jaycpLnRoZW4obW9kdWxlID0+IHtcclxuICAgICAgICAgICAgICAgICAgICBtb2R1bGUuZGVmYXVsdCgpO1xyXG4gICAgICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9O1xyXG59KCkpO1xyXG5hYmFuby5hY2NvcmRpb25CbG9jay5pbml0KCk7XHJcblxyXG4vLyBPblRoaXNQYWdlIC0gZGlzYWJsZWQgYnV0IGtlcHQgZm9yIHBvdGVudGlhbCBmdXR1cmUgdXNlXHJcbi8vIGFiYW5vLm9uVGhpc1BhZ2UgPSAoZnVuY3Rpb24gKCkge1xyXG4vLyAgICAgcmV0dXJuIHtcclxuLy8gICAgICAgICBpbml0OiBmdW5jdGlvbiAoKSB7XHJcbi8vICAgICAgICAgICAgIGlmIChsb2FkUnVsZXMuZG9jdW1lbnRDb250YWlucygnLmpzLW9uLXRoaXMtcGFnZScpKSB7XHJcbi8vICAgICAgICAgICAgICAgICBpbXBvcnQoLyogd2VicGFja0NodW5rTmFtZTogXCJhYmFuby5vblRoaXNQYWdlXCIgKi8gJy4vY29tcG9uZW50cy9PblRoaXNQYWdlJykudGhlbihtb2R1bGUgPT4ge1xyXG4vLyAgICAgICAgICAgICAgICAgICAgIG1vZHVsZS5kZWZhdWx0KCk7XHJcbi8vICAgICAgICAgICAgICAgICB9KTtcclxuLy8gICAgICAgICAgICAgfVxyXG4vLyAgICAgICAgIH1cclxuLy8gICAgIH07XHJcbi8vIH0oKSk7XHJcbi8vIGFiYW5vLm9uVGhpc1BhZ2UuaW5pdCgpOyIsIm1vZHVsZS5leHBvcnRzID0galF1ZXJ5OyJdLCJuYW1lcyI6WyJkZWJvdW5jZSIsImZ1bmMiLCJ3YWl0Iiwib3B0aW9ucyIsInRpbWVvdXQiLCJsZWFkaW5nIiwidHJhaWxpbmciLCJ1bmRlZmluZWQiLCJjb250ZXh0IiwiYXJncyIsImFyZ3VtZW50cyIsImxhdGVyIiwiYXBwbHkiLCJjYWxsTm93IiwiY2xlYXJUaW1lb3V0Iiwic2V0VGltZW91dCIsIiQiLCJ3aW5kb3ciLCJhYmFubyIsInZoIiwiaW5uZXJIZWlnaHQiLCJkb2N1bWVudCIsImRvY3VtZW50RWxlbWVudCIsInN0eWxlIiwic2V0UHJvcGVydHkiLCJtZW51VmhGaXhfX0RFQk9VTkNFRF9XSU5ET1dfUkVTSVpFIiwib24iLCJsb2FkUnVsZXMiLCJkb2N1bWVudENvbnRhaW5zIiwic2VsZWN0b3IiLCJxdWVyeVNlbGVjdG9yIiwibmF2aWdhdGlvbiIsImluaXQiLCJ0aGVuIiwibW9kdWxlIiwiZGVmYXVsdCIsIm1pbmlTZWFyY2giLCJib29rTm93IiwiY29uZmlnIiwicHJhY3RpY2VEaXJlY3RvcnkiLCJwcmVmZXJyZWRQcmFjdGljZSIsIm1haW5TZWFyY2giLCJjYXJlZXJzU2VhcmNoIiwiY2FyZWVyc0pvYkxpc3QiLCJ0b2dnbGVDb2xsYXBzZSIsImNvbGxhcHNlIiwic2Nyb2xsQmFubmVyQWxlcnQiLCJyaWJib24iLCJwcmFjdGljZVJpYmJvbiIsInVtYnJhY29Gb3JtcyIsImZvcm1zIiwibGVuZ3RoIiwicGFyYWxsYXgiLCJwcmFjdGljZU1pbmlGaW5kZXIiLCJtZWdhbmF2IiwidGVzdGltb25pYWxzIiwidGV4dENsYW1wIiwiZSIsInJlc3VsdHNpbWFnZXMiLCJnYWxsZXJ5U2xpZGVyIiwic2Nyb2xsQmFubmVyIiwiaW1hZ2VTbGlkZXIiLCJwcm9tb1NsaWRlciIsImFydGljbGVTbGlkZXIiLCJib29rTm93QnV0dG9uIiwic2Nyb2xsSnVtcCIsIm1lbnUiLCJtYXBzIiwicHJhY3RpY2VGaW5kZXJWMiIsImludHJvUmVhZE1vcmVCdXR0b24iLCJhbmltYXRpb25zIiwiaGVhbHRoRnVuZCIsImNhcmVlcnMiLCJlbWVyZ2VuY3lEZW50aXN0cyIsImxvY2F0aW9uT2ZmZXJzIiwid2VsbG5lc3NCbG9jayIsImFjY29yZGlvbkJsb2NrIl0sInNvdXJjZVJvb3QiOiIifQ==
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.