1(()=>{if(void 0===window.dataLayer)return;const e=window.dataLayer?.push||function(){};function t(){function t(e){return window.dataLayer.find(t=>!!t&&("object"==typeof t&&t?.event===e||("object"==typeof t&&t?.event_name===e||"string"==typeof t&&t===e)))}window.isZoneLoaded=!1,window.dataLayer=window.dataLayer||[];const n=["zone_loaded","globalGTMReady"],a=()=>n.reduce((e,n)=>e||t(n),!1);if(["review_main"].reduce((e,n)=>e||t(n),!1)){let e=[];n.forEach(t=>{const n=((e,t)=>{const n=[];for(idx in window.dataLayer){const a=window.dataLayer[idx];a[e]===t&&n.push(a)}return n})("event",t)||[];e=[...e,...n]}),e[0]&&window.addEventListener("zoneload",()=>{window.dataLayer.forEach(t=>{e[0]["gtm.uniqueEventId"]>t["gtm.uniqueEventId"]&&"review_main"===t.event&&(delete t["gtm.uniqueEventId"],window.dataLayer.push(t))})})}a()&&(window.isZoneLoaded=!0,window.dispatchEvent(new CustomEvent("zoneload",{detail:{isZoneLoaded:!0}}))),window.dataLayer.push=function(){Array.from(arguments).forEach(t=>{const o=t&&"object"==typeof t?t.event||t.event_name:t;if(!window.isZoneLoaded&&(a()||n.includes(o)))return window.isZoneLoaded=!0,e.apply(window.dataLayer,[t]),void window.dispatchEvent(new CustomEvent("zoneload",{detail:{isZoneLoaded:!0}}));const d=function(t){const n=t&&"object"==typeof t,a=n?t.event:void 0;if(!n||!a)return t;if("custom_event"===a&&!window.isZoneLoaded){const n=function(){e.apply(window.dataLayer,[t]),window.removeEventListener("zoneload",n)};return void window.addEventListener("zoneload",n)}if("buynow_onsite_button_click"===a){const e=drupalSettings?.nppe_ttt_datalayer?.baseline?.page_information;t.website_section=e?.website_section||"undefined"}return"ID0"===t.user_id&&(t.user_id=""),t}(t);e.apply(window.dataLayer,[d])})}}"interactive"===document.readyState||"complete"===document.readyState?t():document.addEventListener("DOMContentLoaded",t);const n=(e,t,n,a,o=null,d=!1)=>{const r=`${e}::${t}::${n}::${a}`;document.__datalayerDelegatedBindings||(document.__datalayerDelegatedBindings=new Set),document.__datalayerDelegatedBindings.has(r)||(document.__datalayerDelegatedBindings.add(r),document.__datalayerDelegatedRegistry||(document.__datalayerDelegatedRegistry={}),document.__datalayerDelegatedRegistry[a]||(document.__datalayerDelegatedRegistry[a]=[]),document.__datalayerDelegatedRegistry[a].push({selector:e,dl_event:t,eventName:n,waitSelector:o}),document.__datalayerDelegatedGlobalListeners||(document.__datalayerDelegatedGlobalListeners=new Set),document.__datalayerDelegatedGlobalListeners.has(a)||(document.__datalayerDelegatedGlobalListeners.add(a),document.addEventListener(a,e=>{const t=e.target;if(!(t instanceof Element))return;(document.__datalayerDelegatedRegistry?.[a]||[]).forEach(e=>{const n=t.closest(e.selector);if(!n)return;const a=()=>{document.dispatchEvent(new CustomEvent(e.eventName,{detail:{el:n,dl_event:e.dl_event}}))};if(e.waitSelector){if(document.querySelector(e.waitSelector))a();else{new MutationObserver((t,n)=>{document.querySelector(e.waitSelector)&&(n.disconnect(),a())}).observe(document.body,{childList:!0,subtree:!0})}return}a()})})))},a=(e,t)=>{document.dispatchEvent(new CustomEvent("ajaxFormEvents",{detail:{ajax:e,response:t}}))},o=(e,t,n="importsReady")=>{document.addEventListener(n,n=>{const a={detail:{form:e,originalEvent:n}};document.dispatchEvent(new CustomEvent(t,a))})},d=(e,t,n="importsReady")=>{document.addEventListener(n,n=>{const a={detail:{webformData:e,originalEvent:n}};document.dispatchEvent(new CustomEvent(t,a))})},r=e=>{document.querySelectorAll(e._context_).forEach(t=>{t.querySelectorAll(e._trigger_).forEach(t=>{t.hasAttribute("data-datalayer-bound")||(t.setAttribute("data-datalayer-bound","true"),t.addEventListener(e._eventTrigger_,t=>{const n=e.data;document.dispatchEvent(new CustomEvent("clickEvents",{detail:{el:t.target,eventData:n}}))}))})})},i=()=>{const e=window.drupalSettings?.nppe_ttt_datalayer?.init||[],t=window.drupalSettings?.nppe_ttt_datalayer?.events||[],n=[...Array.isArray(e)?e:Object.values(e),...Array.isArray(t)?t:Object.values(t)];n&&n.forEach(e=>{e.data&&e.data.event_name&&r(e)})};window.rebindContribTriggers=i;const s={contactus_submit:e=>o(e,"submitFormEvents","submit"),general_feedback:e=>o(e,"generalFeedbackFormEvents"),contactus_enquiry:e=>o(e,"contactUsEnquiryFormEvents"),better_together:e=>o(e,"betterTogetherFormEvents"),contactus_forms_ajax:e=>o(e,"contactUsFormsAjaxEvents"),sticky_banners:e=>o(e,"stickyBannersEvents"),breed_selector_with_email:e=>o(e,"breedSelectorWithEmailFormEvents")},c={contactus:e=>d(e,"contactUsForms"),contactus_engage:e=>d(e,"contactUsEngageForms")},u=drupalSettings?.nppe_ttt_datalayer?.variables?.webforms||void 0,l=Object.values(window?.drupalSettings?.nppe_ttt_datalayer?.triggers||{}),m=e=>{if(e.trigger_type&&e.event_name)switch(e.trigger_type){case"click":n(e.selector,e.event_name,"clickEvents","click",e?.wait_for_selector);break;case"keyUp":n(e.selector,e.event_name,"keyupEvents","keyup");break;case"mouseDown":n(e.selector,e.event_name,"mouseDownEvents","mousedown",e?.wait_for_selector,!0);break;case"form":const t=e.selector.replace("_","-"),a=document.querySelector(`form.${t},\n [id^="${t}"],\n [class^="${t}"]`);a&&s[e?.event_name]&&s[e?.event_name](a);break;case"webformId":const o=(e=>{if(void 0===u)return;const t=Object.entries(u).filter(t=>(t[1]?.form_id||void 0)===e);return t.length>0?{form_id:t[0][0],webform_id:t[0][1].form_id,form_name:t[0][1].form_name}:void 0})(e.selector);if(void 0===o)return;if(!Object.keys(c).includes(e.event_name))return;c[e.event_name](o)}};l&&l.forEach(m),Drupal.AjaxCommands.prototype.pushToDataLayer=a,Drupal.AjaxCommands.prototype.pushFormDataToDataLayer=a;const v=window.drupalSettings?.nppe_ttt_datalayer?.after_zone_loaded||{},_=new Set;new MutationObserver(()=>{Object.entries(v).forEach(([e,t])=>
1{if(_.has(e))return;if("newsletter_submit"===t?.event_name){const t=e.slice(11);if(!(n=t)||(n=n.toLowerCase(),!document.querySelector(`form[id*="${n}" i],form[class*="${n}" i],form[name*="${n}" i]`)))return}var n;_.add(e);const a=()=>{var n;n=t,document.dispatchEvent(new CustomEvent("pageLoadEvents",{detail:n})),delete window.drupalSettings.nppe_ttt_datalayer.after_zone_loaded[e]};window.__importsReady?a():document.addEventListener("importsReady",a,{once:!0})})}).observe(document.documentElement,{childList:!0,subtree:!0});const w=window.drupalSettings?.nppe_ttt_datalayer?.init||[],y=window.drupalSettings?.nppe_ttt_datalayer?.events||[],p=[...Array.isArray(w)?w:Object.values(w),...Array.isArray(y)?y:Object.values(y)];p&&p.forEach(e=>{e.data&&e.data.event_name&&r(e)});new MutationObserver(e=>{let t=!1;e.forEach(e=>{"childList"===e.type&&e.addedNodes.length>0&&e.addedNodes.forEach(e=>{if(e.nodeType===Node.ELEMENT_NODE){e.querySelector&&(e.querySelector("[data-product-id]")||e.querySelector("[data-history-node-id]")||e.hasAttribute("data-product-id")||e.hasAttribute("data-history-node-id"))&&(t=!0)}})}),t&&(clearTimeout(window.datalayerRebindTimeout),window.datalayerRebindTimeout=setTimeout(()=>{i()},100))}).observe(document.body,{childList:!0,subtree:!0}),document.querySelector("div.qualifio_iframe_wrapper")&&document.dispatchEvent(new CustomEvent("qualifioEvents")),window.addEventListener("load",()=>{const e=document.querySelectorAll(['iframe[src*="youtube.com/embed"]','iframe[data-video-provider="youtube"]',"video"].join(","));if(e){const t=()=>{e.forEach(e=>{document.dispatchEvent(new CustomEvent("videoEvents",{detail:{video:e}}))})};window.__importsReady?t():document.addEventListener("importsReady",t,{once:!0})}})})(),document.addEventListener("submit",function(e){const t=e.target;t&&"FORM"===t.tagName&&t.querySelector('input[name="search_api_fulltext"]')&&document.dispatchEvent(new CustomEvent("submitFormEvents",{detail:{form:t,originalEvent:e}}))},!0),document.addEventListener("click",function(e){const t=e.target;if(t&&t.matches('input[data-drupal-selector*="edit-submit-nppe-breed-selector-results"]')){const n=t.closest("form");n?.id?.includes("views-exposed-form-nppe-breed-selector-results")&&document.dispatchEvent(new CustomEvent("submitFormEvents",{detail:{form:n,originalEvent:e}}))}},!0),(()=>{const e=e=>e?.classList?.contains("views-exposed-form")&&e?.classList?.contains("bef-exposed-form"),t=(e,t)=>{document.dispatchEvent(new CustomEvent("clickEvents",{detail:{dl_event:"filters_applied",el:t||e}}))},n=new WeakMap;document.addEventListener("change",a=>{const o=a.target,d=o?.form;if(d&&e(d)&&o.matches('input[type="checkbox"], select')){n.has(d)&&clearTimeout(n.get(d));const e=setTimeout(()=>{t(d,o),n.delete(d)},300);n.set(d,e)}},!0),document.addEventListener("submit",n=>{const a=n.target;e(a)&&t(a,a)},!0);window.document})();
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.