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: "dl.acm.org",cType: 'managed',cRay: '917747423e154d81',cH: '7edDkZ38RmpG0jrTM2_oiYHLniGZVJBSs4OUO9h5e0k-1740482135-1.2.1.1-_6rL.ZgDPhn60k5knNr9_jXUxaJ99TiRyroYKi1RhSPfiCp5XoG.AxgAd7eGPvED',cUPMDTk: "\/doi\/10.1145\/141936.141943?__cf_chl_tk=XXyRXZEj0xnJ2fQBdfrU3dVWW3jhpTrC5sJf3pVvh2Q-1740482135-1.0.1.1-kMn3loUA1nbEjeNMaMTVcfSteMkRyfxKXXgrgmxQXc8",cFPWv: 'b',cITimeS: '1740482135',cTTimeMs: '1000',cMTimeMs: '390000',cTplC: 0,cTplV: 5,cTplB: 'cf',cK: "",fa: "\/doi\/10.1145\/141936.141943?__cf_chl_f_tk=XXyRXZEj0xnJ2fQBdfrU3dVWW3jhpTrC5sJf3pVvh2Q-1740482135-1.0.1.1-kMn3loUA1nbEjeNMaMTVcfSteMkRyfxKXXgrgmxQXc8",md: "Q39Iyrnct2eZlyc6gVtpy6QgRHheKbnGPBb3f9u_F_I-1740482135-1.2.1.1-0zVclhc87xCFyEcCd.OxkMtSFplhA4G31iU4FhN73hk_EM4QOMBD9hcZdDw7g4b7hyCnmTBOQeQL1zu7oZAaOgmmYiuE8SI5964rl7s2oDJFeeqAPNqrSNBf46Qc0EA78ueBkqIpOi5gi1rwDBbv2IhneRjrw.S.FX897oMEwyvL6yvTbmcSzbtkcDD79if7nr6dMyJKrelBLc8cHZ5rAv_EV8QyPgJTFag5dlXWIHvztfE83_ht6vOuoWs90ml4St1XfWmQYJozeyepmu10PuSq2EjAr3LT3d4mTn.EahnQwihPRl9qW6b7EFLIQBwbDOBNmxnMWYgJyQnWWY_r7_F1RfNN5mV6O1OtnbPouMDgiSQVeMdR8eUFtoH2Kb7g3wDnDHgi4QNoec8xkBUyam82AWXaV0uhpa5rxyOq2fvaQSg2ilClm_I3tssFIluaB5C.xPRft6ZBIkwN6p5hVIuS2BFBKAIOtWnoH.LUk7yy1iwRJ8K87KC9PRRud.M6DMVq4RaqYXl9izJZdf0A6lqwhfs8OtE1EGjsJXZxerxv8fHRJUlkMNUfff0lwH8bYgDvEDl2PczyLLt8bv9AOmVUrW4AVJ2HSXl2VKv1_i3geadGFbWX1AsVwliGGb.R7let3CJT2P7jl_S7iC8BDN7Fq8Qd3qyesYO2uYjKkkAnWDLysgYFkEeXAVtI.EeAVzpUnt1zU2CYCcZZ5BRDzTpFR6b01OFD_voFTbbZ1LZfk_Ry71xypLsGhBkHPx30jb1ouAE1vNgmRt_TW5JNlYvyAYavUVKxOGxbF0uxC0NWO08JK7UMa6OnFwxgWxblWPph_SGinIBKZhb_oIRzFkeoFFetLhDjT_SEHL4KM5jmnWdPlG3Gu1XXzSbSWw.XMcHobT9P8fIYyOI.GTe.nYcrfMhA5CQiVHbFdnGpTG8KQwooX4mG3TeQmd.N1w_h4qTbIEjMaBIN2UTM.fDAGIRv10ZJ6wzEsrGNyQVH9gzJgkD_L6wC9zI9lPzNw_7k9jJZ9rPJ.sSugV_NbenCjmoNB1MKTmOuBykyEJU.nHn8lWe_GFBISZmt9Mi98wIy75Bb3XSWWJQei4uWXlYqR74N4Z4Oh24iAhinC1OVhhg5YeqCiIxRQnChEvmPG3OQtt0kZH.SEabA2UyxklM6_WOtB6vtw_dMd30wfGoyZ_lykx0hRFYrRjH5ZLm2UXdWbSoCx6xG5UTarkgMEsp_KvYhuXk5dEGfXHEB8RWaIaY602B4PquQIe2J4Zq08vUsfrPlHzorr6V7Bkdx9KT7474_9I84VMpDfkf78enu2r7Z7iL29cW.r_3njk1SATpWd4K8SaGQCHDMZV1y5Zd.gvXoTblAi4deD_5JhX5rcPd4YK3je9tw2.LfSL7QJxhScy6gqC_vE6ufAVat7fKP3HRGJIOdg077creF3urvR9Pz8hZdR6_gOipdHOBnrocPwaIH9SzyZScfMGh5jzS7jWLQM4ij0IpuGzL_gEcI4BQswQE9DEpB5iSDXQCv18AJP7os0LcccM4uc97uJ1Io2oDVpFeDZizpg24z8YMq6l_wOwmqSJyCIsUZ9PyWq02eA1MZCEgJhiYmhGJeY.Q1ZQD2tziOtUOEuv8TDJlRw1LtByeeJqW88qhyFxljlPEe2c3S.zOXCzjHH2spx_VysGFulfc07lMEGDfh8BT2TwWGh3tNc3rKvCevpoiESHxOC2lyYWxYLteyOlsjH_OI_ZjGP8DQAJ1Xo6hMUR6p5lh4pU3n9o8NPJONaJMRgpO7o9W5MfTpczuGP_uF3a_rrw3DnxgFsLfGADJdViCA6bdEMXCT0MOl9AS12jPPC7R03Ouxzxn3paDByfcWcdWY81xajaQfcdSZKM3RkvFO6TsnFAlkOzYdC95y1n1Xvf4bW5IAYG7zYtfoIkHL_RhTbkpH6RIGKPUHOen.TcndgB4fAprRbwLU_QYG6NMlEP_2CCZFd9XfTf7RZod73bWT0OIHTObcJESP90ycK5xue2VWW1yiFZa29F5jj9EGbIFhfT2OKddI.LHW4Hp0kywl2tWoIwfejb.WPHCOlEy7PVXplvVNygUCGegGt6YjMOcHxy3NhMjCmqV9LU9qkzOulMwPr58ETh18_AYcvXyRxX6RHDi8QLC8DcbqaLzhVb2UdeM8wYrGZKRQ8mwu2nhPRv4MRInWyB6iKnpGyl2XQAknDQWjVv5x.NKlsguvQZABtSU79C4dklSPOF.xyn2E8LxEXsQPJn83AZ.UnhTjdBekjpgl3yUn0bZtUap6KEx51fPCENocVQpsuFBA_iwZJAnJ_8l8_8d4yovN1dBIXHrdKW3.adI1bEDAbRBpFaQBasm_mTGeM5c_g313wKh9jJMCLf5I0RvMSZobVVhO4mZHgCSwjiegrHYd87nrDoYoWFWD0LSN6Yap_8LwxHg6Cuw4CLxrOxMaW06pzp_Azxd6DzXE5I0ZvGxi6vocQoo7kmn93ed8Dh9no8dTDS0WXAsaToFTsas7CaUXTIP6QkOkhREOO2IxxK1vjpPKPYNiTnD3EwhpZJtFU3WK0CufrLOQtyM3_0vm7AtRjKW3EtI",mdrd: "a9Huqxb8CdavOXc7Opi3EqUXxHLxmhfV.l3WRx_DKtM-1740482135-1.2.1.1-U5skZ.gGX6oFrWSod.WGZiY59GR2SDl7JWyicINp6lAyA2QPPrTGOi.3DVKPHupmDtfDynwfGj49pNILjiWtVVMmF5oAKtjFRoeOsukCbKlTH0Eqd_vQEfc0Lot1_W5Ir4MYGIO77Sw4mY09.7qqVdXvsllqOXjXAx5dV4IyOHGdLm67lliKwZqFuL8xZrTOI8kUcW9tUhkR8a3L0x6MARG6cMrfaQCRCWSftWkh58Qdtf9TAyFrdrmhUgURs1oGVKfosrolyw0fDJ0FOSXosdI6uhaavwO1yBXl4GUYvtkLRsJj3rrfUMazTnoh.osODZKO_D3gp1ffqG.a8tcO3K5CQwPcZOlfXAddD2bYa6PywjRvqgdkGbp3bZcunUHPz.Y3yvDIE5D.zJUHUhcKe3I8kG9mecrL.MbhP.AodWATy6UxrHF7jNCND8KTkbMz.EpCrZ1tUbvPQYvsTCUvAuuBBFTe6AYnUGnsF3nH7Fv4Ua8jrpiw2GLjMKhc7c92V7BEvIW9wMAkFU91I5bkPetfRo3ImgMHaFwsmWHNP7anm5Wk4P4WMSa876iZfakQ2FToCudqdCbcqwi_kdOus8co18CUgBWiOmUvn.sE_1FAWSc4UlJm2n1Qa9hg__.gJ9uKs6dT..g0bIH72d2ueBfO6y_IT8FYgX1.u1iYpTREK2jIVDX.nqf0Uh.EJ.BnBNMM1hY9g7n6bESasHF1mbvv8OGGNBL7uXqEf3_wdO9Rh0eOcOOty2BGUtdPtJhEb7GzTn7XIdjDsqn9nfwZsjyF_aGSTzvqdBTGiM9.7HG4kTfNifpIZFugJgwAKcCCnQ2R428sB2QNdkJOpHCjpxMyP056nJTc4s9T87BLjt5AfwBJrma_UVHhW0sBnW.yVizwftHunrLzKbpq3uRKyGNK03sOjBKJvSbcUf2qpzK1lmnJFKrfJJBGwrHbiWaQxsNZDsf9kWCiGcBK5SpjsX7EoYYBuqajyBhqnLJ7_WPZbiHofnTYPsrOTyk9ZClMnPpoXaViKVoaSYtRq0_fjodx49YxS1MPZgq7UyHq.82haWAKchrQWUBBKslBUTT1qYclKvXzdfrJ2PDi3tztgmUixi1qH_c.P.Jt4wij3aAgSiESl4tjAriKsUXWNa_f01KZgD8TJumO7Y2QLS28FORwc0rsD3pX_hag_q9xGCNFloRNy5WPZAoRsQpqG.Xc7qp32bITKdsomHqI0DpBxKN0krUw6ukC2Sabk8L1Mh2hMqT8nCyIH2ndS0QEDZAfHz9XQe.W3mr5GrIHP1C2ucScD798khLZEuVfywAXdz83R4r3qc_1g4qLsH7thpjuXxCxB_qQRkBblOWZmsMtwfgQpGsxotlGTpQH6zX37dtT3MGEgMvwu2G984FZnJEaf6lMTf6TfcWjhgvfXQnqoI1waUhIuP7dORpwQVDJo0dpt7aSZTZuKNslPdMl9.P3IozkmuwFrp49shbNUDO4FINaxFJUYXtIfzb466JDJGi1mSddUAqXrr0GRIrC3XYKzq.8Uvxc7n3s2E1r._l8GS_sfawqUy_qT3rGFXRzRmUETE_scjmyCAPwcAguxpI0xP90TK4jVGi6D32X3SFbopw2XZkwGIp0S2lUveMxHtumJxYhcxaRjh.9N2o5ZzmzjBaFaEa0DxvBBjp4.AYW7YiZlrYwGkijLD8R0bL0pwyL5Dw7F1GpsaFnQISg7tEXfyuHG3H_dqq4JiWxBODpqL3XiGkCIc.gKNF1p5xFFICQRfvFi2gvVm03TjrNsxPJn11uAUr8snHJUpRWIPWFYz3_ToG4M1u7WxT15Qpwv_6mPVgZaRhD_PA_61XF4NOsMzxL8LLy9knsV9d1QVS8A4gzACWn9lW8yHr.GYmpZNIM9TeDass2OZcvvm.pFxI48O9Sr0mEJxwGazXMpVkm2od6XU2Q4AOviDoa19bVtSM"};var cpo = document.createElement('script');cpo.src = '/cdn-cgi/challenge-platform/h/b/orchestrate/chl_page/v1?ray=917747423e154d81';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, "\/doi\/10.1145\/141936.141943?__cf_chl_rt_tk=XXyRXZEj0xnJ2fQBdfrU3dVWW3jhpTrC5sJf3pVvh2Q-1740482135-1.0.1.1-kMn3loUA1nbEjeNMaMTVcfSteMkRyfxKXXgrgmxQXc8" + window._cf_chl_opt.cOgUHash);cpo.onload = function() {history.replaceState(null, null, ogU);}}document.getElementsByTagName('head')[0].appendChild(cpo);}());</script></body></html>