CINXE.COM
Just a moment...
<!DOCTYPE html><html lang="en-US"><head><title>Just a moment...</title><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><meta http-equiv="X-UA-Compatible" content="IE=Edge"><meta name="robots" content="noindex,nofollow"><meta name="viewport" content="width=device-width,initial-scale=1"><style>*{box-sizing:border-box;margin:0;padding:0}html{line-height:1.15;-webkit-text-size-adjust:100%;color:#313131;font-family:system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,Noto Sans,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji}body{display:flex;flex-direction:column;height:100vh;min-height:100vh}.main-content{margin:8rem auto;max-width:60rem;padding-left:1.5rem}@media (width <= 720px){.main-content{margin-top:4rem}}.h2{font-size:1.5rem;font-weight:500;line-height:2.25rem}@media (width <= 720px){.h2{font-size:1.25rem;line-height:1.5rem}}#challenge-error-text{background-image:url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIzMiIgaGVpZ2h0PSIzMiIgZmlsbD0ibm9uZSI+PHBhdGggZmlsbD0iI0IyMEYwMyIgZD0iTTE2IDNhMTMgMTMgMCAxIDAgMTMgMTNBMTMuMDE1IDEzLjAxNSAwIDAgMCAxNiAzbTAgMjRhMTEgMTEgMCAxIDEgMTEtMTEgMTEuMDEgMTEuMDEgMCAwIDEtMTEgMTEiLz48cGF0aCBmaWxsPSIjQjIwRjAzIiBkPSJNMTcuMDM4IDE4LjYxNUgxNC44N0wxNC41NjMgOS41aDIuNzgzem0tMS4wODQgMS40MjdxLjY2IDAgMS4wNTcuMzg4LjQwNy4zODkuNDA3Ljk5NCAwIC41OTYtLjQwNy45ODQtLjM5Ny4zOS0xLjA1Ny4zODktLjY1IDAtMS4wNTYtLjM4OS0uMzk4LS4zODktLjM5OC0uOTg0IDAtLjU5Ny4zOTgtLjk4NS40MDYtLjM5NyAxLjA1Ni0uMzk3Ii8+PC9zdmc+);background-repeat:no-repeat;background-size:contain;padding-left:34px}@media (prefers-color-scheme:dark){body{background-color:#222;color:#d9d9d9}}</style><meta http-equiv="refresh" content="390"></head><body class="no-js"><div class="main-wrapper" role="main"><div class="main-content"><noscript><div class="h2"><span id="challenge-error-text">Enable JavaScript and cookies to continue</span></div></noscript></div></div><script>(function(){window._cf_chl_opt={cvId: '3',cZone: "bookshop.org",cType: 'managed',cRay: '9182a669bd679c39',cH: '0vXK83u_0iWF7zeMpW0JbJFyyF0TFV92bxGqgpXx1GM-1740601376-1.2.1.1-Ddtk0gW5aJEHjJqdE4RZldopXQoQKmqx5SHA28TEuBqejy50xTBTnUOKBoLDZ4T4',cUPMDTk: "\/book\/9781780647944?source=IndieBound&ref=&title=&__cf_chl_tk=_JOhg8wZJn37a8rCux53o9.wrK5NyjBaEqyqrdIIvfs-1740601376-1.0.1.1-8xAqgUjJ5vxoRQgKnlyfQ1nnOpR1CN4UajuB_YWMv4U",cFPWv: 'b',cITimeS: '1740601376',cTTimeMs: '1000',cMTimeMs: '390000',cTplC: 0,cTplV: 5,cTplB: 'cf',cK: "",fa: "\/book\/9781780647944?source=IndieBound&ref=&title=&__cf_chl_f_tk=_JOhg8wZJn37a8rCux53o9.wrK5NyjBaEqyqrdIIvfs-1740601376-1.0.1.1-8xAqgUjJ5vxoRQgKnlyfQ1nnOpR1CN4UajuB_YWMv4U",md: "RzZoMaTGM_T0jwpQERBTCVmyBDvonRHBR8EIspGoEBw-1740601376-1.2.1.1-TCrTPLzs79Htv8H0xjC.NnamnSAUKmp.KcmuCKHkItcEDI7759FA3M_Z2udPoSlUCDf7VgOkUoctJKe3vaBymMLh59lg3yVqeATw9TwM8WXDyjvcBgDhzlqIGMOcwAQTG3763T4MD3L2O4G0PCTZku3aOZ5kXzsJvpj1iwV4lPPMSwaDHtzVhoLk2qa7FS5s_RBoiFzwQDPTigsgz8tqFoUinfLFercw0.QxSDfwBLDiJPVcqBU8RDBtjaY9MEhxapC37IHED8.LT1N7HVQOizM9I2LkZXSqWgawK_cDCZCJDXU52C3afmlF.NyWHQ.70HuxMRMPH11ucsMixc9BNEyoYulcJxDKIkAX3G2Xs2hGSVuuk8hOQBFw8SXQHW5CEkkDKJ9PIM05tMxG_9VWGY5nArnRoXORXIVS8lvc0wc3u5iQ9HyA_vnyjJJwe.g5TEHB7c5BW7O2yMdWpJ9xLxf7vFLjRNvQ75PbCK1x29J4wcdd6sh1tviRsHPoDN4x4t3VX1d49q910RfpK5Sy51S4RodHpV_cz4hiJIwej_DdpX30o3E73X7S8_V91uqFnhloLNAMJuqzyzOfOAvZWyMnwPP9xL0U4xGnzgFfOyFntgesA4sPdurPulPsBBWkqJ78Yscu2n7gN3Ye87PPWFWS8WgAwl8Jgp0Q7L4oO.7o1w3dCFzOVi.sqc5nrvg.jrNqH1B60xOi3Eo3yeJ7MQUvJIw0CHlSgyH5Pv_lRSJovghC14mfl.97t2eTqDU8UgSQKz4D.6fEQ559lW8Nt6Gu5lUxhzaV95udd4z2JXb_6uBYDwdtQKG3fUvlNzPhWipg1hnMxLC5hidIe4.cg_xJb2YexpiVL3XNnxry65jM.XrR7e6KGNHCQHkNMxC5SVHuyheeGBb5io_LCXmTPNOOaq87_eU0Nuk_S18.i1AWd3QGKBkCcY8fssQj6KVVKkj3K5VJ3OU0KdIzWNvqz4.xG.Ev4lZ9xP1wsqiaGxN4_Fp7yULtUzCoEZvjOUTGmtzLBNiOwgcG4IJWUnIhbJsrKOJJwFSTkKT08fON2wRGwwcyEcPmUIaJ9Z2qyETNfvVqPzuGXZkWT4cn5C73Fv9UqujvnrDEsHu9BrpnQnSaLoxFA4F5pqmsT2Mz52psKn.KYx0zslZcIysIItWQjytiGE3Aju4iDXqLqfLHcZQqZG98Isx5_BsIy3QD8eEroW6hoGIsZChVl3oeS.6InoWZxvyioxCpz.7M88ri8S6b_.o4uaXb5Lbo7u2LvKvncjfiQhB8z_qjY.0JSu7bl1rgFgcqljN9fmBSm5oIe_rxZ8iIdLpEWOQtoFsQlQSKOIE_tIW_kTXF_fVizZWbLZCbvkCm.Iwq8mTnzNye7rt8ZYsbs9RF1f5XXGgkwDSeO_PHbluPc.vGd_xhxzTqZrherFJLZcQG_fkiz.GVAjFNOV93LgumvT8wz0Y9ZfZg3mGNXPx7WJtK9Y9l6.upjMCg85x933vL3y9ARDVtSR.wsZjZE_MZIJ7YUTjpwXWlCQnKBilZXVwmYq2gfVN5ZLJ9GtT3sLUzkUECuH4HV57PKjJvXKM9.rsT9FVvWSjCzGt_HpScBLQZ5FdQhxohHjUBLjsVLEpSCIvftbW1xg7Hs8fTTQZXKJysF1uput3KYmJxht0ZoB87.Df41BUM.LspuDA.XjNkfMzizHxtPkIpOm7B8ErOySmvWen7qr1LP8lsUmYGEXqb36raqZKClikFcecouzkbWLEKd16lzAu0RjCmtUAt7eTSVWnaU9.8vY6GfNugzl_J7AW2YnIjNhBaj20t.9t474x2sjaDhctBPDa8tRJNHuA.z24D_1TWVorw8bm32n2td3cc0gBZoKNliewR53UXVnda6_Oz3EvMBhZNJX03ivrowWbf9GrEvYv99MaU7lEBC9JzkZ2rKyPf3I2OYQgF4.nKrJ2coEf7lhOdJPjhjWB8WzpNhaO45hPh0jFzvDRVu7x3RXxAY0v9dxxWiplVmTVSBVQnWqGKBhHUdLfiLUM54q1pectmdJpJ2wl_L93tHF5d.7giQ.0RMKRpKbNbeXYQRWUgDjGaGAGFtUO9XdjKKJpNUfGYln9PKEoZ0uFmGKxR7btoXi1K2CJxDF6iJNBoiTEPQKmmxWzNzUdu9d5euMUXc.W2ob_brpU0QnAL55BVkxT4RvzUJaRBJq5C7kv7GN_uBo1o1b.7e6sM4a90_xrbOYrXo_I8gkKVz_pnx5fRABmECvT4RAJVu03Zl8LFarajiCHT1dJDTm6QPaaokwUpz1uneEIQF4geaNq2Zm8Q7ost2jwddvLaOiueMiV8bBJ9hmNJylVEV.swf7usS.PDt3gTS0b8DEzhbsk5.r0lvT90vodvmorTL111vWxHfY2IAEIEMDSE__SNe9OfA61U6dHGwG3O1AT93G.CaO1aCA2tdhf_qa4NtvSROAbaNVS6o.Ka0pCX_ELIArlTh6sg2FLSScyk3N_Oz9Qx153Rkv58lxnK4VjPfjstO8obFdrXJxU1cLsF5AUS0MzY.q6DNNu5z8M3nEJl.0LqBcopuI4m_kFia9lbmr5BSpXzNqDNXvMhgZGFRCjpNV6xyL.0jaux",mdrd: "V0C1HIdywgU8iCDWpMqaA8aZoYtlB09aHzDV02z3kJs-1740601376-1.2.1.1-hMONlCr_f8CPmeTAUSw7r1ZuK.vnxooLWNaI1QMnlUJdhF8FRrPXgPdjzd7t3mR5dNwnsTRlUMhYIJXjzGgwOZnbhnryhrKEs3e8CMTt_uSbERqKPRUGXfaksGsdKq_hcx5GZMtGUTnuN_wlbbLJgqYiz4PwgO86w8MZ7TGico8nbzQMUbbBgyc8lSqKxyMV8QuRrM6DY4Ot7pKbNQGvdPMD6ytea4tnqrPNh4BrV2g5Wa7pG4S5cEA6WBpMFWkXQlXD8FeLpvdF9Ui4ww45SonXGGGyFyeeUJyj7Iz.AzsVIHFFs_TgnTEUXxoxTyoVpWkeo4uS9qTi3CsMEosvTme.YXgjSgE5Y2UfTfWASvUqpHFMEMWauaJErQG_Q0GumvD_AaoaqCEsC4lnrMGffGOntfDN6igtTDmbQiq.zmBsr4VO0kHlVGzCAX.YzcwtxVl1nzdNfkGcEEPMz13daV.1RrexzksfDfsPKkG81.xFjXtKLa4T7Vxm_uoTF3XvmGn9CGfM.3lBKCx6vH4fJb_LnsXEMyxzaasKiDo2DoxB2Qxv5Of9PJOZBnRn11AizQAnun77pCnsXLdkNOCAEGOTlNAL7Z73uzN.8c61bVCxNL4i9jMuzMt4EDrLh0M.0DdV7qFj7BASg63js7a0bjsILmjjvxt2jhi.1zJDgxB6N7zPFlkKSQjgj6SVVLGHbLdCAUV7O1z4uP9IeMUoqokD9XJ16bp_YoNdECe_GjvKu25usvRhyRxzD9OwU.BrWVEvMABMcIv1LtMGoFBSs8Nu8DoXlde08zoe3MZpIzC12Y2w4B0htobF3AQfzdGdFyfL.dTPZJyjuiRy9lT_MOfy8QQj5jI.52ywZuBDThxVNTcUtCsYgo8dphcGZNLKBLv6lKuhjmsVEf4o6gJUN.shnHVd1JA8R6v4IX.D.v5QlIzH7Xih4MXrjzaSZ4XXV2EVyudf4.Me6KaAk4yz3tYf_tCOuAHUnz66alwEW2qT3nQ6aGRbcLeP3xqb1Ye8lI5Y8E5La51SS2A_Xfo0aPSwQ3ZZb6cqqWDGQxQB18K4yln2Pi_rI9rg6qi7uJIWabqSNFoz1vFbt1rhbTrS6LbhSCZEfVWFvYEfZNEGT7aAh.T0OwHdu4.tzj9smQnGUR1Lt0m8caFIuQ8TBFQal4jr1.6QkNusYEI7LJ1SICquXkBoYNBeSm7ZaATXc1ASu9K4.9oKzX7GXGcwQh6vrKmBCP4fhVhCA.Uj2ehfqvKed2DJRhQiyM7Nc50YG9ORKNL8fW2ZFJLrd.B7PaJ8tbj8OrQ59IT1Er8EznQKdVdeRSOxOtuBnABEn.yAOPpuFCSjwtS5EZBXipuJ8IGvJoBMKjG2J0ApS4IwubVYpSs3WxI9pAL2wi9.MnT7xxjlsY3XKOHK562VzZStUnhWhRiHFNxIFZdxpJggvqyZ08fulWOrC3qAUAS8yK6Kn0XMJiHAu2ybDT8OUogPTH0dqGBFcqigbhWDZsdgWecG6BPguB2OcuJy1g6evzd.mU4jlnqMWDsQkV2qODrEBRBuE1Rp_O_0wdOCkcNZvwUBo09WABx7p71hN63a7TZ_fObfICGvxN4aIVz2LT2wujoxaW_Aew4LCK4yjrdd2BIwrqqhrtsztRj7qef.gHjlDXQIxj3RE44YREJlppvcqBxgqurwRQcC0VQ3UT0ObPONh7G_QtOoDzjJ42tO6YbQb4NN4nvuuh7gbc0uo5lQgWij4AJOzb0YFJE9de_978WDesGqOkPbpPMJWbp8Q9fpy7j83rdqYPzEpS7AdzALZyYoM3jXb6jflGEclSAO.kd8f7BmT4zxRtfyAQpHS8JTkYQ.S0kxqfPlltsIXsajUvTxQ45bIQkDzP53zlDIaw5QPsEmh3KkigD3_Csv1B01EfZI6eKYaQ3sGdy_oCLvd.Li.hBi_FBxsIJuXtP1t28LMxR3.zbk.Xjgc9ZKGSg5R9ls"};var cpo = document.createElement('script');cpo.src = '/cdn-cgi/challenge-platform/h/b/orchestrate/chl_page/v1?ray=9182a669bd679c39';window._cf_chl_opt.cOgUHash = location.hash === '' && location.href.indexOf('#') !== -1 ? '#' : location.hash;window._cf_chl_opt.cOgUQuery = location.search === '' && location.href.slice(0, location.href.length - window._cf_chl_opt.cOgUHash.length).indexOf('?') !== -1 ? '?' : location.search;if (window.history && window.history.replaceState) {var ogU = location.pathname + window._cf_chl_opt.cOgUQuery + window._cf_chl_opt.cOgUHash;history.replaceState(null, null, "\/book\/9781780647944?source=IndieBound&ref=&title=&__cf_chl_rt_tk=_JOhg8wZJn37a8rCux53o9.wrK5NyjBaEqyqrdIIvfs-1740601376-1.0.1.1-8xAqgUjJ5vxoRQgKnlyfQ1nnOpR1CN4UajuB_YWMv4U" + window._cf_chl_opt.cOgUHash);cpo.onload = function() {history.replaceState(null, null, ogU);}}document.getElementsByTagName('head')[0].appendChild(cpo);}());</script></body></html>