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: '8e939194382540bf',cH: 'iH5CNx5eYykIU_617adZEThSi9ZzuEDSWrNIt1XYeNg-1732725717-1.2.1.1-H1AOIQ7PUipPXtBvwEtqZI3QWaPhlugRT8kmeSdfmIUxOFMpjQ5PjdWjQ7crLo8o',cUPMDTk: "\/a\/2186\/9780593571545?prhc=penguinrandom&__cf_chl_tk=H0nf2g0gbIfE0iBuGX14G3cS3n2XgFlBRosGixGLYKU-1732725717-1.0.1.1-A0I2s4bgm6FJdkYOMtKQpn9xwLCQfYBKCvncbT9xGSw",cFPWv: 'b',cITimeS: '1732725717',cTTimeMs: '1000',cMTimeMs: '390000',cTplC: 0,cTplV: 5,cTplB: 'cf',cK: "",fa: "\/a\/2186\/9780593571545?prhc=penguinrandom&__cf_chl_f_tk=H0nf2g0gbIfE0iBuGX14G3cS3n2XgFlBRosGixGLYKU-1732725717-1.0.1.1-A0I2s4bgm6FJdkYOMtKQpn9xwLCQfYBKCvncbT9xGSw",md: "_ea5O9pTQCca38c3GO96PeVB_UXzRw.4F2k6dgbv.7M-1732725717-1.2.1.1-wqL0mGEbPiDiZE7Ro_Oft2KNE1ZkDIPb6TtO.LDPyBf4iHLzDfpHHCa5UrJFeOCf5QJCFoGi_9UbXJ0k9NbwJhgaq8zFDdCk_K9ZhaQQVB1SnvM8KffKCTjvvtJJJtkUnnIlcCZUQ2yCCD0yzAIYdLs8rZjGdsG6tyemvNvRWZs8dgA_N0Xxl9fIQefOFvSxdjQZJy9DjoO0q1MqK.kikhFmdNIhydtUNAmpqAcUBKVs8msPVZ37KCGXWsVshDqIXaF1FRHNPPxPg8aucik.EQxXbNEhKTpsBy97PtlHWjYrvWx_O.mWQpEe9yjzf20qIHp1mqOKAVFO6JIzr_UhryWa0DrCk.X1QZpTpR_0qJ_g_iXoPiYDeqjOE9DZwEQdCJxJ9_.Ryrnw7FAqoauNo_k8WEE7VvUeAmRC5BEr.6BH1jWnmjKBDwMgwaEkkiAReIQqPbphL.VrPfmDKdPsyixjY7X3oPQAp1WJK20KPSSBmZRnqzgXSm1b8Thq.oil6AijruzkPsAN1n5WsoRf7uGTRYcNV_3PSRk_9oEmA_pUuzGypGItLISCu5x5F0ScMkp7Mm0BhXm2nA7BKKbbUqGmdMKtaHaWXPujfsUia3WRYzWrpC.nOmHzQHYH38XfiuLRqlulNsWhhunOK.fK565xQGz3KlEibfiCTMHDaaEmWAKTHUjOSbvxNvDooa9OS7EtOMdkTJHH2cZy4beZgTC4RDp2DIE0nPorQTaKrTuRfLdd3g8zZo5z3qkkZu045lgeQb.XkvSMm5ldMDID5jPCkL__cF4CvcSYDqCKruzVT7gVbM9W80d2jYmzvWxksfv2CKJQMfIHp7YuozyJpkaRQS0BMGMstb6UfEDVUQsiJmryznM3Cfz2.3QRBZ6g_yPeo9sPO9SOtI.WOv1.F6I_nZDB48fIEZWt9ziz9x9NJeic6euK0om69XQ02eF8j43n_4zWh_3.Dls9jR7JYxfT7tRM7NSYG77sgBSEVRd2T5T7_2OwLAN7XAeHntk2aLMButlgHYgJid9oVEa.h5faXzmqgdjhWbunjYFiUTTdzsgUB8R67AU86sInYHAljLu5M0KjqUYf5R3HUQdjFNuHh6TgvfIJfE6wrD38qivap3Vnyhjjh76YEDc2tSnXgCXmtcB5w_ufvP1f2NP6ajfxzk_B8rijRlEGNCC7Lb41ruWoOYt3eWBkjMtDbpH0Hklx1NDqofpmZtc3wizjuhjMghQrXHurIaz22aITtI5GKm1SnV_YUdAqJ7TguSArWQQD2hEKtDLCyXDxqfXKZ_Zg13orD7rJG0sZ6xvzjVfr6MrSnxDVWp4gdUjHH4ZdHXOyPkos.OIC8y8xYiOe764wXORX9NFn_LgY.56GcN2ofBGYnDbRiTE902tLLZvg.ejNBPaJ3mtQXV.Vemt4dKHmK4G5V7IPbLx9h_bibTNT5FF0JFFupN4tGSP4WoyJnnlxGVCqBSJsTJdWOp6MamGT9lHUEWDylfTfwb.IJFadisAeFnpncInjDaypRTNGTvapadKp1mTnCAgdfU29u70MeMRkp6x1lmXGU3NzF48qq6Sv7K5vFX5.YQuDGOYQ_yw3WHmg14CAFBoufdGnbfqsNTFUK12yOfI_eviM3S_Soc39uZf5i2dmY6tcHeiWMJoxrxFEnmZBgaPsb7NUZKtSqU7niU8OSlcZSeptEr0riJmFP9Ic4zikOqnSZlKyoXTbmzrMj0zlsCOii5K_UsdtzjnZ3szBv0xudng_9gj7HKp8.ElLTxV63QwjQj0RUVBZ7Ur2012ow.SH2FJdhUHXHso.51TxRxY_jRgJbrGc665.d1P4MPf_Bq.lgJmN0ZCDOvS_M57WMCe79w8w8.x91SkDKwEUT9H3va.wwnKkpBkEZBEaV5GHov0GfCbr.47l5uheTThY7s8gHkMhgdXCQkyKBdyhTHUgckUVzCLkXw.w9oL0cSuuzp5QlWmKGvzIroYjHpTHeWL3LwaVsrvD.26eXp_.TBiO1RkpYqyz2nyBHskl_T9gYQtXM2aIHS5t17sf.i2a4pPvZ.YQPFiFeHHlgEUBjbeS2rvLIJKMbLfCZ7c3dpOoTwSEjXVi7BhEgHCG23Fs8XoUZ3y29.XR16z1Io1vVC8uMJApzmJfeX0yHbROGSyFFZyl_aNeHPTC_IyWE0OoGWI6JjmEHHhDdGjFibAQaNwooVL4k01rZLoflqYiZApRPwbYePS70QnKUzDSpXtOE2XJZn_Mw6zbIQYE99hwx9wJkN9omNqfZBlwHezkeUzbhyvlZHB.lapOuyIVbS24k3o8sRJC6xM9k6QJOpxngTS4xq98BJKst3H57WsxbqTUM0d3fjP2cqOrgz.q20u5FsQlw1yZ2PNj_CmgyRLJgtOyVIEcL7Y32JW2lgHg.kslPGSFYTvi9hxZ.G0ZO7RzdBMsLHQidmSGr2iVg_OFXgiiqdQNg8O1z5Fh._DseR4wFmup8XphGwHubR98PwWR1kVp2AIXlsN.lsaE0.mqytHG25Q1dylKZMCTtr0NXkx5O1F13EgbjABQDwUseiZ6iYtXY.GKHbagJJzcSooR82KitqB4FGwnqQV4Yde0VmdgdOX.V63dZei9tacLwjffpt9CwNMx22HNsdHrybPYqAV89L2OdFU6knGGEPWBhQFSMoUaO2RhHsp50VcoW2qzIYxKgskkWS.tFT0F0JVwQisvm2ReOS9FDSTGJIXuO6DOS3prRIfnVeCAgx8g8yvtzwmRhIQzqAIdRRsrYWUvs_Dh8UI0T6s21MaIXFfZE8_wZrx8mWLWb9xKkfum10W5SjCmvmzk8S5.C6bTw0Im43uagkuVNXHVb3YxyE3VZUGRpRQK1sZbrcCE6dhqyy1Hr0YLnE2zxkTiDNixSTB_wm1FHldcPhFIoCA9J8ryUIrdeLDwRe1jKNIodKSRGKMsrFmSBlqkrZTUbnJF52akZIdO8l6vM90",mdrd: "8Ke6BCxRvxQQbo.UdWr7KlqE66mdVTy0PPBU4li_FE8-1732725717-1.2.1.1-U7uwURNw7n2RBzDZ4QRzIvoHi3g3QtBkxfStzJZZslVxVyabbyDZeKcJOUE1z_is.TfLccNSsiau_ab3u1yOfgbn1AP7M5RntNbS5Z5sHeFaFZVXuyyA1Kz_yE7C6HeuThUl_qfwXO.kkyvZF_UGZ3DYmbt9HIkyP0b1nbFxYX4bpD8asqmFzJZBbmczNA6AnnyGe6ok61lzc2PbepI31zUZNGqfylcyWHmIYcHL_ThQ5hW9CPYz7ki7lO0pyv6MZEXjZmrBrNRmse6O1JzfxKHKRE22x1dSSMYhNnX8DY5Fgdtv6Vd1soJ6RbtiHSlwmdRt6nrJCBb2M02PEVnzINkTfSgtTYrikkSBIuwjtKlN6dg1466enSHCgXLuQicUElYm1EAJBCb_fURw8Um0.TjH0TPVtvGLeIfJqD.TxNCTarUjU_AFlKeEFM3Zwh.yaswEukMd0gQpN_qIrHOZOWywaAIlTVAUxCAbqA0Bo1xONCc.mImHZPGfu7wgrJ9Ac3UMdT2kpP2MaunZcRrJgtBts1c.Jfo.fJHSHe2s2kvn2HVtXeEuJQxkqe7h5T9NQL.BkdT9QGS5pn93leJEne4UhgoQoKjMZsIy83rZVOzV2Do9X28UiGlF2WMvTBerD0ep8CGPaDjpfCwJFx67V_unHm7tgZze1vxB327Bhg7pzTMuTEARKxKsDUI_.8CzJbVxcSqIw97dg09Uj4JXWdQlNVsaUnGg9N3LwzlTGr1HIKrnzzEqK6x6onxh5JLeVb_up5cd8kx1tD6bRSSHJIZ5psDX9oW1uhTAvHkxOlqNN7E3H2TcOaQ51g1QCcFnVb9e3hY9tYFWEskCdb0gsjBr88z1T9vS8T4aoy1TRS8xr9iodOx4P0Snnug6HwQ5ZdtiIfIKacn96uEe4ZNwY6hQJ3ZbzKPIVnUDbgsQkV9CYj_6y5OdJ2OfSa800SlZRPChpHKcJImv4pGaBHGsj4t7NbcCeIXXjbrHPeXioyTTSAJ17s0OaACRcXgYAtLU_dc2RDRMYvmhwwACfR3xD8cX0v_iTSnUEfARMbK0kIr5kRvCgtktBftGdSBIOiD4ByI38HtFT2oP215iW0GVNazOGbYmQB6azlF6LBNnCygycK6JFlm1xfmV7X2vGqqGxW_Dpt2R9Kog0xFoJQxASK2qCdBPdijffBMsvqW894HOkSeWWULOJzPKKNCr44eYR2Md0aqksUyslPvbjQlUIhFzWKEK6CpZHo8Ek5PhC9WsP8qkYncyy7pQwYnlo0iwLqEF1L20kXyvYzu3HVWPLpkOGvoc0MYyK4NyXtVlBxIATa41VcqYe5s_1AoiEuy5gxrPhvIV4b79cRql5W0hM8YBhRjHKhbv3K4IkslyXIkpYAG8VbfnN9wdsG46Xk6pb4FwAxjF1R_rmWwh9uvTNfewm_vKoqXBfvc9c.51Pxwg2FwqrpGuJm1AQjfXPiy4MnmBYi7_Oqf08Ml2AQDoaMNtu.5ezbUPr0bTYVTHKK6g0eOCjBq2mRpr_5EbTvNBjdAM0wXcTWxA_yEHV1Ou_bHc01TXqOQP0S0psMAEZwyzkgVe8YDbr7A41y.P8X1LInz7ipxSoxd5LL0HJJDk8.ufxrlj.4MEKfra0FcDcc8SNJRGpqsTzvIqTxNTNsEW1.L7.Ckpx9ic1Pi1xbLIlFPceOiUKCcNdTzPz1eXtzYOfAH5SV9FjWkNkvZ_EX3y71D865QzjClwl5YZuxx3deERPcGJtuHNI0ZqY2bQpVbBVCgNEL_O46BEE7rYzQAx9VSkN5VwKuHjcCaiNJbayD8NzuKg7DJCiTe3bwhpeycv9fUyjJ_9LWRrRY_M3y7dicYTHoHNCofdK2qPxvcrYf7XX88umQv_vZ3iAyNlNZlpIMwYY3LTBbTUeadChe7dcd4gUaS7kbLFYlE_e.b9FeU4Vl0rOFP8HfJMIZRNaUwHCp9NBYIyiNENVkdosSKH"};var cpo = document.createElement('script');cpo.src = '/cdn-cgi/challenge-platform/h/b/orchestrate/chl_page/v1?ray=8e939194382540bf';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, "\/a\/2186\/9780593571545?prhc=penguinrandom&__cf_chl_rt_tk=H0nf2g0gbIfE0iBuGX14G3cS3n2XgFlBRosGixGLYKU-1732725717-1.0.1.1-A0I2s4bgm6FJdkYOMtKQpn9xwLCQfYBKCvncbT9xGSw" + window._cf_chl_opt.cOgUHash);cpo.onload = function() {history.replaceState(null, null, ogU);}}document.getElementsByTagName('head')[0].appendChild(cpo);}());</script></body></html>