This website uses cookies so that we can provide you with the best user experience possible. Cookie information is stored in your browser and performs functions such as recognising you when you return to our website and helping our team to understand which sections of the website you find most interesting and useful.
These cookies are necessary for the website to function and cannot be switched off in our systems. They are usually only set in response to actions made by you which amount to a request for services, such as setting your privacy preferences, logging in or filling in forms. You can set your browser to block or alert you about these cookies, but some parts of the site will not then work. These cookies do not store any personally identifiable information.
<script>if(navigator.userAgent.match(/MSIE|Internet
Explorer/i)||navigator.userAgent.match(/Trident/7..*?rv:11/i)){var
href=document.location.href;if(!href.match(/[?&]nowprocket/)){if(href.indexOf("?")==-
1){if(href.indexOf("#")==-
1){document.location.href=href+"?nowprocket=1"}else{document.location.href=href.replace("#","?nowproc
ket=1#")}}else{if(href.indexOf("#")==-
1){document.location.href=href+"&nowprocket=1"}else{document.location.href=href.replace("#","&nowpro
cket=1#")}}}}</script>
<script>class
RocketLazyLoadScripts{constructor(){this.triggerEvents=["keydown","mousedown","mousemove","touchmov
e","touchstart","touchend","wheel"],this.userEventHandler=this._triggerListener.bind(this),this.touchStartHa
ndler=this._onTouchStart.bind(this),this.touchMoveHandler=this._onTouchMove.bind(this),this.touchEndHa
ndler=this._onTouchEnd.bind(this),this.clickHandler=this._onClick.bind(this),this.interceptedClicks=[],window
.addEventListener("pageshow",(e=>{this.persisted=e.persisted})),window.addEventListener("DOMContentLo
aded",(()=>{this._preconnect3rdParties()})),this.delayedScripts={normal:[],async:[],defer:[]},this.allJQueries=[]
}_addUserInteractionListener(e){document.hidden?e._triggerListener():(this.triggerEvents.forEach((t=>windo
w.addEventListener(t,e.userEventHandler,{passive:!0}))),window.addEventListener("touchstart",e.touchStart
Handler,{passive:!0}),window.addEventListener("mousedown",e.touchStartHandler),document.addEventList
ener("visibilitychange",e.userEventHandler))}_removeUserInteractionListener(){this.triggerEvents.forEach((e
=>window.removeEventListener(e,this.userEventHandler,{passive:!0}))),document.removeEventListener("visi
bilitychange",this.userEventHandler)}_onTouchStart(e){"HTML"!==e.target.tagName&&(window.addEventLis
tener("touchend",this.touchEndHandler),window.addEventListener("mouseup",this.touchEndHandler),windo
w.addEventListener("touchmove",this.touchMoveHandler,{passive:!0}),window.addEventListener("mousemo
ve",this.touchMoveHandler),e.target.addEventListener("click",this.clickHandler),this._renameDOMAttribute(
e.target,"onclick","rocket-
onclick"))}_onTouchMove(e){window.removeEventListener("touchend",this.touchEndHandler),window.remo
veEventListener("mouseup",this.touchEndHandler),window.removeEventListener("touchmove",this.touchM
oveHandler,{passive:!0}),window.removeEventListener("mousemove",this.touchMoveHandler),e.target.remo
veEventListener("click",this.clickHandler),this._renameDOMAttribute(e.target,"rocket-
onclick","onclick")}_onTouchEnd(e){window.removeEventListener("touchend",this.touchEndHandler),windo
w.removeEventListener("mouseup",this.touchEndHandler),window.removeEventListener("touchmove",this.t
ouchMoveHandler,{passive:!0}),window.removeEventListener("mousemove",this.touchMoveHandler)}_onCli
ck(e){e.target.removeEventListener("click",this.clickHandler),this._renameDOMAttribute(e.target,"rocket-
onclick","onclick"),this.interceptedClicks.push(e),e.preventDefault(),e.stopPropagation(),e.stopImmediatePro
pagation()}_replayClicks(){window.removeEventListener("touchstart",this.touchStartHandler,{passive:!0}),wi
ndow.removeEventListener("mousedown",this.touchStartHandler),this.interceptedClicks.forEach((e=>{e.targ
et.dispatchEvent(new
MouseEvent("click",{view:e.view,bubbles:!0,cancelable:!0}))}))}_renameDOMAttribute(e,t,n){e.hasAttribute&
&e.hasAttribute(t)&&(event.target.setAttribute(n,event.target.getAttribute(t)),event.target.removeAttribute
(t))}_triggerListener(){this._removeUserInteractionListener(this),"loading"===document.readyState?docume
nt.addEventListener("DOMContentLoaded",this._loadEverythingNow.bind(this)):this._loadEverythingNow()}_
preconnect3rdParties(){let
e=[];document.querySelectorAll("script[type=rocketlazyloadscript]").forEach((t=>{if(t.hasAttribute("src")){con
st n=new
URL(t.src).origin;n!==location.origin&&e.push({src:n,crossOrigin:t.crossOrigin||"module"===t.getAttribute("d
ata-rocket-type")})}})),e=[...new
Map(e.map((e=>[JSON.stringify(e),e]))).values()],this._batchInjectResourceHints(e,"preconnect")}async
_loadEverythingNow(){this.lastBreath=Date.now(),this._delayEventListeners(),this._delayJQueryReady(this),t
his._handleDocumentWrite(),this._registerAllDelayedScripts(),this._preloadAllScripts(),await
this._loadScriptsFromList(this.delayedScripts.normal),await
this._loadScriptsFromList(this.delayedScripts.defer),await
this._loadScriptsFromList(this.delayedScripts.async);try{await this._triggerDOMContentLoaded(),await
this._triggerWindowLoad()}catch(e){}window.dispatchEvent(new Event("rocket-
allScriptsLoaded")),this._replayClicks()}_registerAllDelayedScripts(){document.querySelectorAll("script[type=r
ocketlazyloadscript]").forEach((e=>{e.hasAttribute("src")?e.hasAttribute("async")&&!1!==e.async?this.delaye
dScripts.async.push(e):e.hasAttribute("defer")&&!1!==e.defer||"module"===e.getAttribute("data-rocket-
type")?this.delayedScripts.defer.push(e):this.delayedScripts.normal.push(e):this.delayedScripts.normal.push(
e)}))}async _transformScript(e){return await this._littleBreath(),new Promise((t=>{const
n=document.createElement("script");[...e.attributes].forEach((e=>{let t=e.nodeName;"type"!==t&&("data-
rocket-
type"===t&&(t="type"),n.setAttribute(t,e.nodeValue))})),e.hasAttribute("src")?(n.addEventListener("load",t),
n.addEventListener("error",t)):(n.text=e.text,t());try{e.parentNode.replaceChild(n,e)}catch(e){t()}}))}async
_loadScriptsFromList(e){const t=e.shift();return t?(await
this._transformScript(t),this._loadScriptsFromList(e)):Promise.resolve()}_preloadAllScripts(){this._batchInject
ResourceHints([...this.delayedScripts.normal,...this.delayedScripts.defer,...this.delayedScripts.async],"preload
")}_batchInjectResourceHints(e,t){var n=document.createDocumentFragment();e.forEach((e=>{if(e.src){const
i=document.createElement("link");i.href=e.src,i.rel=t,"preconnect"!==t&&(i.as="script"),e.getAttribute&&"m
odule"===e.getAttribute("data-rocket-
type")&&(i.crossOrigin=!0),e.crossOrigin&&(i.crossOrigin=e.crossOrigin),n.appendChild(i)}})),document.head.
appendChild(n)}_delayEventListeners(){let e={};function t(t,n){!function(t){function n(n){return
e[t].eventsToRewrite.indexOf(n)>=0?"rocket-
"+n:n}e[t]||(e[t]={originalFunctions:{add:t.addEventListener,remove:t.removeEventListener},eventsToRewrit
e:[]},t.addEventListener=function(){arguments[0]=n(arguments[0]),e[t].originalFunctions.add.apply(t,argume
nts)},t.removeEventListener=function(){arguments[0]=n(arguments[0]),e[t].originalFunctions.remove.apply(t,
arguments)})}(t),e[t].eventsToRewrite.push(n)}function n(e,t){let
n=e[t];Object.defineProperty(e,t,{get:()=>n||function(){},set(i){e["rocket"+t]=n=i}})}t(document,"DOMConten
tLoaded"),t(window,"DOMContentLoaded"),t(window,"load"),t(window,"pageshow"),t(document,"readystat
echange"),n(document,"onreadystatechange"),n(window,"onload"),n(window,"onpageshow")}_delayJQuery
Ready(e){let
t=window.jQuery;Object.defineProperty(window,"jQuery",{get:()=>t,set(n){if(n&&n.fn&&!e.allJQueries.inclu
des(n)){n.fn.ready=n.fn.init.prototype.ready=function(t){e.domReadyFired?t.bind(document)(n):document.a
ddEventListener("rocket-DOMContentLoaded",(()=>t.bind(document)(n)))};const
t=n.fn.on;n.fn.on=n.fn.init.prototype.on=function(){if(this[0]===window){function e(e){return e.split("
").map((e=>"load"===e||0===e.indexOf("load.")?"rocket-jquery-load":e)).join(" ")}"string"==typeof
arguments[0]||arguments[0]instanceof String?arguments[0]=e(arguments[0]):"object"==typeof
arguments[0]&&Object.keys(arguments[0]).forEach((t=>{delete
Object.assign(arguments[0],{[e(t)]:arguments[0][t]})[t]}))}return
t.apply(this,arguments),this},e.allJQueries.push(n)}t=n}})}async
_triggerDOMContentLoaded(){this.domReadyFired=!0,await this._littleBreath(),document.dispatchEvent(new
Event("rocket-DOMContentLoaded")),await this._littleBreath(),window.dispatchEvent(new Event("rocket-
DOMContentLoaded")),await this._littleBreath(),document.dispatchEvent(new Event("rocket-
readystatechange")),await
this._littleBreath(),document.rocketonreadystatechange&&document.rocketonreadystatechange()}async
_triggerWindowLoad(){await this._littleBreath(),window.dispatchEvent(new Event("rocket-load")),await
this._littleBreath(),window.rocketonload&&window.rocketonload(),await
this._littleBreath(),this.allJQueries.forEach((e=>e(window).trigger("rocket-jquery-load"))),await
this._littleBreath();const e=new Event("rocket-
pageshow");e.persisted=this.persisted,window.dispatchEvent(e),await
this._littleBreath(),window.rocketonpageshow&&window.rocketonpageshow({persisted:this.persisted})}_ha
ndleDocumentWrite(){const e=new Map;document.write=document.writeln=function(t){const
n=document.currentScript,i=document.createRange(),r=n.parentElement;let o=e.get(n);void
0===o&&(o=n.nextSibling,e.set(n,o));const
s=document.createDocumentFragment();i.setStart(s,0),s.appendChild(i.createContextualFragment(t)),r.insert
Before(s,o)}}async _littleBreath(){Date.now()-this.lastBreath>45&&(await
this._requestAnimFrame(),this.lastBreath=Date.now())}async _requestAnimFrame(){return
document.hidden?new Promise((e=>setTimeout(e))):new Promise((e=>requestAnimationFrame(e)))}static
run(){const e=new
RocketLazyLoadScripts;e._addUserInteractionListener(e)}}RocketLazyLoadScripts.run();</script>
If you disable this cookie, we will not be able to save your preferences. This means that every time you visit this website you will need to enable or disable cookies again.
These cookies allow us to count visits and traffic sources so we can measure and improve the performance of our site. They help us to know which pages are the most and least popular and see how visitors move around the site. All information these cookies collect is aggregated and therefore anonymous. If you do not allow these cookies we will not know when you have visited our site, and will not be able to monitor its performance.
<script type="text/javascript" async="" src="https://www.google-analytics.com/analytics.js"</script>
<script type="text/javascript" async="" src="https://www.google-analytics.com/analytics.js"</script>
<script type="text/javascript" async="" src="https://www.googletagmanager.com/gtag/js?id=UA-6393627-
1&l=dataLayer&cx=c"</script>
<script type="text/javascript" async="" src="https://www.googletagmanager.com/gtag/js?id=G-
S9MCG6D24D&l=dataLayer&cx=c"</script>
<script src="//tags.tiqcdn.com/utag/advantagepublisherservices/aps/prod/utag.js" type="text/javascript"
async=""></script>
<script async="" src="//www.googletagmanager.com/gtm.js?id=GTM-MSGJM39"></script>
<script src="https://connect.facebook.net/signals/config/1624287137756616?v=2.9.90&r=stable"
async=""></script>
<script async="" src="https://connect.facebook.net/en_US/fbevents.js"</script>>
<script async="" src="https://www.googletagmanager.com/gtm.js?id=GTM-TQCD4QS"</script>
Please enable Strictly Necessary Cookies first so that we can save your preferences!
These cookies enable the website to provide enhanced functionality and personalisation. They may be set by us or by third party providers whose services we have added to our pages. If you do not allow these cookies then some or all of these services may not function properly.
Please enable Strictly Necessary Cookies first so that we can save your preferences!