1/*! gruntyplate - v0.1.0 - 2026-09-24 2* Copyright (c) 2026 Gruntyplate;*/ 3var cosCommonHeader={hasInit:!1,initDropDowns:function(){var e=document.querySelectorAll(".cos-common-header__nav li.has-submenu"),a="has-submenu",t=(Array.prototype.forEach.call(e,function(e){e.querySelector("button").addEventListener("click",function(e){return t(this),this.parentNode.className==a?(this.parentNode.className=a+" is-active",this.setAttribute("aria-expanded","true")):(this.parentNode.className=a,this.setAttribute("aria-expanded","false")),e.preventDefault(),!1})}),function(t){var n=function(e){!t.parentNode.contains(e.target)&&(e=t)&&(e.offsetWidth||e.offsetHeight||e.getClientRects().length)&&(t.parentNode.className=a,document.removeEventListener("click",n))};document.addEventListener("click",n)})},initDrawers:function(){var t=document.querySelector(".cos-common-header .cos-common-header__branding"),e=document.querySelectorAll(".cos-common-header .js-nav-drawer"),n=document.querySelectorAll(".cos-common-header__nav-drawer"),a=document.querySelector(".body-overlay"),i="is-active",r="nav-drawer-open",o=(Array.prototype.forEach.call(e,function(a){a.addEventListener("click",function(e){var t=this.getAttribute("aria-controls"),t=document.querySelector("#"+t),n=a;return s&&l(),n.classList.contains(i)?o():(o(),e.preventDefault(),n.classList.add(i),n.setAttribute("aria-expanded","true"),t.classList.add(i),t.getElementsByTagName("a")[0].focus(),document.body.classList.add(r)),e.preventDefault(),!1}),a.addEventListener("keydown",function(e){if(32===e.keyCode||13===e.keyCode)return e.preventDefault(),!1}),a.addEventListener("keyup",function(e){var t,n;if(32===e.keyCode||13===e.keyCode)return t=this.getAttribute("aria-controls"),t=document.querySelector("#"+t),n=a,s&&l(),n.classList.contains(i)?o():(o(),n.classList.add(i),n.setAttribute("aria-expanded","true"),t.classList.add(i),document.body.classList.add(r),t.getElementsByTagName("a")[0].focus()),e.preventDefault(),!1})}),a.addEventListener("click",function(e){o()}),n.forEach(function(t){t.addEventListener("focusout",function(e){t.contains(e.relatedTarget)||o()})}),function(){Array.prototype.forEach.call(n,function(e){e.classList.remove(i)}),document.body.classList.remove(r),Array.prototype.forEach.call(e,function(e){e.classList.contains(i)&&(e.classList.remove(i),e.focus()),e.setAttribute("aria-expanded","false")})}),s=(document.querySelector(".cos-common-header__search-section"),document.querySelector(".cos-common-header .js-toggle-search")),c="search-open",l=(s&&s.addEventListener("click",function(e){o(),s.classList.contains(i)?l():(document.body.classList.add(c),s.classList.add(i),s.setAttribute("aria-expanded","true"))}),function(){document.body.classList.remove(c),s.classList.remove(i),s.setAttribute("aria-expanded","false")});document.addEventListener("keyup",function(e){e.isComposing||229===e.keyCode||27===e.keyCode&&(s&&l(),o(),t.focus())})},init:function(){0==cosCommonHeader.hasInit&&(this.initDropDowns(),this.initDrawers(),cosCommonHeader.hasInit=!0)}},app={};function _slicedToArray(e,t){return _arrayWithHoles(e)||_iterableToArrayLimit(e,t)||_unsupportedIterableToArray(e,t)||_nonIterableRest()}function _nonIterableRest(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}function _unsupportedIterableToArray(e,t){var n;if(e)return"string"==typeof e?_arrayLikeToArray(e,t):"Map"===(n="Object"===(n={}.toString.call(e).slice(8,-1))&&e.constructor?e.constructor.name:n)||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?_arrayLikeToArray(e,t):void 0}function _arrayLikeToArray(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,a=Array(t);n<t;n++)a[n]=e[n];return a}function _iterableToArrayLimit(e,t){var n=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=n){var a,i,r,o,s=[],c=!0,l=!1;try{if(r=(n=n.call(e)).next,0===t){if(Object(n)!==n)return;c=!1}else for(;!(c=(a=r.call(n)).done)&&(s.push(a.value),s.length!==t);c=!0);}catch(e){l=!0,i=e}
3finally{try{if(!c&&null!=n.return&&(o=n.return(),Object(o)!==o))return}finally{if(l)throw i}}return s}}function _arrayWithHoles(e){if(Array.isArray(e))return e}!function(i){Drupal.behaviors.cosCommonHeader={attach:function(e,t){var n,a;cosCommonHeader.init(),i(".filters-sort-by").change(function(){var e=i(this).val(),t=i(this).closest(".view-music-directory"),n=t.find(".form-item-sort-by").find("select"),t=t.find(".js-form-submit");n.val(e),t.click()}),i(".view-music-directory").length&&(a=(n=i(".view-music-directory")).find(".form-item-sort-by").find("select").val(),n.find(".filters-sort-by").val(a)),i(".field--type-smartdate").length&&i.each(jQuery(".field--type-smartdate span.button__add-to-calendar"),function(){var e=i(this).prevAll(".smart-date--date").text();i(this).attr("aria-label",e+", add to calendar")})}}}(jQuery),function(e,n,a){"use strict";e.behaviors.surreyMenu={attach:function(e){var t=_slicedToArray(n("surreyMenu","#my-surrey-nav-drawer",e),1)[0];t&&(_slicedToArray(n("surreyMenu","#my-surrey-button",e),1)[0]?(t=t.querySelector("#my-surrey-navigation ul"))&&new a({menuElement:t,menuItemSelector:"li:not([role='separator'])",openClass:"is-active",closeClass:""}):n.remove("surreyMenu","#my-surrey-nav-drawer",e))}}}(Drupal,once,DisclosureMenu),function(e,t){"use strict";e.behaviors.surreyAccordions={attach:function(e){t("surreyAccordions",".accordion-group",e).forEach(function(e){var r=e.querySelectorAll("details"),n=[],o=e.querySelector('button[data-accordion-action="expand"]'),s=e.querySelector('button[data-accordion-action="collapse"]');r.forEach(function(e){var t;""===e.id&&(t=Math.random().toString(36).replace(/[^a-z]+/g,"").substr(0,10),e.setAttribute("id","accordion-"+t)),n.push(e.id),e.addEventListener("toggle",function(){var e,t,n,a,i;e=r,n=s,(t=o)&&n&&(a=[],e.forEach(function(e){!0===e.open?a.push(!0):a.push(!1)}),e=!a.includes(!1),i=!a.includes(!0),e?(t.classList.add("is-active"),n.classList.remove("is-active")):i&&(n.classList.add("is-active"),t.classList.remove("is-active")))})}),o&&s&&(o.setAttribute("aria-controls",n.join(" ")),s.setAttribute("aria-controls",n.join(" ")),o.addEventListener("click",function(){r.forEach(function(e){e.open=!0}),o.classList.add("is-active"),s.classList.remove("is-active")}),s.addEventListener("click",function(){r.forEach(function(e){e.open=!1}),s.classList.add("is-active"),o.classList.remove("is-active")}))})}}}(Drupal,once),app.breakpoints={xxlarge:1600,xlarge:1400,large:1200,medium:1024,small:768,xsmall:600,xxsmall:425},app.button=function(n){"use strict";Drupal.behaviors.button={attach:function(e,t){n(e).find("a.button").keypress(function(e){e=e.which;13!==e&&32!==e||n(this).click()})}}}(jQuery),app.carousel=function(i,e){"use strict";function r(){i(".swiper-slide .js-figure-caption-toggle").attr("tabindex","-1"),i(".swiper-slide-active").find(".js-figure-caption-toggle").attr("tabindex","0")}e.behaviors.carousel={attach:function(e,t){i(e).find(".js-carousel").each(function(e){var t,n,a;1<i(".carousel__items",this).children(".swiper-slide").length&&(n=i(this).data("carousel-type"),e=e,a={slidesPerView:"card-links"===(n=n)?3:1,spaceBetween:"card-links"===n?30:0,breakpoints:{768:{slidesPerView:"card-links"===n?2:1},480:{slidesPerView:1}},navigation:{nextEl:i(".carousel-controls__button--next",t=this),prevEl:i(".carousel-controls__button--prev",t),disabledClass:"is-disabled"},pagination:{el:i(".carousel-controls__pagination",t),type:"bullets",clickable:!0},a11y:{enabled:!0},effect:"card-links"===n?"slide":"fade",simulateTouch:!1,on:{init:function(){r()},slideChangeTransitionEnd:function(){r()}}},"card-links"!==n&&(a.fadeEffect={crossFade:!0}),e,new Swiper(t,a))})}}}(jQuery,Drupal),app.contentNav=function(e){"use strict";function t(){(window.matchMedia("(max-width: 888px)").matches?r:o)()}var n=void 0,a=void 0,i=void 0,r=function(){n.addClass("is-hidden")},o=function(){n.removeClass("is-hidden")};a=e(".js-content-nav"),i=e(".js-content-nav-toggle"),n=i.next(".menu"),i.on("click",function(){a.toggleClass("is-active"),i.attr("aria-expanded",function(e,t){return("false"===t?o:r)(),"true"===t?"false":"true"})}),t()}(jQuery),app.coverImage=function(n){"use strict";Drupal.behaviors.coverImage={attach:function(e,t){"objectFit"in document.documentElement.style==!1&&n(e).find(".js-cover-image").each(function(e,t){t=n(t).find("img");t.css({"background-image":'url("'+t.attr("src")+'")',"background-position":"50% 50%","background-size":"cover","background-repeat":"no-repeat"}).attr("src","data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='"+t.width()+"' height='"+t.height()+"'%3E%3C/svg%3E").removeAttr("srcset")})}}}(jQuery),app.expandContent=function(n){"use strict";var e=".expand-content";n(document).on("ready",void n(document).on("click",e,function(){console.log("i AM HERE");var e=n(this),t=e.closest(".music-directory__item-body").find(".content");t.toggleClass("active"),t.slideToggle(500,function(){t.is(":visible")&&t.css("display","flex"),e.text(function(){return t.is(":visible")?"Close":"Read more & contact"})}),n(this).closest(".music-directory__item-body").find(" .header-items .expand-content").toggleClass("span_arrow"),n(this).closest(".music-directory__item-body").toggleClass("active")}))}(jQuery,Drupal),app.externalLink=function(n){"use strict";Drupal.behaviors.externalLink={attach:function(e,t){n("a",e).each(function(e,t){!function(e){var t,n;if(e)return 0!==e.indexOf("mailto")&&0!==e.indexOf("tel")&&(t=window.location.hostname.toLowerCase(),n=new RegExp("^(?:(?:f|ht)tp(?:s)?:)?//(?:[^@]+@)?([^:/]+)","im"),(n=((n=e.match(n))?n[
31].toString():e.indexOf(":")<0?t:"").toLowerCase())!==t)&&-1==n.indexOf("surrey.ca")}(t.href)||n(t).addClass("external-link")})}}}(jQuery),app.figureCaption=function(e){"use strict";var t=".figure-caption",n=".js-figure-caption-toggle";e(document).on("ready",void e(document).on("click",n,function(){e(this).closest(t).find("figcaption").toggleClass("is-active")}))}(jQuery),app.navDrawer=function(t){"use strict";var e=t(".js-main-menu");e.addClass("is-initialized").find("ul.menu > li.menu-item--expanded ").each(function(){var e=t(this).find(" > a ");e.after('<button class="js-main-menu-child-toggle child-toggle" aria-haspopup="true" aria-expanded="false">Show Submenu for '+e.text()+"</button>")}),e.on("click",".js-main-menu-child-toggle",function(e){t(this).closest("li.menu-item").toggleClass("is-active")})}(jQuery),app.navToggle=function(e){"use strict";function t(){window.matchMedia("(max-width: 888px)").matches?4<o?(c(),i.removeClass("is-hidden")):i.addClass("is-hidden"):(s(),i.addClass("is-hidden"))}function n(){r.toggleClass("is-hidden")}var a,i=void 0,r=void 0,o=void 0,s=function(){r.removeClass("is-hidden")},c=function(){r.addClass("is-hidden")};a=e(".content-nav--block.content-nav > .menu > li"),i=e(".js-nav-toggle"),r=i.next(".menu"),o=a.length,e(document).on("click",".js-nav-toggle",n),2<o&&e(".content-nav--block").addClass("grid-columns-3"),t(),e(window).on("resize",t)}(jQuery,app.breakpoints),app.panelGroup=function(a,e,i){"use strict";e.behaviors.panelGroup={attach:function(e,t){a(e).find(".js-panelgroup").each(function(e){var t,n;n=a(t=this),t=i.xsmall,n.panelGroup({flexTabNav:!1,firstAccordionOpen:!1,onlyKeepOneOpen:!1}),enquire.register("screen and (max-width: "+t+"px)",{match:function(){n.panelGroup("tabsToAccordions")},unmatch:function(){n.panelGroup("tabsBackToTabs")}})})}},a(document).on("ready",void a(".panelgroup__toggle").click(function(e){e.preventDefault();var e=a(this).parents(".panelgroup"),t=e.find(".panelgroup__item"),e=e.find(".panelgroup__item-content");a(this).hasClass("is-expanded")?(e.slideUp().attr("aria-hidden","false"),t.removeClass("active").attr("aria-expaned","false"),a("span",this).html("Expand")):(e.slideDown().attr("aria-hidden","true"),t.addClass("active").attr("aria-expaned","true"),a("span",this).html("Collapse")),a(this).toggleClass("is-expanded")}))}(jQuery,Drupal,app.breakpoints),app.responsiveiFrame=function(n){"use strict";Drupal.behaviors.responsiveiFrame={attach:function(e,t){n("#main-content iframe",e).not(n(".video-embed-field-responsive-video iframe, .embed-container iframe",e)).wrap('<div class="embed-container"></div>')}}}(jQuery),app.responsiveTables=function(n,e){"use strict";e.behaviors.responsiveTables={attach:function(e,t){n(e).find(".js-toggle-table").each(function(e){n(this).responsiveTable({idprefix:"co-",persist:"persist"})})}}}(jQuery,Drupal),app.searchToggle=function(e){"use strict";e(document).on("click",".js-toggle-search",function(){if("/search"===window.location.pathname)return e(".search-form__input").focus(),!1;e(".search-form__input").focus()})}(jQuery),app.siteMap=function(e){"use strict";e(document).on("click",".js-toggle-sitemap",function(){return e("body").toggleClass("sitemap-is-active"),e("html, body").animate({scrollTop:e(document).height()},"slow"),!1})}(jQuery);
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.