1(function(){'use strict';function parseSlugs(el){try{return JSON.parse(el.getAttribute('data-slugs')||'{}')||{}}catch(e){return{}}} 2function mapRoot(from){return(from&&from.closest)?from.closest('.mci-pmap, .pmap-map'):document.querySelector('.mci-pmap, .pmap-map')} 3function setSelected(map,prov){if(!map)return;map.querySelectorAll('.prov').forEach(function(p){p.classList.toggle('selected',p.getAttribute('data-prov')===prov&&p.classList.contains('active'))})} 4function firstMatch(selectors){var i,el,list=(selectors||'').split(',').map(function(s){return s.trim()}).filter(Boolean);for(i=0;i<list.length;i++){try{el=document.querySelector(list[i])}catch(err){el=null} 5if(el)return el} 6return null} 7function scrollToTarget(map){var sel=map?map.getAttribute('data-scroll'):'';var grid=map?map.getAttribute('data-filter-grid'):'';var t=firstMatch(sel)||document.getElementById('mci-interactive-routes')||document.querySelector('.mci-gh--routes')||firstMatch(grid);if(t&&t.scrollIntoView){t.scrollIntoView({behavior:'smooth',block:'start'})}} 8function stripElementorFilterQuery(){if(!window.location.search||window.location.search.indexOf('e-filter')===-1)return;var params=new URLSearchParams(window.location.search);Array.from(params.keys()).forEach(function(key){if(key.indexOf('e-filter')===0)params.delete(key)});var qs=params.toString();history.replaceState(history.state,'',window.location.pathname+(qs?'?'+qs:'')+window.location.hash)} 9function updateLabel(hub,isSoon,name){var row=hub.querySelector('.mci-gh-grid-label');if(!row)return;var kicker=row.querySelector('.mci-gh-kicker');var text=row.querySelector('.mci-gh-grid-label-text');var count=row.querySelector('.mci-gh-count');var allKicker=row.getAttribute('data-all-kicker')||'All provinces';var allLabel=row.getAttribute('data-all-label')||'Every route';if(kicker)kicker.textContent=name?name:allKicker;if(text)text.textContent=name?(name+' route'):allLabel;if(count){var n=0;if(!isSoon){hub.querySelectorAll('.mci-gh-card').forEach(function(card){if(!card.classList.contains('is-hidden'))n++})} 10count.textContent=n===1?'1 guide':(n+' guides')}} 11function nameFromSlug(slug){var name='';document.querySelectorAll('.mci-gh-filter').forEach(function(b){if((b.getAttribute('data-filter')||'')===slug&&!b.classList.contains('is-soon')){name=b.getAttribute('data-name')||''}});return name} 12function retargetFeatured(hub){if(!hub||hub.getAttribute('data-featured')!=='yes')return;var first=!0;hub.querySelectorAll('.mci-gh-card').forEach(function(card){var vis=!card.classList.contains('is-hidden');card.classList.toggle('is-featured',vis&&first);if(vis&&first)first=!1})} 13function parseHash(){var raw=(window.location.hash||'').replace(/^#/,'');if(!raw)return{section:'',province:''};var parts=raw.split('/');return{section:parts[0]||'',province:parts[1]||''}} 14function setFilterHash(hub,slug){if(!hub||hub.classList.contains('is-archive'))return;var id=hub.id||'mci-interactive-routes';var hash='#'+id+(slug?'/'+slug:'');if(window.location.hash===hash)return;history.replaceState(history.state,'',window.location.pathname+window.location.search+hash)} 15function filterHub(slug,isSoon,name,opts){opts=opts||{};document.querySelectorAll('.mci-gh:not(.is-archive)').forEach(function(hub){hub.querySelectorAll('.mci-gh-filter').forEach(function(b){var match=(b.getAttribute('data-filter')||'')===slug;var soonBtn=b.classList.contains('is-soon');b.classList.toggle('is-active',isSoon?(soonBtn&&match):(!soonBtn&&match))});hub.querySelectorAll('.mci-gh-card').forEach(function(card){var list=(card.getAttribute('data-provinces')||'').split(/\s+/).filter(Boolean);var belongs=!slug||list.indexOf(slug)!==-1;var show=!1;if(!isSoon&&belongs){show=slug?!0:!card.classList.contains('is-overflow')} 16card.classList.toggle('is-hidden',!show)});retargetFeatured(hub);var emptySoon=hub.querySelector('.mci-gh-empty-soon');if(emptySoon)emptySoon.classList.toggle('is-hidden',!isSoon);var visible=hub.querySelectorAll('.mci-gh-card:not(.is-hidden)').length;var emptyFilter=hub.querySelector('.mci-gh-empty-filter');if(emptyFilter)emptyFilter.classList.toggle('is-hidden',isSoon||visible>0||!slug);var pager=hub.querySelector('.mci-gh-pager');if(pager)pager.classList.toggle('is-hidden',!!isSoon||!!slug);updateLabel(hub,isSoon,name||'')});if(!isSoon&&!opts.skipHash){setFilterHash(opts.hub||document.getElementById('mci-interactive-routes'),slug||'')} 17stripElementorFilterQuery()} 18function applyElementorSlug(raw){var slug=(raw||'').replace(/^\.guide_province[-_]/,'').replace(/^\./,'');if(slug==='*'||slug==='all')slug='';var mapsEl=document.querySelector('.mci-pmap, .pmap-map');if(mapsEl){var slugsE=parseSlugs(mapsEl);var codeE='';
18Object.keys(slugsE).forEach(function(k){if(slugsE[k]===slug)codeE=k});setSelected(mapsEl,codeE||'__none')} 19filterHub(slug,!1,nameFromSlug(slug))} 20function go(map,prov){var slugs=parseSlugs(map);var slug=slugs[prov]||'';if(!slug)return;setSelected(map,prov);filterHub(slug,!1,nameFromSlug(slug),{hub:document.getElementById('mci-interactive-routes')});scrollToTarget(map)} 21document.addEventListener('click',function(e){var eFilter=e.target.closest&&e.target.closest('.e-filter-item');if(!eFilter)return;e.preventDefault();e.stopPropagation();if(e.stopImmediatePropagation)e.stopImmediatePropagation();applyElementorSlug(eFilter.getAttribute('data-filter')||'')},!0);document.addEventListener('click',function(e){var poly=e.target.closest&&e.target.closest('.prov.active');if(poly&&mapRoot(poly)){go(mapRoot(poly),poly.getAttribute('data-prov')||'');return} 22var start=e.target.closest&&e.target.closest('.pmap-start, .mci-pmap-start');if(start){e.preventDefault();var maps=document.querySelector('.mci-pmap, .pmap-map');if(!maps)return;var slugs=parseSlugs(maps);var code=slugs.ON?'ON':Object.keys(slugs)[0];if(code)go(maps,code);return} 23var btn=e.target.closest&&e.target.closest('.mci-gh-filter');if(!btn)return;var hub=btn.closest('.mci-gh');if(!hub)return;var fslug=btn.getAttribute('data-filter')||'';var isSoon=btn.getAttribute('data-soon')==='1'||btn.classList.contains('is-soon');if(hub.classList.contains('is-archive')){if(isSoon){e.preventDefault();return} 24var url=btn.getAttribute('data-url');if(url)window.location.href=url;return} 25e.preventDefault();filterHub(fslug,isSoon,btn.getAttribute('data-name')||'',{hub:hub});var maps2=document.querySelector('.mci-pmap, .pmap-map');if(maps2){var slugs2=parseSlugs(maps2);var code2='';Object.keys(slugs2).forEach(function(k){if(slugs2[k]===fslug)code2=k});setSelected(maps2,code2||'__none')}});document.addEventListener('keydown',function(e){if(e.key!=='Enter'&&e.key!==' ')return;var poly=e.target.closest&&e.target.closest('.prov.active');if(!poly||!mapRoot(poly))return;e.preventDefault();go(mapRoot(poly),poly.getAttribute('data-prov')||'')});stripElementorFilterQuery();function applyHashState(shouldScroll){var parsed=parseHash();var section=parsed.section;var province=parsed.province;if(province){var ready=null;document.querySelectorAll('.mci-gh-filter').forEach(function(b){if((b.getAttribute('data-filter')||'')===province&&!b.classList.contains('is-soon')){ready=b}});var isSoon=!ready;var name=ready?(ready.getAttribute('data-name')||nameFromSlug(province)):nameFromSlug(province);filterHub(province,isSoon,name,{skipHash:!0});var mapsEl=document.querySelector('.mci-pmap, .pmap-map');if(mapsEl&&ready){var slugsH=parseSlugs(mapsEl);var codeH='';Object.keys(slugsH).forEach(function(k){if(slugsH[k]===province)codeH=k});setSelected(mapsEl,codeH||'__none')}} 26if(!shouldScroll||!section)return;var el=document.getElementById(section);if(!el)return;window.requestAnimationFrame(function(){el.scrollIntoView({behavior:'smooth',block:'start'})})} 27function onHashReady(){applyHashState(!0)}
28if(document.readyState==='complete'){onHashReady()}else{window.addEventListener('load',onHashReady)} 29window.addEventListener('hashchange',function(){applyHashState(!0)})})()
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.