CINXE.COM

Routledge - Publisher of Professional & Academic Books

<!doctype html> <html lang="en" class="no-js"> <head> <!-- Turnstile Clouflare header--> <script src="https://challenges.cloudflare.com/turnstile/v0/api.js" async defer></script> <!-- RC10-1523: User Managed Cookies (through understanding by Development and estimation needed) --> <!-- OneTrust Cookies Consent Notice start for www.routledge.com --> <script src="https://cdn.cookielaw.org/scripttemplates/otSDKStub.js" type="text/javascript" charset="UTF-8" data-domain-script="e9b64bab-f593-43cd-959a-24379a4d4a40" ></script> <script type="text/javascript"> function OptanonWrapper() { } </script> <!-- OneTrust Cookies Consent Notice end for www.routledge.com --> <!-- GSD-3467 : LCP: Preconnect Third-Party Scripts --> <link rel="dns-prefetch" href="https://www.google-analytics.com/"> <link rel="dns-prefetch" href="https://secure.ride8stir.com/"> <link rel="dns-prefetch" href="https://www.googleadservices.com/"> <link rel="dns-prefetch" href="https://cdn-cs.conductor.com/"> <link rel="dns-prefetch" href="https://www.googleads.g.doubleclick.net/"> <link rel="dns-prefetch" href="https://www.googletagmanager.com/"> <link rel="dns-prefetch" href="https://static.ads-twitter.com"> <link rel="dns-prefetch" href="https://amplify.outbrai.com/"> <link rel="dns-prefetch" href="https://px.ads.linkedin.com/"> <link rel="dns-prefetch" href="https://connect.facebook.net/"> <link rel="dns-prefetch" href="https://snap.licdn.com/"> <link rel="dns-prefetch" href="https://dc.ads.linkedin.com/"> <link rel="dns-prefetch" href="https://kit-free.fontawesome.com"> <link rel="dns-prefetch" href="https://fonts.gstatic.com"> <link rel="preconnect" href="https://www.google-analytics.com/" crossorigin> <link rel="preconnect" href="https://secure.ride8stir.com/" crossorigin> <link rel="preconnect" href="https://www.googleadservices.com/" crossorigin> <link rel="preconnect" href="https://cdn-cs.conductor.com/" crossorigin> <link rel="preconnect" href="https://www.googleads.g.doubleclick.net/" crossorigin> <link rel="preconnect" href="https://www.googletagmanager.com/" crossorigin> <link rel="preconnect" href="https://www.google-analytics.com/" crossorigin> <link rel="preconnect" href="https://amplify.outbrai.com/" crossorigin> <link rel="preconnect" href="https://px.ads.linkedin.com/" crossorigin> <link rel="preconnect" href="https://connect.facebook.net/" crossorigin> <link rel="preconnect" href="https://snap.licdn.com/" crossorigin> <link rel="preconnect" href="https://dc.ads.linkedin.com/" crossorigin> <link rel="preconnect" href="https://kit-free.fontawesome.com" crossorigin> <link rel="preconnect" href="https://fonts.gstatic.com" crossorigin> <script> dataLayer = []; var gtm_id = 'GTM-KW3LJ3D'; </script> <!-- GSD-979 : Google Tag Manager Implementation --> <!-- GSD-1830 : Content Square - GTM - Implement Data Layer --> <!-- Google Tag Manager --> <script>(function(w,d,s,l,i){w[l]=w[l]||[];w[l].push({'gtm.start': new Date().getTime(),event:'gtm.js'});var f=d.getElementsByTagName(s)[0], j=d.createElement(s),dl=l!='dataLayer'?'&l='+l:'';j.async=true;j.src= 'https://www.googletagmanager.com/gtm.js?id='+i+dl;f.parentNode.insertBefore(j,f); })(window,document,'script','dataLayer',gtm_id);</script> <!-- End Google Tag Manager --> <!-- BAU-5060 : Allow GA to be loaded on Order Complete page to be used for purchase event --> <!-- BAU-10364 added the script tag to get the country code which needs to be passed to the datalayer --> <script type="text/javascript"> window.dataLayer = window.dataLayer || []; dataLayer.push({ 'countryCode': "SG", 'countryCodebasedOnIP': "SG" }); </script> <!-- BAU-6005 : Google Tag Manager Script in wrong location --> <meta name="google-site-verification" content="WEbYPt5KipdKE58rhrkg6tHoXzteac8Rio6a6z1EDek" /> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> <meta http-equiv="X-UA-Compatible" content="IE=edge"><script type="text/javascript">(window.NREUM||(NREUM={})).init={privacy:{cookies_enabled:true},ajax:{deny_list:["bam.nr-data.net"]},distributed_tracing:{enabled:true}};(window.NREUM||(NREUM={})).loader_config={agentID:"772300196",accountID:"438030",trustKey:"438030",xpid:"UAUPUVVTGwQFU1lVAgADVQ==",licenseKey:"97f8f67f26",applicationID:"757875143"};;/*! For license information please see nr-loader-spa-1.281.0.min.js.LICENSE.txt */ (()=>{var e,t,r={8122:(e,t,r)=>{"use strict";r.d(t,{a:()=>i});var n=r(944);function i(e,t){try{if(!e||"object"!=typeof e)return(0,n.R)(3);if(!t||"object"!=typeof t)return(0,n.R)(4);const r=Object.create(Object.getPrototypeOf(t),Object.getOwnPropertyDescriptors(t)),o=0===Object.keys(r).length?e:r;for(let a in o)if(void 0!==e[a])try{if(null===e[a]){r[a]=null;continue}Array.isArray(e[a])&&Array.isArray(t[a])?r[a]=Array.from(new Set([...e[a],...t[a]])):"object"==typeof e[a]&&"object"==typeof t[a]?r[a]=i(e[a],t[a]):r[a]=e[a]}catch(e){(0,n.R)(1,e)}return r}catch(e){(0,n.R)(2,e)}}},2555:(e,t,r)=>{"use strict";r.d(t,{Vp:()=>c,fn:()=>s,x1:()=>u});var n=r(384),i=r(8122);const o={beacon:n.NT.beacon,errorBeacon:n.NT.errorBeacon,licenseKey:void 0,applicationID:void 0,sa:void 0,queueTime:void 0,applicationTime:void 0,ttGuid:void 0,user:void 0,account:void 0,product:void 0,extra:void 0,jsAttributes:{},userAttributes:void 0,atts:void 0,transactionName:void 0,tNamePlain:void 0},a={};function s(e){try{const t=c(e);return!!t.licenseKey&&!!t.errorBeacon&&!!t.applicationID}catch(e){return!1}}function c(e){if(!e)throw new Error("All info objects require an agent identifier!");if(!a[e])throw new Error("Info for ".concat(e," was never set"));return a[e]}function u(e,t){if(!e)throw new Error("All info objects require an agent identifier!");a[e]=(0,i.a)(t,o);const r=(0,n.nY)(e);r&&(r.info=a[e])}},9417:(e,t,r)=>{"use strict";r.d(t,{D0:()=>p,gD:()=>m,xN:()=>g});var n=r(3333),i=r(993);const o=e=>{if(!e||"string"!=typeof e)return!1;try{document.createDocumentFragment().querySelector(e)}catch{return!1}return!0};var a=r(2614),s=r(944),c=r(384),u=r(8122);const d="[data-nr-mask]",l=()=>{const e={feature_flags:[],experimental:{marks:!1,measures:!1,resources:!1},mask_selector:"*",block_selector:"[data-nr-block]",mask_input_options:{color:!1,date:!1,"datetime-local":!1,email:!1,month:!1,number:!1,range:!1,search:!1,tel:!1,text:!1,time:!1,url:!1,week:!1,textarea:!1,select:!1,password:!0}};return{ajax:{deny_list:void 0,block_internal:!0,enabled:!0,autoStart:!0},distributed_tracing:{enabled:void 0,exclude_newrelic_header:void 0,cors_use_newrelic_header:void 0,cors_use_tracecontext_headers:void 0,allowed_origins:void 0},get feature_flags(){return e.feature_flags},set feature_flags(t){e.feature_flags=t},generic_events:{enabled:!0,autoStart:!0},harvest:{interval:30},jserrors:{enabled:!0,autoStart:!0},logging:{enabled:!0,autoStart:!0,level:i.p_.INFO},metrics:{enabled:!0,autoStart:!0},obfuscate:void 0,page_action:{enabled:!0},page_view_event:{enabled:!0,autoStart:!0},page_view_timing:{enabled:!0,autoStart:!0},performance:{get capture_marks(){return e.feature_flags.includes(n.$v.MARKS)||e.experimental.marks},set capture_marks(t){e.experimental.marks=t},get capture_measures(){return e.feature_flags.includes(n.$v.MEASURES)||e.experimental.measures},set capture_measures(t){e.experimental.measures=t},capture_detail:!0,resources:{get enabled(){return e.feature_flags.includes(n.$v.RESOURCES)||e.experimental.resources},set enabled(t){e.experimental.resources=t},asset_types:[],first_party_domains:[],ignore_newrelic:!0}},privacy:{cookies_enabled:!0},proxy:{assets:void 0,beacon:void 0},session:{expiresMs:a.wk,inactiveMs:a.BB},session_replay:{autoStart:!0,enabled:!1,preload:!1,sampling_rate:10,error_sampling_rate:100,collect_fonts:!1,inline_images:!1,fix_stylesheets:!0,mask_all_inputs:!0,get mask_text_selector(){return e.mask_selector},set mask_text_selector(t){o(t)?e.mask_selector="".concat(t,",").concat(d):""===t||null===t?e.mask_selector=d:(0,s.R)(5,t)},get block_class(){return"nr-block"},get ignore_class(){return"nr-ignore"},get mask_text_class(){return"nr-mask"},get block_selector(){return e.block_selector},set block_selector(t){o(t)?e.block_selector+=",".concat(t):""!==t&&(0,s.R)(6,t)},get mask_input_options(){return e.mask_input_options},set mask_input_options(t){t&&"object"==typeof t?e.mask_input_options={...t,password:!0}:(0,s.R)(7,t)}},session_trace:{enabled:!0,autoStart:!0},soft_navigations:{enabled:!0,autoStart:!0},spa:{enabled:!0,autoStart:!0},ssl:void 0,user_actions:{enabled:!0,elementAttributes:["id","className","tagName","type"]}}},f={},h="All configuration objects require an agent identifier!";function p(e){if(!e)throw new Error(h);if(!f[e])throw new Error("Configuration for ".concat(e," was never set"));return f[e]}function g(e,t){if(!e)throw new Error(h);f[e]=(0,u.a)(t,l());const r=(0,c.nY)(e);r&&(r.init=f[e])}function m(e,t){if(!e)throw new Error(h);var r=p(e);if(r){for(var n=t.split("."),i=0;i<n.length-1;i++)if("object"!=typeof(r=r[n[i]]))return;r=r[n[n.length-1]]}return r}},5603:(e,t,r)=>{"use strict";r.d(t,{a:()=>c,o:()=>s});var n=r(384),i=r(8122);const o={accountID:void 0,trustKey:void 0,agentID:void 0,licenseKey:void 0,applicationID:void 0,xpid:void 0},a={};function s(e){if(!e)throw new Error("All loader-config objects require an agent identifier!");if(!a[e])throw new Error("LoaderConfig for ".concat(e," was never set"));return a[e]}function c(e,t){if(!e)throw new Error("All loader-config objects require an agent identifier!");a[e]=(0,i.a)(t,o);const r=(0,n.nY)(e);r&&(r.loader_config=a[e])}},3371:(e,t,r)=>{"use strict";r.d(t,{V:()=>f,f:()=>l});var n=r(8122),i=r(384),o=r(6154),a=r(9324);let s=0;const c={buildEnv:a.F3,distMethod:a.Xs,version:a.xv,originTime:o.WN},u={customTransaction:void 0,disabled:!1,isolatedBacklog:!1,loaderType:void 0,maxBytes:3e4,onerror:void 0,ptid:void 0,releaseIds:{},appMetadata:{},session:void 0,denyList:void 0,timeKeeper:void 0,obfuscator:void 0,harvester:void 0},d={};function l(e){if(!e)throw new Error("All runtime objects require an agent identifier!");if(!d[e])throw new Error("Runtime for ".concat(e," was never set"));return d[e]}function f(e,t){if(!e)throw new Error("All runtime objects require an agent identifier!");d[e]={...(0,n.a)(t,u),...c},Object.hasOwnProperty.call(d[e],"harvestCount")||Object.defineProperty(d[e],"harvestCount",{get:()=>++s});const r=(0,i.nY)(e);r&&(r.runtime=d[e])}},9324:(e,t,r)=>{"use strict";r.d(t,{F3:()=>i,Xs:()=>o,Yq:()=>a,xv:()=>n});const n="1.281.0",i="PROD",o="CDN",a="^2.0.0-alpha.17"},6154:(e,t,r)=>{"use strict";r.d(t,{A4:()=>s,OF:()=>d,RI:()=>i,WN:()=>h,bv:()=>o,gm:()=>a,lR:()=>f,m:()=>u,mw:()=>c,sb:()=>l});var n=r(1863);const i="undefined"!=typeof window&&!!window.document,o="undefined"!=typeof WorkerGlobalScope&&("undefined"!=typeof self&&self instanceof WorkerGlobalScope&&self.navigator instanceof WorkerNavigator||"undefined"!=typeof globalThis&&globalThis instanceof WorkerGlobalScope&&globalThis.navigator instanceof WorkerNavigator),a=i?window:"undefined"!=typeof WorkerGlobalScope&&("undefined"!=typeof self&&self instanceof WorkerGlobalScope&&self||"undefined"!=typeof globalThis&&globalThis instanceof WorkerGlobalScope&&globalThis),s="complete"===a?.document?.readyState,c=Boolean("hidden"===a?.document?.visibilityState),u=""+a?.location,d=/iPad|iPhone|iPod/.test(a.navigator?.userAgent),l=d&&"undefined"==typeof SharedWorker,f=(()=>{const e=a.navigator?.userAgent?.match(/Firefox[/\s](\d+\.\d+)/);return Array.isArray(e)&&e.length>=2?+e[1]:0})(),h=Date.now()-(0,n.t)()},7295:(e,t,r)=>{"use strict";r.d(t,{Xv:()=>a,gX:()=>i,iW:()=>o});var n=[];function i(e){if(!e||o(e))return!1;if(0===n.length)return!0;for(var t=0;t<n.length;t++){var r=n[t];if("*"===r.hostname)return!1;if(s(r.hostname,e.hostname)&&c(r.pathname,e.pathname))return!1}return!0}function o(e){return void 0===e.hostname}function a(e){if(n=[],e&&e.length)for(var t=0;t<e.length;t++){let r=e[t];if(!r)continue;0===r.indexOf("http://")?r=r.substring(7):0===r.indexOf("https://")&&(r=r.substring(8));const i=r.indexOf("/");let o,a;i>0?(o=r.substring(0,i),a=r.substring(i)):(o=r,a="");let[s]=o.split(":");n.push({hostname:s,pathname:a})}}function s(e,t){return!(e.length>t.length)&&t.indexOf(e)===t.length-e.length}function c(e,t){return 0===e.indexOf("/")&&(e=e.substring(1)),0===t.indexOf("/")&&(t=t.substring(1)),""===e||e===t}},1687:(e,t,r)=>{"use strict";r.d(t,{Ak:()=>c,Ze:()=>l,x3:()=>u});var n=r(7836),i=r(3606),o=r(860),a=r(2646);const s={};function c(e,t){const r={staged:!1,priority:o.P3[t]||0};d(e),s[e].get(t)||s[e].set(t,r)}function u(e,t){e&&s[e]&&(s[e].get(t)&&s[e].delete(t),h(e,t,!1),s[e].size&&f(e))}function d(e){if(!e)throw new Error("agentIdentifier required");s[e]||(s[e]=new Map)}function l(e="",t="feature",r=!1){if(d(e),!e||!s[e].get(t)||r)return h(e,t);s[e].get(t).staged=!0,f(e)}function f(e){const t=Array.from(s[e]);t.every((([e,t])=>t.staged))&&(t.sort(((e,t)=>e[1].priority-t[1].priority)),t.forEach((([t])=>{s[e].delete(t),h(e,t)})))}function h(e,t,r=!0){const o=e?n.ee.get(e):n.ee,s=i.i.handlers;if(!o.aborted&&o.backlog&&s){if(r){const e=o.backlog[t],r=s[t];if(r){for(let t=0;e&&t<e.length;++t)p(e[t],r);Object.entries(r).forEach((([e,t])=>{Object.values(t||{}).forEach((t=>{t[0]?.on&&t[0]?.context()instanceof a.y&&t[0].on(e,t[1])}))}))}}o.isolatedBacklog||delete s[t],o.backlog[t]=null,o.emit("drain-"+t,[])}}function p(e,t){var r=e[1];Object.values(t[r]||{}).forEach((t=>{var r=e[0];if(t[0]===r){var n=t[1],i=e[3],o=e[2];n.apply(i,o)}}))}},7836:(e,t,r)=>{"use strict";r.d(t,{P:()=>c,ee:()=>u});var n=r(384),i=r(8990),o=r(3371),a=r(2646),s=r(5607);const c="nr@context:".concat(s.W),u=function e(t,r){var n={},s={},d={},l=!1;try{l=16===r.length&&(0,o.f)(r).isolatedBacklog}catch(e){}var f={on:p,addEventListener:p,removeEventListener:function(e,t){var r=n[e];if(!r)return;for(var i=0;i<r.length;i++)r[i]===t&&r.splice(i,1)},emit:function(e,r,n,i,o){!1!==o&&(o=!0);if(u.aborted&&!i)return;t&&o&&t.emit(e,r,n);for(var a=h(n),c=g(e),d=c.length,l=0;l<d;l++)c[l].apply(a,r);var p=v()[s[e]];p&&p.push([f,e,r,a]);return a},get:m,listeners:g,context:h,buffer:function(e,t){const r=v();if(t=t||"feature",f.aborted)return;Object.entries(e||{}).forEach((([e,n])=>{s[n]=t,t in r||(r[t]=[])}))},abort:function(){f._aborted=!0,Object.keys(f.backlog).forEach((e=>{delete f.backlog[e]}))},isBuffering:function(e){return!!v()[s[e]]},debugId:r,backlog:l?{}:t&&"object"==typeof t.backlog?t.backlog:{},isolatedBacklog:l};return Object.defineProperty(f,"aborted",{get:()=>{let e=f._aborted||!1;return e||(t&&(e=t.aborted),e)}}),f;function h(e){return e&&e instanceof a.y?e:e?(0,i.I)(e,c,(()=>new a.y(c))):new a.y(c)}function p(e,t){n[e]=g(e).concat(t)}function g(e){return n[e]||[]}function m(t){return d[t]=d[t]||e(f,t)}function v(){return f.backlog}}(void 0,"globalEE"),d=(0,n.Zm)();d.ee||(d.ee=u)},2646:(e,t,r)=>{"use strict";r.d(t,{y:()=>n});class n{constructor(e){this.contextId=e}}},9908:(e,t,r)=>{"use strict";r.d(t,{d:()=>n,p:()=>i});var n=r(7836).ee.get("handle");function i(e,t,r,i,o){o?(o.buffer([e],i),o.emit(e,t,r)):(n.buffer([e],i),n.emit(e,t,r))}},3606:(e,t,r)=>{"use strict";r.d(t,{i:()=>o});var n=r(9908);o.on=a;var i=o.handlers={};function o(e,t,r,o){a(o||n.d,i,e,t,r)}function a(e,t,r,i,o){o||(o="feature"),e||(e=n.d);var a=t[o]=t[o]||{};(a[r]=a[r]||[]).push([e,i])}},3878:(e,t,r)=>{"use strict";function n(e,t){return{capture:e,passive:!1,signal:t}}function i(e,t,r=!1,i){window.addEventListener(e,t,n(r,i))}function o(e,t,r=!1,i){document.addEventListener(e,t,n(r,i))}r.d(t,{DD:()=>o,jT:()=>n,sp:()=>i})},5607:(e,t,r)=>{"use strict";r.d(t,{W:()=>n});const n=(0,r(9566).bz)()},9566:(e,t,r)=>{"use strict";r.d(t,{LA:()=>s,ZF:()=>c,bz:()=>a,el:()=>u});var n=r(6154);const i="xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx";function o(e,t){return e?15&e[t]:16*Math.random()|0}function a(){const e=n.gm?.crypto||n.gm?.msCrypto;let t,r=0;return e&&e.getRandomValues&&(t=e.getRandomValues(new Uint8Array(30))),i.split("").map((e=>"x"===e?o(t,r++).toString(16):"y"===e?(3&o()|8).toString(16):e)).join("")}function s(e){const t=n.gm?.crypto||n.gm?.msCrypto;let r,i=0;t&&t.getRandomValues&&(r=t.getRandomValues(new Uint8Array(e)));const a=[];for(var s=0;s<e;s++)a.push(o(r,i++).toString(16));return a.join("")}function c(){return s(16)}function u(){return s(32)}},2614:(e,t,r)=>{"use strict";r.d(t,{BB:()=>a,H3:()=>n,g:()=>u,iL:()=>c,tS:()=>s,uh:()=>i,wk:()=>o});const n="NRBA",i="SESSION",o=144e5,a=18e5,s={STARTED:"session-started",PAUSE:"session-pause",RESET:"session-reset",RESUME:"session-resume",UPDATE:"session-update"},c={SAME_TAB:"same-tab",CROSS_TAB:"cross-tab"},u={OFF:0,FULL:1,ERROR:2}},1863:(e,t,r)=>{"use strict";function n(){return Math.floor(performance.now())}r.d(t,{t:()=>n})},7485:(e,t,r)=>{"use strict";r.d(t,{D:()=>i});var n=r(6154);function i(e){if(0===(e||"").indexOf("data:"))return{protocol:"data"};try{const t=new URL(e,location.href),r={port:t.port,hostname:t.hostname,pathname:t.pathname,search:t.search,protocol:t.protocol.slice(0,t.protocol.indexOf(":")),sameOrigin:t.protocol===n.gm?.location?.protocol&&t.host===n.gm?.location?.host};return r.port&&""!==r.port||("http:"===t.protocol&&(r.port="80"),"https:"===t.protocol&&(r.port="443")),r.pathname&&""!==r.pathname?r.pathname.startsWith("/")||(r.pathname="/".concat(r.pathname)):r.pathname="/",r}catch(e){return{}}}},944:(e,t,r)=>{"use strict";function n(e,t){"function"==typeof console.debug&&console.debug("New Relic Warning: https://github.com/newrelic/newrelic-browser-agent/blob/main/docs/warning-codes.md#".concat(e),t)}r.d(t,{R:()=>n})},5284:(e,t,r)=>{"use strict";r.d(t,{t:()=>c,B:()=>s});var n=r(7836),i=r(6154);const o="newrelic";const a=new Set,s={};function c(e,t){const r=n.ee.get(t);s[t]??={},e&&"object"==typeof e&&(a.has(t)||(r.emit("rumresp",[e]),s[t]=e,a.add(t),function(e={}){try{i.gm.dispatchEvent(new CustomEvent(o,{detail:e}))}catch(e){}}({loaded:!0})))}},8990:(e,t,r)=>{"use strict";r.d(t,{I:()=>i});var n=Object.prototype.hasOwnProperty;function i(e,t,r){if(n.call(e,t))return e[t];var i=r();if(Object.defineProperty&&Object.keys)try{return Object.defineProperty(e,t,{value:i,writable:!0,enumerable:!1}),i}catch(e){}return e[t]=i,i}},6389:(e,t,r)=>{"use strict";function n(e,t=500,r={}){const n=r?.leading||!1;let i;return(...r)=>{n&&void 0===i&&(e.apply(this,r),i=setTimeout((()=>{i=clearTimeout(i)}),t)),n||(clearTimeout(i),i=setTimeout((()=>{e.apply(this,r)}),t))}}function i(e){let t=!1;return(...r)=>{t||(t=!0,e.apply(this,r))}}r.d(t,{J:()=>i,s:()=>n})},3304:(e,t,r)=>{"use strict";r.d(t,{A:()=>o});var n=r(7836);const i=()=>{const e=new WeakSet;return(t,r)=>{if("object"==typeof r&&null!==r){if(e.has(r))return;e.add(r)}return r}};function o(e){try{return JSON.stringify(e,i())??""}catch(e){try{n.ee.emit("internal-error",[e])}catch(e){}return""}}},5289:(e,t,r)=>{"use strict";r.d(t,{GG:()=>o,sB:()=>a});var n=r(3878);function i(){return"undefined"==typeof document||"complete"===document.readyState}function o(e,t){if(i())return e();(0,n.sp)("load",e,t)}function a(e){if(i())return e();(0,n.DD)("DOMContentLoaded",e)}},384:(e,t,r)=>{"use strict";r.d(t,{NT:()=>o,US:()=>d,Zm:()=>a,bQ:()=>c,dV:()=>s,nY:()=>u,pV:()=>l});var n=r(6154),i=r(1863);const o={beacon:"bam.nr-data.net",errorBeacon:"bam.nr-data.net"};function a(){return n.gm.NREUM||(n.gm.NREUM={}),void 0===n.gm.newrelic&&(n.gm.newrelic=n.gm.NREUM),n.gm.NREUM}function s(){let e=a();return e.o||(e.o={ST:n.gm.setTimeout,SI:n.gm.setImmediate,CT:n.gm.clearTimeout,XHR:n.gm.XMLHttpRequest,REQ:n.gm.Request,EV:n.gm.Event,PR:n.gm.Promise,MO:n.gm.MutationObserver,FETCH:n.gm.fetch,WS:n.gm.WebSocket}),e}function c(e,t){let r=a();r.initializedAgents??={},t.initializedAt={ms:(0,i.t)(),date:new Date},r.initializedAgents[e]=t}function u(e){let t=a();return t.initializedAgents?.[e]}function d(e,t){a()[e]=t}function l(){return function(){let e=a();const t=e.info||{};e.info={beacon:o.beacon,errorBeacon:o.errorBeacon,...t}}(),function(){let e=a();const t=e.init||{};e.init={...t}}(),s(),function(){let e=a();const t=e.loader_config||{};e.loader_config={...t}}(),a()}},2843:(e,t,r)=>{"use strict";r.d(t,{u:()=>i});var n=r(3878);function i(e,t=!1,r,i){(0,n.DD)("visibilitychange",(function(){if(t)return void("hidden"===document.visibilityState&&e());e(document.visibilityState)}),r,i)}},8139:(e,t,r)=>{"use strict";r.d(t,{u:()=>f});var n=r(7836),i=r(3434),o=r(8990),a=r(6154);const s={},c=a.gm.XMLHttpRequest,u="addEventListener",d="removeEventListener",l="nr@wrapped:".concat(n.P);function f(e){var t=function(e){return(e||n.ee).get("events")}(e);if(s[t.debugId]++)return t;s[t.debugId]=1;var r=(0,i.YM)(t,!0);function f(e){r.inPlace(e,[u,d],"-",p)}function p(e,t){return e[1]}return"getPrototypeOf"in Object&&(a.RI&&h(document,f),c&&h(c.prototype,f),h(a.gm,f)),t.on(u+"-start",(function(e,t){var n=e[1];if(null!==n&&("function"==typeof n||"object"==typeof n)){var i=(0,o.I)(n,l,(function(){var e={object:function(){if("function"!=typeof n.handleEvent)return;return n.handleEvent.apply(n,arguments)},function:n}[typeof n];return e?r(e,"fn-",null,e.name||"anonymous"):n}));this.wrapped=e[1]=i}})),t.on(d+"-start",(function(e){e[1]=this.wrapped||e[1]})),t}function h(e,t,...r){let n=e;for(;"object"==typeof n&&!Object.prototype.hasOwnProperty.call(n,u);)n=Object.getPrototypeOf(n);n&&t(n,...r)}},3434:(e,t,r)=>{"use strict";r.d(t,{Jt:()=>o,YM:()=>c});var n=r(7836),i=r(5607);const o="nr@original:".concat(i.W);var a=Object.prototype.hasOwnProperty,s=!1;function c(e,t){return e||(e=n.ee),r.inPlace=function(e,t,n,i,o){n||(n="");const a="-"===n.charAt(0);for(let s=0;s<t.length;s++){const c=t[s],u=e[c];d(u)||(e[c]=r(u,a?c+n:n,i,c,o))}},r.flag=o,r;function r(t,r,n,s,c){return d(t)?t:(r||(r=""),nrWrapper[o]=t,function(e,t,r){if(Object.defineProperty&&Object.keys)try{return Object.keys(e).forEach((function(r){Object.defineProperty(t,r,{get:function(){return e[r]},set:function(t){return e[r]=t,t}})})),t}catch(e){u([e],r)}for(var n in e)a.call(e,n)&&(t[n]=e[n])}(t,nrWrapper,e),nrWrapper);function nrWrapper(){var o,a,d,l;try{a=this,o=[...arguments],d="function"==typeof n?n(o,a):n||{}}catch(t){u([t,"",[o,a,s],d],e)}i(r+"start",[o,a,s],d,c);try{return l=t.apply(a,o)}catch(e){throw i(r+"err",[o,a,e],d,c),e}finally{i(r+"end",[o,a,l],d,c)}}}function i(r,n,i,o){if(!s||t){var a=s;s=!0;try{e.emit(r,n,i,t,o)}catch(t){u([t,r,n,i],e)}s=a}}}function u(e,t){t||(t=n.ee);try{t.emit("internal-error",e)}catch(e){}}function d(e){return!(e&&"function"==typeof e&&e.apply&&!e[o])}},9300:(e,t,r)=>{"use strict";r.d(t,{T:()=>n});const n=r(860).K7.ajax},3333:(e,t,r)=>{"use strict";r.d(t,{$v:()=>u,TZ:()=>n,Zp:()=>i,kd:()=>c,mq:()=>s,nf:()=>a,qN:()=>o});const n=r(860).K7.genericEvents,i=["auxclick","click","copy","keydown","paste","scrollend"],o=["focus","blur"],a=4,s=1e3,c=["PageAction","UserAction","BrowserPerformance"],u={MARKS:"experimental.marks",MEASURES:"experimental.measures",RESOURCES:"experimental.resources"}},6774:(e,t,r)=>{"use strict";r.d(t,{T:()=>n});const n=r(860).K7.jserrors},993:(e,t,r)=>{"use strict";r.d(t,{ET:()=>o,TZ:()=>a,p_:()=>i});var n=r(860);const i={ERROR:"ERROR",WARN:"WARN",INFO:"INFO",DEBUG:"DEBUG",TRACE:"TRACE"},o="log",a=n.K7.logging},3785:(e,t,r)=>{"use strict";r.d(t,{R:()=>c,b:()=>u});var n=r(9908),i=r(1863),o=r(860),a=r(3969),s=r(993);function c(e,t,r={},c=s.p_.INFO){(0,n.p)(a.xV,["API/logging/".concat(c.toLowerCase(),"/called")],void 0,o.K7.metrics,e),(0,n.p)(s.ET,[(0,i.t)(),t,r,c],void 0,o.K7.logging,e)}function u(e){return"string"==typeof e&&Object.values(s.p_).some((t=>t===e.toUpperCase().trim()))}},3969:(e,t,r)=>{"use strict";r.d(t,{TZ:()=>n,XG:()=>s,rs:()=>i,xV:()=>a,z_:()=>o});const n=r(860).K7.metrics,i="sm",o="cm",a="storeSupportabilityMetrics",s="storeEventMetrics"},6630:(e,t,r)=>{"use strict";r.d(t,{T:()=>n});const n=r(860).K7.pageViewEvent},782:(e,t,r)=>{"use strict";r.d(t,{T:()=>n});const n=r(860).K7.pageViewTiming},6344:(e,t,r)=>{"use strict";r.d(t,{BB:()=>d,G4:()=>o,Qb:()=>l,TZ:()=>i,Ug:()=>a,_s:()=>s,bc:()=>u,yP:()=>c});var n=r(2614);const i=r(860).K7.sessionReplay,o={RECORD:"recordReplay",PAUSE:"pauseReplay",REPLAY_RUNNING:"replayRunning",ERROR_DURING_REPLAY:"errorDuringReplay"},a=.12,s={DomContentLoaded:0,Load:1,FullSnapshot:2,IncrementalSnapshot:3,Meta:4,Custom:5},c={[n.g.ERROR]:15e3,[n.g.FULL]:3e5,[n.g.OFF]:0},u={RESET:{message:"Session was reset",sm:"Reset"},IMPORT:{message:"Recorder failed to import",sm:"Import"},TOO_MANY:{message:"429: Too Many Requests",sm:"Too-Many"},TOO_BIG:{message:"Payload was too large",sm:"Too-Big"},CROSS_TAB:{message:"Session Entity was set to OFF on another tab",sm:"Cross-Tab"},ENTITLEMENTS:{message:"Session Replay is not allowed and will not be started",sm:"Entitlement"}},d=5e3,l={API:"api"}},5270:(e,t,r)=>{"use strict";r.d(t,{Aw:()=>c,CT:()=>u,SR:()=>s});var n=r(384),i=r(9417),o=r(7767),a=r(6154);function s(e){return!!(0,n.dV)().o.MO&&(0,o.V)(e)&&!0===(0,i.gD)(e,"session_trace.enabled")}function c(e){return!0===(0,i.gD)(e,"session_replay.preload")&&s(e)}function u(e,t){const r=t.correctAbsoluteTimestamp(e);return{originalTimestamp:e,correctedTimestamp:r,timestampDiff:e-r,originTime:a.WN,correctedOriginTime:t.correctedOriginTime,originTimeDiff:Math.floor(a.WN-t.correctedOriginTime)}}},3738:(e,t,r)=>{"use strict";r.d(t,{He:()=>i,Kp:()=>s,Lc:()=>u,Rz:()=>d,TZ:()=>n,bD:()=>o,d3:()=>a,jx:()=>l,uP:()=>c});const n=r(860).K7.sessionTrace,i="bstResource",o="resource",a="-start",s="-end",c="fn"+a,u="fn"+s,d="pushState",l=1e3},3962:(e,t,r)=>{"use strict";r.d(t,{AM:()=>o,O2:()=>c,Qu:()=>u,TZ:()=>s,ih:()=>d,pP:()=>a,tC:()=>i});var n=r(860);const i=["click","keydown","submit","popstate"],o="api",a="initialPageLoad",s=n.K7.softNav,c={INITIAL_PAGE_LOAD:"",ROUTE_CHANGE:1,UNSPECIFIED:2},u={INTERACTION:1,AJAX:2,CUSTOM_END:3,CUSTOM_TRACER:4},d={IP:"in progress",FIN:"finished",CAN:"cancelled"}},7378:(e,t,r)=>{"use strict";r.d(t,{$p:()=>x,BR:()=>b,Kp:()=>R,L3:()=>y,Lc:()=>c,NC:()=>o,SG:()=>d,TZ:()=>i,U6:()=>p,UT:()=>m,d3:()=>w,dT:()=>f,e5:()=>T,gx:()=>v,l9:()=>l,oW:()=>h,op:()=>g,rw:()=>u,tH:()=>A,uP:()=>s,wW:()=>E,xq:()=>a});var n=r(384);const i=r(860).K7.spa,o=["click","submit","keypress","keydown","keyup","change"],a=999,s="fn-start",c="fn-end",u="cb-start",d="api-ixn-",l="remaining",f="interaction",h="spaNode",p="jsonpNode",g="fetch-start",m="fetch-done",v="fetch-body-",b="jsonp-end",y=(0,n.dV)().o.ST,w="-start",R="-end",x="-body",E="cb"+R,T="jsTime",A="fetch"},4234:(e,t,r)=>{"use strict";r.d(t,{W:()=>o});var n=r(7836),i=r(1687);class o{constructor(e,t){this.agentIdentifier=e,this.ee=n.ee.get(e),this.featureName=t,this.blocked=!1}deregisterDrain(){(0,i.x3)(this.agentIdentifier,this.featureName)}}},7767:(e,t,r)=>{"use strict";r.d(t,{V:()=>o});var n=r(9417),i=r(6154);const o=e=>i.RI&&!0===(0,n.gD)(e,"privacy.cookies_enabled")},425:(e,t,r)=>{"use strict";r.d(t,{j:()=>j});var n=r(860),i=r(2555),o=r(3371),a=r(9908),s=r(7836),c=r(1687),u=r(5289),d=r(6154),l=r(944),f=r(3969),h=r(384),p=r(6344);const g=["setErrorHandler","finished","addToTrace","addRelease","recordCustomEvent","addPageAction","setCurrentRouteName","setPageViewName","setCustomAttribute","interaction","noticeError","setUserId","setApplicationVersion","start",p.G4.RECORD,p.G4.PAUSE,"log","wrapLogger"],m=["setErrorHandler","finished","addToTrace","addRelease"];var v=r(1863),b=r(2614),y=r(993),w=r(3785),R=r(2646),x=r(3434);const E=new Map;function T(e,t,r,n){if("object"!=typeof t||!t||"string"!=typeof r||!r||"function"!=typeof t[r])return(0,l.R)(29);const i=function(e){return(e||s.ee).get("logger")}(e),o=(0,x.YM)(i),a=new R.y(s.P);a.level=n.level,a.customAttributes=n.customAttributes;const c=t[r]?.[x.Jt]||t[r];return E.set(c,a),o.inPlace(t,[r],"wrap-logger-",(()=>E.get(c))),i}function A(){const e=(0,h.pV)();g.forEach((t=>{e[t]=(...r)=>function(t,...r){let n=[];return Object.values(e.initializedAgents).forEach((e=>{e&&e.api?e.exposed&&e.api[t]&&n.push(e.api[t](...r)):(0,l.R)(38,t)})),n.length>1?n:n[0]}(t,...r)}))}const S={};var N=r(9417),_=r(5603),O=r(5284);const I=e=>{const t=e.startsWith("http");e+="/",r.p=t?e:"https://"+e};let P=!1;function j(e,t={},g,R){let{init:x,info:E,loader_config:j,runtime:C={},exposed:k=!0}=t;C.loaderType=g;const L=(0,h.pV)();E||(x=L.init,E=L.info,j=L.loader_config),(0,N.xN)(e.agentIdentifier,x||{}),(0,_.a)(e.agentIdentifier,j||{}),E.jsAttributes??={},d.bv&&(E.jsAttributes.isWorker=!0),(0,i.x1)(e.agentIdentifier,E);const H=(0,N.D0)(e.agentIdentifier),M=[E.beacon,E.errorBeacon];P||(H.proxy.assets&&(I(H.proxy.assets),M.push(H.proxy.assets)),H.proxy.beacon&&M.push(H.proxy.beacon),A(),(0,h.US)("activatedFeatures",O.B),e.runSoftNavOverSpa&&=!0===H.soft_navigations.enabled&&H.feature_flags.includes("soft_nav")),C.denyList=[...H.ajax.deny_list||[],...H.ajax.block_internal?M:[]],C.ptid=e.agentIdentifier,(0,o.V)(e.agentIdentifier,C),e.ee=s.ee.get(e.agentIdentifier),void 0===e.api&&(e.api=function(e,t,h=!1){t||(0,c.Ak)(e,"api");const g={};var R=s.ee.get(e),x=R.get("tracer");S[e]=b.g.OFF,R.on(p.G4.REPLAY_RUNNING,(t=>{S[e]=t}));var E="api-",A=E+"ixn-";function N(t,r,n,o){const a=(0,i.Vp)(e);return null===r?delete a.jsAttributes[t]:(0,i.x1)(e,{...a,jsAttributes:{...a.jsAttributes,[t]:r}}),I(E,n,!0,o||null===r?"session":void 0)(t,r)}function _(){}g.log=function(e,{customAttributes:t={},level:r=y.p_.INFO}={}){(0,a.p)(f.xV,["API/log/called"],void 0,n.K7.metrics,R),(0,w.R)(R,e,t,r)},g.wrapLogger=(e,t,{customAttributes:r={},level:i=y.p_.INFO}={})=>{(0,a.p)(f.xV,["API/wrapLogger/called"],void 0,n.K7.metrics,R),T(R,e,t,{customAttributes:r,level:i})},m.forEach((e=>{g[e]=I(E,e,!0,"api")})),g.addPageAction=I(E,"addPageAction",!0,n.K7.genericEvents),g.recordCustomEvent=I(E,"recordCustomEvent",!0,n.K7.genericEvents),g.setPageViewName=function(t,r){if("string"==typeof t)return"/"!==t.charAt(0)&&(t="/"+t),(0,o.f)(e).customTransaction=(r||"http://custom.transaction")+t,I(E,"setPageViewName",!0)()},g.setCustomAttribute=function(e,t,r=!1){if("string"==typeof e){if(["string","number","boolean"].includes(typeof t)||null===t)return N(e,t,"setCustomAttribute",r);(0,l.R)(40,typeof t)}else(0,l.R)(39,typeof e)},g.setUserId=function(e){if("string"==typeof e||null===e)return N("enduser.id",e,"setUserId",!0);(0,l.R)(41,typeof e)},g.setApplicationVersion=function(e){if("string"==typeof e||null===e)return N("application.version",e,"setApplicationVersion",!1);(0,l.R)(42,typeof e)},g.start=()=>{try{(0,a.p)(f.xV,["API/start/called"],void 0,n.K7.metrics,R),R.emit("manual-start-all")}catch(e){(0,l.R)(23,e)}},g[p.G4.RECORD]=function(){(0,a.p)(f.xV,["API/recordReplay/called"],void 0,n.K7.metrics,R),(0,a.p)(p.G4.RECORD,[],void 0,n.K7.sessionReplay,R)},g[p.G4.PAUSE]=function(){(0,a.p)(f.xV,["API/pauseReplay/called"],void 0,n.K7.metrics,R),(0,a.p)(p.G4.PAUSE,[],void 0,n.K7.sessionReplay,R)},g.interaction=function(e){return(new _).get("object"==typeof e?e:{})};const O=_.prototype={createTracer:function(e,t){var r={},i=this,o="function"==typeof t;return(0,a.p)(f.xV,["API/createTracer/called"],void 0,n.K7.metrics,R),h||(0,a.p)(A+"tracer",[(0,v.t)(),e,r],i,n.K7.spa,R),function(){if(x.emit((o?"":"no-")+"fn-start",[(0,v.t)(),i,o],r),o)try{return t.apply(this,arguments)}catch(e){const t="string"==typeof e?new Error(e):e;throw x.emit("fn-err",[arguments,this,t],r),t}finally{x.emit("fn-end",[(0,v.t)()],r)}}}};function I(e,t,r,i){return function(){return(0,a.p)(f.xV,["API/"+t+"/called"],void 0,n.K7.metrics,R),i&&(0,a.p)(e+t,[r?(0,v.t)():performance.now(),...arguments],r?null:this,i,R),r?void 0:this}}function P(){r.e(478).then(r.bind(r,8778)).then((({setAPI:t})=>{t(e),(0,c.Ze)(e,"api")})).catch((e=>{(0,l.R)(27,e),R.abort()}))}return["actionText","setName","setAttribute","save","ignore","onEnd","getContext","end","get"].forEach((e=>{O[e]=I(A,e,void 0,h?n.K7.softNav:n.K7.spa)})),g.setCurrentRouteName=h?I(A,"routeName",void 0,n.K7.softNav):I(E,"routeName",!0,n.K7.spa),g.noticeError=function(t,r){"string"==typeof t&&(t=new Error(t)),(0,a.p)(f.xV,["API/noticeError/called"],void 0,n.K7.metrics,R),(0,a.p)("err",[t,(0,v.t)(),!1,r,!!S[e]],void 0,n.K7.jserrors,R)},d.RI?(0,u.GG)((()=>P()),!0):P(),g}(e.agentIdentifier,R,e.runSoftNavOverSpa)),void 0===e.exposed&&(e.exposed=k),P=!0}},8374:(e,t,r)=>{r.nc=(()=>{try{return document?.currentScript?.nonce}catch(e){}return""})()},860:(e,t,r)=>{"use strict";r.d(t,{$J:()=>u,K7:()=>s,P3:()=>c,XX:()=>i,qY:()=>n,v4:()=>a});const n="events",i="jserrors",o="browser/blobs",a="rum",s={ajax:"ajax",genericEvents:"generic_events",jserrors:i,logging:"logging",metrics:"metrics",pageAction:"page_action",pageViewEvent:"page_view_event",pageViewTiming:"page_view_timing",sessionReplay:"session_replay",sessionTrace:"session_trace",softNav:"soft_navigations",spa:"spa"},c={[s.pageViewEvent]:1,[s.pageViewTiming]:2,[s.metrics]:3,[s.jserrors]:4,[s.spa]:5,[s.ajax]:6,[s.sessionTrace]:7,[s.softNav]:8,[s.sessionReplay]:9,[s.logging]:10,[s.genericEvents]:11},u={[s.pageViewEvent]:a,[s.pageViewTiming]:n,[s.ajax]:n,[s.spa]:n,[s.softNav]:n,[s.metrics]:i,[s.jserrors]:i,[s.sessionTrace]:o,[s.sessionReplay]:o,[s.logging]:"browser/logs",[s.genericEvents]:"ins"}}},n={};function i(e){var t=n[e];if(void 0!==t)return t.exports;var o=n[e]={exports:{}};return r[e](o,o.exports,i),o.exports}i.m=r,i.d=(e,t)=>{for(var r in t)i.o(t,r)&&!i.o(e,r)&&Object.defineProperty(e,r,{enumerable:!0,get:t[r]})},i.f={},i.e=e=>Promise.all(Object.keys(i.f).reduce(((t,r)=>(i.f[r](e,t),t)),[])),i.u=e=>({212:"nr-spa-compressor",249:"nr-spa-recorder",478:"nr-spa"}[e]+"-1.281.0.min.js"),i.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),e={},t="NRBA-1.281.0.PROD:",i.l=(r,n,o,a)=>{if(e[r])e[r].push(n);else{var s,c;if(void 0!==o)for(var u=document.getElementsByTagName("script"),d=0;d<u.length;d++){var l=u[d];if(l.getAttribute("src")==r||l.getAttribute("data-webpack")==t+o){s=l;break}}if(!s){c=!0;var f={478:"sha512-jmvAlmjCn64ans8tLueqHRlBI/iWekylsDWb94A77CG0ukSriVDvgD3dThx+XjUSBBBMYhFn8B1a18fViyBPEQ==",249:"sha512-ICY/ZrcytM/86t5KFy+9OAWVYmNNJy10EBtxoSUGjQWuZx53p/eLo+L8HfrGjvHuRHRnutqLTGSnvNttffJkaA==",212:"sha512-pQSn+X/RfBOvx/49HvlghaiXMLhhDQXTi13n1N2XMpDquWJgs9U0pbqE3RbAnYC9nsdaTu/RVGvneEPv1fpCxA=="};(s=document.createElement("script")).charset="utf-8",s.timeout=120,i.nc&&s.setAttribute("nonce",i.nc),s.setAttribute("data-webpack",t+o),s.src=r,0!==s.src.indexOf(window.location.origin+"/")&&(s.crossOrigin="anonymous"),f[a]&&(s.integrity=f[a])}e[r]=[n];var h=(t,n)=>{s.onerror=s.onload=null,clearTimeout(p);var i=e[r];if(delete e[r],s.parentNode&&s.parentNode.removeChild(s),i&&i.forEach((e=>e(n))),t)return t(n)},p=setTimeout(h.bind(null,void 0,{type:"timeout",target:s}),12e4);s.onerror=h.bind(null,s.onerror),s.onload=h.bind(null,s.onload),c&&document.head.appendChild(s)}},i.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},i.p="https://js-agent.newrelic.com/",(()=>{var e={38:0,788:0};i.f.j=(t,r)=>{var n=i.o(e,t)?e[t]:void 0;if(0!==n)if(n)r.push(n[2]);else{var o=new Promise(((r,i)=>n=e[t]=[r,i]));r.push(n[2]=o);var a=i.p+i.u(t),s=new Error;i.l(a,(r=>{if(i.o(e,t)&&(0!==(n=e[t])&&(e[t]=void 0),n)){var o=r&&("load"===r.type?"missing":r.type),a=r&&r.target&&r.target.src;s.message="Loading chunk "+t+" failed.\n("+o+": "+a+")",s.name="ChunkLoadError",s.type=o,s.request=a,n[1](s)}}),"chunk-"+t,t)}};var t=(t,r)=>{var n,o,[a,s,c]=r,u=0;if(a.some((t=>0!==e[t]))){for(n in s)i.o(s,n)&&(i.m[n]=s[n]);if(c)c(i)}for(t&&t(r);u<a.length;u++)o=a[u],i.o(e,o)&&e[o]&&e[o][0](),e[o]=0},r=self["webpackChunk:NRBA-1.281.0.PROD"]=self["webpackChunk:NRBA-1.281.0.PROD"]||[];r.forEach(t.bind(null,0)),r.push=t.bind(null,r.push.bind(r))})(),(()=>{"use strict";i(8374);var e=i(944),t=i(6344),r=i(9566);class n{agentIdentifier;constructor(){this.agentIdentifier=(0,r.LA)(16)}#e(t,...r){if("function"==typeof this.api?.[t])return this.api[t](...r);(0,e.R)(35,t)}addPageAction(e,t){return this.#e("addPageAction",e,t)}recordCustomEvent(e,t){return this.#e("recordCustomEvent",e,t)}setPageViewName(e,t){return this.#e("setPageViewName",e,t)}setCustomAttribute(e,t,r){return this.#e("setCustomAttribute",e,t,r)}noticeError(e,t){return this.#e("noticeError",e,t)}setUserId(e){return this.#e("setUserId",e)}setApplicationVersion(e){return this.#e("setApplicationVersion",e)}setErrorHandler(e){return this.#e("setErrorHandler",e)}addRelease(e,t){return this.#e("addRelease",e,t)}log(e,t){return this.#e("log",e,t)}}class o extends n{#e(t,...r){if("function"==typeof this.api?.[t])return this.api[t](...r);(0,e.R)(35,t)}start(){return this.#e("start")}finished(e){return this.#e("finished",e)}recordReplay(){return this.#e(t.G4.RECORD)}pauseReplay(){return this.#e(t.G4.PAUSE)}addToTrace(e){return this.#e("addToTrace",e)}setCurrentRouteName(e){return this.#e("setCurrentRouteName",e)}interaction(){return this.#e("interaction")}wrapLogger(e,t,r){return this.#e("wrapLogger",e,t,r)}}var a=i(860),s=i(9417);const c=Object.values(a.K7);function u(e){const t={};return c.forEach((r=>{t[r]=function(e,t){return!0===(0,s.gD)(t,"".concat(e,".enabled"))}(r,e)})),t}var d=i(425);var l=i(1687),f=i(4234),h=i(5289),p=i(6154),g=i(5270),m=i(7767),v=i(6389);class b extends f.W{constructor(e,t,r=!0){super(e.agentIdentifier,t),this.auto=r,this.abortHandler=void 0,this.featAggregate=void 0,this.onAggregateImported=void 0,!1===e.init[this.featureName].autoStart&&(this.auto=!1),this.auto?(0,l.Ak)(e.agentIdentifier,t):this.ee.on("manual-start-all",(0,v.J)((()=>{(0,l.Ak)(e.agentIdentifier,this.featureName),this.auto=!0,this.importAggregator(e)})))}importAggregator(t,r={}){if(this.featAggregate||!this.auto)return;let n;this.onAggregateImported=new Promise((e=>{n=e}));const o=async()=>{let o;try{if((0,m.V)(this.agentIdentifier)){const{setupAgentSession:e}=await i.e(478).then(i.bind(i,6526));o=e(t)}}catch(t){(0,e.R)(20,t),this.ee.emit("internal-error",[t]),this.featureName===a.K7.sessionReplay&&this.abortHandler?.()}try{if(!this.#t(this.featureName,o))return(0,l.Ze)(this.agentIdentifier,this.featureName),void n(!1);const{lazyFeatureLoader:e}=await i.e(478).then(i.bind(i,6103)),{Aggregate:a}=await e(this.featureName,"aggregate");this.featAggregate=new a(t,r),t.runtime.harvester.initializedAggregates.push(this.featAggregate),n(!0)}catch(t){(0,e.R)(34,t),this.abortHandler?.(),(0,l.Ze)(this.agentIdentifier,this.featureName,!0),n(!1),this.ee&&this.ee.abort()}};p.RI?(0,h.GG)((()=>o()),!0):o()}#t(e,t){switch(e){case a.K7.sessionReplay:return(0,g.SR)(this.agentIdentifier)&&!!t;case a.K7.sessionTrace:return!!t;default:return!0}}}var y=i(6630);class w extends b{static featureName=y.T;constructor(e,t=!0){super(e,y.T,t),this.importAggregator(e)}}var R=i(384);var x=i(9908),E=i(2843),T=i(3878),A=i(782),S=i(1863);class N extends b{static featureName=A.T;constructor(e,t=!0){super(e,A.T,t),p.RI&&((0,E.u)((()=>(0,x.p)("docHidden",[(0,S.t)()],void 0,A.T,this.ee)),!0),(0,T.sp)("pagehide",(()=>(0,x.p)("winPagehide",[(0,S.t)()],void 0,A.T,this.ee))),this.importAggregator(e))}}var _=i(3969);class O extends b{static featureName=_.TZ;constructor(e,t=!0){super(e,_.TZ,t),this.importAggregator(e)}}var I=i(6774),P=i(3304);class j{constructor(e,t,r,n,i){this.name="UncaughtError",this.message="string"==typeof e?e:(0,P.A)(e),this.sourceURL=t,this.line=r,this.column=n,this.__newrelic=i}}function C(e){return H(e)?e:new j(void 0!==e?.message?e.message:e,e?.filename||e?.sourceURL,e?.lineno||e?.line,e?.colno||e?.col,e?.__newrelic)}function k(e){const t="Unhandled Promise Rejection";if(!e?.reason)return;if(H(e.reason))try{return e.reason.message=t+": "+e.reason.message,C(e.reason)}catch(t){return C(e.reason)}const r=C(e.reason);return r.message=t+": "+r?.message,r}function L(e){if(e.error instanceof SyntaxError&&!/:\d+$/.test(e.error.stack?.trim())){const t=new j(e.message,e.filename,e.lineno,e.colno,e.error.__newrelic);return t.name=SyntaxError.name,t}return H(e.error)?e.error:C(e)}function H(e){return e instanceof Error&&!!e.stack}class M extends b{static featureName=I.T;#r=!1;constructor(e,r=!0){super(e,I.T,r);try{this.removeOnAbort=new AbortController}catch(e){}this.ee.on("internal-error",((e,t)=>{this.abortHandler&&(0,x.p)("ierr",[C(e),(0,S.t)(),!0,{},this.#r,t],void 0,this.featureName,this.ee)})),this.ee.on(t.G4.REPLAY_RUNNING,(e=>{this.#r=e})),p.gm.addEventListener("unhandledrejection",(e=>{this.abortHandler&&(0,x.p)("err",[k(e),(0,S.t)(),!1,{unhandledPromiseRejection:1},this.#r],void 0,this.featureName,this.ee)}),(0,T.jT)(!1,this.removeOnAbort?.signal)),p.gm.addEventListener("error",(e=>{this.abortHandler&&(0,x.p)("err",[L(e),(0,S.t)(),!1,{},this.#r],void 0,this.featureName,this.ee)}),(0,T.jT)(!1,this.removeOnAbort?.signal)),this.abortHandler=this.#n,this.importAggregator(e)}#n(){this.removeOnAbort?.abort(),this.abortHandler=void 0}}var D=i(8990);let K=1;const U="nr@id";function V(e){const t=typeof e;return!e||"object"!==t&&"function"!==t?-1:e===p.gm?0:(0,D.I)(e,U,(function(){return K++}))}function G(e){if("string"==typeof e&&e.length)return e.length;if("object"==typeof e){if("undefined"!=typeof ArrayBuffer&&e instanceof ArrayBuffer&&e.byteLength)return e.byteLength;if("undefined"!=typeof Blob&&e instanceof Blob&&e.size)return e.size;if(!("undefined"!=typeof FormData&&e instanceof FormData))try{return(0,P.A)(e).length}catch(e){return}}}var F=i(8139),B=i(7836),W=i(3434);const z={},q=["open","send"];function Z(t){var r=t||B.ee;const n=function(e){return(e||B.ee).get("xhr")}(r);if(void 0===p.gm.XMLHttpRequest)return n;if(z[n.debugId]++)return n;z[n.debugId]=1,(0,F.u)(r);var i=(0,W.YM)(n),o=p.gm.XMLHttpRequest,a=p.gm.MutationObserver,s=p.gm.Promise,c=p.gm.setInterval,u="readystatechange",d=["onload","onerror","onabort","onloadstart","onloadend","onprogress","ontimeout"],l=[],f=p.gm.XMLHttpRequest=function(t){const r=new o(t),a=n.context(r);try{n.emit("new-xhr",[r],a),r.addEventListener(u,(s=a,function(){var e=this;e.readyState>3&&!s.resolved&&(s.resolved=!0,n.emit("xhr-resolved",[],e)),i.inPlace(e,d,"fn-",y)}),(0,T.jT)(!1))}catch(t){(0,e.R)(15,t);try{n.emit("internal-error",[t])}catch(e){}}var s;return r};function h(e,t){i.inPlace(t,["onreadystatechange"],"fn-",y)}if(function(e,t){for(var r in e)t[r]=e[r]}(o,f),f.prototype=o.prototype,i.inPlace(f.prototype,q,"-xhr-",y),n.on("send-xhr-start",(function(e,t){h(e,t),function(e){l.push(e),a&&(g?g.then(b):c?c(b):(m=-m,v.data=m))}(t)})),n.on("open-xhr-start",h),a){var g=s&&s.resolve();if(!c&&!s){var m=1,v=document.createTextNode(m);new a(b).observe(v,{characterData:!0})}}else r.on("fn-end",(function(e){e[0]&&e[0].type===u||b()}));function b(){for(var e=0;e<l.length;e++)h(0,l[e]);l.length&&(l=[])}function y(e,t){return t}return n}var Y="fetch-",X=Y+"body-",J=["arrayBuffer","blob","json","text","formData"],Q=p.gm.Request,ee=p.gm.Response,te="prototype";const re={};function ne(e){const t=function(e){return(e||B.ee).get("fetch")}(e);if(!(Q&&ee&&p.gm.fetch))return t;if(re[t.debugId]++)return t;function r(e,r,n){var i=e[r];"function"==typeof i&&(e[r]=function(){var e,r=[...arguments],o={};t.emit(n+"before-start",[r],o),o[B.P]&&o[B.P].dt&&(e=o[B.P].dt);var a=i.apply(this,r);return t.emit(n+"start",[r,e],a),a.then((function(e){return t.emit(n+"end",[null,e],a),e}),(function(e){throw t.emit(n+"end",[e],a),e}))})}return re[t.debugId]=1,J.forEach((e=>{r(Q[te],e,X),r(ee[te],e,X)})),r(p.gm,"fetch",Y),t.on(Y+"end",(function(e,r){var n=this;if(r){var i=r.headers.get("content-length");null!==i&&(n.rxSize=i),t.emit(Y+"done",[null,r],n)}else t.emit(Y+"done",[e],n)})),t}var ie=i(7485),oe=i(5603);class ae{constructor(e){this.agentIdentifier=e}generateTracePayload(e){if(!this.shouldGenerateTrace(e))return null;var t=(0,oe.o)(this.agentIdentifier);if(!t)return null;var n=(t.accountID||"").toString()||null,i=(t.agentID||"").toString()||null,o=(t.trustKey||"").toString()||null;if(!n||!i)return null;var a=(0,r.ZF)(),s=(0,r.el)(),c=Date.now(),u={spanId:a,traceId:s,timestamp:c};return(e.sameOrigin||this.isAllowedOrigin(e)&&this.useTraceContextHeadersForCors())&&(u.traceContextParentHeader=this.generateTraceContextParentHeader(a,s),u.traceContextStateHeader=this.generateTraceContextStateHeader(a,c,n,i,o)),(e.sameOrigin&&!this.excludeNewrelicHeader()||!e.sameOrigin&&this.isAllowedOrigin(e)&&this.useNewrelicHeaderForCors())&&(u.newrelicHeader=this.generateTraceHeader(a,s,c,n,i,o)),u}generateTraceContextParentHeader(e,t){return"00-"+t+"-"+e+"-01"}generateTraceContextStateHeader(e,t,r,n,i){return i+"@nr=0-1-"+r+"-"+n+"-"+e+"----"+t}generateTraceHeader(e,t,r,n,i,o){if(!("function"==typeof p.gm?.btoa))return null;var a={v:[0,1],d:{ty:"Browser",ac:n,ap:i,id:e,tr:t,ti:r}};return o&&n!==o&&(a.d.tk=o),btoa((0,P.A)(a))}shouldGenerateTrace(e){return this.isDtEnabled()&&this.isAllowedOrigin(e)}isAllowedOrigin(e){var t=!1,r={};if((0,s.gD)(this.agentIdentifier,"distributed_tracing")&&(r=(0,s.D0)(this.agentIdentifier).distributed_tracing),e.sameOrigin)t=!0;else if(r.allowed_origins instanceof Array)for(var n=0;n<r.allowed_origins.length;n++){var i=(0,ie.D)(r.allowed_origins[n]);if(e.hostname===i.hostname&&e.protocol===i.protocol&&e.port===i.port){t=!0;break}}return t}isDtEnabled(){var e=(0,s.gD)(this.agentIdentifier,"distributed_tracing");return!!e&&!!e.enabled}excludeNewrelicHeader(){var e=(0,s.gD)(this.agentIdentifier,"distributed_tracing");return!!e&&!!e.exclude_newrelic_header}useNewrelicHeaderForCors(){var e=(0,s.gD)(this.agentIdentifier,"distributed_tracing");return!!e&&!1!==e.cors_use_newrelic_header}useTraceContextHeadersForCors(){var e=(0,s.gD)(this.agentIdentifier,"distributed_tracing");return!!e&&!!e.cors_use_tracecontext_headers}}var se=i(9300),ce=i(7295),ue=["load","error","abort","timeout"],de=ue.length,le=(0,R.dV)().o.REQ,fe=(0,R.dV)().o.XHR;class he extends b{static featureName=se.T;constructor(e,t=!0){super(e,se.T,t),this.dt=new ae(e.agentIdentifier),this.handler=(e,t,r,n)=>(0,x.p)(e,t,r,n,this.ee);try{const e={xmlhttprequest:"xhr",fetch:"fetch",beacon:"beacon"};p.gm?.performance?.getEntriesByType("resource").forEach((t=>{if(t.initiatorType in e&&0!==t.responseStatus){const r={status:t.responseStatus},n={rxSize:t.transferSize,duration:Math.floor(t.duration),cbTime:0};pe(r,t.name),this.handler("xhr",[r,n,t.startTime,t.responseEnd,e[t.initiatorType]],void 0,a.K7.ajax)}}))}catch(e){}ne(this.ee),Z(this.ee),function(e,t,r,n){function i(e){var t=this;t.totalCbs=0,t.called=0,t.cbTime=0,t.end=R,t.ended=!1,t.xhrGuids={},t.lastSize=null,t.loadCaptureCalled=!1,t.params=this.params||{},t.metrics=this.metrics||{},e.addEventListener("load",(function(r){E(t,e)}),(0,T.jT)(!1)),p.lR||e.addEventListener("progress",(function(e){t.lastSize=e.loaded}),(0,T.jT)(!1))}function o(e){this.params={method:e[0]},pe(this,e[1]),this.metrics={}}function s(t,r){e.loader_config.xpid&&this.sameOrigin&&r.setRequestHeader("X-NewRelic-ID",e.loader_config.xpid);var i=n.generateTracePayload(this.parsedOrigin);if(i){var o=!1;i.newrelicHeader&&(r.setRequestHeader("newrelic",i.newrelicHeader),o=!0),i.traceContextParentHeader&&(r.setRequestHeader("traceparent",i.traceContextParentHeader),i.traceContextStateHeader&&r.setRequestHeader("tracestate",i.traceContextStateHeader),o=!0),o&&(this.dt=i)}}function c(e,r){var n=this.metrics,i=e[0],o=this;if(n&&i){var a=G(i);a&&(n.txSize=a)}this.startTime=(0,S.t)(),this.body=i,this.listener=function(e){try{"abort"!==e.type||o.loadCaptureCalled||(o.params.aborted=!0),("load"!==e.type||o.called===o.totalCbs&&(o.onloadCalled||"function"!=typeof r.onload)&&"function"==typeof o.end)&&o.end(r)}catch(e){try{t.emit("internal-error",[e])}catch(e){}}};for(var s=0;s<de;s++)r.addEventListener(ue[s],this.listener,(0,T.jT)(!1))}function u(e,t,r){this.cbTime+=e,t?this.onloadCalled=!0:this.called+=1,this.called!==this.totalCbs||!this.onloadCalled&&"function"==typeof r.onload||"function"!=typeof this.end||this.end(r)}function d(e,t){var r=""+V(e)+!!t;this.xhrGuids&&!this.xhrGuids[r]&&(this.xhrGuids[r]=!0,this.totalCbs+=1)}function l(e,t){var r=""+V(e)+!!t;this.xhrGuids&&this.xhrGuids[r]&&(delete this.xhrGuids[r],this.totalCbs-=1)}function f(){this.endTime=(0,S.t)()}function h(e,r){r instanceof fe&&"load"===e[0]&&t.emit("xhr-load-added",[e[1],e[2]],r)}function g(e,r){r instanceof fe&&"load"===e[0]&&t.emit("xhr-load-removed",[e[1],e[2]],r)}function m(e,t,r){t instanceof fe&&("onload"===r&&(this.onload=!0),("load"===(e[0]&&e[0].type)||this.onload)&&(this.xhrCbStart=(0,S.t)()))}function v(e,r){this.xhrCbStart&&t.emit("xhr-cb-time",[(0,S.t)()-this.xhrCbStart,this.onload,r],r)}function b(e){var t,r=e[1]||{};if("string"==typeof e[0]?0===(t=e[0]).length&&p.RI&&(t=""+p.gm.location.href):e[0]&&e[0].url?t=e[0].url:p.gm?.URL&&e[0]&&e[0]instanceof URL?t=e[0].href:"function"==typeof e[0].toString&&(t=e[0].toString()),"string"==typeof t&&0!==t.length){t&&(this.parsedOrigin=(0,ie.D)(t),this.sameOrigin=this.parsedOrigin.sameOrigin);var i=n.generateTracePayload(this.parsedOrigin);if(i&&(i.newrelicHeader||i.traceContextParentHeader))if(e[0]&&e[0].headers)s(e[0].headers,i)&&(this.dt=i);else{var o={};for(var a in r)o[a]=r[a];o.headers=new Headers(r.headers||{}),s(o.headers,i)&&(this.dt=i),e.length>1?e[1]=o:e.push(o)}}function s(e,t){var r=!1;return t.newrelicHeader&&(e.set("newrelic",t.newrelicHeader),r=!0),t.traceContextParentHeader&&(e.set("traceparent",t.traceContextParentHeader),t.traceContextStateHeader&&e.set("tracestate",t.traceContextStateHeader),r=!0),r}}function y(e,t){this.params={},this.metrics={},this.startTime=(0,S.t)(),this.dt=t,e.length>=1&&(this.target=e[0]),e.length>=2&&(this.opts=e[1]);var r,n=this.opts||{},i=this.target;"string"==typeof i?r=i:"object"==typeof i&&i instanceof le?r=i.url:p.gm?.URL&&"object"==typeof i&&i instanceof URL&&(r=i.href),pe(this,r);var o=(""+(i&&i instanceof le&&i.method||n.method||"GET")).toUpperCase();this.params.method=o,this.body=n.body,this.txSize=G(n.body)||0}function w(e,t){if(this.endTime=(0,S.t)(),this.params||(this.params={}),(0,ce.iW)(this.params))return;let n;this.params.status=t?t.status:0,"string"==typeof this.rxSize&&this.rxSize.length>0&&(n=+this.rxSize);const i={txSize:this.txSize,rxSize:n,duration:(0,S.t)()-this.startTime};r("xhr",[this.params,i,this.startTime,this.endTime,"fetch"],this,a.K7.ajax)}function R(e){const t=this.params,n=this.metrics;if(!this.ended){this.ended=!0;for(let t=0;t<de;t++)e.removeEventListener(ue[t],this.listener,!1);t.aborted||(0,ce.iW)(t)||(n.duration=(0,S.t)()-this.startTime,this.loadCaptureCalled||4!==e.readyState?null==t.status&&(t.status=0):E(this,e),n.cbTime=this.cbTime,r("xhr",[t,n,this.startTime,this.endTime,"xhr"],this,a.K7.ajax))}}function E(e,r){e.params.status=r.status;var n=function(e,t){var r=e.responseType;return"json"===r&&null!==t?t:"arraybuffer"===r||"blob"===r||"json"===r?G(e.response):"text"===r||""===r||void 0===r?G(e.responseText):void 0}(r,e.lastSize);if(n&&(e.metrics.rxSize=n),e.sameOrigin){var i=r.getResponseHeader("X-NewRelic-App-Data");i&&((0,x.p)(_.rs,["Ajax/CrossApplicationTracing/Header/Seen"],void 0,a.K7.metrics,t),e.params.cat=i.split(", ").pop())}e.loadCaptureCalled=!0}t.on("new-xhr",i),t.on("open-xhr-start",o),t.on("open-xhr-end",s),t.on("send-xhr-start",c),t.on("xhr-cb-time",u),t.on("xhr-load-added",d),t.on("xhr-load-removed",l),t.on("xhr-resolved",f),t.on("addEventListener-end",h),t.on("removeEventListener-end",g),t.on("fn-end",v),t.on("fetch-before-start",b),t.on("fetch-start",y),t.on("fn-start",m),t.on("fetch-done",w)}(e,this.ee,this.handler,this.dt),this.importAggregator(e)}}function pe(e,t){var r=(0,ie.D)(t),n=e.params||e;n.hostname=r.hostname,n.port=r.port,n.protocol=r.protocol,n.host=r.hostname+":"+r.port,n.pathname=r.pathname,e.parsedOrigin=r,e.sameOrigin=r.sameOrigin}const ge={},me=["pushState","replaceState"];function ve(e){const t=function(e){return(e||B.ee).get("history")}(e);return!p.RI||ge[t.debugId]++||(ge[t.debugId]=1,(0,W.YM)(t).inPlace(window.history,me,"-")),t}var be=i(3738);const{He:ye,bD:we,d3:Re,Kp:xe,TZ:Ee,Lc:Te,uP:Ae,Rz:Se}=be;class Ne extends b{static featureName=Ee;constructor(e,t=!0){super(e,Ee,t);if(!(0,m.V)(this.agentIdentifier))return void this.deregisterDrain();const r=this.ee;let n;ve(r),this.eventsEE=(0,F.u)(r),this.eventsEE.on(Ae,(function(e,t){this.bstStart=(0,S.t)()})),this.eventsEE.on(Te,(function(e,t){(0,x.p)("bst",[e[0],t,this.bstStart,(0,S.t)()],void 0,a.K7.sessionTrace,r)})),r.on(Se+Re,(function(e){this.time=(0,S.t)(),this.startPath=location.pathname+location.hash})),r.on(Se+xe,(function(e){(0,x.p)("bstHist",[location.pathname+location.hash,this.startPath,this.time],void 0,a.K7.sessionTrace,r)}));try{n=new PerformanceObserver((e=>{const t=e.getEntries();(0,x.p)(ye,[t],void 0,a.K7.sessionTrace,r)})),n.observe({type:we,buffered:!0})}catch(e){}this.importAggregator(e,{resourceObserver:n})}}var _e=i(2614);class Oe extends b{static featureName=t.TZ;#i;#o;constructor(e,r=!0){let n;super(e,t.TZ,r),this.replayRunning=!1,this.#o=e;try{n=JSON.parse(localStorage.getItem("".concat(_e.H3,"_").concat(_e.uh)))}catch(e){}(0,g.SR)(e.agentIdentifier)&&this.ee.on(t.G4.RECORD,(()=>this.#a())),this.#s(n)?(this.#i=n?.sessionReplayMode,this.#c()):this.importAggregator(e),this.ee.on("err",(e=>{this.replayRunning&&(this.errorNoticed=!0,(0,x.p)(t.G4.ERROR_DURING_REPLAY,[e],void 0,this.featureName,this.ee))})),this.ee.on(t.G4.REPLAY_RUNNING,(e=>{this.replayRunning=e}))}#s(e){return e&&(e.sessionReplayMode===_e.g.FULL||e.sessionReplayMode===_e.g.ERROR)||(0,g.Aw)(this.agentIdentifier)}#u=!1;async#c(e){if(!this.#u){this.#u=!0;try{const{Recorder:t}=await Promise.all([i.e(478),i.e(249)]).then(i.bind(i,8589));this.recorder??=new t({mode:this.#i,agentIdentifier:this.agentIdentifier,trigger:e,ee:this.ee,agentRef:this.#o}),this.recorder.startRecording(),this.abortHandler=this.recorder.stopRecording}catch(e){}this.importAggregator(this.#o,{recorder:this.recorder,errorNoticed:this.errorNoticed})}}#a(){this.featAggregate?this.featAggregate.mode!==_e.g.FULL&&this.featAggregate.initializeRecording(_e.g.FULL,!0):(this.#i=_e.g.FULL,this.#c(t.Qb.API),this.recorder&&this.recorder.parent.mode!==_e.g.FULL&&(this.recorder.parent.mode=_e.g.FULL,this.recorder.stopRecording(),this.recorder.startRecording(),this.abortHandler=this.recorder.stopRecording))}}var Ie=i(3962);class Pe extends b{static featureName=Ie.TZ;constructor(e,t=!0){if(super(e,Ie.TZ,t),!p.RI||!(0,R.dV)().o.MO)return;const r=ve(this.ee);Ie.tC.forEach((e=>{(0,T.sp)(e,(e=>{a(e)}),!0)}));const n=()=>(0,x.p)("newURL",[(0,S.t)(),""+window.location],void 0,this.featureName,this.ee);r.on("pushState-end",n),r.on("replaceState-end",n);try{this.removeOnAbort=new AbortController}catch(e){}(0,T.sp)("popstate",(e=>(0,x.p)("newURL",[e.timeStamp,""+window.location],void 0,this.featureName,this.ee)),!0,this.removeOnAbort?.signal);let i=!1;const o=new((0,R.dV)().o.MO)(((e,t)=>{i||(i=!0,requestAnimationFrame((()=>{(0,x.p)("newDom",[(0,S.t)()],void 0,this.featureName,this.ee),i=!1})))})),a=(0,v.s)((e=>{(0,x.p)("newUIEvent",[e],void 0,this.featureName,this.ee),o.observe(document.body,{attributes:!0,childList:!0,subtree:!0,characterData:!0})}),100,{leading:!0});this.abortHandler=function(){this.removeOnAbort?.abort(),o.disconnect(),this.abortHandler=void 0},this.importAggregator(e,{domObserver:o})}}var je=i(7378);const Ce={},ke=["appendChild","insertBefore","replaceChild"];function Le(e){const t=function(e){return(e||B.ee).get("jsonp")}(e);if(!p.RI||Ce[t.debugId])return t;Ce[t.debugId]=!0;var r=(0,W.YM)(t),n=/[?&](?:callback|cb)=([^&#]+)/,i=/(.*)\.([^.]+)/,o=/^(\w+)(\.|$)(.*)$/;function a(e,t){if(!e)return t;const r=e.match(o),n=r[1];return a(r[3],t[n])}return r.inPlace(Node.prototype,ke,"dom-"),t.on("dom-start",(function(e){!function(e){if(!e||"string"!=typeof e.nodeName||"script"!==e.nodeName.toLowerCase())return;if("function"!=typeof e.addEventListener)return;var o=(s=e.src,c=s.match(n),c?c[1]:null);var s,c;if(!o)return;var u=function(e){var t=e.match(i);if(t&&t.length>=3)return{key:t[2],parent:a(t[1],window)};return{key:e,parent:window}}(o);if("function"!=typeof u.parent[u.key])return;var d={};function l(){t.emit("jsonp-end",[],d),e.removeEventListener("load",l,(0,T.jT)(!1)),e.removeEventListener("error",f,(0,T.jT)(!1))}function f(){t.emit("jsonp-error",[],d),t.emit("jsonp-end",[],d),e.removeEventListener("load",l,(0,T.jT)(!1)),e.removeEventListener("error",f,(0,T.jT)(!1))}r.inPlace(u.parent,[u.key],"cb-",d),e.addEventListener("load",l,(0,T.jT)(!1)),e.addEventListener("error",f,(0,T.jT)(!1)),t.emit("new-jsonp",[e.src],d)}(e[0])})),t}const He={};function Me(e){const t=function(e){return(e||B.ee).get("promise")}(e);if(He[t.debugId])return t;He[t.debugId]=!0;var r=t.context,n=(0,W.YM)(t),i=p.gm.Promise;return i&&function(){function e(r){var o=t.context(),a=n(r,"executor-",o,null,!1);const s=Reflect.construct(i,[a],e);return t.context(s).getCtx=function(){return o},s}p.gm.Promise=e,Object.defineProperty(e,"name",{value:"Promise"}),e.toString=function(){return i.toString()},Object.setPrototypeOf(e,i),["all","race"].forEach((function(r){const n=i[r];e[r]=function(e){let i=!1;[...e||[]].forEach((e=>{this.resolve(e).then(a("all"===r),a(!1))}));const o=n.apply(this,arguments);return o;function a(e){return function(){t.emit("propagate",[null,!i],o,!1,!1),i=i||!e}}}})),["resolve","reject"].forEach((function(r){const n=i[r];e[r]=function(e){const r=n.apply(this,arguments);return e!==r&&t.emit("propagate",[e,!0],r,!1,!1),r}})),e.prototype=i.prototype;const o=i.prototype.then;i.prototype.then=function(...e){var i=this,a=r(i);a.promise=i,e[0]=n(e[0],"cb-",a,null,!1),e[1]=n(e[1],"cb-",a,null,!1);const s=o.apply(this,e);return a.nextPromise=s,t.emit("propagate",[i,!0],s,!1,!1),s},i.prototype.then[W.Jt]=o,t.on("executor-start",(function(e){e[0]=n(e[0],"resolve-",this,null,!1),e[1]=n(e[1],"resolve-",this,null,!1)})),t.on("executor-err",(function(e,t,r){e[1](r)})),t.on("cb-end",(function(e,r,n){t.emit("propagate",[n,!0],this.nextPromise,!1,!1)})),t.on("propagate",(function(e,r,n){this.getCtx&&!r||(this.getCtx=function(){if(e instanceof Promise)var r=t.context(e);return r&&r.getCtx?r.getCtx():this})}))}(),t}const De={},Ke="setTimeout",Ue="setInterval",Ve="clearTimeout",Ge="-start",Fe=[Ke,"setImmediate",Ue,Ve,"clearImmediate"];function Be(e){const t=function(e){return(e||B.ee).get("timer")}(e);if(De[t.debugId]++)return t;De[t.debugId]=1;var r=(0,W.YM)(t);return r.inPlace(p.gm,Fe.slice(0,2),Ke+"-"),r.inPlace(p.gm,Fe.slice(2,3),Ue+"-"),r.inPlace(p.gm,Fe.slice(3),Ve+"-"),t.on(Ue+Ge,(function(e,t,n){e[0]=r(e[0],"fn-",null,n)})),t.on(Ke+Ge,(function(e,t,n){this.method=n,this.timerDuration=isNaN(e[1])?0:+e[1],e[0]=r(e[0],"fn-",this,n)})),t}const We={};function ze(e){const t=function(e){return(e||B.ee).get("mutation")}(e);if(!p.RI||We[t.debugId])return t;We[t.debugId]=!0;var r=(0,W.YM)(t),n=p.gm.MutationObserver;return n&&(window.MutationObserver=function(e){return this instanceof n?new n(r(e,"fn-")):n.apply(this,arguments)},MutationObserver.prototype=n.prototype),t}const{TZ:qe,d3:Ze,Kp:Ye,$p:Xe,wW:$e,e5:Je,tH:Qe,uP:et,rw:tt,Lc:rt}=je;class nt extends b{static featureName=qe;constructor(e,t=!0){if(super(e,qe,t),!p.RI)return;try{this.removeOnAbort=new AbortController}catch(e){}let r,n=0;const i=this.ee.get("tracer"),o=Le(this.ee),a=Me(this.ee),s=Be(this.ee),c=Z(this.ee),u=this.ee.get("events"),d=ne(this.ee),l=ve(this.ee),f=ze(this.ee);function h(e,t){l.emit("newURL",[""+window.location,t])}function g(){n++,r=window.location.hash,this[et]=(0,S.t)()}function m(){n--,window.location.hash!==r&&h(0,!0);var e=(0,S.t)();this[Je]=~~this[Je]+e-this[et],this[rt]=e}function v(e,t){e.on(t,(function(){this[t]=(0,S.t)()}))}this.ee.on(et,g),a.on(tt,g),o.on(tt,g),this.ee.on(rt,m),a.on($e,m),o.on($e,m),this.ee.on("fn-err",((...t)=>{t[2]?.__newrelic?.[e.agentIdentifier]||(0,x.p)("function-err",[...t],void 0,this.featureName,this.ee)})),this.ee.buffer([et,rt,"xhr-resolved"],this.featureName),u.buffer([et],this.featureName),s.buffer(["setTimeout"+Ye,"clearTimeout"+Ze,et],this.featureName),c.buffer([et,"new-xhr","send-xhr"+Ze],this.featureName),d.buffer([Qe+Ze,Qe+"-done",Qe+Xe+Ze,Qe+Xe+Ye],this.featureName),l.buffer(["newURL"],this.featureName),f.buffer([et],this.featureName),a.buffer(["propagate",tt,$e,"executor-err","resolve"+Ze],this.featureName),i.buffer([et,"no-"+et],this.featureName),o.buffer(["new-jsonp","cb-start","jsonp-error","jsonp-end"],this.featureName),v(d,Qe+Ze),v(d,Qe+"-done"),v(o,"new-jsonp"),v(o,"jsonp-end"),v(o,"cb-start"),l.on("pushState-end",h),l.on("replaceState-end",h),window.addEventListener("hashchange",h,(0,T.jT)(!0,this.removeOnAbort?.signal)),window.addEventListener("load",h,(0,T.jT)(!0,this.removeOnAbort?.signal)),window.addEventListener("popstate",(function(){h(0,n>1)}),(0,T.jT)(!0,this.removeOnAbort?.signal)),this.abortHandler=this.#n,this.importAggregator(e)}#n(){this.removeOnAbort?.abort(),this.abortHandler=void 0}}var it=i(3333);class ot extends b{static featureName=it.TZ;constructor(e,t=!0){super(e,it.TZ,t);const r=[e.init.page_action.enabled,e.init.performance.capture_marks,e.init.performance.capture_measures,e.init.user_actions.enabled,e.init.performance.resources.enabled];if(p.RI&&(e.init.user_actions.enabled&&(it.Zp.forEach((e=>(0,T.sp)(e,(e=>(0,x.p)("ua",[e],void 0,this.featureName,this.ee)),!0))),it.qN.forEach((e=>{const t=(0,v.s)((e=>{(0,x.p)("ua",[e],void 0,this.featureName,this.ee)}),500,{leading:!0});(0,T.sp)(e,t)}))),e.init.performance.resources.enabled&&p.gm.PerformanceObserver?.supportedEntryTypes.includes("resource"))){new PerformanceObserver((e=>{e.getEntries().forEach((e=>{(0,x.p)("browserPerformance.resource",[e],void 0,this.featureName,this.ee)}))})).observe({type:"resource",buffered:!0})}r.some((e=>e))?this.importAggregator(e):this.deregisterDrain()}}var at=i(993),st=i(3785);class ct extends b{static featureName=at.TZ;constructor(e,t=!0){super(e,at.TZ,t);const r=this.ee;this.ee.on("wrap-logger-end",(function([e]){const{level:t,customAttributes:n}=this;(0,st.R)(r,e,n,t)})),this.importAggregator(e)}}new class extends o{constructor(t){super(),p.gm?(this.features={},(0,R.bQ)(this.agentIdentifier,this),this.desiredFeatures=new Set(t.features||[]),this.desiredFeatures.add(w),this.runSoftNavOverSpa=[...this.desiredFeatures].some((e=>e.featureName===a.K7.softNav)),(0,d.j)(this,t,t.loaderType||"agent"),this.run()):(0,e.R)(21)}get config(){return{info:this.info,init:this.init,loader_config:this.loader_config,runtime:this.runtime}}run(){try{const t=u(this.agentIdentifier),r=[...this.desiredFeatures];r.sort(((e,t)=>a.P3[e.featureName]-a.P3[t.featureName])),r.forEach((r=>{if(!t[r.featureName]&&r.featureName!==a.K7.pageViewEvent)return;if(this.runSoftNavOverSpa&&r.featureName===a.K7.spa)return;if(!this.runSoftNavOverSpa&&r.featureName===a.K7.softNav)return;const n=function(e){switch(e){case a.K7.ajax:return[a.K7.jserrors];case a.K7.sessionTrace:return[a.K7.ajax,a.K7.pageViewEvent];case a.K7.sessionReplay:return[a.K7.sessionTrace];case a.K7.pageViewTiming:return[a.K7.pageViewEvent];default:return[]}}(r.featureName).filter((e=>!(e in this.features)));n.length>0&&(0,e.R)(36,{targetFeature:r.featureName,missingDependencies:n}),this.features[r.featureName]=new r(this)}))}catch(t){(0,e.R)(22,t);for(const e in this.features)this.features[e].abortHandler?.();const r=(0,R.Zm)();delete r.initializedAgents[this.agentIdentifier]?.api,delete r.initializedAgents[this.agentIdentifier]?.features,delete this.sharedAggregator;return r.ee.get(this.agentIdentifier).abort(),!1}}}({features:[he,w,N,Ne,Oe,O,M,ot,ct,Pe,nt],loaderType:"spa"})})()})();</script> <meta name="viewport" content="width=device-width, initial-scale=1"> <!-- GSD-6549 : added Image Tag to Meta Robots for Greater Image Visibility --> <meta name="robots" content="max-image-preview:large"> <!-- BAU-10287: If metacontent is set then use robots tag --> <meta name="description" content="Routledge is a leading book publisher that fosters human progress through knowledge for scholars, instructors and professionals" /> <title>Routledge - Publisher of Professional & Academic Books</title> <!-- GSD-4657 Implementation-Eliminate Render Blocking Resources --> <link rel="preload" href="/js/202702.js" as="script" fetchpriority="low"> <link rel="preload" href="/js/vendor/modernizr.js?ver=1739170365" as="script" fetchpriority="low"> <link rel="preload" href="/js/bootstrap.bundle.min.js" as="script" fetchpriority="high"> <link rel="preconnect" href="https://fonts.gstatic.com" fetchpriority="high"> <link rel="preconnect" href="https://secure.ride8stir.com" fetchpriority="low"> <!-- GSD-2297 : Webeo Tracking --> <script type="text/javascript" src="/js/202702.js" ></script> <link rel="canonical" href="https://www.routledge.com" /> <link rel="shortcut icon" href="/favicon.ico" /> <!-- GSD-2621: Eliminate-render-blocking-resources --> <link rel="preload stylesheet" href="/css/vendor.css" as="style"> <!-- Style sheets --> <link rel="preload stylesheet" href="/css/bootstrap.min.css" as="style" onload="this.media='all';this.onload=null;" fetchpriority="high"> <link rel="preload stylesheet" href="/rsc/css/ubw.css?ver=1739702202" as="style" fetchpriority="high"> <link rel="preload stylesheet" href="/rsc/css/home.css?ver=1739702205" as="style" fetchpriority="high"> <!-- GSD-4799 added the css for embedded videos --> <link rel="preload stylesheet" href="/css/placeholder-loading.min.css" as="style" fetchpriority="high"> <!-- Google web fonts --> <link rel="preload stylesheet" href="//fonts.googleapis.com/css?family=Droid+Serif:400&display=swap" as="style" fetchpriority="high"> <link rel="preload stylesheet" href="https://fonts.googleapis.com/css2?family=Open+Sans:wght@300;400;600;700;800&display=swap" as="style" fetchpriority="high"> <script type="text/javascript" > var userregion = "SG"; var usercurrencyname = "GBP"; var ga_account_consol = ''; var fa_url=''; fa_url='https://authors.taylorandfrancis.com/'; var page=''; page='home'; var loaderImage = '/images/ajax-spinner.gif'; var productDefaultImage = '/img/covers/image-not-available.png'; var productDefaultImageSmall = '/img/covers/default.jpeg'; var loadingImageSmall = '/img/covers/loading-image-sm.png'; </script> <script src="/js/vendor/modernizr.js?ver=1739170365"></script> <!-- GSD-2741 use vendor js file as asynch/defer --> <!-- GSD-7538 for content_pages and go we are not loading JS --> <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.6.0/jquery.min.js" fetchpriority="high"></script> <script src="https://cdn.jsdelivr.net/npm/select2@3.5.1/select2.min.js" defer></script> <!-- GSD-5182: Using separate library for readmore.js --> <script src="/js/readmore.min.js" defer></script> <!-- GSD-4315: Using latest Bootstrap library --> <script src="/js/bootstrap.bundle.min.js"></script> <!-- Font Awesome plus script for FA5 kit --> <!-- GSD-2621: Eliminate-render-blocking-resources --> <link rel="preload stylesheet" href="https://kit-free.fontawesome.com/releases/latest/css/free-v4-shims.min.css" as="style" media="print" onload="this.media='all';this.onload=null;"> <link rel="preload stylesheet" href="https://kit-free.fontawesome.com/releases/latest/css/free-v4-font-face.min.css" as="style" media="print" onload="this.media='all';this.onload=null;"> <link rel="preload stylesheet" href="https://kit-free.fontawesome.com/releases/latest/css/free.min.css" as="style" media="print" onload="this.media='all';this.onload=null;"> <!-- GSD-2619: Reduce JavaScript Execution Time (contentsquare js)--> <script src="/js/contentsquare/2b08024120432.js" defer></script> <!-- BAU-9494: Routledge.com (The Routledge ecommerce site): Urgent--> <script src="https://cdn.optimizely.com/js/19960974376.js" defer></script> <!-- GSD-4028: Investigate Background Images that are Contributing to Poor LCP--> <!-- Preload banner image --> <link rel="preload image" href="/rsc/images/home/CATE24-4220-HOMEPAGE-TIER1-1476x340-3.jpg" as="image"> <!-- GSD-4474: Preload all banner images --> <!-- GSD-4474: Preload all blog post images --> <!-- GSD-4474: Preload go page banner image --> <!-- GSD-4733: Preload Subject Category Landing Page background image --> <!-- GSD-4474: Preload footer logo --> <link rel="preload image" href="/images/routledge-logo-lg.png" as="image"> </head> <body id="up" class="hp"> <!-- BAU-6005: Always keep GTM script just after the <body> tag --> <!-- Google Tag Manager (noscript) --> <noscript><iframe src="https://www.googletagmanager.com/ns.html?id=GTM-KW3LJ3D" height="0" width="0" style="display:none;visibility:hidden"></iframe></noscript> <!-- End Google Tag Manager (noscript) --> <!-- BAU-4614 : Send product page view data to datalayer --> <noscript><img alt="" src="https://secure.ride8stir.com/202702.png" style="display:none" /></noscript> <!-- GSD-2969:Load sale button & sale banner with page load instead of loading through ajax--> <header id="top" class="site"> <a title="Skip to main content of page" class="skip" href="#content">Skip to main content</a> <div class="text-center website_alert"> <div class="ship py-2"><i class="fas fa-shipping-fast me-1"></i> <a href="/policies/shipping-policy">Free standard shipping on all orders</a></div> </div> <div class="container mt-0 mt-sm-2"> <div class="row"> <div class="col-3 d-lg-none bars"> <a href="javascript:void(0);" title="Toggle Menu" data-bs-toggle="collapse" data-bs-target="#navbarSupportedContent" aria-controls="navbarSupportedContent" aria-expanded="false" aria-label="Toggle navigation"> <i class="fas fa-bars fa-2x"></i> </a> </div> <div class="col-6 col-lg-3 order-1 py-3 text-center rlogo"> <!-- GSD-3901:Change alt text to Routledge Home--> <a title="Links to Routledge Home Page" href="/"><img class="img-fluid m-0" width="214" height="60" src="/images/routledge-logo.png" alt="Routledge Home" /></a> </div> <div class="col-12 col-lg-6 order-3 order-lg-3 srch"> <form id="basicSrchFrm" class="position-relative" action="/search" method="GET" role="search"> <div class="input-group"> <input type="hidden" id="inputGroupSelect01" value="1"> <label for="basicSrchKwInHeader" class="hidden" id="searchInput">Search</label> <!--GSD-5961: Accessibility enhancements to basic search autocomplete --> <!--GSD-6622: Basic Search - Accessibility Issue --> <input type="text" name="kw" id="basicSrchKwInHeader" autocomplete="OFF" maxlength="125" class="form-control sch" placeholder="Search by keywords, subject, or ISBN" aria-labelledby="searchInput" aria-describedby="instructions" aria-owns="results" aria-expanded="false" aria-autocomplete="both" aria-activedescendant=""> <button type="submit" aria-label="Search" class="btn search-btn"> <i title="Search Button" class="fas fa-search fa-2x"></i> </button> </div> <section id="searchautocomplete" class="w-100 ms-0" style="display: none;"></section> <div style="display:none" id="instructions">To hear autocomplete suggestions tab past the search button after typing keywords.</div> </form> </div> <div class="col-3 order-2 order-lg-3 utilitynav"> <div class="container p-0 p-md-3"> <div class="row" id="headerlogos"> <ul class="faw-icons skeleton-loading" id="desktopNavigationMenu"> <p class="nav-icons"></p> </ul> </div> </div> </div> </div> <!-- Begin Navigation Bar --> <style> header.site .dropdown-menu.show{left:0; top:100%;} </style> <nav class="navbar navbar-expand-lg text-center" role="navigation"> <div class="collapse navbar-collapse navbarSupportedContent" id="navbarSupportedContent"> <ul class="navbar-nav mx-auto sale_alert" id="mobileNavigationMenu"> <!-- GSD-3902: Include mega menu here --> <!--GSD-3724 : AND Digital - Shop by Subject Mega Menu Design --> <li class="nav-item dropdown shop-by-subject"> <a class="nav-link dropdown-toggle" href="#" id="megamenu" role="button" data-bs-toggle="dropdown" aria-haspopup="true" aria-expanded="false"> Shop By Subject </a> <div class="dropdown-menu mmenu-parent" aria-labelledby="megamenu"> <div class="container no-left-right"> <div class="mmenu"> <div class="row justify-content-end AppendMenuItems"> </div> </div> </div> </div> </li> <li class="nav-item dropdown"> <a class="nav-link dropdown-toggle dropdownlist" href="javascript:void();" id="navbarDropdown2" role="button" data-bs-toggle="dropdown" aria-haspopup="true" aria-expanded="false"> New & Bestselling </a> <div class="dropdown-menu drop-down-bar" aria-labelledby="navbarDropdown2"> </div> </li> <li class="nav-item dropdown"> <a class="nav-link dropdown-toggle dropdownlist" href="javascript:void();" id="navbarDropdown3" role="button" data-bs-toggle="dropdown" aria-haspopup="true" aria-expanded="false"> Instructors & Students </a> <div class="dropdown-menu drop-down-bar" aria-labelledby="navbarDropdown3"> </div> </li> <li class="nav-item dropdown"> <a class="nav-link" href="/professionals" id="navbarDropdownd4"> Professional Practice </a> </li> <li class="nav-item dropdown"> <a class="nav-link dropdown-toggle dropdownlist" href="javascript:void();" id="navbarDropdown5" role="button" data-bs-toggle="dropdown" aria-haspopup="true" aria-expanded="false"> Publish With Us </a> <div class="dropdown-menu drop-down-bar" aria-labelledby="navbarDropdown5"> </div> </li> <li class="nav-item dropdown"> <a class="nav-link" href="/sale" id="navbarDropdownd6"> <span class="sales">Sale & Offers</span> </a> </li> </ul> </div> </nav> <!-- End Navigation Bar --> </div> <!-- Styles will prevent this promotion from appearing on the home page. Would be even better if we didn't load this code on home page--> <!-- GSD-1002 : Show Latest Sale banner except homepage --> <!-- GSD-2969:Load sale button & sale banner with page load instead of loading through ajax--> <!-- GSD-3167 : Sale Event Page - Don't show the persistent banner --> <section class="promotion sale_banner"></section> </header> <div class="crc5container responsive"> <!-- Begin Page Content --> <main id="content" role="main" class="home"> <section id="jumbo-section" class="py-0 px-0 px-sm-3"> <div class="container"> <div id="checkoutFailureMessage" class="alert alert-danger alert-dismissible" role="alert" style="display:none"> <button type="button" class="btn-close" data-hide="alert" aria-label="Close"></button> </div> <div id="loginErrorMessage" class="alert alert-danger alert-dismissible" role="alert" style="display:none"> <button type="button" class="btn-close" data-hide="alert" aria-label="Close"></button> </div> <div class="row"> <div class="col-12"> <!-- GSD-3607: AND Digital - CMS - Jumbotron template changes --> <!--Marketing Code Begins--> <div class="col-12 d-flex justify-content-center" style="height:340px; background:url(/rsc/images/home/CATE24-4220-HOMEPAGE-TIER1-1476x340-3.jpg) top center;background-repeat:no-repeat"> <!-- // GSD-3990 : we kept the template simple and all the logic have written in controller file --> <div class="jumbotron-message align-self-center text-center"> <h2 class="jmbotron-txt-head-color" ></h2> <p class="p-0 m-0"><a href="/sale" style="text-decoration:none"><span class="row m-0 jumbo d-flex justify-content-center"><span class="align-self-center" style="max-width:500px"><span id="themessage" style="font-size:1.4em; line-height:1.1em; color:#fff; font-weight:700; display:block"><span style="font-size: 3em; letter-spacing: .05em; line-height: 1.2;">15% Off</span><br /> All Education Books</span><br /> <span class="btn btn-primary mt-4 mb-2" id="thebutton" style="font-size: 1em; padding: 10px 25px; color:#ffffff; background-color: #ca1e47; border-radius:10px; border: none;">Shop Now</span> </span> </span> </a></p> <!-- Banner Styles--> <style type="text/css">/* */ .home .jumbotron-message h2 {display:none} .home .jumbotron-message { width:100%; margin:0!important; padding:0!important; height:340px; background-color: transparent; display:inline-block; font-weight:500; } .home .jumbo {height:340px} .home .jumbotron-message h2 {display:none} .home .jumbotron-message { width:100%; margin:0!important; padding:0 } .home .jumbo {height:340px} @media (max-width: 767px) { .home .jumbotron-message p { font-size: 1.2em !important; line-height: 1.4em; } } </style> <a class=" m-1 jmbotron-btn-color" href=/sale> </a> </div> </div> <!--Marketing Code Ends--> </div> </div> <!-- GSD-3610: AND Digital - CMS - NEW Focus Banner Channel --> <div class="row"> </div> </div> </section> <!--GSD-3676-AND Digital - CMS - Home Page Template Changes --> <section id="test-section" class="text-center" style="background-color:#fff"> <div class="container hpage"> <ul class="row blb"> <li class="col-12 col-sm-6 col-md-3 text-center"><a href="https://www.routledge.com/new-and-bestselling-books">New &amp; Bestselling</a></li> <li class="col-12 col-sm-6 col-md-3 text-center"><a href="https://www.routledge.com/search?sale=AIEducation">AI in Education</a></li> <li class="col-12 col-sm-6 col-md-3 text-center"><a href="https://www.routledge.com/search?sale=TraumaHealing">Trauma &amp; Healing</a></li> <li class="col-12 col-sm-6 col-md-3 text-center"><a href="https://www.routledge.com/search?sale=sustainability">New in Sustainability</a></li> <li class="col-12 col-sm-6 col-md-3 text-center"><a href="https://www.routledge.com/search?sale=Inclusiveeducation">Special &amp; Inclusive Education</a></li> <li class="col-12 col-sm-6 col-md-3 text-center"><a href="https://www.routledge.com/search?sale=Leadership">Leadership</a></li> <li class="col-12 col-sm-6 col-md-3 text-center"><a href="https://www.routledge.com/search?sale=genderstudies">Gender Studies</a></li> <li class="col-12 col-sm-6 col-md-3 text-center"><a href="https://www.routledge.com/search?sale=Careerdevelopment">Career Development</a></li> </ul> </div> </section> <section id="bk-section" class="text-center" style="background-color:#f3f3f3"> <div class="hpage container"> <div class="head2"> <h2 class="pb-2 mt-3">Bestsellers</h2> <a class="ms-3 btn" href="https://www.routledge.com/new-and-bestselling-books">view all <span class="visually-hidden">Bestsellers</span> &raquo;</a> <div class="book-row"> <div class="titem"> <ul class="p-0 m-0"> <li><a href="https://www.routledge.com/The-Conservators-Cookbook-Solution-Preparation-for-the-Heritage-Professional/Chaillie/p/book/9781032489780"><img alt="The Conservator's Cookbook Solution Preparation for the Heritage Professional" class="img-fluid lazyload" data-src="https://images.routledge.com/common/jackets/crclarge/978103248/9781032489780.jpg" /> </a></li> <li><a href="https://www.routledge.com/Improving-Mental-Health-Therapies-for-Autistic-Children-and-Young-People-Promoting-Self-agency-Curiosity-and-Collaboration/Pavlopoulou-Crane-Hurn-Milton/p/book/9781032372525"><img alt="Improving Mental Health Therapies for Autistic Children and Young People Promoting Self-agency, Curiosity and Collaboration" class="img-fluid lazyload" data-src="https://images.routledge.com/common/jackets/crclarge/978103237/9781032372525.jpg" /> </a></li> <li><a href="https://www.routledge.com/Harnessing-the-Science-of-Learning-Success-Stories-to-Help-Kickstart-Your-School-Improvement/Swain/p/book/9781032520292"><img alt="Harnessing the Science of Learning Success Stories to Help Kickstart Your School Improvement" class="img-fluid lazyload" data-src="https://images.routledge.com/common/jackets/crclarge/978103252/9781032520292.jpg" /> </a></li> <li><a href="https://www.routledge.com/The-Teaching-and-Learning-Playbook-Examples-of-Excellence-in-Teaching/Feely-Karlin/p/book/9781032187099"><img alt="The Teaching and Learning Playbook Examples of Excellence in Teaching" class="img-fluid lazyload" data-src="https://images.routledge.com/common/jackets/crclarge/978103218/9781032187099.jpg" /> </a></li> <li><a href="https://www.routledge.com/Shifting-the-Balance-Grades-3-5-6-Ways-to-Bring-the-Science-of-Reading-into-the-Upper-Elementary-Classroom/Cunningham-Burkins-Yates/p/book/9781625315977"><img alt="Shifting the Balance, Grades 3-5 6 Ways to Bring the Science of Reading into the Upper Elementary Classroom" class="img-fluid lazyload" data-src="https://images.routledge.com/common/jackets/crclarge/978162531/9781625315977.jpg" /> </a></li> <li><a href="https://www.routledge.com/Surviving-and-Thriving-in-Higher-Education-Professional-Services-A-Guide-to-Success/Reeds/p/book/9781032862699"><img alt="Surviving and Thriving in Higher Education Professional Services A Guide to Success" class="img-fluid lazyload" data-src="https://images.routledge.com/common/jackets/crclarge/978103286/9781032862699.jpg" /> </a></li> <li><a href="https://www.routledge.com/The-Politics-of-the-Soul-From-Nietzsche-to-Arendt/Dickson/p/book/9781032330150"><img alt="The Politics of the Soul From Nietzsche to Arendt" class="img-fluid lazyload" data-src="https://images.routledge.com/common/jackets/crclarge/978103233/9781032330150.jpg" /> </a></li> <li><a href="https://www.routledge.com/The-City-of-Hip-Hop-New-York-City-The-Bronx-and-a-Peace-Meeting/Swift-Mowatt/p/book/9781032835518"><img alt="The City of Hip-Hop New York City, The Bronx, and a Peace Meeting" class="img-fluid lazyload" data-src="https://images.routledge.com/common/jackets/crclarge/978103283/9781032835518.jpg" /> </a></li> <li><a href="https://www.routledge.com/How-to-Live-Well-with-Dementia-Expert-Help-for-People-Living-with-Dementia-and-their-Family-Friends-and-Care-Partners/Innes-OConnell-Geoghegan-Fehr/p/book/9781032599977"><img alt="How to Live Well with Dementia Expert Help for People Living with Dementia and their Family, Friends, and Care Partners" class="img-fluid lazyload" data-src="https://images.routledge.com/common/jackets/crclarge/978103259/9781032599977.jpg" /> </a></li> <li><a href="https://www.routledge.com/Leadership-From-the-Middle-The-Beating-Heart-of-Educational-Transformation/Hargreaves/p/book/9781138926875"><img alt="Leadership From the Middle The Beating Heart of Educational Transformation" class="img-fluid lazyload" data-src="https://images.routledge.com/common/jackets/crclarge/978113892/9781138926875.jpg" /> </a></li> <li><a href="https://www.routledge.com/The-Absent-Father-Effect-on-Daughters-Father-Desire-Father-Wounds/Schwartz/p/book/9780367360856"><img alt="The Absent Father Effect on Daughters Father Desire, Father Wounds" class="img-fluid lazyload" data-src="https://images.routledge.com/common/jackets/crclarge/978036736/9780367360856.jpg" /> </a></li> <li><a href="https://www.routledge.com/10-Mindframes-for-Visible-Learning-Teaching-for-Success/Hattie-Zierer/p/book/9781032553245"><img alt="10 Mindframes for Visible Learning Teaching for Success" class="img-fluid lazyload" data-src="https://images.routledge.com/common/jackets/crclarge/978103255/9781032553245.jpg" /> </a></li> </ul> </div> </div> </div> </div> </section> <section id="stamps-section" class="text-center" style="background-color:#fff"> <div class="container hpage"> <div class="row"> <div class="col-12 col-sm-6 col-md-4"><a class="stamp" href="https://www.routledge.com/A-Jungian-Exploration-of-the-Puella-Archetype-Girl-Unfolding/Schwartz/p/book/9781032582887"><img alt="A Jungian Exploration of the Puella Archetype Girl Unfolding - Shop Now" class="img-fluid lazyload" data-src="https://www.routledge.com/rsc/images/crclanding/A_Jungian_Exploration_of_the_Puella_Archetype.png" width="500" /></a></div> <div class="col-12 col-sm-6 col-md-4"><a class="stamp" href="https://www.routledge.com/ChatGPT--Co-A-Workbook-for-Writing-Research-Creating-Images-Programming-and-More/Hattenhauer/p/book/9781032799520"><img alt="ChatGPT &amp; Co. A Workbook for Writing, Research, Creating Images, Programming, and More - Shop Now" class="img-fluid lazyload" data-src="https://www.routledge.com/rsc/images/crclanding/ChatGPT_and_Co.png" width="500" /></a></div> <div class="col-12 col-sm-6 col-md-4"><a class="stamp" href="https://www.routledge.com/Becoming-a-Sensory-Aware-School-A-Toolkit-to-Develop-a-Whole-School-Approach-for-Sensory-Wellbeing/Hoyle-Hyde/p/book/9781032529073"><img alt="Becoming a Sensory Aware School A Toolkit to Develop a Whole School Approach for Sensory Wellbeing - Shop Now" class="img-fluid lazyload" data-src="https://www.routledge.com/rsc/images/crclanding/Becoming_a_Sensory_Aware_School.png" width="500" /></a></div> </div> </div> </section> <section id="bk2-section" class="text-center" style="background-color:#f3f3f3"> <div class="hpage"> <div class="head2 container"> <h2 class="pb-2">Why It&#39;s OK Book Series</h2> <a class="ms-3 btn" href="https://www.routledge.com/Why-Its-OK/book-series/WIOK?publishedFilter=alltitles&amp;pd=published&amp;pg=1&amp;pp=12&amp;so=pub&amp;view=list">view all <span class="visually-hidden">Why It&#39;s OK</span> &raquo;</a> <div class="book-row"> <div class="titem"> <ul class="p-0 m-0"> <li><a href="https://www.routledge.com/Why-Its-OK-to-Be-Amoral/deSousa/p/book/9781032232836"><img alt="Why It's OK to Be Amoral" class="img-fluid lazyload" data-src="https://images.routledge.com/common/jackets/crclarge/978103223/9781032232836.jpg" /> </a></li> <li><a href="https://www.routledge.com/Why-Its-OK-to-Be-Fat/Nath/p/book/9780367425456"><img alt="Why It鈥檚 OK to Be Fat" class="img-fluid lazyload" data-src="https://images.routledge.com/common/jackets/crclarge/978036742/9780367425456.jpg" /> </a></li> <li><a href="https://www.routledge.com/Why-Its-OK-to-Be-a-Gamer/Malanowski-Baima/p/book/9781032312132"><img alt="Why It's OK to Be a Gamer" class="img-fluid lazyload" data-src="https://images.routledge.com/common/jackets/crclarge/978103231/9781032312132.jpg" /> </a></li> <li><a href="https://www.routledge.com/Why-Its-OK-to-Mind-Your-Own-Business/Tosi-Warmke/p/book/9780367141745"><img alt="Why It's OK to Mind Your Own Business" class="img-fluid lazyload" data-src="https://images.routledge.com/common/jackets/crclarge/978036714/9780367141745.jpg" /> </a></li> <li><a href="https://www.routledge.com/Why-Its-OK-Not-to-Think-for-Yourself/Matheson/p/book/9781032438252"><img alt="Why It's OK Not to Think for Yourself" class="img-fluid lazyload" data-src="https://images.routledge.com/common/jackets/crclarge/978103243/9781032438252.jpg" /> </a></li> <li><a href="https://www.routledge.com/Why-Its-OK-to-Own-a-Gun/Davis/p/book/9780367141073"><img alt="Why It's OK to Own a Gun" class="img-fluid lazyload" data-src="https://images.routledge.com/common/jackets/crclarge/978036714/9780367141073.jpg" /></a></li> <li><a href="https://www.routledge.com/Why-Its-OK-to-Trust-Science/Parsons/p/book/9780367616410"><img alt="Why It's OK to Trust Science" class="img-fluid lazyload" data-src="https://images.routledge.com/common/jackets/crclarge/978036761/9780367616410.jpg" /></a></li> <li><a href="https://www.routledge.com/Why-Its-OK-to-Be-a-Sports-Fan/Archer-Wojtowicz/p/book/9781032221342"><img alt="Why It's OK to Be a Sports Fan" class="img-fluid lazyload" data-src="https://images.routledge.com/common/jackets/crclarge/978103222/9781032221342.jpg" /></a></li> <li><a href="https://www.routledge.com/Why-Its-OK-to-Not-Be-Monogamous/Clardy/p/book/9781032449784"><img alt="Why It's OK to Not Be Monogamous" class="img-fluid lazyload" data-src="https://images.routledge.com/common/jackets/crclarge/978103244/9781032449784.jpg" /></a></li> <li><a href="https://www.routledge.com/Why-Its-OK-to-Love-Bad-Movies/Strohl/p/book/9780367407650"><img alt="Why It's OK to Love Bad Movies" class="img-fluid lazyload" data-src="https://images.routledge.com/common/jackets/crclarge/978036740/9780367407650.jpg" /> </a></li> </ul> </div> </div> </div> </div> </section> <section id="we-section" class="text-center" style="background-color:#fff"> <div class="container"> <div class="row text-start"> <div class="col-12 col-lg-4 boxt"> <h3><i class="fas fa-bullhorn me-2">&nbsp;</i>About Routledge</h3> <p>Welcome to Routledge: Your Leading Source for Academic Publishing. Committed to excellence, Routledge offers unparalleled access to innovative, peer-reviewed research across all fields of study. Connect with a global community of scholars, educators, and professionals. Broaden your expertise with Routledge&#39;s top-tier academic content.</p> <a class="btn btn-outline-primary btn-sm" href="/corporate/about-us">Learn More <span class="visually-hidden">about Routledge</span></a></div> <div class="col-12 col-lg-4 boxt" style="background-color:#f2f3f8"> <h3><i class="far fa-eye me-2">&nbsp;</i>Requesting Inspection Copies</h3> <p>Discover the perfect fit for your curriculum with a complimentary inspection copy today! Explore our diverse selection of academic books hassle-free. Request yours now to make an informed decision with no strings attached.</p> <a class="btn btn-outline-primary btn-sm" href="/our-customers/instructors/textbooks/inspection-copies">Learn More <span class="visually-hidden">about requesting inspection copies</span></a></div> <div class="col-12 col-lg-4 boxt"> <h3><i class="fas fa-solid fa-blog">&nbsp;</i> Blog</h3> <p>Discover valuable insights on the Routledge blog. Our articles cover the impact of the latest research developments in key areas like Education, Environmental Science, Behavioural Sciences, Humanities, and Social Sciences. Stay informed and inspired with our expert analyses and in-depth discussions.</p> <a class="btn btn-outline-primary btn-sm" href="https://blog.routledge.com/" target="_blank">Learn More <span class="visually-hidden">about the Routledge blog</span></a></div> </div> </div> </section> </main> <!-- End Page Content Area --> <!-- GSD-6842 Due to overriding the JS, Country drop down is not working in formstack page, here we adding the jquery for eupdates page --> <!-- GSD-7538 for content_pages or go we are loading JS --> </div> <footer> <div id="btt"> <div class="container"> <div class="row"> <div class="col-12 text-end"> <a href="#top">Back To Top <i class="fas fa-angle-up"></i></a> </div> </div> </div> </div> <div class="px-3 flex justify-content-center"> <div class="row"> <div class="col-6 col-md-12 col-xl-2 order-last order-xl-first"> <div class="row"> <div class="col-12 col-md-1 col-xl-12 rout-lo"> <img src="/images/routledge-logo-lg.png" height="324" width="215" class="img-fluid mt-3 mt-xl-5" alt="Routledge Logo" /> </div> <div class="col-12"> <p>&copy; <span id="copyrightyear"></span> <a href="https://www.informa.com" target="_blank" style="position:relative; z-index:100; text-decoration:underline; padding-bottom:15px">Informa UK Limited, an Informa Plc company</a> <div class="payoptions text-center text-sm-end p-sm-4 p-2"><h6 class="d-block d-sm-inline p-3 m-0"><i class="fas fa-lock pe-2">&nbsp;</i> Secure Shopping <span class="sr-only">Payment Options</span></h6> <ul> <li><img title="Visa" src="https://www.routledge.com/rsc/images/crclanding/visa-pay.png" class="img-fluid" alt="Visa" /></li> <li><img title="Mastercard" src="https://www.routledge.com/rsc/images/crclanding/mastercard-pay.png" class="img-fluid" alt="Master Card" /></li> <li><img title="American Express" src="https://www.routledge.com/rsc/images/crclanding/amex-pay.png" class="img-fluid" alt="American Express" /></li> <li><img title="Apple Pay" src="https://www.routledge.com/rsc/images/crclanding/apple-pay.png" class="img-fluid" alt="Apple Pay" /></li> <li><img title="Google Pay" src="https://www.routledge.com/rsc/images/crclanding/google-pay.png" class="img-fluid" alt="Google Pay" /></li> <li><img title="J C B" src="https://www.routledge.com/rsc/images/crclanding/jcb-pay.png" class="img-fluid" alt="J C B" /></li> </ul> </div></p> </div> </div> </div> <div class="col-6 col-md "> <h6>Contact Us</h6> <ul> <li> <a href=" /contacts/customer-service" >Customer Service</a> </li> <li> <a href=" /contacts/editorial" >Editorial Contacts</a> </li> <li> <a href=" /contacts/sales" >Sales Contacts</a> </li> <li> <a href=" /contacts/rights-and-permissions" >Rights and Permissions</a> </li> <li> <a href=" https://signup.cj.com/member/signup/publisher/?cid=5373372#/branded" target="blank">Become an Affiliate Partner <i title="Opens in new tab / window" class="fas fa-external-link-alt"><span class="sr-only">Opens in new tab or window</span></i></a> </li> </ul> <h6 class="mt-2"><a href="/faqs">FAQs</a></h6> <h6 class="mt-2"><a href="/partners">Partners</a></h6> </div> <div class="col-6 col-md "> <h6>Customer Resources</h6> <ul> <li> <a href=" /our-customers/authors/why-publish-with-us" >Authors</a> </li> <li> <a href=" /our-customers/booksellers" >Booksellers</a> </li> <li> <a href=" /our-customers/instructors/textbooks" >Instructors</a> </li> <li> <a href=" /our-customers/instructors/textbooks/inspection-copies" >Request An Inspection Copy</a> </li> <li> <a href=" /our-customers/librarians/resources-and-guides" >Librarians</a> </li> <li> <a href=" /our-customers/press-media" >Press and Media</a> </li> <li> <a href=" /our-customers/professionals/books-for-professionals" >Professionals</a> </li> <li> <a href=" https://taylorandfrancis.com/who-we-serve/partners/societies/" target="blank">Societies & Associations <i title="Opens in new tab / window" class="fas fa-external-link-alt"><span class="sr-only">Opens in new tab or window</span></i></a> </li> <li> <a href=" /our-customers/students" >Students</a> </li> </ul> </div> <div class="col-6 col-md "> <h6>Our Products</h6> <ul> <li> <a href=" /our-products/ebooks" >eBooks</a> </li> <li> <a href=" /our-products/ebookplus" >eBook+</a> </li> <li> <a href=" /our-products/book-series" >Book Series</a> </li> <li> <a href=" /our-products/online-platforms" >Online Platforms</a> </li> <li> <a href=" /our-products/open-access-books/taylor-francis-oa-books" >Open Access Books</a> </li> <li> <a href=" /go/crc-press-focus-shortform" >Focus Shortform Books </a> </li> </ul> </div> <div class="col-6 col-md "> <h6>About Us</h6> <ul> <li> <a href=" /corporate/about-us" >About Routledge</a> </li> <li> <a href=" https://taylorandfrancis.com/about/" target="blank">About Taylor &amp; Francis&nbsp;<i title="Opens in new tab / window" class="fas fa-external-link-alt"><span class="sr-only">Opens in new tab or window</span></i></a> </li> <li> <a href=" https://www.tandfonline.com/" target="blank">Taylor &amp; Francis Journals&nbsp;<i title="Opens in new tab / window" class="fas fa-external-link-alt"><span class="sr-only">Opens in new tab or window</span></i></a> </li> <li> <a href=" https://taylorandfrancis.com/careers/" target="blank">Careers <i title="Opens in new tab / window" class="fas fa-external-link-alt"><span class="sr-only">Opens in new tab or window</span></i></a> </li> </ul> <h6 class="mt-3"><a href="https://blog.routledge.com/">Blog <i class="fas fa-external-link-alt" title="Opens in new tab / window"><span class="sr-only">Opens in new tab or window</span></i></a></h6> </div> <div class="col-6 col-md order-last order-md-5"> <h6>Policies</h6> <ul> <li> <a href=" /policies/shipping-policy" >Shipping Information</a> </li> <li> <a href=" /policies/returns-cancellations" >Returns & Cancellations</a> </li> <li> <a href=" /policies/terms-conditions" >Terms & Conditions</a> </li> <li> <a href=" /policies/inspection-copies" >Inspection Copies</a> </li> <li> <a href=" /policies/sustainability" >Sustainability</a> </li> <li> <a href=" /policies/accessibility" >Accessibility</a> </li> <li> <a href=" https://www.informa.com/privacy-policy/" target="blank">Privacy Policy <i title="Opens in new tab / window" class="fas fa-external-link-alt"><span class="sr-only">Opens in new tab or window</span></i></a> </li> </ul> <div class="mt-3 social"> <h6 class="m-0 small pb-2">SOCIAL <span class="sr-only"> NETWORKS </span></h6> <a aria-label="Facebook - Opens in new tab or window" class="facebook m-1" href="https://www.facebook.com/TaylorandFrancisGroup/" target="_blank"><i aria-hidden="true" class="fab fa-2x fa-facebook" role="img">&nbsp;</i></a> <a aria-label="LinkedIn - Opens in new tab or window" class="linkedin m-1" href="https://www.linkedin.com/company/taylor-&amp;-francis-group/" target="_blank"> <i aria-hidden="true" class="fab fa-2x fa-linkedin" role="img">&nbsp;</i></a> <a aria-label="Twitter - Opens in new tab or window" class="twitter m-1" href="https://twitter.com/routledgebooks/" target="_blank"> <i aria-hidden="true" class="fab fa-2x fa-twitter-square" role="img">&nbsp;</i></a> <a aria-label="YouTube - Opens in new tab or window" class="youtube m-1" href="https://www.youtube.com/channel/UCmG1AOBM5fskgWhCG3i8bhA" target="_blank"> <i aria-hidden="true" class="fab fa-2x fa-youtube-square" role="img">&nbsp;</i></a></div> </div> </div> </div> </footer> <input type="hidden" id="customVarsAsJsonOut" value="[]" /> <!-- GSD-4218: adding a new header js which has all header related scripts //critical--> <script src="/js/header.js?ver=1739170365"></script> <!-- GSD-2572:Setup lazy loading of images for home page --> <script src="/js/lazysizes.min.js" defer></script> <!-- GSD-2741 use vendor js file as asynch/defer - it dependent on vendor.js //critical--> <script src="/js/main.notmin.universal.js?ver=1739170365"></script> <!-- GSD-4799 added the scripts for embedded videos --> <!-- region change Modal --> <div class="modal fade" id="regionModal" tabindex="-1" aria-labelledby="regionModalLabel" aria-modal="true" role="dialog" aria-hidden="true" data-backdrop="static" data-keyboard="false"> <div class="modal-dialog modal-dialog-centered regionChangeModal"> <div class="modal-content"> <div class="modal-header"> <h5 class="modal-title" id="regionModalLabel">The country you have selected will result in the following:</h5> </div> <div class="modal-body"> <ul class="region-change-restricted-titles" id="region-change-restricted-titles"> <li>Product pricing will be adjusted to match the corresponding currency.</li> <li class="li-rst-elements">The title <span id="titles"><b>Perception</b></span> will be removed from your cart because it is not available in this region.</li> </ul> <input type="hidden" name="gregion" id="gregion"> </div> <div class="modal-footer"> <button type="button" class="btn btn-primary" id="gregioncontinue">Continue</button> <button type="button" class="btn btn-outline-secondary" data-bs-dismiss="modal" id="gregionchangecancel">Cancel</button> </div> </div> </div> </div> <script type="text/javascript" src="/js/crc-common.js?ver=1739170365"></script> <script type="text/javascript" src="/js/crc-cookie.js" defer></script> <script type="text/javascript" src="/js/jquery.blockUI.js" defer></script> <script type="application/javascript"> getUserRegion("Found"); </script> <script type="text/javascript" src="/js/crc-pardot.js" defer></script> <script> $(document).on('click', '#iribbon-title', function () { $(this).find("#iribbon-container").toggleClass("show"); }); </script> <!-- Include all compiled plugins (below), or include individual files as needed --> <!-- GSD-1159 : Displaying additional scripts from EE --><style> header.site .navbar-expand-lg .navbar-nav li.sale {display:none} header.site a .sales {color: #CA1E47} nav.navbar ul li {border-right:1px solid #ccc} nav.navbar ul li:first-child {border-left:1px solid #ccc} .mmenu ul.sublist li {border:0} .mmenu ul.sublist li:first-child {border:0} .payoptions { background-color: #333; position: absolute; color: #fff; margin:0!important; right: 0; left: 0; text-align: right; border-top: 2px solid #000; border-bottom:2px solid #000 } .payoptions img { margin:5px; max-width:65px } .payoptions ul, .payoptions ul li { margin:0; padding:0; display:inline } </style> <script type="text/javascript">window.NREUM||(NREUM={});NREUM.info={"beacon":"bam.nr-data.net","licenseKey":"97f8f67f26","applicationID":"757875143","transactionName":"YlwDYBdSWRVXVRVZWVsWIkEWR1gLGX4OXVMaUA9QAEs=","queueTime":0,"applicationTime":83,"atts":"ThsAFl9IShs=","errorBeacon":"bam.nr-data.net","agent":""}</script><script>(function(){function c(){var b=a.contentDocument||a.contentWindow.document;if(b){var d=b.createElement('script');d.innerHTML="window.__CF$cv$params={r:'912e97cc1a57fe1a',t:'MTczOTcxOTk3NS4wMDAwMDA='};var a=document.createElement('script');a.nonce='';a.src='/cdn-cgi/challenge-platform/scripts/jsd/main.js';document.getElementsByTagName('head')[0].appendChild(a);";b.getElementsByTagName('head')[0].appendChild(d)}}if(document.body){var a=document.createElement('iframe');a.height=1;a.width=1;a.style.position='absolute';a.style.top=0;a.style.left=0;a.style.border='none';a.style.visibility='hidden';document.body.appendChild(a);if('loading'!==document.readyState)c();else if(window.addEventListener)document.addEventListener('DOMContentLoaded',c);else{var e=document.onreadystatechange||function(){};document.onreadystatechange=function(b){e(b);'loading'!==document.readyState&&(document.onreadystatechange=e,c())}}}})();</script></body> </html>

Pages: 1 2 3 4 5 6 7 8 9 10