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: "www.toptal.com",cType: 'managed',cRay: '913a7b972b3dce32',cH: 'HoBbKDmvVwHmVvBft6lkJL639QGyNDmeltjbUT5nCkw-1739844647-1.2.1.1-EVI6wz32pUBeuCbkWlPUi6ylIf9oC4nKLXb95r9AONoRj9ccGJIZNocogqkDsDqB',cUPMDTk: "\/designers\/subtlepatterns\/?__cf_chl_tk=AhRf7RdhMCGDyr8NJsenr.rOQV7TEWnHkxH_C5Rtg8A-1739844647-1.0.1.1-tDMzcCG6JYt7Cp2Yk7msjqJz5RUG9Ynhjp7OYpta8HM",cFPWv: 'g',cITimeS: '1739844647',cTTimeMs: '1000',cMTimeMs: '390000',cTplC: 0,cTplV: 5,cTplB: 'cf',cK: "",fa: "\/designers\/subtlepatterns\/?__cf_chl_f_tk=AhRf7RdhMCGDyr8NJsenr.rOQV7TEWnHkxH_C5Rtg8A-1739844647-1.0.1.1-tDMzcCG6JYt7Cp2Yk7msjqJz5RUG9Ynhjp7OYpta8HM",md: "o8y7BcLWQ9r_xmX_rzlBpK3AF6mD.QIdNCrZcRVmWWM-1739844647-1.2.1.1-D3FGDUbOtYOlAGKdFeu3BkyoxR.DS2O1IBgkRvraL_F.MMJk_IVKDQHNTjOklo2mFSsW_y4fcoosRpxdcib2rPa1xf4cSwDjxqkJFMuNz1iGYp3BMcMFcwHU6ax6cLjwDIfeKKbijX0YhkSWoaJZu63fGn8v4RsW1rfP25UIDLVlzcySLOrPFWGL_WZN53OCdbtWkm8NwBZd4_2xdI14ckRZca.t_YX5122Ly60kgzbiiec4nyNvARt3D_u8AhAZ89OMuhpIZhhIwtWcMgdzav17MRTJ8i_QF7pnQGL2bmzhsglZ1.Mw9DZjN8RL60GgqRQCAIvxQy3BAcxqX9r6DLV4XNyYuRuU2udc.xCURV7EEooGjDJsB6OV5TIeY74LcDhXfdXASqhZwifYIa41pz4JdM.kORWXc7qpyVlRcJWUaplj1M63qwMTgpdx5v51xZn.3_4Ee4M4ITs3ruG3FAwYSB5Ca.9Ja84Hd7Pd3QpgElf9jHU4LPztfYKBxjwr69ratjLzG1O07j_34TElq6U0Y9e5Gd0nQ8oChciDPP65oxZGVYm3_X3hCIvpL0IBWXSP0fXNGvM0UkcIVYV3a9T3p66lf.exyO3I2_eYEpqxvwePt5xh3i2N66uAdXExl8C2Zlk_6KDZubYWwGg51WJXSx.m.AKpgP1TZZzSIOnL0Rq7BpbtZ9tjEMj9qyDoaABDHVe1zWWfwKUpJLTArtvP0R2w47Uh5RFJOzgtKOyF12BGlOet1fS1uqR5CtDEEhpFYakYEpkQgNHAHxT8CF6umSf5SGRGP6Eq083ISX9ZrMAzGcA9eAE8mlY8UbB9lMchgKelEqUuu5bbl3K0n0xJuSAJ6tfiaHaoDTxrKI59nJitMduXA0vwOR9NJtTWyPdfPbBD93weIRdFcPq8QEDYS2U4KsnXKVMuS6WgUOtfJc6WmVf5Yb38JWtCdm4eYdCsMhVpC0QqitFEjUjloNvQtsL8.pMtsDMobH9MCOGod4uHp_HZMty_A3aGZrXr8qpQJc9ShwB4yd4M314ObHFR39jqbvU8J6.1zyAuJKb4.CnSB8gebXyLLObLlEHzmqoUAfcUWcb3LUXzJ2EFnH7rmz8GhhY1I1oDiInM5LSwr3iUYlNuC3KEdhbE.3bF3eS1g_GvRU7zvtkgKtcp_IXLIK8k0AHixRNEGS6j_kg9ulKFVIa2iht1np7xhU2lQQyBDHGK1herRkhPPlax1.dRhQq27.fK3CgWo_8oM9I6uQ2zgQYpuPe1wf46gc0b4gZIcNSuT1GYt0vPi8eBUmGoqbAySkxtMG7uQSFlNHB4FhjD2GZzhQSECCQ9hr0hL_m_f.WwlJUlumpxeUT0JHRU7cWNRHMdRQyy3Ib_hF72wmx2NCSmwCE8U3FdIW4.WD0aZNn7QxFbRSSsWzUw_qxIe8K2nRs1OMNQw7S3xxVd9se.SDmM2ctKaj44A_eoVDbwsmi2BjY68umUslpZnoD.rOq6Rk_W55Ql2Ph2vhGS.0dMwznsnWU8DzlMPVgQGqx3y2ioS437jGnojsRERPNtYJqx9GXl8P_uINCYMg0oNQ3g4NuKOBTmfMGRcofF5HmYztHX.ikdKcK8IQMsW.s65soySpER5gSpWKLrydMi2B18vUPS6.aZ2os9ykcTa4dtUGHPsbT1NOrryCHUvmrMOlxRbYfejeohFDmNV74D4ywP0HMGYEzDlQjvwfBT0wB.2c3ITtaFzZBs0gF9qGi3VBX3gJ1j0C7W6h8RgBHFnECcTyv2JWJqTyaHNFsL_.hm19_3NW8WDYAaxaBfVDfABMDLEROLGFxmEG1Bu1F5yAm01R1heoygubhMaZOJ58jh1IaYrobjIdMLexYwageBkaFvxSSDoyno1KGZoh0zg9taHCyGjGZTZmNx06ozy91Ed9zXP.XUnOQxBUStAQUXWoG2RS0fyLvP3BGLefZK0vhZ9D3Lal_3tL3yGAbDcwwmAuef8Pwj2QiyqtMu2K0YYQrFcnpyWfob6rreh7QNHxgn_zBUXra20l.MH0BCFoK_FwGvWeLA3NTweiZb3TyEpiYNweMU5XCzaGFBTl.kOax.yGyqXSG1w1a9vywFWqbdwX8yu6zJ_eusmhJEfTy5IjmMAUPHv4m98ESvY2Vrn4mGnQhDE9yN0Y23KcS8sUK7VlP.kTNjBnxPC1NnKvNzj.miB_iKspxruSm0_Dk4F4d6As3vh_ZtEEyvg9KGpDe9DfMGquUqbo1CaydE756B6kU9x1XgiDW9wEC8btzXBaqvvyVK5Pe_iPH7ZoMM9DSOpLtGifrI02CTAR64G3SXKSiD0qIv5SvzHZ8D5TQ3AV.cfsVDFVhgU5FCv1Por.1sO0rrlNZll_VZjZcXypjNiFTJCN2Nw215Ll02nMlJ9Bfjf51s1DPe52dn3rN.bdLezswrVu7c7INwGyQqpaPwMORjk7pnfMEC0ghNbu79oUWUWvwWk63H3fRqScRkJdHSbQFZ6RhbBJPNF75YWsAuBykfqqrnYsOXIeom8Es",mdrd: "Mk9QEjFsUpJiMpb0sWFnhFPFa99HTabMIrVYdWx5l5A-1739844647-1.2.1.1-S1E5kaQ1KNTHp999UiR9yqXYldBn5BeefxGqaXgayj9t2yBku.Oz9AV8NCdksvSigXWDnYMjhkmLz68289..jvr64fDiCsDrt7zpGdIqcK8rvHUj5wiu1cBkh2bHipsX41.kK5gpqf6PlI56tvgszQdG1d9LOuelJYQHZYKwa_H7SxNXVvCWyZlmq9nV88ciCfuuO3X4RiRjUBBE99Zc9b8TotYrqnxU.e7uNgttwoTPf1yxx2cVMK4jDWgwyGlIzO2MEBc5LwuoItNQC.D3RVJjGlX4cMjKw9lfPKQIvLde86I_VHgnaygB3z4wM9SmtKGqmkyOaOzZUBtjDSrzG64weYFEXmKm51WL1InIagHbfZJybOCMyVDPgRZ3k2MOW7aWRrOqZ1KZr6Dk.E4HJhgoI65GSnPfjRE3l8rA4cg1eHv7HWqYJ7i30LL3toIMpDKkbDVAccfxDTTPqZFGhMToA.hQ7AuWivrXJUQ2b.IodKDuCk3SiIkdzf7hN9Y3.iXdm1fD8U.xId4z7GsXDc3PhAj2pqbXC3jOQa7KF0E0MpqlQ854pzeczTE2uB4vXkUw6nuQj0hDStiRKYfWnlxKhbOGyUpbGLmHXYpXwRLn0iC708QnIjehFkGiAkG85Me2j.gTUnTq0jt4I1Ubely7iejjQPUYmbioljdiE6W7NRBwuPwJWKywQp_g1EIkKFyHsz3skjn5TuiETo8QuxOvP1EcGQxiCwikpP2ERE1YkPhTk0zE83ammbIYac7iAIgIkbMi_wiHDHbJ3lBeUXPx3ff8eYbmc_VLYo946.YO7YFdzhjhURKeDiYfeRWBxsaqZoCkQPXHTIEBQwvjjrWerSUDoSOm8DKLadKJlAR5c2Ch6_MAP9aNerl8jni2YwKYHiWtftfLqDsC_EJpo8yXQfRC7j1HgRZKTflDUoeGvU7iex9Z4rIa2Is8g3g8y._wnt3nukysStRgww8DlUMh4vtqSbXDo2x8pRdRa2mEwx6HI.d1MeZmC5HRZqgEThc.mcBPtUjKCsBO4O2Fd.HQb2Hun7eATCdUQOaEz2Clp_fNY8bn4QKLblPplHXb6lKzV91ogs_PL.RHETZItlICpRo4rW8iAG4CcMt0YWsmQJ3Go2dZofQt7NDhxY0HOD8Zh7Ay0nxX6OIAB2KMOnP_AxDR5Z6oGC_UAf33GqFBTyPnREkAXpDMHrv_xHhoSc60WS9qbDWD0pfYNd2j5dSe0Gol8DBb5RMzbiSfG8Nmi5qbCIv5WWG2ttwoDvVjYYkLwj5axWBnp7uuZReRhqePNJ5VVwazVyyuw.BxkoXhK3YHyX4a2I0iHy3ygU46_6dYpFAw7ONNKWlGR6mcqckj3HEVGzMwVHi0AwTGlTmR7EDGe30FkgCeqczascg3XEAAQwW1TgDgkrHEvNqr.QNrzwSCyAmuM2uR1p2ReS1nYEx1MIdTJ9pYppcXthxp_74bdEe3EM0P9b7K.2jF_WvFUQF4WGCJtwlHIkG3WwQcWoQiABbLXJ.25Bb00vjnAKmJOEhfhunsKl_WMkt6UzwPtmrh6J2p4njJGw8kdEJnsjNTdq2O25SMMp9Cs9WEOLRoVdF0G3mJRAL1IvS3WQIINFiSG8TSmJINgUhTVg2dWmH.s69XoZKwYx8BEiFyyr_wSY41TGmn2QVW.mfbBt0ZVqyMISuM1fKjiHzBzmabmWuU8T2Qoqwt_9cs5vvaKtcYeS42Ke481Liyw0aFHF294KK9im3VQcp_3tyy4CdaimSpHbY2YJeV3avo6lEjsoZjrllEKfCt5jeW9o9iBjRAQOfLiA9iSc2FWjyW636vnVLA2c4i2uO..iiK20lxVR4JNr1ebgZ_eDkg_ZK2cocyb2sqDCUZPGYOfCniyyP7wZgtoAfpIfBDC6gHvC5kwl6ECQ8U7Q3kPGuTNHGJw3PcwPqlEoUdGbTILkUKSaPzjeHRcUXLOgQN0XRoG8di"};var cpo = document.createElement('script');cpo.src = '/cdn-cgi/challenge-platform/h/g/orchestrate/chl_page/v1?ray=913a7b972b3dce32';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, "\/designers\/subtlepatterns\/?__cf_chl_rt_tk=AhRf7RdhMCGDyr8NJsenr.rOQV7TEWnHkxH_C5Rtg8A-1739844647-1.0.1.1-tDMzcCG6JYt7Cp2Yk7msjqJz5RUG9Ynhjp7OYpta8HM" + window._cf_chl_opt.cOgUHash);cpo.onload = function() {history.replaceState(null, null, ogU);}}document.getElementsByTagName('head')[0].appendChild(cpo);}());</script></body></html>