CINXE.COM

Routledge Essential Grammars - Book Series - Routledge & CRC Press

<!doctype html> <html lang="en" class="no-js"> <head><script type="text/javascript" src="/_static/js/bundle-playback.js?v=HxkREWBo" charset="utf-8"></script> <script type="text/javascript" src="/_static/js/wombat.js?v=txqj7nKC" charset="utf-8"></script> <script>window.RufflePlayer=window.RufflePlayer||{};window.RufflePlayer.config={"autoplay":"on","unmuteOverlay":"hidden"};</script> <script type="text/javascript" src="/_static/js/ruffle/ruffle.js"></script> <script type="text/javascript"> __wm.init("https://web.archive.org/web"); __wm.wombat("https://www.routledge.com/Routledge-Essential-Grammars/book-series/SE0549?pd=published,forthcoming&amp;pg=3&amp;pp=12&amp;so=pub&amp;view=list","20221130050355","https://web.archive.org/","web","/_static/", "1669784635"); </script> <link rel="stylesheet" type="text/css" href="/_static/css/banner-styles.css?v=S1zqJCYt" /> <link rel="stylesheet" type="text/css" href="/_static/css/iconochive.css?v=3PDvdIFv" /> <!-- End Wayback Rewrite JS Include --> <link rel="dns-prefetch" href="https://web.archive.org/web/20221130050355/https://www.google-analytics.com/"> <link rel="dns-prefetch" href="https://web.archive.org/web/20221130050355/https://secure.ride8stir.com/"> <link rel="dns-prefetch" href="https://web.archive.org/web/20221130050355/https://www.googleadservices.com/"> <link rel="dns-prefetch" href="https://web.archive.org/web/20221130050355/https://cdn-cs.conductor.com/"> <link rel="dns-prefetch" href="https://web.archive.org/web/20221130050355/https://www.googleads.g.doubleclick.net/"> <link rel="dns-prefetch" href="https://web.archive.org/web/20221130050355/https://www.googletagmanager.com/"> <link rel="dns-prefetch" href="https://web.archive.org/web/20221130050355/https://static.ads-twitter.com/"> <link rel="dns-prefetch" href="https://web.archive.org/web/20221130050355/https://amplify.outbrai.com/"> <link rel="dns-prefetch" href="https://web.archive.org/web/20221130050355/https://px.ads.linkedin.com/"> <link rel="dns-prefetch" href="https://web.archive.org/web/20221130050355/https://connect.facebook.net/"> <link rel="dns-prefetch" href="https://web.archive.org/web/20221130050355/https://snap.licdn.com/"> <link rel="dns-prefetch" href="https://web.archive.org/web/20221130050355/https://dc.ads.linkedin.com/"> <link rel="dns-prefetch" href="https://web.archive.org/web/20221130050355/https://kit-free.fontawesome.com/"> <link rel="dns-prefetch" href="https://web.archive.org/web/20221130050355/https://fonts.gstatic.com/"> <link rel="preconnect" href="https://web.archive.org/web/20221130050355/https://www.google-analytics.com/" crossorigin> <link rel="preconnect" href="https://web.archive.org/web/20221130050355/https://secure.ride8stir.com/" crossorigin> <link rel="preconnect" href="https://web.archive.org/web/20221130050355/https://www.googleadservices.com/" crossorigin> <link rel="preconnect" href="https://web.archive.org/web/20221130050355/https://cdn-cs.conductor.com/" crossorigin> <link rel="preconnect" href="https://web.archive.org/web/20221130050355/https://www.googleads.g.doubleclick.net/" crossorigin> <link rel="preconnect" href="https://web.archive.org/web/20221130050355/https://www.googletagmanager.com/" crossorigin> <link rel="preconnect" href="https://web.archive.org/web/20221130050355/https://www.google-analytics.com/" crossorigin> <link rel="preconnect" href="https://web.archive.org/web/20221130050355/https://amplify.outbrai.com/" crossorigin> <link rel="preconnect" href="https://web.archive.org/web/20221130050355/https://px.ads.linkedin.com/" crossorigin> <link rel="preconnect" href="https://web.archive.org/web/20221130050355/https://connect.facebook.net/" crossorigin> <link rel="preconnect" href="https://web.archive.org/web/20221130050355/https://snap.licdn.com/" crossorigin> <link rel="preconnect" href="https://web.archive.org/web/20221130050355/https://dc.ads.linkedin.com/" crossorigin> <link rel="preconnect" href="https://web.archive.org/web/20221130050355/https://kit-free.fontawesome.com/" crossorigin> <link rel="preconnect" href="https://web.archive.org/web/20221130050355/https://fonts.gstatic.com/" crossorigin> <script> dataLayer = []; var gtm_id = 'GTM-KW3LJ3D'; </script> <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://web.archive.org/web/20221130050355/https://www.googletagmanager.com/gtm.js?id='+i+dl;f.parentNode.insertBefore(j,f); })(window,document,'script','dataLayer',gtm_id);</script> <script type="text/javascript"> window.dataLayer = window.dataLayer || []; dataLayer.push({ 'countryCode': "US" }); </script> <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:"417731731",accountID:"438030",trustKey:"438030",xpid:"UAUPUVVTGwcBUVVXBQYDUA==",licenseKey:"97f8f67f26",applicationID:"415452746"};/*! For license information please see nr-loader-full-1220.min.js.LICENSE.txt */ !function(t,e){"object"==typeof exports&&"object"==typeof module?module.exports=e():"function"==typeof define&&define.amd?define([],e):"object"==typeof exports?exports.NRBA=e():t.NRBA=e()}(self,(function(){return function(){var t,e,n={9034:function(t,e,n){"use strict";var r=n(4168);e.Z=(0,r.ky)(16)},5973:function(t,e,n){"use strict";n.d(e,{I:function(){return r}});var r=0,i=navigator.userAgent.match(/Firefox[\/\s](\d+\.\d+)/);i&&(r=+i[1])},4280:function(t,e,n){"use strict";n.d(e,{H:function(){return i}});var r=document.createElement("div");r.innerHTML="\x3c!--[if lte IE 6]><div></div><![endif]--\x3e\x3c!--[if lte IE 7]><div></div><![endif]--\x3e\x3c!--[if lte IE 8]><div></div><![endif]--\x3e\x3c!--[if lte IE 9]><div></div><![endif]--\x3e";var i,o=r.getElementsByTagName("div").length;i=4===o?6:3===o?7:2===o?8:1===o?9:0},5955:function(t,e,n){"use strict";n.d(e,{I:function(){return r}});var r=function(t,e){var n=this;return t&&"object"==typeof t?e&&"object"==typeof e?(Object.assign(this,e),void Object.entries(t).forEach((function(t){var e=t[0],r=t[1];n[e]=r}))):console.error("setting a Configurable requires a model to set its initial properties"):console.error("setting a Configurable requires an object as input")}},441:function(t,e,n){"use strict";n.d(e,{C:function(){return c},L:function(){return u}});var r=n(1424),i=n(5955),o={beacon:r.ce.beacon,errorBeacon:r.ce.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 c(t){if(!t)throw new Error("All info objects require an agent identifier!");if(!a[t])throw new Error("Info for "+t+" was never set");return a[t]}function u(t,e){if(!t)throw new Error("All info objects require an agent identifier!");a[t]=new i.I(e,o),(0,r.Qy)(t,a[t],"info")}},1476:function(t,e,n){"use strict";n.d(e,{Dg:function(){return u},Mt:function(){return s},P_:function(){return c}});var r=n(1424),i=n(5955),o={privacy:{cookies_enabled:!0},ajax:{deny_list:void 0,enabled:!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},ssl:void 0,obfuscate:void 0,jserrors:{enabled:!0},metrics:{enabled:!0},page_action:{enabled:!0},page_view_event:{enabled:!0},page_view_timing:{enabled:!0},session_trace:{enabled:!0},spa:{enabled:!0}},a={};function c(t){if(!t)throw new Error("All configuration objects require an agent identifier!");if(!a[t])throw new Error("Configuration for "+t+" was never set");return a[t]}function u(t,e){if(!t)throw new Error("All configuration objects require an agent identifier!");a[t]=new i.I(e,o),(0,r.Qy)(t,a[t],"config")}function s(t,e){if(!t)throw new Error("All configuration objects require an agent identifier!");var n=c(t);if(n){for(var r=e.split("."),i=0;i<r.length-1;i++)if("object"!=typeof(n=n[r[i]]))return;n=n[r[r.length-1]]}return n}},2085:function(t,e,n){"use strict";n.d(e,{Y:function(){return r}});var r=(0,n(1424).mF)().o},1220:function(t,e,n){"use strict";n.d(e,{O:function(){return b},s:function(){return O}});var r={};n.r(r),n.d(r,{agent:function(){return a},match:function(){return f},version:function(){return c}});var i=n(4280),o=n(6959),a=null,c=null;if(navigator.userAgent){var u=navigator.userAgent,s=u.match(/Version\/(\S+)\s+Safari/);s&&-1===u.indexOf("Chrome")&&-1===u.indexOf("Chromium")&&(a="Safari",c=s[1])}function f(t,e){if(!a)return!1;if(t!==a)return!1;if(!e)return!0;if(!c)return!1;for(var n=c.split("."),r=e.split("."),i=0;i<r.length;i++)if(r[i]!==n[i])return!1;return!0}var d=n(5955),l=n(1424),p=n(4168),h=window.sessionStorage,v="NRBA_SESSION_ID";var g=n(1476),m=window.XMLHttpRequest,y=m&&m.prototype,w={};function b(t){if(!t)throw new Error("All runtime objects require an agent identifier!");if(!w[t])throw new Error("Runtime for "+t+" was never set");return w[t]}function O(t,e){if(!t)throw new Error("All runtime objects require an agent identifier!");var n,a;w[t]=new d.I(e,(n=t,{customTransaction:void 0,disabled:!1,features:{},maxBytes:6===i.H?2e3:3e4,offset:(0,o.yf)(),onerror:void 0,origin:""+window.location,ptid:void 0,releaseIds:{},sessionId:!0===(0,g.Mt)(n,"privacy.cookies_enabled")?(null===(a=h.getItem(v))&&(a=(0,p.ky)(16),h.setItem(v,a)),a):"0",xhrWrappable:m&&y&&y.addEventListener&&!/CriOS/.test(navigator.userAgent),userAgent:r})),(0,l.Qy)(t,w[t],"runtime")}},158:function(t,e,n){"use strict";n.d(e,{q:function(){return r}});var r=["1220","PROD"].filter((function(t){return t})).join(".")},3707:function(t,e,n){"use strict";n.d(e,{w:function(){return i}});var r={agentIdentifier:""},i=function(t){var e=this;if("object"!=typeof t)return console.error("shared context requires an object as input");this.sharedContext={},Object.assign(this.sharedContext,r),Object.entries(t).forEach((function(t){var n=t[0],i=t[1];Object.keys(r).includes(n)&&(e.sharedContext[n]=i)}))}},1776:function(t,e,n){"use strict";n.d(e,{ee:function(){return r}});var r,i=n(1424),o=n(4217),a=n(357),c="nr@context",u=(0,i.fP)();function s(){}function f(){return new s}function d(){(r.backlog.api||r.backlog.feature)&&(r.aborted=!0,r.backlog={})}u.ee?r=u.ee:(r=function t(e,n){var i={},u={},l={},p={on:g,addEventListener:g,removeEventListener:m,emit:v,get:w,listeners:y,context:h,buffer:b,abort:d,aborted:!1,isBuffering:O,debugId:n,backlog:e&&e.backlog?e.backlog:{}};return p;function h(t){return t&&t instanceof s?t:t?(0,o.X)(t,c,f):f()}function v(t,n,i,o,a){if(!1!==a&&(a=!0),!r.aborted||o){e&&a&&e.emit(t,n,i);for(var c=h(i),s=y(t),f=s.length,d=0;d<f;d++)s[d].apply(c,n);var l=x()[u[t]];return l&&l.push([p,t,n,c]),c}}function g(t,e){i[t]=y(t).concat(e)}function m(t,e){var n=i[t];if(n)for(var r=0;r<n.length;r++)n[r]===e&&n.splice(r,1)}function y(t){return i[t]||[]}function w(e){return l[e]=l[e]||t(p,e)}function b(t,e){var n=x();p.aborted||(0,a.D)(t,(function(t,r){e=e||"feature",u[r]=e,e in n||(n[e]=[])}))}function O(t){return!!x()[u[t]]}function x(){return p.backlog}}(void 0,"globalEE"),u.ee=r)},7361:function(t,e,n){"use strict";n.d(e,{E:function(){return r},p:function(){return i}});var r=n(1776).ee.get("handle");function i(t,e,n,i,o){o?(o.buffer([t],i),o.emit(t,e,n)):(r.buffer([t],i),r.emit(t,e,n))}},3350:function(t,e,n){"use strict";n.d(e,{X:function(){return o}});var r=n(7361);o.on=a;var i=o.handlers={};function o(t,e,n,o){a(o||r.E,i,t,e,n)}function a(t,e,n,i,o){o||(o="feature"),t||(t=r.E);var a=e[o]=e[o]||{};(a[n]=a[n]||[]).push([t,i])}},4408:function(t,e,n){"use strict";n.d(e,{m:function(){return o}});var r=!1;try{var i=Object.defineProperty({},"passive",{get:function(){r=!0}});window.addEventListener("testPassive",null,i),window.removeEventListener("testPassive",null,i)}catch(t){}function o(t){return r?{passive:!0,capture:!!t}:!!t}},4168:function(t,e,n){"use strict";function r(){var t=null,e=0,n=window.crypto||window.msCrypto;function r(){return t?15&t[e++]:16*Math.random()|0}n&&n.getRandomValues&&(t=n.getRandomValues(new Uint8Array(31)));for(var i,o="xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx",a="",c=0;c<o.length;c++)a+="x"===(i=o[c])?r().toString(16):"y"===i?(i=3&r()|8).toString(16):i;return a}function i(){return a(16)}function o(){return a(32)}function a(t){var e=null,n=0,r=window.crypto||window.msCrypto;r&&r.getRandomValues&&Uint8Array&&(e=r.getRandomValues(new Uint8Array(31)));for(var i=[],o=0;o<t;o++)i.push(a().toString(16));return i.join("");function a(){return e?15&e[n++]:16*Math.random()|0}}n.d(e,{Ht:function(){return o},M:function(){return i},Rl:function(){return r},ky:function(){return a}})},6959:function(t,e,n){"use strict";n.d(e,{nb:function(){return u},os:function(){return s},yf:function(){return c},zO:function(){return a}});var r=n(2364),i=(new Date).getTime(),o=i;function a(){return r.G&&performance.now?Math.round(performance.now()):(i=Math.max((new Date).getTime(),i))-o}function c(){return i}function u(t){o=t}function s(){return o}},2364:function(t,e,n){"use strict";n.d(e,{G:function(){return r}});var r=void 0!==window.performance&&window.performance.timing&&void 0!==window.performance.timing.navigationStart},1793:function(t,e,n){"use strict";function r(t){var e,n=0;for(e=0;e<t.length;e++)n+=(e+1)*t.charCodeAt(e);return Math.abs(n)}n.d(e,{v:function(){return s},s:function(){return u}});var i=n(6972),o=n(5973),a=n(6959),c=n(2364),u=!0;function s(t){var e=function(){if(o.I&&o.I<9)return;if(c.G)return u=!1,window.performance.timing.navigationStart}()||function(){for(var t=document.cookie.split(" "),e=0;e<t.length;e++)if(0===t[e].indexOf("NREUM=")){for(var n,i,o,a,c=t[e].substring("NREUM=".length).split("&"),u=0;u<c.length;u++)0===c[u].indexOf("s=")?o=c[u].substring(2):0===c[u].indexOf("p=")?";"===(i=c[u].substring(2)).charAt(i.length-1)&&(i=i.substr(0,i.length-1)):0===c[u].indexOf("r=")&&";"===(n=c[u].substring(2)).charAt(n.length-1)&&(n=n.substr(0,n.length-1));if(n){var s=r(document.referrer);(a=s==n)||(a=r(document.location.href)==n&&s==i)}if(a&&o){if((new Date).getTime()-o>6e4)return;return o}}}();e&&((0,i.B)(t,"starttime",e),(0,a.nb)(e))}},6972:function(t,e,n){"use strict";n.d(e,{B:function(){return o},L:function(){return a}});var r=n(6959),i={};function o(t,e,n){void 0===n&&(n=(0,r.zO)()+(0,r.os)()),i[t]=i[t]||{},i[t][e]=n}function a(t,e,n,r){var o,a,c=t.sharedContext.agentIdentifier,u=null==(o=i[c])?void 0:o[n],s=null==(a=i[c])?void 0:a[r];void 0!==u&&void 0!==s&&t.store("measures",e,{value:s-u})}},7001:function(t,e,n){"use strict";n.d(e,{e:function(){return i}});var r={};function i(t){if(t in r)return r[t];if(0===(t||"").indexOf("data:"))return{protocol:"data"};var e=document.createElement("a"),n=window.location,i={};e.href=t,i.port=e.port;var o=e.href.split("://");!i.port&&o[1]&&(i.port=o[1].split("/")[0].split("@").pop().split(":")[1]),i.port&&"0"!==i.port||(i.port="https"===o[0]?"443":"80"),i.hostname=e.hostname||n.hostname,i.pathname=e.pathname,i.protocol=o[0],"/"!==i.pathname.charAt(0)&&(i.pathname="/"+i.pathname);var a=!e.protocol||":"===e.protocol||e.protocol===n.protocol,c=e.hostname===document.domain&&e.port===n.port;return i.sameOrigin=a&&(!e.hostname||c),"/"===i.pathname&&(r[t]=i),i}},7299:function(t,e,n){"use strict";n.d(e,{T:function(){return a}});var r=window,i=r;function o(){return i}var a={isFileProtocol:function(){var t=o(),e=!(!t.location||!t.location.protocol||"file:"!==t.location.protocol);e&&(a.supportabilityMetricSent=!0);return e},supportabilityMetricSent:!1}},847:function(t,e,n){"use strict";n.d(e,{K:function(){return a}});var r=n(1220),i=n(1476),o=["ajax","jserrors","metrics","page_action","page_view_event","page_view_timing","session_trace","spa"];function a(t){var e={};return o.forEach((function(n){e[n]=function(t,e){return!0!==(0,r.O)(e).disabled&&!1!==(0,i.Mt)(e,t+".enabled")}(n,t)})),e}},5023:function(t,e,n){"use strict";n.d(e,{W:function(){return i}});var r=n(1776),i=function(t,e,n){void 0===n&&(n=[]),this.agentIdentifier=t,this.aggregator=e,this.ee=r.ee.get(t),this.externalFeatures=n}},4217:function(t,e,n){"use strict";n.d(e,{X:function(){return i}});var r=Object.prototype.hasOwnProperty;function i(t,e,n){if(r.call(t,e))return t[e];var i=n();if(Object.defineProperty&&Object.keys)try{return Object.defineProperty(t,e,{value:i,writable:!0,enumerable:!1}),i}catch(t){}return t[e]=i,i}},357:function(t,e,n){"use strict";n.d(e,{D:function(){return i}});var r=Object.prototype.hasOwnProperty;function i(t,e){var n=[],i="",o=0;for(i in t)r.call(t,i)&&(n[o]=e(i,t[i]),o+=1);return n}},603:function(t,e,n){"use strict";n.d(e,{$c:function(){return s},Ng:function(){return f},RR:function(){return u}});var r=n(1476),i=n(3707),o=n(7299);function a(t,e){return a=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(t,e){return t.__proto__=e,t},a(t,e)}var c={regex:/^file:\/\/(.*)/,replacement:"file://OBFUSCATED"},u=function(t){var e,n;function r(e){return t.call(this,e)||this}n=t,(e=r).prototype=Object.create(n.prototype),e.prototype.constructor=e,a(e,n);var i=r.prototype;return i.shouldObfuscate=function(){return s(this.sharedContext.agentIdentifier).length>0},i.obfuscateString=function(t){if(!t||"string"!=typeof t)return t;for(var e=s(this.sharedContext.agentIdentifier),n=t,r=0;r<e.length;r++){var i=e[r].regex,o=e[r].replacement||"*";n=n.replace(i,o)}return n},r}(i.w);function s(t){var e=[],n=(0,r.Mt)(t,"obfuscate")||[];return e=e.concat(n),o.T.isFileProtocol()&&e.push(c),e}function f(t){for(var e=!1,n=!1,r=0;r<t.length;r++){"regex"in t[r]?"string"!=typeof t[r].regex&&t[r].regex.constructor!==RegExp&&(console&&console.warn&&console.warn('An obfuscation replacement rule contains a "regex" value with an invalid type (must be a string or RegExp)'),n=!0):(console&&console.warn&&console.warn('An obfuscation replacement rule was detected missing a "regex" value.'),n=!0);var i=t[r].replacement;i&&"string"!=typeof i&&(console&&console.warn&&console.warn('An obfuscation replacement rule contains a "replacement" value with an invalid type (must be a string)'),e=!0)}return!e&&!n}},1424:function(t,e,n){"use strict";n.d(e,{EZ:function(){return u},Qy:function(){return c},ce:function(){return i},fP:function(){return o},gG:function(){return s},mF:function(){return a}});var r=n(6959),i={beacon:"bam.nr-data.net",errorBeacon:"bam.nr-data.net"};function o(){return window.NREUM||(window.NREUM={}),void 0===window.newrelic&&(window.newrelic=window.NREUM),window.NREUM}function a(){var t=o();if(!t.o){var e=window,n=e.XMLHttpRequest;t.o={ST:setTimeout,SI:e.setImmediate,CT:clearTimeout,XHR:n,REQ:e.Request,EV:e.Event,PR:e.Promise,MO:e.MutationObserver,FETCH:e.fetch}}return t}function c(t,e,n){var i,a,c=o(),u=c.initializedAgents||{},s=u[t]||{};return Object.keys(s).length||(s.initializedAt={ms:(0,r.zO)(),date:new Date}),c.initializedAgents=Object.assign({},u,((a={})[t]=Object.assign({},s,((i={})[n]=e,i)),a)),c}function u(t,e){o()[t]=e}function s(){var t,e;return t=o(),e=t.info||{},t.info=Object.assign({beacon:i.beacon,errorBeacon:i.errorBeacon},e),function(){var t=o(),e=t.init||{};t.init=Object.assign({},e)}(),a(),function(){var t=o(),e=t.loader_config||{};t.loader_config=Object.assign({},e)}(),o()}},5098:function(t,e,n){"use strict";function r(){return"PerformanceObserver"in window&&"function"==typeof window.PerformanceObserver}n.d(e,{W:function(){return r}})},8539:function(t){t.exports=function(t,e,n){e||(e=0),void 0===n&&(n=t?t.length:0);for(var r=-1,i=n-e||0,o=Array(i<0?0:i);++r<i;)o[r]=t[e+r];return o}},8118:function(t){t.exports=function(t,e,n){e||(e=0),void 0===n&&(n=t?t.length:0);for(var r=-1,i=n-e||0,o=Array(i<0?0:i);++r<i;)o[r]=t[e+r];return o}}},r={};function i(t){var e=r[t];if(void 0!==e)return e.exports;var o=r[t]={exports:{}};return n[t](o,o.exports,i),o.exports}i.m=n,i.n=function(t){var e=t&&t.__esModule?function(){return t.default}:function(){return t};return i.d(e,{a:e}),e},i.d=function(t,e){for(var n in e)i.o(e,n)&&!i.o(t,n)&&Object.defineProperty(t,n,{enumerable:!0,get:e[n]})},i.f={},i.e=function(t){return Promise.all(Object.keys(i.f).reduce((function(e,n){return i.f[n](t,e),e}),[]))},i.u=function(t){return t+"."+i.h().slice(0,8)+"-1220.js"},i.h=function(){return"2d6a2503b7f18a5b77dd"},i.o=function(t,e){return Object.prototype.hasOwnProperty.call(t,e)},t={},e="NRBA:",i.l=function(n,r,o,a){if(t[n])t[n].push(r);else{var c,u;if(void 0!==o)for(var s=document.getElementsByTagName("script"),f=0;f<s.length;f++){var d=s[f];if(d.getAttribute("src")==n||d.getAttribute("data-webpack")==e+o){c=d;break}}c||(u=!0,(c=document.createElement("script")).charset="utf-8",c.timeout=120,i.nc&&c.setAttribute("nonce",i.nc),c.setAttribute("data-webpack",e+o),c.src=n),t[n]=[r];var l=function(e,r){c.onerror=c.onload=null,clearTimeout(p);var i=t[n];if(delete t[n],c.parentNode&&c.parentNode.removeChild(c),i&&i.forEach((function(t){return t(r)})),e)return e(r)},p=setTimeout(l.bind(null,void 0,{type:"timeout",target:c}),12e4);c.onerror=l.bind(null,c.onerror),c.onload=l.bind(null,c.onload),u&&document.head.appendChild(c)}},i.r=function(t){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"__esModule",{value:!0})},i.p="https://web.archive.org/web/20221130050355/https://js-agent.newrelic.com/",function(){var t={908:0,172:0};i.f.j=function(e,n){var r=i.o(t,e)?t[e]:void 0;if(0!==r)if(r)n.push(r[2]);else{var o=new Promise((function(n,i){r=t[e]=[n,i]}));n.push(r[2]=o);var a=i.p+i.u(e),c=new Error;i.l(a,(function(n){if(i.o(t,e)&&(0!==(r=t[e])&&(t[e]=void 0),r)){var o=n&&("load"===n.type?"missing":n.type),a=n&&n.target&&n.target.src;c.message="Loading chunk "+e+" failed.\n("+o+": "+a+")",c.name="ChunkLoadError",c.type=o,c.request=a,r[1](c)}}),"chunk-"+e,e)}};var e=function(e,n){var r,o,a=n[0],c=n[1],u=n[2],s=0;if(a.some((function(e){return 0!==t[e]}))){for(r in c)i.o(c,r)&&(i.m[r]=c[r]);if(u)u(i)}for(e&&e(n);s<a.length;s++)o=a[s],i.o(t,o)&&t[o]&&t[o][0](),t[o]=0},n=self.webpackChunkNRBA=self.webpackChunkNRBA||[];n.forEach(e.bind(null,0)),n.push=e.bind(null,n.push.bind(n))}();var o={};return function(){"use strict";i.r(o);var t=i(9034),e=i(4408),n=window,r=n.document;function a(t){"complete"===r.readyState&&t()}function c(t){a(t),r.addEventListener?n.addEventListener("load",t,(0,e.m)(!1)):n.attachEvent("onload",t)}function u(t){a(t),r.addEventListener?r.addEventListener("DOMContentLoaded",t,(0,e.m)(!1)):r.attachEvent("onreadystatechange",a)}var s=i(1776);function f(){f=function(){return t};var t={},e=Object.prototype,n=e.hasOwnProperty,r="function"==typeof Symbol?Symbol:{},i=r.iterator||"@@iterator",o=r.asyncIterator||"@@asyncIterator",a=r.toStringTag||"@@toStringTag";function c(t,e,n){return Object.defineProperty(t,e,{value:n,enumerable:!0,configurable:!0,writable:!0}),t[e]}try{c({},"")}catch(t){c=function(t,e,n){return t[e]=n}}function u(t,e,n,r){var i=e&&e.prototype instanceof l?e:l,o=Object.create(i.prototype),a=new j(r||[]);return o._invoke=function(t,e,n){var r="suspendedStart";return function(i,o){if("executing"===r)throw new Error("Generator is already running");if("completed"===r){if("throw"===i)throw o;return P()}for(n.method=i,n.arg=o;;){var a=n.delegate;if(a){var c=O(a,n);if(c){if(c===d)continue;return c}}if("next"===n.method)n.sent=n._sent=n.arg;else if("throw"===n.method){if("suspendedStart"===r)throw r="completed",n.arg;n.dispatchException(n.arg)}else"return"===n.method&&n.abrupt("return",n.arg);r="executing";var u=s(t,e,n);if("normal"===u.type){if(r=n.done?"completed":"suspendedYield",u.arg===d)continue;return{value:u.arg,done:n.done}}"throw"===u.type&&(r="completed",n.method="throw",n.arg=u.arg)}}}(t,n,a),o}function s(t,e,n){try{return{type:"normal",arg:t.call(e,n)}}catch(t){return{type:"throw",arg:t}}}t.wrap=u;var d={};function l(){}function p(){}function h(){}var v={};c(v,i,(function(){return this}));var g=Object.getPrototypeOf,m=g&&g(g(_([])));m&&m!==e&&n.call(m,i)&&(v=m);var y=h.prototype=l.prototype=Object.create(v);function w(t){["next","throw","return"].forEach((function(e){c(t,e,(function(t){return this._invoke(e,t)}))}))}function b(t,e){function r(i,o,a,c){var u=s(t[i],t,o);if("throw"!==u.type){var f=u.arg,d=f.value;return d&&"object"==typeof d&&n.call(d,"__await")?e.resolve(d.__await).then((function(t){r("next",t,a,c)}),(function(t){r("throw",t,a,c)})):e.resolve(d).then((function(t){f.value=t,a(f)}),(function(t){return r("throw",t,a,c)}))}c(u.arg)}var i;this._invoke=function(t,n){function o(){return new e((function(e,i){r(t,n,e,i)}))}return i=i?i.then(o,o):o()}}function O(t,e){var n=t.iterator[e.method];if(void 0===n){if(e.delegate=null,"throw"===e.method){if(t.iterator.return&&(e.method="return",e.arg=void 0,O(t,e),"throw"===e.method))return d;e.method="throw",e.arg=new TypeError("The iterator does not provide a 'throw' method")}return d}var r=s(n,t.iterator,e.arg);if("throw"===r.type)return e.method="throw",e.arg=r.arg,e.delegate=null,d;var i=r.arg;return i?i.done?(e[t.resultName]=i.value,e.next=t.nextLoc,"return"!==e.method&&(e.method="next",e.arg=void 0),e.delegate=null,d):i:(e.method="throw",e.arg=new TypeError("iterator result is not an object"),e.delegate=null,d)}function x(t){var e={tryLoc:t[0]};1 in t&&(e.catchLoc=t[1]),2 in t&&(e.finallyLoc=t[2],e.afterLoc=t[3]),this.tryEntries.push(e)}function E(t){var e=t.completion||{};e.type="normal",delete e.arg,t.completion=e}function j(t){this.tryEntries=[{tryLoc:"root"}],t.forEach(x,this),this.reset(!0)}function _(t){if(t){var e=t[i];if(e)return e.call(t);if("function"==typeof t.next)return t;if(!isNaN(t.length)){var r=-1,o=function e(){for(;++r<t.length;)if(n.call(t,r))return e.value=t[r],e.done=!1,e;return e.value=void 0,e.done=!0,e};return o.next=o}}return{next:P}}function P(){return{value:void 0,done:!0}}return p.prototype=h,c(y,"constructor",h),c(h,"constructor",p),p.displayName=c(h,a,"GeneratorFunction"),t.isGeneratorFunction=function(t){var e="function"==typeof t&&t.constructor;return!!e&&(e===p||"GeneratorFunction"===(e.displayName||e.name))},t.mark=function(t){return Object.setPrototypeOf?Object.setPrototypeOf(t,h):(t.__proto__=h,c(t,a,"GeneratorFunction")),t.prototype=Object.create(y),t},t.awrap=function(t){return{__await:t}},w(b.prototype),c(b.prototype,o,(function(){return this})),t.AsyncIterator=b,t.async=function(e,n,r,i,o){void 0===o&&(o=Promise);var a=new b(u(e,n,r,i),o);return t.isGeneratorFunction(n)?a:a.next().then((function(t){return t.done?t.value:a.next()}))},w(y),c(y,a,"Generator"),c(y,i,(function(){return this})),c(y,"toString",(function(){return"[object Generator]"})),t.keys=function(t){var e=[];for(var n in t)e.push(n);return e.reverse(),function n(){for(;e.length;){var r=e.pop();if(r in t)return n.value=r,n.done=!1,n}return n.done=!0,n}},t.values=_,j.prototype={constructor:j,reset:function(t){if(this.prev=0,this.next=0,this.sent=this._sent=void 0,this.done=!1,this.delegate=null,this.method="next",this.arg=void 0,this.tryEntries.forEach(E),!t)for(var e in this)"t"===e.charAt(0)&&n.call(this,e)&&!isNaN(+e.slice(1))&&(this[e]=void 0)},stop:function(){this.done=!0;var t=this.tryEntries[0].completion;if("throw"===t.type)throw t.arg;return this.rval},dispatchException:function(t){if(this.done)throw t;var e=this;function r(n,r){return a.type="throw",a.arg=t,e.next=n,r&&(e.method="next",e.arg=void 0),!!r}for(var i=this.tryEntries.length-1;i>=0;--i){var o=this.tryEntries[i],a=o.completion;if("root"===o.tryLoc)return r("end");if(o.tryLoc<=this.prev){var c=n.call(o,"catchLoc"),u=n.call(o,"finallyLoc");if(c&&u){if(this.prev<o.catchLoc)return r(o.catchLoc,!0);if(this.prev<o.finallyLoc)return r(o.finallyLoc)}else if(c){if(this.prev<o.catchLoc)return r(o.catchLoc,!0)}else{if(!u)throw new Error("try statement without catch or finally");if(this.prev<o.finallyLoc)return r(o.finallyLoc)}}}},abrupt:function(t,e){for(var r=this.tryEntries.length-1;r>=0;--r){var i=this.tryEntries[r];if(i.tryLoc<=this.prev&&n.call(i,"finallyLoc")&&this.prev<i.finallyLoc){var o=i;break}}o&&("break"===t||"continue"===t)&&o.tryLoc<=e&&e<=o.finallyLoc&&(o=null);var a=o?o.completion:{};return a.type=t,a.arg=e,o?(this.method="next",this.next=o.finallyLoc,d):this.complete(a)},complete:function(t,e){if("throw"===t.type)throw t.arg;return"break"===t.type||"continue"===t.type?this.next=t.arg:"return"===t.type?(this.rval=this.arg=t.arg,this.method="return",this.next="end"):"normal"===t.type&&e&&(this.next=e),d},finish:function(t){for(var e=this.tryEntries.length-1;e>=0;--e){var n=this.tryEntries[e];if(n.finallyLoc===t)return this.complete(n.completion,n.afterLoc),E(n),d}},catch:function(t){for(var e=this.tryEntries.length-1;e>=0;--e){var n=this.tryEntries[e];if(n.tryLoc===t){var r=n.completion;if("throw"===r.type){var i=r.arg;E(n)}return i}}throw new Error("illegal catch attempt")},delegateYield:function(t,e,n){return this.delegate={iterator:_(t),resultName:e,nextLoc:n},"next"===this.method&&(this.arg=void 0),d}},t}function d(t,e,n,r,i,o,a){try{var c=t[o](a),u=c.value}catch(t){return void n(t)}c.done?e(u):Promise.resolve(u).then(r,i)}var l=0;function p(t){var e;(e=f().mark((function e(){var n,r;return f().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(!l++){e.next=2;break}return e.abrupt("return");case 2:return e.prev=2,e.next=5,i.e(552).then(i.bind(i,5552));case 5:return n=e.sent,r=n.aggregator,e.next=9,r(t);case 9:e.next=15;break;case 11:e.prev=11,e.t0=e.catch(2),console.error("Failed to successfully load all aggregators. Aborting...\n",e.t0),s.ee.abort();case 15:case"end":return e.stop()}}),e,null,[[2,11]])})),function(){var t=this,n=arguments;return new Promise((function(r,i){var o=e.apply(t,n);function a(t){d(o,r,i,a,c,"next",t)}function c(t){d(o,r,i,a,c,"throw",t)}a(void 0)}))})()}var h=i(8539),v=i.n(h),g=i(1424),m=i(1220),y=i(441),w=i(7361),b=i(357),O=i(6959);var x=i(1476),E=i(5955),j={accountID:void 0,trustKey:void 0,agentID:void 0,licenseKey:void 0,applicationID:void 0,xpid:void 0},_={};function P(t){if(!t)throw new Error("All loader-config objects require an agent identifier!");if(!_[t])throw new Error("LoaderConfig for "+t+" was never set");return _[t]}var T=!1;var S=i(6972),L=i(1793),C=i(5023);function I(t,e){return I=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(t,e){return t.__proto__=e,t},I(t,e)}var A,R,k,H=function(t){var e,n;function r(e){var n;return n=t.call(this,e)||this,(0,L.v)(e),(0,S.B)(e,"firstbyte",(0,O.yf)()),c((function(){return n.measureWindowLoaded()})),u((function(){return n.measureDomContentLoaded()})),n}n=t,(e=r).prototype=Object.create(n.prototype),e.prototype.constructor=e,I(e,n);var i=r.prototype;return i.measureWindowLoaded=function(){var t=(0,O.zO)();(0,S.B)(this.agentIdentifier,"onload",t+(0,O.os)()),(0,w.p)("timing",["load",t],void 0,void 0,this.ee)},i.measureDomContentLoaded=function(){(0,S.B)(this.agentIdentifier,"domContent",(0,O.zO)()+(0,O.os)())},r}(C.W);void 0!==document.hidden?(A="hidden",R="visibilitychange",k="visibilityState"):void 0!==document.msHidden?(A="msHidden",R="msvisibilitychange"):void 0!==document.webkitHidden&&(A="webkitHidden",R="webkitvisibilitychange",k="webkitVisibilityState");var z=i(2085);function N(t,e){return N=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(t,e){return t.__proto__=e,t},N(t,e)}var M=function(t){var n,r;function i(n){var r,i;if((r=t.call(this,n)||this).pageHiddenTime="hidden"===document.visibilityState?-1:1/0,r.performanceObserver,r.lcpPerformanceObserver,r.clsPerformanceObserver,r.fiRecorded=!1,!r.isEnabled())return function(t){if(void 0===t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return t}(r);if("PerformanceObserver"in window&&"function"==typeof window.PerformanceObserver){r.performanceObserver=new PerformanceObserver((function(){var t;return(t=r).perfObserver.apply(t,arguments)}));try{r.performanceObserver.observe({entryTypes:["paint"]})}catch(t){}r.lcpPerformanceObserver=new PerformanceObserver((function(){var t;return(t=r).lcpObserver.apply(t,arguments)}));try{r.lcpPerformanceObserver.observe({entryTypes:["largest-contentful-paint"]})}catch(t){}r.clsPerformanceObserver=new PerformanceObserver((function(){var t;return(t=r).clsObserver.apply(t,arguments)}));try{r.clsPerformanceObserver.observe({type:"layout-shift",buffered:!0})}catch(t){}}if("addEventListener"in document){r.fiRecorded=!1;["click","keydown","mousedown","pointerdown","touchstart"].forEach((function(t){document.addEventListener(t,(function(){var t;return(t=r).captureInteraction.apply(t,arguments)}),(0,e.m)(!1))}))}return i=function(){var t;return(t=r).captureVisibilityChange.apply(t,arguments)},"addEventListener"in document&&R&&document.addEventListener(R,(function(){k&&document[k]?i(document[k]):document[A]?i("hidden"):i("visible")}),(0,e.m)(!1)),r}r=t,(n=i).prototype=Object.create(r.prototype),n.prototype.constructor=n,N(n,r);var o=i.prototype;return o.isEnabled=function(){return!1!==(0,x.Mt)(this.agentIdentifier,"page_view_timing.enabled")},o.perfObserver=function(t,e){var n=this;t.getEntries().forEach((function(t){"first-paint"===t.name?(0,w.p)("timing",["fp",Math.floor(t.startTime)],void 0,void 0,n.ee):"first-contentful-paint"===t.name&&(0,w.p)("timing",["fcp",Math.floor(t.startTime)],void 0,void 0,n.ee)}))},o.lcpObserver=function(t,e){var n=t.getEntries();if(n.length>0){var r=n[n.length-1];if(this.pageHiddenTime<r.startTime)return;var i=[r],o=this.addConnectionAttributes({});o&&i.push(o),(0,w.p)("lcp",i,void 0,void 0,this.ee)}},o.clsObserver=function(t){var e=this;t.getEntries().forEach((function(t){t.hadRecentInput||(0,w.p)("cls",[t],void 0,void 0,e.ee)}))},o.addConnectionAttributes=function(t){var e=navigator.connection||navigator.mozConnection||navigator.webkitConnection;if(e)return e.type&&(t["net-type"]=e.type),e.effectiveType&&(t["net-etype"]=e.effectiveType),e.rtt&&(t["net-rtt"]=e.rtt),e.downlink&&(t["net-dlink"]=e.downlink),t},o.captureInteraction=function(t){if(t instanceof z.Y.EV&&!this.fiRecorded){var e=Math.round(t.timeStamp),n={type:t.type};this.addConnectionAttributes(n),e<=(0,O.zO)()?n.fid=(0,O.zO)()-e:e>(0,O.os)()&&e<=Date.now()?(e-=(0,O.os)(),n.fid=(0,O.zO)()-e):e=(0,O.zO)(),this.fiRecorded=!0,(0,w.p)("timing",["fi",e,n],void 0,void 0,this.ee)}},o.captureVisibilityChange=function(t){"hidden"===t&&(this.pageHiddenTime=(0,O.zO)(),(0,w.p)("pageHide",[this.pageHiddenTime],void 0,void 0,this.ee))},i}(C.W),q=i(3350),D="React",B="Angular",F="AngularJS",G="Backbone",U="Ember",X="Vue",Z="Meteor",V="Zepto",W="Jquery";function Y(){var t=[];try{(function(){try{if(window.React||window.ReactDOM||window.ReactRedux)return!0;if(document.querySelector("[data-reactroot], [data-reactid]"))return!0;for(var t=document.querySelectorAll("body > div"),e=0;e<t.length;e++)if(Object.keys(t[e]).indexOf("_reactRootContainer")>=0)return!0;return!1}catch(t){return!1}})()&&t.push(D),function(){try{return!!window.angular||(!!document.querySelector(".ng-binding, [ng-app], [data-ng-app], [ng-controller], [data-ng-controller], [ng-repeat], [data-ng-repeat]")||!!document.querySelector('script[src*="angular.js"], script[src*="angular.min.js"]'))}catch(t){return!1}}()&&t.push(F),function(){try{return!!(window.hasOwnProperty("ng")&&window.ng.hasOwnProperty("coreTokens")&&window.ng.coreTokens.hasOwnProperty("NgZone"))||!!document.querySelectorAll("[ng-version]").length}catch(t){return!1}}()&&t.push(B),window.Backbone&&t.push(G),window.Ember&&t.push(U),window.Vue&&t.push(X),window.Meteor&&t.push(Z),window.Zepto&&t.push(V),window.jQuery&&t.push(W)}catch(t){}return t}var Q=i(7299),K=i(603),J=i(158);function $(t,e){return $=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(t,e){return t.__proto__=e,t},$(t,e)}var tt=function(t){var e,n;function r(e){var n;return(n=t.call(this,e)||this).singleChecks(),(0,q.X)("record-supportability",(function(){var t;return(t=n).recordSupportability.apply(t,arguments)}),void 0,n.ee),(0,q.X)("record-custom",(function(){var t;return(t=n).recordCustom.apply(t,arguments)}),void 0,n.ee),n}n=t,(e=r).prototype=Object.create(n.prototype),e.prototype.constructor=e,$(e,n);var i=r.prototype;return i.recordSupportability=function(t,e){var n=["sm",t,{name:t},e];return(0,w.p)("storeMetric",n,null,void 0,this.ee),n},i.recordCustom=function(t,e){var n=["cm",t,{name:t},e];return(0,w.p)("storeEventMetrics",n,null,void 0,this.ee),n},i.singleChecks=function(){var t=this;this.recordSupportability("Generic/Version/"+J.q+"/Detected"),u((function(){Y().forEach((function(e){t.recordSupportability("Framework/"+e+"/Detected")}))})),Q.T.isFileProtocol()&&(this.recordSupportability("Generic/FileProtocol/Detected"),Q.T.supportabilityMetricSent=!0);var e=(0,K.$c)(this.agentIdentifier);e.length>0&&this.recordSupportability("Generic/Obfuscate/Detected"),e.length>0&&!(0,K.Ng)(e)&&this.recordSupportability("Generic/Obfuscate/Invalid")},r}(C.W),et=i(4217),nt=i(8118),rt=i.n(nt),it=window,ot="fetch-",at="fetch-body-",ct=["arrayBuffer","blob","json","text","formData"],ut=it.Request,st=it.Response,ft="prototype",dt="nr@context",lt={};function pt(t){var e=function(t){return(t||s.ee).get("fetch")}(t);if(!(ut&&st&&window.fetch))return e;if(lt[e.debugId])return e;function n(t,n,r){var i=t[n];"function"==typeof i&&(t[n]=function(){var t,n=rt()(arguments),o={};e.emit(r+"before-start",[n],o),o[dt]&&o[dt].dt&&(t=o[dt].dt);var a=i.apply(this,n);return e.emit(r+"start",[n,t],a),a.then((function(t){return e.emit(r+"end",[null,t],a),t}),(function(t){throw e.emit(r+"end",[t],a),t}))})}return lt[e.debugId]=!0,(0,b.D)(ct,(function(t,e){n(ut[ft],e,at),n(st[ft],e,at)})),n(it,"fetch",ot),e.on("fetch-end",(function(t,n){var r=this;if(n){var i=n.headers.get("content-length");null!==i&&(r.rxSize=i),e.emit("fetch-done",[null,n],r)}else e.emit("fetch-done",[t],r)})),e}var ht="nr@original",vt=Object.prototype.hasOwnProperty,gt=!1;function mt(t,e){return t||(t=s.ee),n.inPlace=function(t,e,r,i,o){r||(r="");var a,c,u,s="-"===r.charAt(0);for(u=0;u<e.length;u++)c=e[u],bt(a=t[c])||(t[c]=n(a,s?c+r:r,i,c,o))},n.flag=ht,n;function n(e,n,i,o,a){return bt(e)?e:(n||(n=""),c[ht]=e,wt(e,c,t),c);function c(){var c,u,s,f;try{u=this,c=rt()(arguments),s="function"==typeof i?i(c,u):i||{}}catch(e){yt([e,"",[c,u,o],s],t)}r(n+"start",[c,u,o],s,a);try{return f=e.apply(u,c)}catch(t){throw r(n+"err",[c,u,t],s,a),t}finally{r(n+"end",[c,u,f],s,a)}}}function r(n,r,i,o){if(!gt||e){var a=gt;gt=!0;try{t.emit(n,r,i,e,o)}catch(e){yt([e,n,r,i],t)}gt=a}}}function yt(t,e){e||(e=s.ee);try{e.emit("internal-error",t)}catch(t){}}function wt(t,e,n){if(Object.defineProperty&&Object.keys)try{return Object.keys(t).forEach((function(n){Object.defineProperty(e,n,{get:function(){return t[n]},set:function(e){return t[n]=e,e}})})),e}catch(t){yt([t],n)}for(var r in t)vt.call(t,r)&&(e[r]=t[r]);return e}function bt(t){return!(t&&t instanceof Function&&t.apply&&!t[ht])}var Ot={};function xt(t){var e=function(t){return(t||s.ee).get("timer")}(t);if(Ot[e.debugId])return e;Ot[e.debugId]=!0;var n=mt(e),r="setTimeout",i="setInterval",o="clearTimeout",a="-start";return n.inPlace(window,[r,"setImmediate"],"setTimeout-"),n.inPlace(window,[i],"setInterval-"),n.inPlace(window,[o,"clearImmediate"],"clearTimeout-"),e.on(i+a,(function(t,e,r){t[0]=n(t[0],"fn-",null,r)})),e.on(r+a,(function(t,e,r){this.method=r,this.timerDuration=isNaN(t[1])?0:+t[1],t[0]=n(t[0],"fn-",this,r)})),e}var Et={};function jt(t){var e=function(t){return(t||s.ee).get("raf")}(t);if(Et[e.debugId])return e;Et[e.debugId]=!0;var n=mt(e);return n.inPlace(window,["requestAnimationFrame","mozRequestAnimationFrame","webkitRequestAnimationFrame","msRequestAnimationFrame"],"raf-"),e.on("raf-start",(function(t){t[0]=n(t[0],"fn-")})),e}var _t={};function Pt(t){var e=function(t){return(t||s.ee).get("history")}(t);if(_t[e.debugId])return e;_t[e.debugId]=!0;var n=mt(e),r=window.history&&window.history.constructor&&window.history.constructor.prototype,i=window.history;return r&&r.pushState&&r.replaceState&&(i=r),n.inPlace(i,["pushState","replaceState"],"-"),e}var Tt={};function St(t){var e=function(t){return(t||s.ee).get("events")}(t);if(Tt[e.debugId])return e;Tt[e.debugId]=!0;var n=mt(e,!0),r=XMLHttpRequest,i="addEventListener",o="removeEventListener";function a(t){for(var e=t;e&&!e.hasOwnProperty(i);)e=Object.getPrototypeOf(e);e&&c(e)}function c(t){n.inPlace(t,[i,o],"-",u)}function u(t,e){return t[1]}return"getPrototypeOf"in Object?(a(document),a(window),a(r.prototype)):r.prototype.hasOwnProperty(i)&&(c(window),c(r.prototype)),e.on("addEventListener-start",(function(t,e){var r=t[1];if(null!==r&&("function"==typeof r||"object"==typeof r)){var i=(0,et.X)(r,"nr@wrapped",(function(){var t={object:function(){if("function"!=typeof r.handleEvent)return;return r.handleEvent.apply(r,arguments)},function:r}[typeof r];return t?n(t,"fn-",null,t.name||"anonymous"):r}));this.wrapped=t[1]=i}})),e.on("removeEventListener-start",(function(t){t[1]=this.wrapped||t[1]})),e}var Lt={};function Ct(t){var n=t||s.ee,r=function(t){return(t||s.ee).get("xhr")}(n);if(Lt[r.debugId])return r;Lt[r.debugId]=!0,St(n);var i=mt(r),o=z.Y.XHR,a=z.Y.MO,c=z.Y.PR,u=z.Y.SI,f="readystatechange",d=["onload","onerror","onabort","onloadstart","onloadend","onprogress","ontimeout"],l=[],p=window.XMLHttpRequest.listeners,h=window.XMLHttpRequest=function(t){var n=new o(t);function i(){try{r.emit("new-xhr",[n],n),n.addEventListener(f,g,(0,e.m)(!1))}catch(t){console.error(t);try{r.emit("internal-error",[t])}catch(t){}}}return this.listeners=p?[].concat(p,[i]):[i],this.listeners.forEach((function(t){return t()})),n};function v(t,e){i.inPlace(e,["onreadystatechange"],"fn-",O)}function g(){var t=this,e=r.context(t);t.readyState>3&&!e.resolved&&(e.resolved=!0,r.emit("xhr-resolved",[],t)),i.inPlace(t,d,"fn-",O)}if(function(t,e){for(var n in t)e[n]=t[n]}(o,h),h.prototype=o.prototype,i.inPlace(h.prototype,["open","send"],"-xhr-",O),r.on("send-xhr-start",(function(t,e){v(t,e),function(t){l.push(t),a&&(m?m.then(b):u?u(b):(y=-y,w.data=y))}(e)})),r.on("open-xhr-start",v),a){var m=c&&c.resolve();if(!u&&!c){var y=1,w=document.createTextNode(y);new a(b).observe(w,{characterData:!0})}}else n.on("fn-end",(function(t){t[0]&&t[0].type===f||b()}));function b(){for(var t=0;t<l.length;t++)v(0,l[t]);l.length&&(l=[])}function O(t,e){return e}return r}function It(t){return St(t)}function At(t){return jt(t)}function Rt(t){return xt(t)}function kt(t){return Ct(t)}function Ht(t,e){return Ht=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(t,e){return t.__proto__=e,t},Ht(t,e)}var zt="nr@seenError",Nt=function(t){var e,n;function r(e){var n;(n=t.call(this,e)||this).skipNext=0,n.handleErrors=!1,n.origOnerror=window.onerror;var r=function(t){if(void 0===t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return t}(n),i=(0,m.O)(n.agentIdentifier);i.features.err=!0,r.ee.on("fn-start",(function(t,e,n){r.handleErrors&&(r.skipNext+=1)})),r.ee.on("fn-err",(function(t,e,n){r.handleErrors&&!n[zt]&&((0,et.X)(n,zt,(function(){return!0})),this.thrown=!0,qt(n,void 0,r.ee))})),r.ee.on("fn-end",(function(){r.handleErrors&&!this.thrown&&r.skipNext>0&&(r.skipNext-=1)})),r.ee.on("internal-error",(function(t){(0,w.p)("ierr",[t,(0,O.zO)(),!0],void 0,void 0,r.ee)}));var o=window.onerror;window.onerror=function(){var t;return o&&o.apply(void 0,arguments),(t=n).onerrorHandler.apply(t,arguments),!1};try{window.addEventListener("unhandledrejection",(function(t){var e=new Error(""+t.reason);(0,w.p)("err",[e,(0,O.zO)(),!1,{unhandledPromiseRejection:1}],void 0,void 0,n.ee)}))}catch(t){}try{throw new Error}catch(t){"stack"in t&&(Rt(n.ee),At(n.ee),"addEventListener"in window&&It(n.ee),i.xhrWrappable&&kt(n.ee),r.handleErrors=!0)}return n}return n=t,(e=r).prototype=Object.create(n.prototype),e.prototype.constructor=e,Ht(e,n),r.prototype.onerrorHandler=function(t,e,n,r,i){try{this.skipNext?this.skipNext-=1:qt(i||new Mt(t,e,n),!0,this.ee)}catch(t){try{(0,w.p)("ierr",[t,(0,O.zO)(),!0],void 0,void 0,this.ee)}catch(t){}}return"function"==typeof this.origOnerror&&this.origOnerror.apply(this,rt()(arguments))},r}(C.W);function Mt(t,e,n){this.message=t||"Uncaught error with no additional information",this.sourceURL=e,this.line=n}function qt(t,e,n){var r=e?null:(0,O.zO)();(0,w.p)("err",[t,r],void 0,void 0,n)}var Dt=1;function Bt(t){var e=typeof t;return!t||"object"!==e&&"function"!==e?-1:t===window?0:(0,et.X)(t,"nr@id",(function(){return Dt++}))}var Ft=i(5973);function Gt(t){if("string"==typeof t&&t.length)return t.length;if("object"==typeof t){if("undefined"!=typeof ArrayBuffer&&t instanceof ArrayBuffer&&t.byteLength)return t.byteLength;if("undefined"!=typeof Blob&&t instanceof Blob&&t.size)return t.size;if(!("undefined"!=typeof FormData&&t instanceof FormData))try{return JSON.stringify(t).length}catch(t){return}}}var Ut=i(7001),Xt=i(4168),Zt=function(){function t(t){this.agentIdentifier=t,this.generateTracePayload=this.generateTracePayload.bind(this),this.shouldGenerateTrace=this.shouldGenerateTrace.bind(this)}var e=t.prototype;return e.generateTracePayload=function(t){if(!this.shouldGenerateTrace(t))return null;var e=P(this.agentIdentifier);if(!e)return null;var n=(e.accountID||"").toString()||null,r=(e.agentID||"").toString()||null,i=(e.trustKey||"").toString()||null;if(!n||!r)return null;var o=(0,Xt.M)(),a=(0,Xt.Ht)(),c=Date.now(),u={spanId:o,traceId:a,timestamp:c};return(t.sameOrigin||this.isAllowedOrigin(t)&&this.useTraceContextHeadersForCors())&&(u.traceContextParentHeader=this.generateTraceContextParentHeader(o,a),u.traceContextStateHeader=this.generateTraceContextStateHeader(o,c,n,r,i)),(t.sameOrigin&&!this.excludeNewrelicHeader()||!t.sameOrigin&&this.isAllowedOrigin(t)&&this.useNewrelicHeaderForCors())&&(u.newrelicHeader=this.generateTraceHeader(o,a,c,n,r,i)),u},e.generateTraceContextParentHeader=function(t,e){return"00-"+e+"-"+t+"-01"},e.generateTraceContextStateHeader=function(t,e,n,r,i){return i+"@nr=0-1-"+n+"-"+r+"-"+t+"----"+e},e.generateTraceHeader=function(t,e,n,r,i,o){if(!("btoa"in window&&"function"==typeof window.btoa))return null;var a={v:[0,1],d:{ty:"Browser",ac:r,ap:i,id:t,tr:e,ti:n}};return o&&r!==o&&(a.d.tk=o),btoa(JSON.stringify(a))},e.shouldGenerateTrace=function(t){return this.isDtEnabled()&&this.isAllowedOrigin(t)},e.isAllowedOrigin=function(t){var e=!1,n={};if((0,x.Mt)(this.agentIdentifier,"distributed_tracing")&&(n=(0,x.P_)(this.agentIdentifier).distributed_tracing),t.sameOrigin)e=!0;else if(n.allowed_origins instanceof Array)for(var r=0;r<n.allowed_origins.length;r++){var i=(0,Ut.e)(n.allowed_origins[r]);if(t.hostname===i.hostname&&t.protocol===i.protocol&&t.port===i.port){e=!0;break}}return e},e.isDtEnabled=function(){var t=(0,x.Mt)(this.agentIdentifier,"distributed_tracing");return!!t&&!!t.enabled},e.excludeNewrelicHeader=function(){var t=(0,x.Mt)(this.agentIdentifier,"distributed_tracing");return!!t&&!!t.exclude_newrelic_header},e.useNewrelicHeaderForCors=function(){var t=(0,x.Mt)(this.agentIdentifier,"distributed_tracing");return!!t&&!1!==t.cors_use_newrelic_header},e.useTraceContextHeadersForCors=function(){var t=(0,x.Mt)(this.agentIdentifier,"distributed_tracing");return!!t&&!!t.cors_use_tracecontext_headers},t}();function Vt(t,e){return Vt=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(t,e){return t.__proto__=e,t},Vt(t,e)}var Wt=["load","error","abort","timeout"],Yt=Wt.length,Qt=z.Y.REQ,Kt=window.XMLHttpRequest,Jt=function(t){var n,r;function i(n){var r;r=t.call(this,n)||this;var i=(0,m.O)(r.agentIdentifier);return!i.xhrWrappable||i.disabled?function(t){if(void 0===t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return t}(r):(i.features.xhr=!0,r.dt=new Zt(r.agentIdentifier),r.handler=function(t,e,n,i){return(0,w.p)(t,e,n,i,r.ee)},r.wrappedFetch=function(t,e){return n=t,pt(n);var n}(r.ee),kt(r.ee),function(t,n,r,i){function o(t){var n=this;n.totalCbs=0,n.called=0,n.cbTime=0,n.end=b,n.ended=!1,n.xhrGuids={},n.lastSize=null,n.loadCaptureCalled=!1,n.params=this.params||{},n.metrics=this.metrics||{},t.addEventListener("load",(function(e){E(n,t)}),(0,e.m)(!1)),Ft.I&&(Ft.I>34||Ft.I<10)||t.addEventListener("progress",(function(t){n.lastSize=t.loaded}),(0,e.m)(!1))}function a(t){this.params={method:t[0]},x(this,t[1]),this.metrics={}}function c(e,n){var r=P(t);"xpid"in r&&this.sameOrigin&&n.setRequestHeader("X-NewRelic-ID",r.xpid);var o=i.generateTracePayload(this.parsedOrigin);if(o){var a=!1;o.newrelicHeader&&(n.setRequestHeader("newrelic",o.newrelicHeader),a=!0),o.traceContextParentHeader&&(n.setRequestHeader("traceparent",o.traceContextParentHeader),o.traceContextStateHeader&&n.setRequestHeader("tracestate",o.traceContextStateHeader),a=!0),a&&(this.dt=o)}}function u(t,r){var i=this.metrics,o=t[0],a=this;if(i&&o){var c=Gt(o);c&&(i.txSize=c)}this.startTime=(0,O.zO)(),this.listener=function(t){try{"abort"!==t.type||a.loadCaptureCalled||(a.params.aborted=!0),("load"!==t.type||a.called===a.totalCbs&&(a.onloadCalled||"function"!=typeof r.onload))&&a.end(r)}catch(t){try{n.emit("internal-error",[t])}catch(t){}}};for(var u=0;u<Yt;u++)r.addEventListener(Wt[u],this.listener,(0,e.m)(!1))}function s(t,e,n){this.cbTime+=t,e?this.onloadCalled=!0:this.called+=1,this.called!==this.totalCbs||!this.onloadCalled&&"function"==typeof n.onload||this.end(n)}function f(t,e){var n=""+Bt(t)+!!e;this.xhrGuids&&!this.xhrGuids[n]&&(this.xhrGuids[n]=!0,this.totalCbs+=1)}function d(t,e){var n=""+Bt(t)+!!e;this.xhrGuids&&this.xhrGuids[n]&&(delete this.xhrGuids[n],this.totalCbs-=1)}function l(){this.endTime=(0,O.zO)()}function p(t,e){e instanceof Kt&&"load"===t[0]&&n.emit("xhr-load-added",[t[1],t[2]],e)}function h(t,e){e instanceof Kt&&"load"===t[0]&&n.emit("xhr-load-removed",[t[1],t[2]],e)}function v(t,e,n){e instanceof Kt&&("onload"===n&&(this.onload=!0),("load"===(t[0]&&t[0].type)||this.onload)&&(this.xhrCbStart=(0,O.zO)()))}function g(t,e){this.xhrCbStart&&n.emit("xhr-cb-time",[(0,O.zO)()-this.xhrCbStart,this.onload,e],e)}function m(t){var e,n=t[1]||{};"string"==typeof t[0]?e=t[0]:t[0]&&t[0].url?e=t[0].url:window.URL&&t[0]&&t[0]instanceof URL&&(e=t[0].href),e&&(this.parsedOrigin=(0,Ut.e)(e),this.sameOrigin=this.parsedOrigin.sameOrigin);var r=i.generateTracePayload(this.parsedOrigin);if(r&&(r.newrelicHeader||r.traceContextParentHeader))if("string"==typeof t[0]||window.URL&&t[0]&&t[0]instanceof URL){var o={};for(var a in n)o[a]=n[a];o.headers=new Headers(n.headers||{}),c(o.headers,r)&&(this.dt=r),t.length>1?t[1]=o:t.push(o)}else t[0]&&t[0].headers&&c(t[0].headers,r)&&(this.dt=r);function c(t,e){var n=!1;return e.newrelicHeader&&(t.set("newrelic",e.newrelicHeader),n=!0),e.traceContextParentHeader&&(t.set("traceparent",e.traceContextParentHeader),e.traceContextStateHeader&&t.set("tracestate",e.traceContextStateHeader),n=!0),n}}function y(t,e){this.params={},this.metrics={},this.startTime=(0,O.zO)(),this.dt=e,t.length>=1&&(this.target=t[0]),t.length>=2&&(this.opts=t[1]);var n,r=this.opts||{},i=this.target;"string"==typeof i?n=i:"object"==typeof i&&i instanceof Qt?n=i.url:window.URL&&"object"==typeof i&&i instanceof URL&&(n=i.href),x(this,n);var o=(""+(i&&i instanceof Qt&&i.method||r.method||"GET")).toUpperCase();this.params.method=o,this.txSize=Gt(r.body)||0}function w(t,e){var n;this.endTime=(0,O.zO)(),this.params||(this.params={}),this.params.status=e?e.status:0,"string"==typeof this.rxSize&&this.rxSize.length>0&&(n=+this.rxSize);var i={txSize:this.txSize,rxSize:n,duration:(0,O.zO)()-this.startTime};r("xhr",[this.params,i,this.startTime,this.endTime,"fetch"],this)}function b(t){var e=this.params,n=this.metrics;if(!this.ended){this.ended=!0;for(var i=0;i<Yt;i++)t.removeEventListener(Wt[i],this.listener,!1);e.aborted||(n.duration=(0,O.zO)()-this.startTime,this.loadCaptureCalled||4!==t.readyState?null==e.status&&(e.status=0):E(this,t),n.cbTime=this.cbTime,r("xhr",[e,n,this.startTime,this.endTime,"xhr"],this))}}function x(t,e){var n=(0,Ut.e)(e),r=t.params;r.hostname=n.hostname,r.port=n.port,r.protocol=n.protocol,r.host=n.hostname+":"+n.port,r.pathname=n.pathname,t.parsedOrigin=n,t.sameOrigin=n.sameOrigin}function E(t,e){t.params.status=e.status;var n=function(t,e){var n=t.responseType;return"json"===n&&null!==e?e:"arraybuffer"===n||"blob"===n||"json"===n?Gt(t.response):"text"===n||""===n||void 0===n?Gt(t.responseText):void 0}(e,t.lastSize);if(n&&(t.metrics.rxSize=n),t.sameOrigin){var r=e.getResponseHeader("X-NewRelic-App-Data");r&&(t.params.cat=r.split(", ").pop())}t.loadCaptureCalled=!0}n.on("new-xhr",o),n.on("open-xhr-start",a),n.on("open-xhr-end",c),n.on("send-xhr-start",u),n.on("xhr-cb-time",s),n.on("xhr-load-added",f),n.on("xhr-load-removed",d),n.on("xhr-resolved",l),n.on("addEventListener-end",p),n.on("removeEventListener-end",h),n.on("fn-end",g),n.on("fetch-before-start",m),n.on("fetch-start",y),n.on("fn-start",v),n.on("fetch-done",w)}(r.agentIdentifier,r.ee,r.handler,r.dt),r)}return r=t,(n=i).prototype=Object.create(r.prototype),n.prototype.constructor=n,Vt(n,r),i}(C.W);var $t=i(5098);function te(t,e){return te=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(t,e){return t.__proto__=e,t},te(t,e)}var ee="addEventListener",ne="resourcetimingbufferfull",re="bstResource",ie="-start",oe="-end",ae="fn-start",ce="fn-end",ue="bstTimer",se="pushState",fe=z.Y.EV,de=function(t){var n,r;function i(n){var r;if(r=t.call(this,n)||this,!(window.performance&&window.performance.timing&&window.performance.getEntriesByType))return function(t){if(void 0===t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return t}(r);(0,m.O)(r.agentIdentifier).features.stn=!0;var i=r.ee;function o(t){if((0,w.p)(re,[window.performance.getEntriesByType("resource")],void 0,void 0,i),window.performance.clearResourceTimings)try{window.performance.removeEventListener(ne,o,!1)}catch(t){}else try{window.performance.removeEventListener("webkitresourcetimingbufferfull",o,!1)}catch(t){}}return r.timerEE=Rt(r.ee),r.rafEE=At(r.ee),Pt(r.ee),It(r.ee),r.ee.on(ae,(function(t,e){t[0]instanceof fe&&(this.bstStart=(0,O.zO)())})),r.ee.on(ce,(function(t,e){var n=t[0];n instanceof fe&&(0,w.p)("bst",[n,e,this.bstStart,(0,O.zO)()],void 0,void 0,i)})),r.timerEE.on(ae,(function(t,e,n){this.bstStart=(0,O.zO)(),this.bstType=n})),r.timerEE.on(ce,(function(t,e){(0,w.p)(ue,[e,this.bstStart,(0,O.zO)(),this.bstType],void 0,void 0,i)})),r.rafEE.on(ae,(function(){this.bstStart=(0,O.zO)()})),r.rafEE.on(ce,(function(t,e){(0,w.p)(ue,[e,this.bstStart,(0,O.zO)(),"requestAnimationFrame"],void 0,void 0,i)})),r.ee.on(se+ie,(function(t){this.time=(0,O.zO)(),this.startPath=location.pathname+location.hash})),r.ee.on(se+oe,(function(t){(0,w.p)("bstHist",[location.pathname+location.hash,this.startPath,this.time],void 0,void 0,i)})),(0,$t.W)()?((0,w.p)(re,[window.performance.getEntriesByType("resource")],void 0,void 0,i),function(){var t=new PerformanceObserver((function(t,e){var n=t.getEntries();(0,w.p)(re,[n],void 0,void 0,i)}));try{t.observe({entryTypes:["resource"]})}catch(t){}}()):ee in window.performance&&(window.performance.clearResourceTimings?window.performance.addEventListener(ne,o,(0,e.m)(!1)):window.performance.addEventListener("webkitresourcetimingbufferfull",o,(0,e.m)(!1))),document.addEventListener("scroll",r.noOp,(0,e.m)(!1)),document.addEventListener("keypress",r.noOp,(0,e.m)(!1)),document.addEventListener("click",r.noOp,(0,e.m)(!1)),r}return r=t,(n=i).prototype=Object.create(r.prototype),n.prototype.constructor=n,te(n,r),i.prototype.noOp=function(t){},i}(C.W);function le(t,e){return le=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(t,e){return t.__proto__=e,t},le(t,e)}var pe=function(t){var e,n;function r(e){var n;return n=t.call(this,e)||this,(0,m.O)(n.agentIdentifier).features.ins=!0,n}return n=t,(e=r).prototype=Object.create(n.prototype),e.prototype.constructor=e,le(e,n),r}(C.W),he=i(847);new Promise((function(e,n){if(T)e(T);else{var r=(0,g.gG)();try{(0,y.L)(t.Z,r.info),(0,x.Dg)(t.Z,r.init),function(t,e){if(!t)throw new Error("All loader-config objects require an agent identifier!");_[t]=new E.I(e,j),(0,g.Qy)(t,_[t],"loader_config")}(t.Z,r.loader_config),(0,m.s)(t.Z,{}),function(t){var e=(0,g.fP)(),n=s.ee.get(t),r=n.get("tracer"),i="api-",o="api-ixn-";function a(){}(0,b.D)(["setErrorHandler","finished","addToTrace","inlineHit","addRelease"],(function(t,n){e[n]=u(i,n,!0,"api")})),e.addPageAction=u(i,"addPageAction",!0),e.setCurrentRouteName=u(i,"routeName",!0),e.setPageViewName=function(e,n){if("string"==typeof e)return"/"!==e.charAt(0)&&(e="/"+e),(0,m.O)(t).customTransaction=(n||"https://web.archive.org/web/20221130050355/http://custom.transaction")+e,u(i,"setPageViewName",!0,"api")()},e.setCustomAttribute=function(e,n){var r,o=(0,y.C)(t);return(0,y.L)(t,Object.assign({},o,{jsAttributes:Object.assign({},o.jsAttributes,(r={},r[e]=n,r))})),u(i,"setCustomAttribute",!0,"api")()},e.interaction=function(){return(new a).get()};var c=a.prototype={createTracer:function(t,e){var i={},o=this,a="function"==typeof e;return(0,w.p)("api-ixn-tracer",[(0,O.zO)(),t,i],o,void 0,n),function(){if(r.emit((a?"":"no-")+"fn-start",[(0,O.zO)(),o,a],i),a)try{return e.apply(this,arguments)}catch(t){throw r.emit("fn-err",[arguments,this,"string"==typeof t?new Error(t):t],i),t}finally{r.emit("fn-end",[(0,O.zO)()],i)}}}};function u(t,e,r,i){return function(){return(0,w.p)("record-supportability",["API/"+e+"/called"],void 0,void 0,n),(0,w.p)(t+e,[(0,O.zO)()].concat(v()(arguments)),r?null:this,i,n),r?void 0:this}}(0,b.D)("actionText,setName,setAttribute,save,ignore,onEnd,getContext,end,get".split(","),(function(t,e){c[e]=u(o,e)})),e.noticeError=function(t,e){"string"==typeof t&&(t=new Error(t)),(0,w.p)("record-supportability",["API/noticeError/called"],void 0,void 0,n),(0,w.p)("err",[t,(0,O.zO)(),!1,e],void 0,void 0,n)}}(t.Z),e(T=!0)}catch(t){n(t)}}})).then((function(){var e,n,r,i=(0,he.K)(t.Z);i.page_view_event&&new H(t.Z),i.page_view_timing&&new M(t.Z),i.metrics&&new tt(t.Z),i.jserrors&&new Nt(t.Z),i.ajax&&new Jt(t.Z),i.session_trace&&new de(t.Z),i.page_action&&new pe(t.Z),e="pro",n?setTimeout((function(){return p(e)}),r||1e3):c((function(){return p(e)}))}))}(),o}()}));</script> <meta name="viewport" content="width=device-width, initial-scale=1"> <meta name="description" content="Routledge &amp; CRC Press Series: Essential Grammars describe clearly and succinctly the core rules of each language and are up-to-date and practical reference guides to the most important aspec"/> <title>Routledge Essential Grammars - Book Series - Routledge &amp; CRC Press</title> <link rel="preload" href="/web/20221130050355/https://www.routledge.com/js/202702.js" as="script"> <link rel="preload" href="/web/20221130050355/https://www.routledge.com/js/vendor/modernizr.js?ver=1669355035" as="script"> <link rel="preload" href="/web/20221130050355/https://www.routledge.com/js/igo-init.js" as="script"> <link rel="preload" href="/web/20221130050355/https://www.routledge.com/js/bootstrap.bundle.min.js" as="script"> <link rel="preconnect" href="https://web.archive.org/web/20221130050355/https://fonts.gstatic.com/"> <link rel="preconnect" href="https://web.archive.org/web/20221130050355/https://secure.ride8stir.com/"> <script type="text/javascript" src="/web/20221130050355js_/https://www.routledge.com/js/202702.js"></script> <link rel="canonical" href="https://web.archive.org/web/20221130050355/https://www.routledge.com/Routledge-Essential-Grammars/book-series/SE0549"/> <link rel="shortcut icon" href="/web/20221130050355im_/https://www.routledge.com/favicon.ico"/> <link rel="preload stylesheet" href="/web/20221130050355cs_/https://www.routledge.com/css/vendor.css" as="style"> <link rel="preload stylesheet" href="/web/20221130050355cs_/https://www.routledge.com/css/bootstrap.min.css" as="style" onload="this.media='all';this.onload=null;"> <link rel="preload stylesheet" href="/web/20221130050355cs_/https://www.routledge.com/css/main_responsive_ubw.css?ver=1669355035" as="style"> <link rel="preload stylesheet" href="/web/20221130050355cs_/https://www.routledge.com/rsc/css/ubw.css?ver=1668709118" as="style"> <link rel="preload stylesheet" href="//web.archive.org/web/20221130050355cs_/https://fonts.googleapis.com/css?family=Droid+Serif:400&amp;display=swap" as="style"> <link rel="preload stylesheet" href="https://web.archive.org/web/20221130050355cs_/https://fonts.googleapis.com/css2?family=Open+Sans:wght@300;400;600;700;800&amp;display=swap" as="style"> <script type="text/javascript" src="/web/20221130050355js_/https://www.routledge.com/js/igo-init.js"></script> <script type="text/javascript"> var userregion = "US"; var usercurrencyname = "USD"; var ga_account_consol = ''; var fa_url=''; fa_url='https://web.archive.org/web/20221130050355/https://authors.taylorandfrancis.com/'; var page=''; var page='series'; 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="/web/20221130050355js_/https://www.routledge.com/js/vendor/modernizr.js?ver=1669355035"></script> <script src="https://web.archive.org/web/20221130050355js_/https://ajax.googleapis.com/ajax/libs/jquery/3.6.0/jquery.min.js"></script> <script src="https://web.archive.org/web/20221130050355js_/https://cdn.jsdelivr.net/npm/select2@3.5.1/select2.min.js" defer></script> <script src="/web/20221130050355js_/https://www.routledge.com/js/readmore.min.js" defer></script> <script src="/web/20221130050355js_/https://www.routledge.com/js/bootstrap.bundle.min.js"></script> <link rel="preload stylesheet" href="https://web.archive.org/web/20221130050355cs_/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://web.archive.org/web/20221130050355cs_/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://web.archive.org/web/20221130050355cs_/https://kit-free.fontawesome.com/releases/latest/css/free.min.css" as="style" media="print" onload="this.media='all';this.onload=null;"> <script src="/web/20221130050355js_/https://www.routledge.com/js/contentsquare/2b08024120432.js" defer></script> <script src="https://web.archive.org/web/20221130050355js_/https://cdn.optimizely.com/js/19960974376.js" defer></script> <link rel="preload image" href="/images/routledge-logo-lg.png" as="image"> </head> <body id="up" class=""> <noscript><iframe src="https://web.archive.org/web/20221130050355if_/https://www.googletagmanager.com/ns.html?id=GTM-KW3LJ3D" height="0" width="0" style="display:none;visibility:hidden"></iframe></noscript> <noscript><img alt="" src="https://web.archive.org/web/20221130050355im_/https://secure.ride8stir.com/202702.png" style="display:none"/></noscript> <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"> <div class="ship py-2"><i class="fas fa-shipping-fast me-1"></i> <a href="/web/20221130050355/https://www.routledge.com/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"> <a title="Links to Routledge Home Page" href="/web/20221130050355/https://www.routledge.com/"><img class="img-fluid m-0" width="214" height="60" src="/web/20221130050355im_/https://www.routledge.com/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="/web/20221130050355/https://www.routledge.com/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> <input type="text" name="kw" id="basicSrchKwInHeader" autocomplete="OFF" maxlength="125" class="form-control sch" placeholder="Search by keywords, subject, or ISBN" 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" id="desktopNavigationMenu"> <li> <a title="Shopping Cart" href="/web/20221130050355/https://www.routledge.com/cart" aria-label="Shopping Cart" aria-describedby="cartqty"> <i class="fas fa-shopping-cart"></i><span aria-label="0 item" id="cartqty" class="badge" style="display:none;">0</span> </a> </li> <li title="Shipping Country/Region"> <div class="select2-container" id="s2id_e1"> <a href="javascript:void(0)" aria-label="Shipping Country/Region is United States" class="select2-choice flag" id="userRegionDropDown" tabindex="0"> <span class="select2-chosen" id="select2-chosen-1"> <img class="mb-1 flag" alt="United States Flag" src="/web/20221130050355im_/https://www.routledge.com/images/flags/16/united-states.png" height="16" width="16"> </span> </a> </div> <div id="selectCountryChange"> </div> </li> </ul> </div> </div> </div> </div> <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" id="mobileNavigationMenu"> <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"> Instructors &amp; Students </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"> Professional Practice </a> <div class="dropdown-menu drop-down-bar" aria-labelledby="navbarDropdown3"> </div> </li> <li class="nav-item dropdown"> <a class="nav-link dropdown-toggle dropdownlist" href="javascript:void();" id="navbarDropdown4" 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="navbarDropdown4"> </div> </li> <li class="nav-item sale"><a title="Sales &amp; Promotions page" area-label="Sales &amp; Promotions page" class="nav-link" href="/web/20221130050355/https://www.routledge.com/sale"> SALE </a></li> </ul> </div> </nav> </div> <section class="promotion"><div style=""><center> <div style="padding: 4px 8px; display:block; margin:auto; background-color: #0e121c;"> <p style="text-align: center; vertical-align:middle; margin:1px; padding-top: 1px"><a href="/web/20221130050355/https://www.routledge.com/subjects" style="font-size: 1.5em; font-weight:700; line-height: .7; color:#f3b94d; text-decoration: none;">Black Friday &bull;&nbsp;30% Off All Titles &bull;&nbsp;Shop&nbsp;Now</a></p> <script src="https://web.archive.org/web/20221130050355js_/https://cdnjs.cloudflare.com/ajax/libs/jquery.countdown/2.2.0/jquery.countdown.min.js"></script><script src="https://web.archive.org/web/20221130050355js_/https://cdnjs.cloudflare.com/ajax/libs/moment.js/2.24.0/moment.min.js"></script><script src="https://web.archive.org/web/20221130050355js_/https://cdnjs.cloudflare.com/ajax/libs/moment-timezone/0.5.23/moment-timezone-with-data-2012-2022.min.js"></script> <div class="countdown-clock" style="text-align: center; vertical-align:middle; margin:2px; padding-top: 1px; font-size: 1.3em; font-weight:700; line-height: 1; color:#fff;"> <div class="countdown-container" data-countdown="" data-countdown-end="2022-12-02 05:00:00" data-countdown-start="2022-12-02 05:00:00" data-countdown-timezone="America/New_York">&nbsp;</div> </div> <script> var $clockElement = $('[data-countdown]'); $clockElement.each( function() { var $clock = $(this), eventStart = $(this).data('countdownStart'), eventEnd = $(this).data('countdownEnd'), eventTimeZone = $(this).data('countdownTimezone'); var eventEndTime = moment.tz(eventEnd, eventTimeZone); var countdownTo = moment.tz(eventStart, eventTimeZone); $clock.countdown(countdownTo.toDate(), { elapse: true } ).on('update.countdown', function(event) { var output = '%Ss'; if ( event.offset.totalMinutes > 0 ) { output = '%Mm ' + output; } if ( event.offset.totalHours > 0 ) { output = '%Hh ' + output; } if ( event.offset.totalDays > 0 ) { output = 'Sale ends in: %-Dd ' + output; } var currentTime = moment().tz(eventTimeZone); if ( currentTime > eventEndTime && event.elapsed ) { $(this).html('' + '<p>SALE has ENDED.</p>' ).parent().addClass('disabled'); $(this).countdown('stop'); } else if ( event.elapsed ) { $(this).html('' + '<p style="color:green">IN PROGRESS.</p>' ).parent().addClass('disabled'); } else { $(this).html( event.strftime(output) ); } }); }); </script> <style type="text/css">main .countdown-clock {display: none;} </style> </div> </center></div></section> </header> <div class="crc5container responsive"> <div id="body" class="container responsive series"> <div class="row"> <section class="col-xs-12 col-md-9"> <p><a href="/web/20221130050355/https://www.routledge.com/our-products/book-series"><i class="fa fa-angle-double-left"></i> View All Book Series</a></p> <h2>BOOK SERIES</h2> <hr> <h1>Routledge Essential Grammars</h1> <hr> <h2>About the Series</h2> <div class="seriesDescription"><p><p><em>Essential Grammars</em> describe clearly and succinctly the core rules of each language and are up-to-date and practical reference guides to the most important aspects of languages used by contemporary native speakers. They are designed for elementary to intermediate learners and present an accessible description of the language, focusing on the real patterns of use today.<br><em>Essential Grammars</em> are a reference source for the learner and user of the language, irrespective of level, setting out the complexities of the language in short, readable sections that are clear and free from jargon.<br><em>Essential Grammars</em> are ideal either for independent study or for students in schools, colleges, universities and adult classes of all types.</p> <p><strong>All&nbsp;<em>Essential Grammars</em> are available as inspection copies.</strong></p></p></div> <div class="row"> <div class="col-xs-12"> <ul class="nav nav-tabs" role="tablist"> <li id="viewBooksButton" class="active" data-tab="#seriesBooks"><a href="javascript:void(0)">Series Titles</a></li> <li id="viewAuthorsButton" class="loadme" data-tab="#authors" data-target="/browse/seriesAuthors/SE0549"><a href="javascript:void(0)">Authors</a></li> </ul> </div> </div> <div id="seriesBooks" data-url="/web/20221130050355oe_/https://www.routledge.com/Routledge-Essential-Grammars/book-series/SE0549" data-series="SE0549" class="collapse browseArea in"> <div class="row"> <div class="sortControls col-xs-12"> <h2>35 Series Titles</h2> <div class="spinnerControl" style="visibility: hidden;"> <img src="/web/20221130050355im_/https://www.routledge.com/images/ajax-spinner.gif" alt="AJAX loader" title="AJAX loader"/> </div> <div id="bookControls"> <div class="col-xs-5 col-sm-2 text-start"> <div class="control-label">Per Page</div> <div class="btn-group"> <select id="perPage" class="form-select"> <option value="12" selected>12</option> <option value="24">24</option> <option value="48">48</option> </select> </div> </div> <div class="col-xs-7 col-sm-3 text-start"> <div class="control-label">Sort</div> <div class="btn-group"> <select id="sort" class="sortSelect form-select"> <option value="pub" selected>Publication Date</option> <option value="az">Title (Asc)</option> <option value="za">Title (Desc)</option> </select> </div> </div> <hr class="spaceOnly clearfix visible-xs"/> <div class="col-xs-7 col-sm-4 pull-right"> <label for="frtCheck"><input class="checks" id="frtCheck" name="forthcoming" value="forthcoming" type="checkbox" checked> Include Forthcoming Titles</label> <input style="display: none;" id="pubCheck" name="published" value="published" type="checkbox" checked/> </div> <div class="col-xs-5 col-sm-3"> <div class="control-label">Display</div> <div class="btn-group" id="viewButton"> <a title="Detail View" id="listViewButton" data-type="list" href="javascript:void(0)" class="sortControl active"><i class="fa fa-th-list"></i></a> <a title="Gallery View" id="gridViewButton" data-type="grid" href="javascript:void(0)" class="sortControl "><i class="fa fa-th"></i></a> </div> </div> <div class="clearfix"></div> </div> </div> </div> <div id="books"> <div id="booksGrid" class="books collapse" style="display: none"> <div class="row"> <div class="book col-xs-6 col-sm-3"> <a href="/web/20221130050355/https://www.routledge.com/Polish-An-Essential-Grammar/Bielec/p/book/9780415595599"> <img data-cover="9780415595599" src="/web/20221130050355im_/https://www.routledge.com/images/ajax-spinner.gif" onerror="this.src='/img/covers/image-not-available.png'" alt="Polish: An Essential Grammar " class="img-fluid list-loading-img product-cover-img269056" data-prodid="269056" data-productisbn="9780415595599" data-size="crclarge"/> <p class="title clearfix">Polish: An Essential Grammar </p> </a> <h4 style="font-size:1em; font-weight:300; color:#666666">2nd Edition</h4> </div> <div class="book col-xs-6 col-sm-3"> <a href="/web/20221130050355/https://www.routledge.com/Latvian-An-Essential-Grammar/Praulins/p/book/9780415576925"> <img data-cover="9780415576925" src="/web/20221130050355im_/https://www.routledge.com/images/ajax-spinner.gif" onerror="this.src='/img/covers/image-not-available.png'" alt="Latvian: An Essential Grammar " class="img-fluid list-loading-img product-cover-img254956" data-prodid="254956" data-productisbn="9780415576925" data-size="crclarge"/> <p class="title clearfix">Latvian: An Essential Grammar </p> </a> <h4 style="font-size:1em; font-weight:300; color:#666666">1st Edition</h4> </div> <div class="clearfix hidden-lg hidden-md hidden-sm"></div> <div class="book col-xs-6 col-sm-3"> <a href="/web/20221130050355/https://www.routledge.com/Danish-An-Essential-Grammar/Lundskaer-Nielsen-Holmes/p/book/9780415496896"> <img data-cover="9780415496896" src="/web/20221130050355im_/https://www.routledge.com/images/ajax-spinner.gif" onerror="this.src='/img/covers/image-not-available.png'" alt="Danish: An Essential Grammar " class="img-fluid list-loading-img product-cover-img88547" data-prodid="88547" data-productisbn="9780415496896" data-size="crclarge"/> <p class="title clearfix">Danish: An Essential Grammar </p> </a> <h4 style="font-size:1em; font-weight:300; color:#666666">2nd Edition</h4> </div> <div class="book col-xs-6 col-sm-3"> <a href="/web/20221130050355/https://www.routledge.com/Hungarian-An-Essential-Grammar/Rounds/p/book/9780415777377"> <img data-cover="9780415777377" src="/web/20221130050355im_/https://www.routledge.com/images/ajax-spinner.gif" onerror="this.src='/img/covers/image-not-available.png'" alt="Hungarian: An Essential Grammar " class="img-fluid list-loading-img product-cover-img109811" data-prodid="109811" data-productisbn="9780415777377" data-size="crclarge"/> <p class="title clearfix">Hungarian: An Essential Grammar </p> </a> <h4 style="font-size:1em; font-weight:300; color:#666666">2nd Edition</h4> </div> </div> <div class="row"> <div class="book col-xs-6 col-sm-3"> <a href="/web/20221130050355/https://www.routledge.com/Romanian-An-Essential-Grammar/Gonczol/p/book/9780415338257"> <img data-cover="9780415338257" src="/web/20221130050355im_/https://www.routledge.com/images/ajax-spinner.gif" onerror="this.src='/img/covers/image-not-available.png'" alt="Romanian: An Essential Grammar " class="img-fluid list-loading-img product-cover-img934190" data-prodid="934190" data-productisbn="9780415338257" data-size="crclarge"/> <p class="title clearfix">Romanian: An Essential Grammar </p> </a> <h4 style="font-size:1em; font-weight:300; color:#666666">1st Edition</h4> </div> <div class="book col-xs-6 col-sm-3"> <a href="/web/20221130050355/https://www.routledge.com/German-An-Essential-Grammar/Donaldson/p/book/9780415366021"> <img data-cover="9780415366021" src="/web/20221130050355im_/https://www.routledge.com/images/ajax-spinner.gif" onerror="this.src='/img/covers/image-not-available.png'" alt="German: An Essential Grammar " class="img-fluid list-loading-img product-cover-img90029" data-prodid="90029" data-productisbn="9780415366021" data-size="crclarge"/> <p class="title clearfix">German: An Essential Grammar </p> </a> <h4 style="font-size:1em; font-weight:300; color:#666666">1st Edition</h4> </div> <div class="clearfix hidden-lg hidden-md hidden-sm"></div> <div class="book col-xs-6 col-sm-3"> <a href="/web/20221130050355/https://www.routledge.com/Georgian-A-Learners-Grammar/Hewitt/p/book/9780415333719"> <img data-cover="9780415333719" src="/web/20221130050355im_/https://www.routledge.com/images/ajax-spinner.gif" onerror="this.src='/img/covers/image-not-available.png'" alt="Georgian A Learner's Grammar" class="img-fluid list-loading-img product-cover-img93842" data-prodid="93842" data-productisbn="9780415333719" data-size="crclarge"/> <p class="title clearfix">Georgian A Learner's Grammar</p> </a> <h4 style="font-size:1em; font-weight:300; color:#666666">2nd Edition</h4> </div> <div class="book col-xs-6 col-sm-3"> <a href="/web/20221130050355/https://www.routledge.com/Serbian-An-Essential-Grammar/Hammond/p/book/9780415286411"> <img data-cover="9780415286411" src="/web/20221130050355im_/https://www.routledge.com/images/ajax-spinner.gif" onerror="this.src='/img/covers/image-not-available.png'" alt="Serbian: An Essential Grammar " class="img-fluid list-loading-img product-cover-img107539" data-prodid="107539" data-productisbn="9780415286411" data-size="crclarge"/> <p class="title clearfix">Serbian: An Essential Grammar </p> </a> <h4 style="font-size:1em; font-weight:300; color:#666666">1st Edition</h4> </div> </div> <div class="row"> <div class="book col-xs-6 col-sm-3"> <a href="/web/20221130050355/https://www.routledge.com/Spanish-An-Essential-Grammar/Bradley-Mackenzie/p/book/9780415286435"> <img data-cover="9780415286435" src="/web/20221130050355im_/https://www.routledge.com/images/ajax-spinner.gif" onerror="this.src='/img/covers/image-not-available.png'" alt="Spanish: An Essential Grammar " class="img-fluid list-loading-img product-cover-img101314" data-prodid="101314" data-productisbn="9780415286435" data-size="crclarge"/> <p class="title clearfix">Spanish: An Essential Grammar </p> </a> <h4 style="font-size:1em; font-weight:300; color:#666666">1st Edition</h4> </div> <div class="book col-xs-6 col-sm-3"> <a href="/web/20221130050355/https://www.routledge.com/Urdu-An-Essential-Grammar/Schmidt/p/book/9780415163811"> <img data-cover="9780415163811" src="/web/20221130050355im_/https://www.routledge.com/images/ajax-spinner.gif" onerror="this.src='/img/covers/image-not-available.png'" alt="Urdu: An Essential Grammar " class="img-fluid list-loading-img product-cover-img93036" data-prodid="93036" data-productisbn="9780415163811" data-size="crclarge"/> <p class="title clearfix">Urdu: An Essential Grammar </p> </a> <h4 style="font-size:1em; font-weight:300; color:#666666">1st Edition</h4> </div> <div class="clearfix hidden-lg hidden-md hidden-sm"></div> <div class="book col-xs-6 col-sm-3"> <a href="/web/20221130050355/https://www.routledge.com/Finnish-An-Essential-Grammar/Karlsson/p/book/9780415207041"> <img data-cover="9780415207041" src="/web/20221130050355im_/https://www.routledge.com/images/ajax-spinner.gif" onerror="this.src='/img/covers/image-not-available.png'" alt="Finnish: An Essential Grammar " class="img-fluid list-loading-img product-cover-img70242" data-prodid="70242" data-productisbn="9780415207041" data-size="crclarge"/> <p class="title clearfix">Finnish: An Essential Grammar </p> </a> <h4 style="font-size:1em; font-weight:300; color:#666666">1st Edition</h4> </div> </div> </div> <div id="booksDetail" class="books collapse in" style="display: block"> <div class="row book"> <div class="col-xs-3 col-md-2"> <div class="bookImg text-center"> <a href="/web/20221130050355/https://www.routledge.com/Polish-An-Essential-Grammar/Bielec/p/book/9780415595599"><img data-cover="9780415595599" src="/web/20221130050355im_/https://www.routledge.com/images/ajax-spinner.gif" onerror="this.src='/img/covers/image-not-available.png'" data-prodid="269056" data-productisbn="9780415595599" alt="Polish: An Essential Grammar " class="img-fluid list-loading-img product-cover-img" data-size="crclarge"/></a> </div> </div> <div class="col-xs-9 col-md-10"> <h3><a href="/web/20221130050355/https://www.routledge.com/Polish-An-Essential-Grammar/Bielec/p/book/9780415595599">Polish: An Essential Grammar</a></h3> <h4 style="font-size:1em; font-weight:300; color:#666666">2nd Edition</h4> <p> By <b>Dana Bielec</b><br/> April 20, 2012</p> <p class="description">Polish: An Essential Grammar is a user-friendly guide to all the important structures of this fascinating language. Presenting a fresh and accessible description of the language, this engaging grammar uses clear, jargon-free explanations and sets out the complexities of Polish in short, readable <a href="/web/20221130050355/https://www.routledge.com/Polish-An-Essential-Grammar/Bielec/p/book/9780415595599" title="Read more about Polish: An Essential Grammar ">...</a></p> </div> </div> <div class="row book"> <div class="col-xs-3 col-md-2"> <div class="bookImg text-center"> <a href="/web/20221130050355/https://www.routledge.com/Latvian-An-Essential-Grammar/Praulins/p/book/9780415576925"><img data-cover="9780415576925" src="/web/20221130050355im_/https://www.routledge.com/images/ajax-spinner.gif" onerror="this.src='/img/covers/image-not-available.png'" data-prodid="254956" data-productisbn="9780415576925" alt="Latvian: An Essential Grammar " class="img-fluid list-loading-img product-cover-img" data-size="crclarge"/></a> </div> </div> <div class="col-xs-9 col-md-10"> <h3><a href="/web/20221130050355/https://www.routledge.com/Latvian-An-Essential-Grammar/Praulins/p/book/9780415576925">Latvian: An Essential Grammar</a></h3> <h4 style="font-size:1em; font-weight:300; color:#666666">1st Edition</h4> <p> By <b>Dace Praulin拧</b><br/> April 19, 2012</p> <p class="description">Latvian: An Essential Grammar is a concise, user-friendly guide to the basic grammatical structures of Latvian. Presenting a fresh and accessible description of the language, this engaging grammar uses clear, jargon-free explanations to set out the complexities of Latvian in short, readable <a href="/web/20221130050355/https://www.routledge.com/Latvian-An-Essential-Grammar/Praulins/p/book/9780415576925" title="Read more about Latvian: An Essential Grammar ">...</a></p> </div> </div> <div class="row book"> <div class="col-xs-3 col-md-2"> <div class="bookImg text-center"> <a href="/web/20221130050355/https://www.routledge.com/Danish-An-Essential-Grammar/Lundskaer-Nielsen-Holmes/p/book/9780415496896"><img data-cover="9780415496896" src="/web/20221130050355im_/https://www.routledge.com/images/ajax-spinner.gif" onerror="this.src='/img/covers/image-not-available.png'" data-prodid="88547" data-productisbn="9780415496896" alt="Danish: An Essential Grammar " class="img-fluid list-loading-img product-cover-img" data-size="crclarge"/></a> </div> </div> <div class="col-xs-9 col-md-10"> <h3><a href="/web/20221130050355/https://www.routledge.com/Danish-An-Essential-Grammar/Lundskaer-Nielsen-Holmes/p/book/9780415496896">Danish: An Essential Grammar</a></h3> <h4 style="font-size:1em; font-weight:300; color:#666666">2nd Edition</h4> <p> By <b>Tom Lundskaer-Nielsen, Philip Holmes</b><br/> May 25, 2011</p> <p class="description">Danish: An Essential Grammar is a reference guide to the most important aspects of current Danish as it is used by native speakers. It presents a fresh and accessible description of the language, focusing on those areas of Danish that pose particular problems for English speakers but at the same <a href="/web/20221130050355/https://www.routledge.com/Danish-An-Essential-Grammar/Lundskaer-Nielsen-Holmes/p/book/9780415496896" title="Read more about Danish: An Essential Grammar ">...</a></p> </div> </div> <div class="row book"> <div class="col-xs-3 col-md-2"> <div class="bookImg text-center"> <a href="/web/20221130050355/https://www.routledge.com/Hungarian-An-Essential-Grammar/Rounds/p/book/9780415777377"><img data-cover="9780415777377" src="/web/20221130050355im_/https://www.routledge.com/images/ajax-spinner.gif" onerror="this.src='/img/covers/image-not-available.png'" data-prodid="109811" data-productisbn="9780415777377" alt="Hungarian: An Essential Grammar " class="img-fluid list-loading-img product-cover-img" data-size="crclarge"/></a> </div> </div> <div class="col-xs-9 col-md-10"> <h3><a href="/web/20221130050355/https://www.routledge.com/Hungarian-An-Essential-Grammar/Rounds/p/book/9780415777377">Hungarian: An Essential Grammar</a></h3> <h4 style="font-size:1em; font-weight:300; color:#666666">2nd Edition</h4> <p> By <b>Carol Rounds</b><br/> January 29, 2009</p> <p class="description">Hungarian: An Essential Grammar is a concise, user-friendly guide to the most important structures of this fascinating language. All students of Hungarian, whether beginners or at intermediate and advanced levels, will welcome its clarity of presentation and jargon-free explanations. It is ideal <a href="/web/20221130050355/https://www.routledge.com/Hungarian-An-Essential-Grammar/Rounds/p/book/9780415777377" title="Read more about Hungarian: An Essential Grammar ">...</a></p> </div> </div> <div class="row book"> <div class="col-xs-3 col-md-2"> <div class="bookImg text-center"> <a href="/web/20221130050355/https://www.routledge.com/Romanian-An-Essential-Grammar/Gonczol/p/book/9780415338257"><img data-cover="9780415338257" src="/web/20221130050355im_/https://www.routledge.com/images/ajax-spinner.gif" onerror="this.src='/img/covers/image-not-available.png'" data-prodid="934190" data-productisbn="9780415338257" alt="Romanian: An Essential Grammar " class="img-fluid list-loading-img product-cover-img" data-size="crclarge"/></a> </div> </div> <div class="col-xs-9 col-md-10"> <h3><a href="/web/20221130050355/https://www.routledge.com/Romanian-An-Essential-Grammar/Gonczol/p/book/9780415338257">Romanian: An Essential Grammar</a></h3> <h4 style="font-size:1em; font-weight:300; color:#666666">1st Edition</h4> <p> By <b>Ramona G枚ncz枚l</b><br/> October 30, 2007</p> <p class="description">This book is suitable for independent and classroom learners, ideal for the beginner to intermediate student, and&nbsp;takes the reader through the essentials of the language explaining each concept clearly and providing many examples of contemporary Romanian usage. The book contains: a chapter on<a href="/web/20221130050355/https://www.routledge.com/Romanian-An-Essential-Grammar/Gonczol/p/book/9780415338257" title="Read more about Romanian: An Essential Grammar ">...</a></p> </div> </div> <div class="row book"> <div class="col-xs-3 col-md-2"> <div class="bookImg text-center"> <a href="/web/20221130050355/https://www.routledge.com/German-An-Essential-Grammar/Donaldson/p/book/9780415366021"><img data-cover="9780415366021" src="/web/20221130050355im_/https://www.routledge.com/images/ajax-spinner.gif" onerror="this.src='/img/covers/image-not-available.png'" data-prodid="90029" data-productisbn="9780415366021" alt="German: An Essential Grammar " class="img-fluid list-loading-img product-cover-img" data-size="crclarge"/></a> </div> </div> <div class="col-xs-9 col-md-10"> <h3><a href="/web/20221130050355/https://www.routledge.com/German-An-Essential-Grammar/Donaldson/p/book/9780415366021">German: An Essential Grammar</a></h3> <h4 style="font-size:1em; font-weight:300; color:#666666">1st Edition</h4> <p> By <b>Bruce Donaldson</b><br/> December 12, 2006</p> <p class="description">German: An Essential Grammar is a practical reference guide to the core structures and features of modern German. Presenting a fresh and accessible description of the language, this engaging grammar uses clear, jargon-free explanations and sets out the complexities of German in short, readable <a href="/web/20221130050355/https://www.routledge.com/German-An-Essential-Grammar/Donaldson/p/book/9780415366021" title="Read more about German: An Essential Grammar ">...</a></p> </div> </div> <div class="row book"> <div class="col-xs-3 col-md-2"> <div class="bookImg text-center"> <a href="/web/20221130050355/https://www.routledge.com/Georgian-A-Learners-Grammar/Hewitt/p/book/9780415333719"><img data-cover="9780415333719" src="/web/20221130050355im_/https://www.routledge.com/images/ajax-spinner.gif" onerror="this.src='/img/covers/image-not-available.png'" data-prodid="93842" data-productisbn="9780415333719" alt="Georgian A Learner's Grammar" class="img-fluid list-loading-img product-cover-img" data-size="crclarge"/></a> </div> </div> <div class="col-xs-9 col-md-10"> <h3><a href="/web/20221130050355/https://www.routledge.com/Georgian-A-Learners-Grammar/Hewitt/p/book/9780415333719">Georgian: A Learner's Grammar </a></h3> <h4 style="font-size:1em; font-weight:300; color:#666666">2nd Edition</h4> <p> By <b>George Hewitt</b><br/> August 09, 2005</p> <p class="description">This second edition of Georgian: A Learner's Grammar is a completely revised and updated guide to the fascinating and most widely spoken language of the Caucasus. Presenting the language in the form of dialogues and reading passages, full attention is given to script reproduction and recognition, <a href="/web/20221130050355/https://www.routledge.com/Georgian-A-Learners-Grammar/Hewitt/p/book/9780415333719" title="Read more about Georgian A Learner's Grammar">...</a></p> </div> </div> <div class="row book"> <div class="col-xs-3 col-md-2"> <div class="bookImg text-center"> <a href="/web/20221130050355/https://www.routledge.com/Serbian-An-Essential-Grammar/Hammond/p/book/9780415286411"><img data-cover="9780415286411" src="/web/20221130050355im_/https://www.routledge.com/images/ajax-spinner.gif" onerror="this.src='/img/covers/image-not-available.png'" data-prodid="107539" data-productisbn="9780415286411" alt="Serbian: An Essential Grammar " class="img-fluid list-loading-img product-cover-img" data-size="crclarge"/></a> </div> </div> <div class="col-xs-9 col-md-10"> <h3><a href="/web/20221130050355/https://www.routledge.com/Serbian-An-Essential-Grammar/Hammond/p/book/9780415286411">Serbian: An Essential Grammar</a></h3> <h4 style="font-size:1em; font-weight:300; color:#666666">1st Edition</h4> <p> By <b>Lila Hammond</b><br/> July 19, 2005</p> <p class="description">Serbian: An Essential Grammar is an up-to-date and practical reference guide to the most important aspects of Serbian as used by contemporary native speakers of the language. Refreshingly jargon free, it presents an accessible description of the language, focusing on the real patterns of use today.<a href="/web/20221130050355/https://www.routledge.com/Serbian-An-Essential-Grammar/Hammond/p/book/9780415286411" title="Read more about Serbian: An Essential Grammar ">...</a></p> </div> </div> <div class="row book"> <div class="col-xs-3 col-md-2"> <div class="bookImg text-center"> <a href="/web/20221130050355/https://www.routledge.com/Spanish-An-Essential-Grammar/Bradley-Mackenzie/p/book/9780415286435"><img data-cover="9780415286435" src="/web/20221130050355im_/https://www.routledge.com/images/ajax-spinner.gif" onerror="this.src='/img/covers/image-not-available.png'" data-prodid="101314" data-productisbn="9780415286435" alt="Spanish: An Essential Grammar " class="img-fluid list-loading-img product-cover-img" data-size="crclarge"/></a> </div> </div> <div class="col-xs-9 col-md-10"> <h3><a href="/web/20221130050355/https://www.routledge.com/Spanish-An-Essential-Grammar/Bradley-Mackenzie/p/book/9780415286435">Spanish: An Essential Grammar</a></h3> <h4 style="font-size:1em; font-weight:300; color:#666666">1st Edition</h4> <p> By <b>Peter T Bradley, Ian Mackenzie</b><br/> June 15, 2004</p> <p class="description">Spanish: An Essential Grammar is a concise and user-friendly reference guide to the most important aspects of Spanish.It presents a fresh and accessible description of the language that combines traditional and function-based grammar. The book sets out the complexities of Spanish in short, readable<a href="/web/20221130050355/https://www.routledge.com/Spanish-An-Essential-Grammar/Bradley-Mackenzie/p/book/9780415286435" title="Read more about Spanish: An Essential Grammar ">...</a></p> </div> </div> <div class="row book"> <div class="col-xs-3 col-md-2"> <div class="bookImg text-center"> <a href="/web/20221130050355/https://www.routledge.com/Urdu-An-Essential-Grammar/Schmidt/p/book/9780415163811"><img data-cover="9780415163811" src="/web/20221130050355im_/https://www.routledge.com/images/ajax-spinner.gif" onerror="this.src='/img/covers/image-not-available.png'" data-prodid="93036" data-productisbn="9780415163811" alt="Urdu: An Essential Grammar " class="img-fluid list-loading-img product-cover-img" data-size="crclarge"/></a> </div> </div> <div class="col-xs-9 col-md-10"> <h3><a href="/web/20221130050355/https://www.routledge.com/Urdu-An-Essential-Grammar/Schmidt/p/book/9780415163811">Urdu: An Essential Grammar</a></h3> <h4 style="font-size:1em; font-weight:300; color:#666666">1st Edition</h4> <p> By <b>Ruth Laila Schmidt</b><br/> November 19, 1999</p> <p class="description">Urdu: An Essential Grammar is a reference guide to the most important aspects of the language as it is used by native speakers today.The complexities of Urdu are set out in short, readable sections. Explanations contain minimal jargon and emphasis has been placed on the aspects of Urdu that pose a<a href="/web/20221130050355/https://www.routledge.com/Urdu-An-Essential-Grammar/Schmidt/p/book/9780415163811" title="Read more about Urdu: An Essential Grammar ">...</a></p> </div> </div> <div class="row book"> <div class="col-xs-3 col-md-2"> <div class="bookImg text-center"> <a href="/web/20221130050355/https://www.routledge.com/Finnish-An-Essential-Grammar/Karlsson/p/book/9780415207041"><img data-cover="9780415207041" src="/web/20221130050355im_/https://www.routledge.com/images/ajax-spinner.gif" onerror="this.src='/img/covers/image-not-available.png'" data-prodid="70242" data-productisbn="9780415207041" alt="Finnish: An Essential Grammar " class="img-fluid list-loading-img product-cover-img" data-size="crclarge"/></a> </div> </div> <div class="col-xs-9 col-md-10"> <h3><a href="/web/20221130050355/https://www.routledge.com/Finnish-An-Essential-Grammar/Karlsson/p/book/9780415207041">Finnish: An Essential Grammar</a></h3> <h4 style="font-size:1em; font-weight:300; color:#666666">1st Edition</h4> <p> By <b>Fred Karlsson</b><br/> October 05, 1999</p> <p class="description">This thoroughly revised third edition of Finnish: An Essential Grammar is grounded in fundamental insights of modern linguistics and incorporates some of the latest achievements in the description of written and spoken Finnish. It gives a systematic account of the structures of the written language<a href="/web/20221130050355/https://www.routledge.com/Finnish-An-Essential-Grammar/Karlsson/p/book/9780415207041" title="Read more about Finnish: An Essential Grammar ">...</a></p> </div> </div> </div> </div> <div class="pull-right"> <ul id="pagination" class="pagination pagination-lg"><li class="page-item"><a aria-label="Previous page of results" class="page-link" href="/web/20221130050355/https://www.routledge.com/Routledge-Essential-Grammars/book-series/SE0549?a=1&amp;pg=2">&lt;</a></li><li class="page-item"><a aria-label="Page 1" class="page-link" href="/web/20221130050355/https://www.routledge.com/Routledge-Essential-Grammars/book-series/SE0549?a=1&amp;pg=1">1</a></li><li class="page-item"><a aria-label="Page 2" class="page-link" href="/web/20221130050355/https://www.routledge.com/Routledge-Essential-Grammars/book-series/SE0549?a=1&amp;pg=2">2</a></li><li class="page-item active"><a href="" aria-label="Page 3 - current page" class="page-link">3</a></li></ul><div class="text-center small">25-35 of 35</div> </div> </div> <div id="authors" class="authors collapse browseArea"> <div class="spinnerControl text-center"> <img src="/web/20221130050355im_/https://www.routledge.com/images/ajax-spinner.gif" alt="AJAX loader" title="AJAX loader"/> </div> </div> </section> <aside class="col-xs-12 col-md-3"> <div class="panel-crc col-xs-12"> <div class="panel-header row"> <h3>Attention Authors</h3> </div> <div class="panel-body row"> <p> Interested in proposing a book for a book series?</p><p> <b><a href="/web/20221130050355/https://www.routledge.com/our-customers/authors/why-publish-with-us">Learn how to become a Taylor &amp; Francis author 禄</a></b></p> </div> </div> </aside> </div> </div> </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="/web/20221130050355im_/https://www.routledge.com/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://web.archive.org/web/20221130050355/https://www.informa.com/" target="_blank" style="position:relative; z-index:100; text-decoration:underline">Informa UK Limited, an Informa Plc company</a></p> </div> </div> </div> <div class="col-6 col-md "> <h6>Contact Us</h6> <ul> <li> <a href="/web/20221130050355/https://www.routledge.com/contacts/customer-service">Customer Service</a> </li> <li> <a href="/web/20221130050355/https://www.routledge.com/contacts/editorial">Editorial Contacts</a> </li> <li> <a href="/web/20221130050355/https://www.routledge.com/contacts/sales">Sales Contacts</a> </li> <li> <a href="/web/20221130050355/https://www.routledge.com/contacts/rights-and-permissions">Rights and Permissions</a> </li> <li> <a href="https://web.archive.org/web/20221130050355/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="/web/20221130050355/https://www.routledge.com/faqs">FAQs</a></h6> <h6 class="mt-2"><a href="/web/20221130050355/https://www.routledge.com/partners">Partners</a></h6> </div> <div class="col-6 col-md "> <h6>Customer Resources</h6> <ul> <li> <a href="/web/20221130050355/https://www.routledge.com/our-customers/authors/why-publish-with-us">Authors</a> </li> <li> <a href="/web/20221130050355/https://www.routledge.com/our-customers/booksellers/our-booksellers">Booksellers</a> </li> <li> <a href="/web/20221130050355/https://www.routledge.com/our-customers/instructors/textbooks">Instructors</a> </li> <li> <a href="/web/20221130050355/https://www.routledge.com/our-customers/librarians/resources-and-guides">Librarians</a> </li> <li> <a href="/web/20221130050355/https://www.routledge.com/our-customers/press-media">Press and Media</a> </li> <li> <a href="/web/20221130050355/https://www.routledge.com/our-customers/professionals/books-for-professionals">Professionals</a> </li> <li> <a href="/web/20221130050355/https://www.routledge.com/our-customers/societies-and-associations/publishing-with-us">Societies and Associations</a> </li> <li> <a href="/web/20221130050355/https://www.routledge.com/our-customers/students">Students</a> </li> </ul> </div> <div class="col-6 col-md "> <h6>Our Products</h6> <ul> <li> <a href="/web/20221130050355/https://www.routledge.com/our-products/ebooks">eBooks</a> </li> <li> <a href="/web/20221130050355/https://www.routledge.com/our-products/ebookplus">eBook+</a> </li> <li> <a href="/web/20221130050355/https://www.routledge.com/our-products/book-series">Book Series</a> </li> <li> <a href="/web/20221130050355/https://www.routledge.com/our-products/online-platforms">Online Platforms</a> </li> <li> <a href="/web/20221130050355/https://www.routledge.com/our-products/open-access-books/taylor-francis-oa-books">Open Access Books</a> </li> <li> <a href="/web/20221130050355/https://www.routledge.com/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="/web/20221130050355/https://www.routledge.com/corporate/about-us">About Routledge</a> </li> <li> <a href="https://web.archive.org/web/20221130050355/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://web.archive.org/web/20221130050355/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://web.archive.org/web/20221130050355/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="/web/20221130050355/https://www.routledge.com/blog">Blog</a></h6> <h6 class="mt-2"><a href="/web/20221130050355/https://www.routledge.com/topics">Topics</a></h6> </div> <div class="col-6 col-md order-last order-md-5"> <h6>Policies</h6> <ul> <li> <a href="/web/20221130050355/https://www.routledge.com/policies/shipping-policy">Shipping Information</a> </li> <li> <a href="/web/20221130050355/https://www.routledge.com/policies/returns-cancellations">Returns and Cancellations</a> </li> <li> <a href="/web/20221130050355/https://www.routledge.com/policies/terms-conditions">Terms and Conditions</a> </li> <li> <a href="/web/20221130050355/https://www.routledge.com/policies/inspection-copies">Inspection Copies</a> </li> <li> <a href="/web/20221130050355/https://www.routledge.com/policies/cookie-policy">Cookie Policy</a> </li> <li> <a href="/web/20221130050355/https://www.routledge.com/policies/accessibility">Accessibility</a> </li> <li> <a href="https://web.archive.org/web/20221130050355/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" class="facebook m-1" href="https://web.archive.org/web/20221130050355/https://www.facebook.com/TaylorandFrancisGroup/" target="_blank"><i aria-hidden="true" class="fab fa-2x fa-facebook" role="img"><span class="sr-only">Facebook - Opens in new tab or window </span> </i> </a> <a aria-label="LinkedIn" class="linkedin m-1" href="https://web.archive.org/web/20221130050355/https://www.linkedin.com/company/taylor-&amp;-francis-group/" target="_blank"> <i aria-hidden="true" class="fab fa-2x fa-linkedin" role="img"> <span class="sr-only"> LinkedIn - Opens in new tab or window</span> </i> </a> <a aria-label="Twitter" class="twitter m-1" href="https://web.archive.org/web/20221130050355/https://twitter.com/routledgebooks/" target="_blank"> <i aria-hidden="true" class="fab fa-2x fa-twitter-square" role="img"> <span class="sr-only"> Twitter - Opens in new tab or window </span> </i> </a> <a aria-label="YouTube" class="youtube m-1" href="https://web.archive.org/web/20221130050355/https://www.youtube.com/channel/UCmG1AOBM5fskgWhCG3i8bhA" target="_blank"> <i aria-hidden="true" class="fab fa-2x fa-youtube-square" role="img"> <span class="sr-only"> YouTube - Opens in new tab or window </span> </i> </a></div> </div> </div> </div> </footer> <div id="cconsent-pop" style="display: none;"> <div class="row"> <div class="col-12 col-sm-9"> <p>We use cookies to improve your website experience. To learn how to manage your cookie settings, please see our <a href="/web/20221130050355/https://www.routledge.com/policies/cookie-policy" style="color:#fff">Cookie Policy</a>. By continuing to use the website, you consent to our use of cookies.</p> </div> <div class="col-12 col-sm-3 text-center"> <a id="acceptcookies" class="btn btn-primary mt-1 w-100 border border-secondary" href="#">Accept</a> </div> </div> </div> <input type="hidden" id="customVarsAsJsonOut" value="[]"/> <script src="/web/20221130050355js_/https://www.routledge.com/js/header.js?ver=1669355035"></script> <script src="/web/20221130050355js_/https://www.routledge.com/js/lazysizes.min.js" defer></script> <script src="/web/20221130050355js_/https://www.routledge.com/js/main.notmin.universal.js?ver=1669355035"></script> <div class="modal fade" id="regionchangecommon" tabindex="-1" role="dialog" aria-labelledby="regionchangecommon" aria-hidden="true" data-backdrop="static" data-keyboard="false"> <div class="modal-dialog"> <div class="modal-content"> <div class="modal-header"> <h4 class="modal-title" id="myModalLabel">The country you have selected will result in the following:</h4> </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> </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="application/javascript"> </script> <script type="text/javascript" src="/web/20221130050355js_/https://www.routledge.com/js/crc-common.js?ver=1669355035"></script> <script type="text/javascript" src="/web/20221130050355js_/https://www.routledge.com/js/crc-cookie.js" defer></script> <script type="text/javascript" src="/web/20221130050355js_/https://www.routledge.com/js/igdrta.js" defer></script> <script type="application/javascript"> $(function(){ getTab(); $('.seriesDescription').readmore(); }); </script> <script type="text/javascript" src="/web/20221130050355js_/https://www.routledge.com/js/igo.js"></script> <script type="text/javascript" src="/web/20221130050355js_/https://www.routledge.com/js/jquery.blockUI.js" defer></script> <script type="text/javascript" src="/web/20221130050355js_/https://www.routledge.com/js/crc-igo-universal.js?ver=1669355035" defer></script> <script type="application/javascript"> getUserRegion("Found"); </script> <script type="text/javascript" src="/web/20221130050355js_/https://www.routledge.com/js/crc-pardot.js" defer></script> <script> $(document).on('click', '#iribbon-title', function () { $(this).find("#iribbon-container").toggleClass("show"); }); </script> <script> $(document).ready(function(){ // GSD-4525 popover has been updated $('[data-bs-toggle="popover"]').popover(); //GSD-2686 : Custom Cookie Consent Popup Code $("#cconsent-pop #acceptcookies").on('click', function(){ setCookie("cookieconsent_status", "dismiss", 365); $("#cconsent-pop").hide(); }); if(getCookie("cookieconsent_status") != "dismiss") $("#cconsent-pop").show(); }); </script> <script type="text/javascript" async src="//web.archive.org/web/20221130050355js_/https://6398530.collect.igodigital.com/collect.js"></script> <script type="text/javascript"> var igoseriesid = 'SE0549'; var _etmc = []; _etmc.push(["setOrgId", "6398530"]); if((typeof igoEmail) !== 'undefined') _etmc.push(["setUserInfo", {"email": igoEmail}]); //Product page if((typeof igoIsbn) !== 'undefined') _etmc.push(["trackPageView", {"item" : igoIsbn}]); // Expects $searchterm from search results page else if((typeof searchterm) !== 'undefined') _etmc.push(["trackPageView", {"search" : searchterm }]); // Expects $seriesid to be passed from series page. else if((typeof igoseriesid) !== 'undefined') _etmc.push(["trackPageView", {"category" : igoseriesid }]); // Expects $igosubjectcode to be passed from search subjects page. else if((typeof igosubjectcode) !== 'undefined') _etmc.push(["trackPageView", {"category" : igosubjectcode }]); // Expects $trackproducts from checkout review page else if((typeof igocarttrackingjsonstringfromcheckoutreview) !== 'undefined') { _etmc.push(["trackCart", {"cart" :igocarttrackingjsonstringfromcheckoutreview}]); _etmc.push(["trackPageView"]); } // Expects $purchasedproducts to be an instance of Invoice object from completed order. else if((typeof purchasedproductstring) !== 'undefined'){ _etmc.push(["trackConversion", {"cart" :purchasedproductstring}]); //In case there is a second invoice in case of mixed cart if((typeof purchasedproductstring2) !== 'undefined') _etmc.push(["trackConversion", {"cart" :purchasedproductstring2}]); _etmc.push(["trackPageView"]); } // Expects $cartid to be set from cart page and and $cartcount to be set and equals to zero else if((typeof igocartid) !== 'undefined'){ _etmc.push(["trackCart", {"clear_cart" : true } ]); _etmc.push(["trackPageView"]); } else _etmc.push(["trackPageView"]); </script> <script type="text/javascript"> //GSD-3490: In case product version switch, track page view $('#productBody').on('click', '.binding-button', function() { _etmc.push(["trackPageView", {"item" : $("#"+$(this).data('binding')).data('isbn') }]); }); //GSD-3490: Track subject page view on search filter $('#eSearchArea').on('click', '#catNav li a', function() { _etmc.push(["trackPageView", {"category" : $(this).parent().data('code') }]); }); </script> <script type="text/javascript">window.NREUM||(NREUM={});NREUM.info={"beacon":"bam.nr-data.net","licenseKey":"97f8f67f26","applicationID":"415452746","transactionName":"YlwDYBdSWRVXVRVZWVsWIFcRWlgIGXQTX0FGXE5HAEFeA0U=","queueTime":0,"applicationTime":431,"atts":"ThsAFl9IShs=","errorBeacon":"bam.nr-data.net","agent":""}</script><script>(function(){var js = "window['__CF$cv$params']={r:'77210a1268ff82e1',m:'lAgp2lhhohfKTygY0HtINICsyxw3fDHktmRGZuBas70-1669784635-0-AbvvzV6hX8iUVEwkLTFfcFeflUL9diW90023MRFLVVLKr/gzqncDDztbrledAkBy/EWCu5t3qN8ZxfLmZ5sCd6C92AQ048VFGuwtg3vBHbaYMET5JF35vVtnIjPV011TZBWpAzEPrhoxQHlPgAsv/q9jvROPmbOzSMST2686NhcM+usRDUvpvuGXoWS56RUXsq9Ln7iL27L+hVVOI7QnVJ7FIawLOfV7qZ0uNjh6WtYpp59jNYqeGVsPNZMAeRQrMA==',s:[0x150ff4ce02,0xd1ccd28f08],u:'/cdn-cgi/challenge-platform/h/b'};var now=Date.now()/1000,offset=14400,ts=''+(Math.floor(now)-Math.floor(now%offset)),_cpo=document.createElement('script');_cpo.nonce='',_cpo.src='/cdn-cgi/challenge-platform/h/b/scripts/alpha/invisible.js?ts='+ts,document.getElementsByTagName('head')[0].appendChild(_cpo);";var _0xh = document.createElement('iframe');_0xh.height = 1;_0xh.width = 1;_0xh.style.position = 'absolute';_0xh.style.top = 0;_0xh.style.left = 0;_0xh.style.border = 'none';_0xh.style.visibility = 'hidden';document.body.appendChild(_0xh);function handler() {var _0xi = _0xh.contentDocument || _0xh.contentWindow.document;if (_0xi) {var _0xj = _0xi.createElement('script');_0xj.nonce = '';_0xj.innerHTML = js;_0xi.getElementsByTagName('head')[0].appendChild(_0xj);}}if (document.readyState !== 'loading') {handler();} else if (window.addEventListener) {document.addEventListener('DOMContentLoaded', handler);} else {var prev = document.onreadystatechange || function () {};document.onreadystatechange = function (e) {prev(e);if (document.readyState !== 'loading') {document.onreadystatechange = prev;handler();}};}})();</script><script defer src="https://web.archive.org/web/20221130050355js_/https://static.cloudflareinsights.com/beacon.min.js/vaafb692b2aea4879b33c060e79fe94621666317369993" integrity="" data-cf-beacon="{&quot;rayId&quot;:&quot;77210a1268ff82e1&quot;,&quot;token&quot;:&quot;31c1f0c99ced4ba28c79dacc1d2b6661&quot;,&quot;version&quot;:&quot;2022.11.3&quot;,&quot;si&quot;:100}" crossorigin="anonymous"></script> </body> </html><!-- FILE ARCHIVED ON 05:03:55 Nov 30, 2022 AND RETRIEVED FROM THE INTERNET ARCHIVE ON 05:36:02 Nov 28, 2024. JAVASCRIPT APPENDED BY WAYBACK MACHINE, COPYRIGHT INTERNET ARCHIVE. ALL OTHER CONTENT MAY ALSO BE PROTECTED BY COPYRIGHT (17 U.S.C. SECTION 108(a)(3)). --> <!-- playback timings (ms): captures_list: 0.754 exclusion.robots: 0.035 exclusion.robots.policy: 0.022 esindex: 0.014 cdx.remote: 4.46 LoadShardBlock: 221.669 (3) PetaboxLoader3.datanode: 225.425 (4) load_resource: 184.899 PetaboxLoader3.resolve: 115.754 -->

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