CINXE.COM

Tech Briefs - December 2024 - Vol. 48 No. 12 - Tech Briefs

<!DOCTYPE html> <html lang="en"> <head> <meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no"> <script src="https://cdn-ukwest.onetrust.com/scripttemplates/otSDKStub.js" data-document-language="true" type="text/javascript" charset="UTF-8" data-domain-script="3d8066e6-8b9d-44df-bdfe-fa197dd1cf73" tb-donotmove></script> <script type="text/javascript" tb-donotmove> function OptanonWrapper() { } </script> <link rel="shortcut icon" href="https://static.techbriefs.com/templates/tb_cmo_2017/icons/favicon.ico" type="image/x-icon" /> <link rel="apple-touch-icon" sizes="76x76" href="/templates/tb_cmo_2017/icons/apple-touch-icon.png"> <link rel="icon" type="image/png" sizes="32x32" href="https://static.techbriefs.com/templates/tb_cmo_2017/icons/favicon-32x32.png"> <link rel="icon" type="image/png" sizes="16x16" href="https://static.techbriefs.com/templates/tb_cmo_2017/icons/favicon-16x16.png"> <link rel="manifest" href="/templates/tb_cmo_2017/icons/site.webmanifest"> <link rel="mask-icon" href="/templates/tb_cmo_2017/icons/safari-pinned-tab.svg" color="#324a98"> <meta name="msapplication-config" content="/templates/tb_cmo_2017/icons/browserconfig.xml" /> <meta name="msapplication-TileColor" content="#2b5797"> <meta name="theme-color" content="#ffffff"> <link rel="preconnect" href="https://cdnjs.cloudflare.com/"> <link rel="preconnect" href="https://fonts.gstatic.com/"> <link rel="preconnect" href="https://fonts.googleapis.com/"> <link rel="preconnect" href="https://res.cloudinary.com/"> <link rel="preconnect" href="https://kit.fontawesome.com/"> <link rel="preconnect" href="https://kit-pro.fontawesome.com/"> <link rel="preconnect" href="https://www.googletagmanager.com/"> <link rel="preconnect" href="https://www.googletagservices.com/"> <link rel="preconnect" href="https://cdn.shareaholic.net"> <link rel="preconnect" href="https://olytics.omeda.com"> <link rel="preconnect" href="https://securepubads.g.doubleclick.net/"> <link rel="preconnect" href="https://px.ads.linkedin.com"> <link rel="preconnect" href="https://snap.licdn.com"> <link rel="preconnect" href="https://cdn-ukwest.onetrust.com"> <link rel="preload" as="style" href="/templates/tb_cmo_2017/css/template.min.css?t=1732180729" integrity="sha512-K26FuLEPyUwYkP20X00ZnEFnfPWvTnNFfxWErl7pCIi2bHy5WpiYx1lJjKVCmzyXV/zV1EqM+1WsGDxZiFfmMQ==" crossorigin="anonymous" referrerpolicy="no-referrer"/> <link rel="preload" as="script" href="https://cdnjs.cloudflare.com/ajax/libs/cloudinary-core/2.13.1/cloudinary-core-shrinkwrap.min.js" integrity="sha512-stp48jOOmT4TXnB4bMJ0rlcR7XagE92cqr7pEb+oFQox6qNSyKiN31GajDsg5VVn+HgM5mhOZinSRXowsRmgPg==" crossorigin="anonymous" referrerpolicy="no-referrer"/> <link rel="preload" as="script" href="https://kit.fontawesome.com/e04325f501.js" crossorigin="anonymous" referrerpolicy="no-referrer"/> <link rel="preload" as="script" href="https://cdnjs.cloudflare.com/ajax/libs/masonry/4.2.2/masonry.pkgd.min.js" integrity="sha512-JRlcvSZAXT8+5SQQAvklXGJuxXTouyq8oIMaYERZQasB8SBDHZaUbeASsJWpk0UUrf89DP3/aefPPrlMR1h1yQ==" crossorigin="anonymous" referrerpolicy="no-referrer"/> <link rel="preload" as="script" href="https://cdnjs.cloudflare.com/ajax/libs/lazysizes/5.3.2/lazysizes.min.js" integrity="sha512-q583ppKrCRc7N5O0n2nzUiJ+suUv7Et1JGels4bXOaMFQcamPk9HjdUknZuuFjBNs7tsMuadge5k9RzdmO+1GQ==" crossorigin="anonymous" referrerpolicy="no-referrer"/> <link rel="preload" as="script" href="https://cdnjs.cloudflare.com/ajax/libs/lazysizes/5.3.2/plugins/print/ls.print.min.js" integrity="sha512-tY3D/iSWSdQE2NSLW/mRWQd/bvHAGjyCLRwSd23sqNbbgVnUaah2t+ZpX7hdBOskZ7PqYvwe4E+qxNARGojJGQ==" crossorigin="anonymous" referrerpolicy="no-referrer"/> <link rel="preload" as="script" href="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.7.1/jquery.min.js" integrity="sha512-v2CJ7UaYy4JwqLDIrZUI/4hqeoQieOmAZNXBeQyjo21dadnwR+8ZaIJVT8EE2iyI61OV8e6M8PP2/4hpQINQ/g==" crossorigin="anonymous" referrerpolicy="no-referrer"/> <link rel="preload" as="script" href="https://cdnjs.cloudflare.com/ajax/libs/bootstrap/5.2.3/js/bootstrap.bundle.min.js" integrity="sha512-i9cEfJwUwViEPFKdC1enz4ZRGBj8YQo6QByFTF92YXHi7waCqyexvRD75S5NVTsSiTv7rKWqG9Y5eFxmRsOn0A==" crossorigin="anonymous" referrerpolicy="no-referrer"/> <link rel="preload" as="script" href="https://cdnjs.cloudflare.com/ajax/libs/limonte-sweetalert2/11.15.0/sweetalert2.all.min.js" integrity="sha512-cC031aMSuKiIKH8oEwFmS3QA7k6JP+FK0jAOWOk3en3O14wYqp/z8I6CTGM9/AdSmRavk//8e1p5VZI1U0VadQ==" crossorigin="anonymous" referrerpolicy="no-referrer"/> <link rel="preload" as="style" href="https://cdnjs.cloudflare.com/ajax/libs/bootstrap-select/1.14.0-beta3/css/bootstrap-select.min.css" integrity="sha512-g2SduJKxa4Lbn3GW+Q7rNz+pKP9AWMR++Ta8fgwsZRCUsawjPvF/BxSMkGS61VsR9yinGoEgrHPGPn2mrj8+4w==" crossorigin="anonymous" referrerpolicy="no-referrer"/> <link rel="preload" as="script" href="https://cdnjs.cloudflare.com/ajax/libs/bootstrap-select/1.14.0-beta3/js/bootstrap-select.min.js" integrity="sha512-yrOmjPdp8qH8hgLfWpSFhC/+R9Cj9USL8uJxYIveJZGAiedxyIxwNw4RsLDlcjNlIRR4kkHaDHSmNHAkxFTmgg==" crossorigin="anonymous" referrerpolicy="no-referrer"/> <meta charset="utf-8"> <meta name="pubdate" content="20241201"> <meta name="keywords" content=","> <meta name="robots" content="index, follow"> <meta name="author" content="SAE Media Group"> <meta value="twitter:site" content="@TechBriefsMag"> <meta property="og:description" content="{ntb_toc NTB}"> <meta property="og:url" content="https://www.techbriefs.com/component/content/article/52261-doc-9535"> <meta property="og:title" content="Tech Briefs - December 2024 - Vol. 48 No. 12"> <meta property="og:type" content="article"> <meta property="og:locale" content="en_US"> <meta property="og:updated_time" content="2024-12-14 04:02:30"> <meta property="article:modified_time" content="2024-12-14 04:02:30"> <meta property="article:publisher" content="SAE Media Group"> <meta name="description" content="{ntb_toc NTB}"> <title>Tech Briefs - December 2024 - Vol. 48 No. 12 - Tech Briefs</title> <link href="https://www.techbriefs.com/component/content/article/52261-doc-9535" rel="canonical"> <style> /*! inlined from /media/plg_content_ntb_tagsbot/css/template.min.css by ntb_minifier */ .ntb_tagsbot .taglist { font-style: italic; margin-top: 10px } .ntb_tagsbot .tagmenus { background: #FFE; border: 1px dashed #DDD; padding: 10px; margin-bottom: 10px } .ntb_tagsbot .clusterlist { font-style: italic; margin-bottom: 10px; } .ntb_cluster_div { display: none; } .tagmenus div:first-of-type { font-style: italic; margin-bottom: 10px; } /* end /media/plg_content_ntb_tagsbot/css/template.min.css */ </style> <link href="/plugins/content/jw_disqus/jw_disqus/tmpl/css/template.min.css?v=3.7.0" rel="stylesheet" /> <style>/** * Critical CSS created by criticalcss.com * file: /css/critical/article-default.css' * createdAt : 2024-11-21T09:22:13.000Z * resultStatus : GOOD * originalSize : 288914 * size : 0 * validationStatus : GOOD */ @charset "UTF-8";#startOfPage{visibility:hidden}@font-face{font-family:Lato;font-style:normal;font-weight:400;font-display:swap;src:url(https://fonts.gstatic.com/s/lato/v24/S6uyw4BMUTPHjx4wWw.ttf) format('truetype')}@font-face{font-family:Lato;font-style:normal;font-weight:700;font-display:swap;src:url(https://fonts.gstatic.com/s/lato/v24/S6u9w4BMUTPHh6UVSwiPHA.ttf) format('truetype')}:root{--bs-blue:#0d6efd;--bs-indigo:#6610f2;--bs-purple:#6f42c1;--bs-pink:#d63384;--bs-red:#dc3545;--bs-orange:#fd7e14;--bs-yellow:#ffc107;--bs-green:#198754;--bs-teal:#20c997;--bs-cyan:#0dcaf0;--bs-black:#000;--bs-white:#fff;--bs-gray:#6c757d;--bs-gray-dark:#343a40;--bs-gray-100:#f8f9fa;--bs-gray-200:#e9ecef;--bs-gray-300:#dee2e6;--bs-gray-400:#ced4da;--bs-gray-500:#adb5bd;--bs-gray-600:#6c757d;--bs-gray-700:#495057;--bs-gray-800:#343a40;--bs-gray-900:#212529;--bs-primary:#324a98;--bs-secondary:#6c757d;--bs-success:#198754;--bs-info:#0dcaf0;--bs-warning:#ffc107;--bs-danger:#e60000;--bs-light:#f8f9fa;--bs-dark:#212529;--bs-inverse:#000;--bs-navbar:#324a98;--bs-navitem:#fff;--bs-lightgray:#e9ecef;--bs-color-indigo:#6610f2;--bs-color-cyan:#0dcaf0;--bs-color-blue:#0d6efd;--bs-color-orange:#fd7e14;--bs-color-red:#dc3545;--bs-color-yellow:#ffc107;--bs-color-teal:#20c997;--bs-color-green:#198754;--bs-color-pink:#d63384;--bs-color-black:#000;--bs-color-white:#fff;--bs-color-gray:#6c757d;--bs-color-gray-dark:#343a40;--bs-primary-rgb:50,74,152;--bs-secondary-rgb:108,117,125;--bs-success-rgb:25,135,84;--bs-info-rgb:13,202,240;--bs-warning-rgb:255,193,7;--bs-danger-rgb:230,0,0;--bs-light-rgb:248,249,250;--bs-dark-rgb:33,37,41;--bs-inverse-rgb:0,0,0;--bs-navbar-rgb:50,74,152;--bs-navitem-rgb:255,255,255;--bs-lightgray-rgb:233,236,239;--bs-color-indigo-rgb:102,16,242;--bs-color-cyan-rgb:13,202,240;--bs-color-blue-rgb:13,110,253;--bs-color-orange-rgb:253,126,20;--bs-color-red-rgb:220,53,69;--bs-color-yellow-rgb:255,193,7;--bs-color-teal-rgb:32,201,151;--bs-color-green-rgb:25,135,84;--bs-color-pink-rgb:214,51,132;--bs-color-black-rgb:0,0,0;--bs-color-white-rgb:255,255,255;--bs-color-gray-rgb:108,117,125;--bs-color-gray-dark-rgb:52,58,64;--bs-white-rgb:255,255,255;--bs-black-rgb:0,0,0;--bs-body-color-rgb:33,37,41;--bs-body-bg-rgb:255,255,255;--bs-font-sans-serif:"Lato",sans-serif;--bs-font-monospace:SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;--bs-gradient:linear-gradient(180deg, rgba(255, 255, 255, 0.15), rgba(255, 255, 255, 0));--bs-body-font-family:Lucida Bright,Lucidabright,Lucida Serif,Lucida,Palatino,Times New Roman,Times,serif;--bs-body-font-size:1rem;--bs-body-font-weight:400;--bs-body-line-height:1.5;--bs-body-color:#212529;--bs-body-bg:#ffffff;--bs-border-width:1px;--bs-border-style:solid;--bs-border-color:#ced4da;--bs-border-color-translucent:rgba(0, 0, 0, 0.175);--bs-border-radius:0.375rem;--bs-border-radius-sm:0.25rem;--bs-border-radius-lg:0.5rem;--bs-border-radius-xl:1rem;--bs-border-radius-2xl:2rem;--bs-border-radius-pill:50rem;--bs-link-color:#324a98;--bs-link-hover-color:rgb(40, 59.2, 121.6);--bs-code-color:#d63384;--bs-highlight-bg:rgb(255, 242.6, 205.4)}*,::after,::before{box-sizing:border-box}@media (prefers-reduced-motion:no-preference){:root{scroll-behavior:smooth}}body{margin:0;font-family:var(--bs-body-font-family);font-size:var(--bs-body-font-size);font-weight:var(--bs-body-font-weight);line-height:var(--bs-body-line-height);color:var(--bs-body-color);text-align:var(--bs-body-text-align);background-color:var(--bs-body-bg);-webkit-text-size-adjust:100%;padding-top:150px}hr{margin:1rem 0;color:inherit;border:0;border-top:1px solid #6c757d;opacity:.25}h1,h4,h5,h6{margin-top:0;margin-bottom:.5rem;font-family:Lato,sans-serif;font-weight:700;line-height:1.2}h1{font-size:calc(1.325rem + .9vw)}@media (min-width:1200px){h1{font-size:2rem}}h4{font-size:calc(1.275rem + .3vw)}@media (min-width:1200px){h4{font-size:1.5rem}}h5{font-size:1.25rem}h6{font-size:1rem}p{margin-top:0}ol,ul{padding-left:2rem;margin-top:0}ol,p,ul{margin-bottom:1rem}a{color:var(--bs-link-color);text-decoration:none}a:not([href]):not([class]){color:inherit;text-decoration:none}img{vertical-align:middle;max-width:100%;height:auto}label{display:inline-block}button{border-radius:0;text-transform:none;margin:0;font-size:inherit;line-height:inherit}input{margin:0;font-family:inherit;font-size:inherit;line-height:inherit}[type=button],[type=submit],button{-webkit-appearance:button}::-moz-focus-inner{padding:0;border-style:none}::-webkit-datetime-edit-day-field,::-webkit-datetime-edit-fields-wrapper,::-webkit-datetime-edit-hour-field,::-webkit-datetime-edit-minute,::-webkit-datetime-edit-month-field,::-webkit-datetime-edit-text,::-webkit-datetime-edit-year-field{padding:0}::-webkit-inner-spin-button{height:auto}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-color-swatch-wrapper{padding:0}::file-selector-button{font:inherit;-webkit-appearance:button}iframe{border:0}.container,.container-fluid{--bs-gutter-x:1.5rem;--bs-gutter-y:0;width:100%;padding-right:calc(var(--bs-gutter-x)*.5);padding-left:calc(var(--bs-gutter-x)*.5);margin-right:auto;margin-left:auto}@media (min-width:576px){.container{max-width:540px}}@media (min-width:768px){.container{max-width:720px}}@media (min-width:992px){.container{max-width:960px}}@media (min-width:1200px){.container{max-width:1140px}}@media (min-width:1400px){.container{max-width:1320px}}.row{--bs-gutter-x:1.5rem;--bs-gutter-y:0;display:flex;flex-wrap:wrap;margin-top:calc(-1*var(--bs-gutter-y));margin-right:calc(-.5*var(--bs-gutter-x));margin-left:calc(-.5*var(--bs-gutter-x))}.row>*{flex-shrink:0;width:100%;max-width:100%;padding-right:calc(var(--bs-gutter-x)*.5);padding-left:calc(var(--bs-gutter-x)*.5);margin-top:var(--bs-gutter-y)}.col{flex:1 0 0%}.row-cols-1>*{flex:0 0 auto;width:100%}.col-2,.col-3{flex:0 0 auto;width:16.66666667%}.col-3{width:25%}.col-8,.col-9{flex:0 0 auto;width:66.66666667%}.col-9{width:75%}.col-10{flex:0 0 auto;width:83.33333333%}.col-12{flex:0 0 auto;width:100%}.g-0{--bs-gutter-x:0;--bs-gutter-y:0}.g-1{--bs-gutter-x:0.25rem;--bs-gutter-y:0.25rem}@media (min-width:768px){.col-md-1{flex:0 0 auto;width:8.33333333%}.col-md-5{flex:0 0 auto;width:41.66666667%}.col-md-7{flex:0 0 auto;width:58.33333333%}.col-md-11{flex:0 0 auto;width:91.66666667%}}@media (min-width:992px){.row-cols-lg-2>*{flex:0 0 auto;width:50%}.col-lg-4{flex:0 0 auto;width:33.33333333%}.col-lg-8{flex:0 0 auto;width:66.66666667%}}.form-control{display:block;width:100%;padding:.375rem .75rem;font-size:1rem;font-weight:400;line-height:1.5;color:#212529;background-color:#fff;background-clip:padding-box;border:1px solid #ced4da;-webkit-appearance:none;-moz-appearance:none;appearance:none;border-radius:.375rem;box-shadow:inset 0 1px 2px rgba(0,0,0,.075)}.form-control::-webkit-date-and-time-value{height:1.5em}.form-control::-moz-placeholder{color:#6c757d;opacity:1}.form-floating{position:relative}.form-floating>.form-control{height:calc(3.5rem + 2px);line-height:1.25;padding:1rem .75rem}.form-floating>label{position:absolute;top:0;left:0;width:100%;height:100%;padding:1rem .75rem;overflow:hidden;text-align:start;text-overflow:ellipsis;white-space:nowrap;border:1px solid transparent;transform-origin:0 0}.form-floating>.form-control::-moz-placeholder{color:transparent}.form-floating>.form-control:-webkit-autofill{padding-top:1.625rem;padding-bottom:.625rem}.form-floating>.form-control:-webkit-autofill~label{opacity:.65;transform:scale(.85) translateY(-.5rem) translateX(.15rem)}.input-group{position:relative;display:flex;flex-wrap:wrap;align-items:stretch;width:100%}.input-group>.form-floating{position:relative;flex:1 1 auto;width:1%;min-width:0}.input-group .btn{position:relative;z-index:2}.input-group:not(.has-validation)>.form-floating:not(:last-child)>.form-control{border-top-right-radius:0;border-bottom-right-radius:0}.input-group>:not(:first-child):not(.dropdown-menu):not(.valid-tooltip):not(.valid-feedback):not(.invalid-tooltip):not(.invalid-feedback){margin-left:-1px;border-top-left-radius:0;border-bottom-left-radius:0}.btn{color:var(--bs-btn-color);background-color:var(--bs-btn-bg);--bs-btn-padding-x:0.75rem;--bs-btn-padding-y:0.375rem;--bs-btn-font-size:1rem;--bs-btn-font-weight:400;--bs-btn-line-height:1.5;--bs-btn-color:#212529;--bs-btn-bg:transparent;--bs-btn-border-width:1px;--bs-btn-border-color:transparent;--bs-btn-border-radius:0.375rem;--bs-btn-hover-border-color:transparent;--bs-btn-box-shadow:inset 0 1px 0 rgba(255, 255, 255, 0.15),0 1px 1px rgba(0, 0, 0, 0.075);--bs-btn-disabled-opacity:0.65;--bs-btn-focus-box-shadow:0 0 0 0.25rem rgba(var(--bs-btn-focus-shadow-rgb), .5);display:inline-block;padding:var(--bs-btn-padding-y) var(--bs-btn-padding-x);font-family:var(--bs-btn-font-family);font-size:var(--bs-btn-font-size);font-weight:var(--bs-btn-font-weight);line-height:var(--bs-btn-line-height);text-align:center;vertical-align:middle;border:var(--bs-btn-border-width) solid var(--bs-btn-border-color);border-radius:var(--bs-btn-border-radius);background-image:var(--bs-gradient);box-shadow:var(--bs-btn-box-shadow)}.btn-primary{--bs-btn-bg:#324a98;--bs-btn-border-color:#324a98;--bs-btn-hover-bg:rgb(42.5, 62.9, 129.2);--bs-btn-hover-border-color:rgb(40, 59.2, 121.6);--bs-btn-focus-shadow-rgb:81,101,167;--bs-btn-active-bg:rgb(40, 59.2, 121.6);--bs-btn-active-border-color:rgb(37.5, 55.5, 114);--bs-btn-disabled-bg:#324a98;--bs-btn-disabled-border-color:#324a98}.btn-primary,.btn-secondary{--bs-btn-color:#fff;--bs-btn-hover-color:#fff;--bs-btn-active-color:#fff;--bs-btn-active-shadow:inset 0 3px 5px rgba(0, 0, 0, 0.125);--bs-btn-disabled-color:#fff}.btn-secondary{--bs-btn-bg:#6c757d;--bs-btn-border-color:#6c757d;--bs-btn-hover-bg:rgb(91.8, 99.45, 106.25);--bs-btn-hover-border-color:rgb(86.4, 93.6, 100);--bs-btn-focus-shadow-rgb:130,138,145;--bs-btn-active-bg:rgb(86.4, 93.6, 100);--bs-btn-active-border-color:rgb(81, 87.75, 93.75);--bs-btn-disabled-bg:#6c757d;--bs-btn-disabled-border-color:#6c757d}.btn-link{--bs-btn-font-weight:400;--bs-btn-color:var(--bs-link-color);--bs-btn-bg:transparent;--bs-btn-border-color:transparent;--bs-btn-hover-color:var(--bs-link-hover-color);--bs-btn-hover-border-color:transparent;--bs-btn-active-color:var(--bs-link-hover-color);--bs-btn-active-border-color:transparent;--bs-btn-disabled-color:#6c757d;--bs-btn-disabled-border-color:transparent;--bs-btn-box-shadow:none;--bs-btn-focus-shadow-rgb:81,101,167;text-decoration:none;background-image:none}.btn-sm{--bs-btn-padding-y:0.25rem;--bs-btn-padding-x:0.5rem;--bs-btn-font-size:0.875rem;--bs-btn-border-radius:0.25rem}.fade:not(.show){opacity:0}.collapse:not(.show){display:none}.nav{--bs-nav-link-padding-x:0.7rem;--bs-nav-link-padding-y:0.7rem;--bs-nav-link-color:var(--bs-link-color);--bs-nav-link-hover-color:var(--bs-link-hover-color);--bs-nav-link-disabled-color:#6c757d;display:flex;flex-wrap:wrap;padding-left:0;margin-bottom:0;list-style:none}.nav-link{display:block;padding:var(--bs-nav-link-padding-y) var(--bs-nav-link-padding-x);font-size:var(--bs-nav-link-font-size);font-weight:var(--bs-nav-link-font-weight);color:var(--bs-nav-link-color)}.nav-fill .nav-item{flex:1 1 auto;text-align:center}.nav-fill .nav-item .nav-link{width:100%}.navbar{--bs-navbar-padding-x:0;--bs-navbar-padding-y:0.5rem;--bs-navbar-color:rgba(0, 0, 0, 0.55);--bs-navbar-hover-color:rgba(0, 0, 0, 0.7);--bs-navbar-disabled-color:rgba(0, 0, 0, 0.3);--bs-navbar-active-color:rgba(0, 0, 0, 0.9);--bs-navbar-brand-padding-y:0.25rem;--bs-navbar-brand-margin-end:1rem;--bs-navbar-brand-font-size:1.25rem;--bs-navbar-brand-color:rgba(0, 0, 0, 0.9);--bs-navbar-brand-hover-color:rgba(0, 0, 0, 0.9);--bs-navbar-nav-link-padding-x:0.5rem;--bs-navbar-toggler-padding-y:0.25rem;--bs-navbar-toggler-padding-x:0.75rem;--bs-navbar-toggler-font-size:1.25rem;--bs-navbar-toggler-icon-bg:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='rgba%280, 0, 0, 0.55%29' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e");--bs-navbar-toggler-border-color:rgba(0, 0, 0, 0.1);--bs-navbar-toggler-border-radius:0.375rem;--bs-navbar-toggler-focus-width:0.25rem;position:relative;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;padding:var(--bs-navbar-padding-y) var(--bs-navbar-padding-x);background-image:var(--bs-gradient)}.navbar>.container,.navbar>.container-fluid{display:flex;flex-wrap:inherit;align-items:center;justify-content:space-between}.navbar-brand{padding-top:var(--bs-navbar-brand-padding-y);padding-bottom:var(--bs-navbar-brand-padding-y);margin-right:var(--bs-navbar-brand-margin-end);font-size:var(--bs-navbar-brand-font-size);color:var(--bs-navbar-brand-color);white-space:nowrap}.navbar-nav{--bs-nav-link-padding-x:0;--bs-nav-link-padding-y:0.7rem;--bs-nav-link-color:var(--bs-navbar-color);--bs-nav-link-hover-color:var(--bs-navbar-hover-color);--bs-nav-link-disabled-color:var(--bs-navbar-disabled-color);display:flex;flex-direction:column;padding-left:0;margin-bottom:0;list-style:none}.navbar-collapse{flex-basis:100%;flex-grow:1;align-items:center}.navbar-toggler{padding:var(--bs-navbar-toggler-padding-y) var(--bs-navbar-toggler-padding-x);font-size:var(--bs-navbar-toggler-font-size);line-height:1;color:var(--bs-navbar-color);background-color:transparent;border:var(--bs-border-width) solid var(--bs-navbar-toggler-border-color);border-radius:var(--bs-navbar-toggler-border-radius)}@media (min-width:576px){.navbar-expand-sm{flex-wrap:nowrap;justify-content:flex-start}.navbar-expand-sm .navbar-nav{flex-direction:row}.navbar-expand-sm .navbar-nav .nav-link{padding-right:var(--bs-navbar-nav-link-padding-x);padding-left:var(--bs-navbar-nav-link-padding-x)}.navbar-expand-sm .navbar-collapse{display:flex!important;flex-basis:auto}.navbar-expand-sm .navbar-toggler{display:none}}body:before{display:none}.navbar-dark{--bs-navbar-color:rgba(255, 255, 255, 0.85);--bs-navbar-hover-color:rgba(255, 255, 255, 0.5);--bs-navbar-disabled-color:rgba(255, 255, 255, 0.25);--bs-navbar-active-color:#ffffff;--bs-navbar-brand-color:#ffffff;--bs-navbar-brand-hover-color:#ffffff;--bs-navbar-toggler-border-color:transparent;--bs-navbar-toggler-icon-bg:none}.card{--bs-card-spacer-y:1rem;--bs-card-spacer-x:1rem;--bs-card-title-spacer-y:0.5rem;--bs-card-border-width:1px;--bs-card-border-color:var(--bs-border-color-translucent);--bs-card-border-radius:0.375rem;--bs-card-inner-border-radius:calc(0.375rem - 1px);--bs-card-cap-padding-y:0.5rem;--bs-card-cap-padding-x:1rem;--bs-card-cap-bg:rgba(0, 0, 0, 0.03);--bs-card-bg:#f8f9fa;--bs-card-img-overlay-padding:1rem;--bs-card-group-margin:0.75rem;position:relative;display:flex;flex-direction:column;min-width:0;height:var(--bs-card-height);word-wrap:break-word;background-color:var(--bs-card-bg);background-clip:border-box;border:var(--bs-card-border-width) solid var(--bs-card-border-color);border-radius:var(--bs-card-border-radius);box-shadow:var(--bs-card-box-shadow)}.card-body{flex:1 1 auto;padding:var(--bs-card-spacer-y) var(--bs-card-spacer-x);color:var(--bs-card-color)}.breadcrumb{display:flex;list-style:none;--bs-breadcrumb-padding-x:0;--bs-breadcrumb-padding-y:0.5rem;--bs-breadcrumb-margin-bottom:0;--bs-breadcrumb-font-size:0.75rem;--bs-breadcrumb-bg:transparent;--bs-breadcrumb-divider-color:#6c757d;--bs-breadcrumb-item-padding-x:0.5rem;--bs-breadcrumb-item-active-color:#6c757d;flex-wrap:wrap;padding:var(--bs-breadcrumb-padding-y) var(--bs-breadcrumb-padding-x);margin-bottom:var(--bs-breadcrumb-margin-bottom);font-size:var(--bs-breadcrumb-font-size);background-color:var(--bs-breadcrumb-bg);border-radius:var(--bs-breadcrumb-border-radius)}.breadcrumb-item+.breadcrumb-item{padding-left:var(--bs-breadcrumb-item-padding-x)}.breadcrumb-item+.breadcrumb-item::before{float:left;padding-right:var(--bs-breadcrumb-item-padding-x);color:var(--bs-breadcrumb-divider-color);content:var(--bs-breadcrumb-divider, "|")}.breadcrumb-item.active{color:var(--bs-breadcrumb-item-active-color)}.alert{--bs-alert-bg:transparent;--bs-alert-padding-x:1rem;--bs-alert-padding-y:1rem;--bs-alert-margin-bottom:1rem;--bs-alert-color:inherit;--bs-alert-border-color:transparent;--bs-alert-border:1px solid var(--bs-alert-border-color);--bs-alert-border-radius:0.375rem;position:relative;padding:var(--bs-alert-padding-y) var(--bs-alert-padding-x);margin-bottom:var(--bs-alert-margin-bottom);color:var(--bs-alert-color);background-color:var(--bs-alert-bg);border:var(--bs-alert-border);border-radius:var(--bs-alert-border-radius)}.alert-heading{color:inherit}.alert-link{font-weight:700}.alert-dismissible{padding-right:3rem}.alert-dismissible .btn-close{position:absolute;top:0;right:0;z-index:2;padding:1.25rem 1rem}.alert-primary,.alert-secondary{background-image:var(--bs-gradient)}.alert-primary{--bs-alert-color:rgb(30, 44.4, 91.2);--bs-alert-bg:rgb(214, 218.8, 234.4);--bs-alert-border-color:rgb(193.5, 200.7, 224.1)}.alert-primary .alert-link{color:#182449}.alert-secondary{--bs-alert-color:rgb(64.8, 70.2, 75);--bs-alert-bg:rgb(225.6, 227.4, 229);--bs-alert-border-color:rgb(210.9, 213.6, 216)}.alert-secondary .alert-link{color:#34383c}.alert-native,.alert-success,.alert-validation{--bs-alert-color:rgb(15, 81, 50.4);--bs-alert-bg:rgb(209, 231, 220.8);--bs-alert-border-color:rgb(186, 219, 203.7);background-image:var(--bs-gradient)}.alert-native .alert-link,.alert-success .alert-link,.alert-validation .alert-link{color:#0c4128}.alert-info,.alert-warning{background-image:var(--bs-gradient)}.alert-info{--bs-alert-color:rgb(5.2, 80.8, 96);--bs-alert-bg:rgb(206.6, 244.4, 252);--bs-alert-border-color:rgb(182.4, 239.1, 250.5)}.alert-info .alert-link{color:#04414d}.alert-warning{--bs-alert-color:rgb(102, 77.2, 2.8);--bs-alert-bg:rgb(255, 242.6, 205.4);--bs-alert-border-color:rgb(255, 236.4, 180.6)}.alert-warning .alert-link{color:#523e02}.alert-danger,.alert-error{--bs-alert-color:#8a0000;--bs-alert-bg:#facccc;--bs-alert-border-color:rgb(247.5, 178.5, 178.5);background-image:var(--bs-gradient)}.alert-danger .alert-link,.alert-error .alert-link{color:#6e0000}.alert-light{--bs-alert-color:rgb(99.2, 99.6, 100);--bs-alert-bg:rgb(253.6, 253.8, 254);--bs-alert-border-color:rgb(252.9, 253.2, 253.5);background-image:var(--bs-gradient)}.alert-light .alert-link{color:#4f5050}.alert-cleanup,.alert-dark{--bs-alert-color:rgb(19.8, 22.2, 24.6);--bs-alert-bg:rgb(210.6, 211.4, 212.2);--bs-alert-border-color:rgb(188.4, 189.6, 190.8);background-image:var(--bs-gradient)}.alert-cleanup .alert-link,.alert-dark .alert-link{color:#101214}.alert-inverse{--bs-alert-color:black;--bs-alert-bg:#cccccc;--bs-alert-border-color:rgb(178.5, 178.5, 178.5);background-image:var(--bs-gradient)}.alert-inverse .alert-link{color:#000}.alert-navbar{--bs-alert-color:rgb(30, 44.4, 91.2);--bs-alert-bg:rgb(214, 218.8, 234.4);--bs-alert-border-color:rgb(193.5, 200.7, 224.1)}.alert-navbar .alert-link{color:#182449}.alert-lightgray,.alert-navbar,.alert-navitem{background-image:var(--bs-gradient)}.alert-navitem{--bs-alert-color:#666666;--bs-alert-bg:white;--bs-alert-border-color:white}.alert-navitem .alert-link{color:#525252}.alert-lightgray{--bs-alert-color:rgb(93.2, 94.4, 95.6);--bs-alert-bg:rgb(250.6, 251.2, 251.8);--bs-alert-border-color:rgb(248.4, 249.3, 250.2)}.alert-lightgray .alert-link{color:#4b4c4c}.alert-advertising,.alert-color-indigo{--bs-alert-color:rgb(61.2, 9.6, 145.2);--bs-alert-bg:rgb(224.4, 207.2, 252.4);--bs-alert-border-color:rgb(209.1, 183.3, 251.1);background-image:var(--bs-gradient)}.alert-advertising .alert-link,.alert-color-indigo .alert-link{color:#310874}.alert-color-cyan,.alert-notice{--bs-alert-color:rgb(5.2, 80.8, 96);--bs-alert-bg:rgb(206.6, 244.4, 252);--bs-alert-border-color:rgb(182.4, 239.1, 250.5);background-image:var(--bs-gradient)}.alert-color-cyan .alert-link,.alert-notice .alert-link{color:#04414d}.alert-color-blue,.alert-criticalcss{--bs-alert-color:rgb(7.8, 66, 151.8);--bs-alert-bg:rgb(206.6, 226, 254.6);--bs-alert-border-color:rgb(182.4, 211.5, 254.4);background-image:var(--bs-gradient)}.alert-color-blue .alert-link,.alert-criticalcss .alert-link{color:#063579}.alert-cache,.alert-color-orange{--bs-alert-color:rgb(151.8, 75.6, 12);--bs-alert-bg:rgb(254.6, 229.2, 208);--bs-alert-border-color:rgb(254.4, 216.3, 184.5);background-image:var(--bs-gradient)}.alert-cache .alert-link,.alert-color-orange .alert-link{color:#793c0a}.alert-color-red{--bs-alert-color:rgb(132, 31.8, 41.4);--bs-alert-bg:rgb(248, 214.6, 217.8);--bs-alert-border-color:rgb(244.5, 194.4, 199.2);background-image:var(--bs-gradient)}.alert-color-red .alert-link{color:#6a1921}.alert-cdnjs,.alert-color-yellow{--bs-alert-color:rgb(102, 77.2, 2.8);--bs-alert-bg:rgb(255, 242.6, 205.4);--bs-alert-border-color:rgb(255, 236.4, 180.6);background-image:var(--bs-gradient)}.alert-cdnjs .alert-link,.alert-color-yellow .alert-link{color:#523e02}.alert-color-teal,.alert-topic{--bs-alert-color:rgb(19.2, 120.6, 90.6);--bs-alert-bg:rgb(210.4, 244.2, 234.2);--bs-alert-border-color:rgb(188.1, 238.8, 223.8);background-image:var(--bs-gradient)}.alert-color-teal .alert-link,.alert-topic .alert-link{color:#0f6048}.alert-color-green{--bs-alert-color:rgb(15, 81, 50.4);--bs-alert-bg:rgb(209, 231, 220.8);--bs-alert-border-color:rgb(186, 219, 203.7);background-image:var(--bs-gradient)}.alert-color-green .alert-link{color:#0c4128}.alert-cloudinary,.alert-color-pink{--bs-alert-color:rgb(128.4, 30.6, 79.2);--bs-alert-bg:rgb(246.8, 214.2, 230.4);--bs-alert-border-color:rgb(242.7, 193.8, 218.1);background-image:var(--bs-gradient)}.alert-cloudinary .alert-link,.alert-color-pink .alert-link{color:#67183f}.alert-color-black{--bs-alert-color:black;--bs-alert-bg:#cccccc;--bs-alert-border-color:rgb(178.5, 178.5, 178.5);background-image:var(--bs-gradient)}.alert-color-black .alert-link{color:#000}.alert-color-white{--bs-alert-color:#666666;--bs-alert-bg:white;--bs-alert-border-color:white;background-image:var(--bs-gradient)}.alert-color-white .alert-link{color:#525252}.alert-color-gray{--bs-alert-color:rgb(64.8, 70.2, 75);--bs-alert-bg:rgb(225.6, 227.4, 229);--bs-alert-border-color:rgb(210.9, 213.6, 216);background-image:var(--bs-gradient)}.alert-color-gray .alert-link{color:#34383c}.alert-color-gray-dark{--bs-alert-color:rgb(31.2, 34.8, 38.4);--bs-alert-bg:rgb(214.4, 215.6, 216.8);--bs-alert-border-color:rgb(194.1, 195.9, 197.7);background-image:var(--bs-gradient)}.alert-color-gray-dark .alert-link{color:#191c1f}.list-group{--bs-list-group-color:#212529;--bs-list-group-bg:#ffffff;--bs-list-group-border-color:rgba(0, 0, 0, 0.125);--bs-list-group-border-width:1px;--bs-list-group-border-radius:0.375rem;--bs-list-group-item-padding-x:1rem;--bs-list-group-item-padding-y:0.5rem;--bs-list-group-action-color:#495057;--bs-list-group-action-hover-color:#495057;--bs-list-group-action-hover-bg:#f8f9fa;--bs-list-group-action-active-color:#212529;--bs-list-group-action-active-bg:#e9ecef;--bs-list-group-disabled-color:#6c757d;--bs-list-group-disabled-bg:#ffffff;--bs-list-group-active-color:#ffffff;--bs-list-group-active-bg:#324a98;--bs-list-group-active-border-color:#324a98;display:flex;flex-direction:column;padding-left:0;margin-bottom:0;border-radius:var(--bs-list-group-border-radius)}.list-group-item{position:relative;display:block;padding:var(--bs-list-group-item-padding-y) var(--bs-list-group-item-padding-x);color:var(--bs-list-group-color);background-color:var(--bs-list-group-bg);border:var(--bs-list-group-border-width) solid var(--bs-list-group-border-color)}.list-group-item:first-child{border-top-left-radius:inherit;border-top-right-radius:inherit}.list-group-item:last-child{border-bottom-right-radius:inherit;border-bottom-left-radius:inherit}.list-group-item+.list-group-item{border-top-width:0}.btn-close{box-sizing:content-box;width:1em;height:1em;padding:.25em;color:#000;background:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23000000'%3e%3cpath d='M.293.293a1 1 0 0 1 1.414 0L8 6.586 14.293.293a1 1 0 1 1 1.414 1.414L9.414 8l6.293 6.293a1 1 0 0 1-1.414 1.414L8 9.414l-6.293 6.293a1 1 0 0 1-1.414-1.414L6.586 8 .293 1.707a1 1 0 0 1 0-1.414z'/%3e%3c/svg%3e") center/1em auto no-repeat;border:0;border-radius:.375rem;opacity:.5}.modal{--bs-modal-zindex:1055;--bs-modal-width:500px;--bs-modal-padding:1rem;--bs-modal-margin:0.5rem;--bs-modal-bg:#ffffff;--bs-modal-border-color:var(--bs-border-color-translucent);--bs-modal-border-width:1px;--bs-modal-border-radius:0.5rem;--bs-modal-box-shadow:0 0.125rem 0.25rem rgba(0, 0, 0, 0.075);--bs-modal-inner-border-radius:calc(0.5rem - 1px);--bs-modal-header-padding-x:1rem;--bs-modal-header-padding-y:1rem;--bs-modal-header-padding:1rem 1rem;--bs-modal-header-border-color:var(--bs-border-color);--bs-modal-header-border-width:1px;--bs-modal-title-line-height:1.5;--bs-modal-footer-gap:0.5rem;--bs-modal-footer-border-color:var(--bs-border-color);--bs-modal-footer-border-width:1px;position:fixed;top:0;left:0;z-index:var(--bs-modal-zindex);display:none;width:100%;height:100%;overflow-x:hidden;overflow-y:auto;outline:0}.modal-dialog{position:relative;width:auto;margin:var(--bs-modal-margin)}.modal.fade .modal-dialog{transform:translate(0,-50px)}.modal-content{position:relative;display:flex;flex-direction:column;width:100%;color:var(--bs-modal-color);background-color:var(--bs-modal-bg);background-clip:padding-box;border:var(--bs-modal-border-width) solid var(--bs-modal-border-color);border-radius:var(--bs-modal-border-radius);box-shadow:var(--bs-modal-box-shadow);outline:0}.modal-header{display:flex;flex-shrink:0;align-items:center;justify-content:space-between;padding:var(--bs-modal-header-padding);border-bottom:var(--bs-modal-header-border-width) solid var(--bs-modal-header-border-color);border-top-left-radius:var(--bs-modal-inner-border-radius);border-top-right-radius:var(--bs-modal-inner-border-radius)}.modal-title{margin-bottom:0;line-height:var(--bs-modal-title-line-height)}.modal-body{position:relative;flex:1 1 auto;padding:var(--bs-modal-padding)}@media (min-width:576px){.modal{--bs-modal-margin:1.75rem;--bs-modal-box-shadow:0 0.5rem 1rem rgba(0, 0, 0, 0.15)}.modal-dialog{max-width:var(--bs-modal-width);margin-right:auto;margin-left:auto}.modal-sm{--bs-modal-width:300px}}.offcanvas{--bs-offcanvas-zindex:1045;--bs-offcanvas-width:400px;--bs-offcanvas-height:30vh;--bs-offcanvas-padding-x:1rem;--bs-offcanvas-padding-y:1rem;--bs-offcanvas-bg:#ffffff;--bs-offcanvas-border-width:1px;--bs-offcanvas-border-color:var(--bs-border-color-translucent);--bs-offcanvas-box-shadow:0 0.125rem 0.25rem rgba(0, 0, 0, 0.075);position:fixed;bottom:0;z-index:var(--bs-offcanvas-zindex);display:flex;flex-direction:column;max-width:100%;color:var(--bs-offcanvas-color);visibility:hidden;background-color:var(--bs-offcanvas-bg);background-clip:padding-box;outline:0;box-shadow:var(--bs-offcanvas-box-shadow)}.offcanvas.offcanvas-start{top:0;left:0;width:var(--bs-offcanvas-width);border-right:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateX(-100%)}.offcanvas-header{display:flex;align-items:center;justify-content:space-between;padding:var(--bs-offcanvas-padding-y) var(--bs-offcanvas-padding-x)}.offcanvas-header .btn-close{padding:calc(var(--bs-offcanvas-padding-y)*.5) calc(var(--bs-offcanvas-padding-x)*.5);margin-top:calc(-.5*var(--bs-offcanvas-padding-y));margin-right:calc(-.5*var(--bs-offcanvas-padding-x));margin-bottom:calc(-.5*var(--bs-offcanvas-padding-y))}.offcanvas-title{margin-bottom:0;line-height:1.5}.offcanvas-body{flex-grow:1;padding:var(--bs-offcanvas-padding-y) var(--bs-offcanvas-padding-x);overflow-y:auto}.fixed-top{position:fixed;right:0;left:0;z-index:1030;top:0}.float-end{float:right!important}.d-inline-block{display:inline-block!important}.d-block{display:block!important}.d-none{display:none!important}.position-relative{position:relative!important}.border-0{border:0!important}.border-end-0{border-right:0!important}.border-bottom-0{border-bottom:0!important}.border-start-0{border-left:0!important}.border-primary{--bs-border-opacity:1;border-color:rgba(var(--bs-primary-rgb),var(--bs-border-opacity))!important}.w-50{width:50%!important}.w-75{width:75%!important}.w-100{width:100%!important}.h-100{height:100%!important}.flex-nowrap{flex-wrap:nowrap!important}.align-content-center{align-content:center!important}.m-0{margin:0!important}.mx-2{margin-right:.5rem!important;margin-left:.5rem!important}.mx-auto{margin-right:auto!important;margin-left:auto!important}.my-1,.navbar-side-item p{margin-top:.25rem!important;margin-bottom:.25rem!important}.my-2{margin-top:.5rem!important;margin-bottom:.5rem!important}.my-3{margin-top:1rem!important;margin-bottom:1rem!important}.mt-1{margin-top:.25rem!important}.mt-2{margin-top:.5rem!important}.mt-5{margin-top:3rem!important}.me-1{margin-right:.25rem!important}.me-2{margin-right:.5rem!important}.me-3{margin-right:1rem!important}.me-4{margin-right:1.5rem!important}.me-auto{margin-right:auto!important}.mb-0{margin-bottom:0!important}.mb-2{margin-bottom:.5rem!important}.mb-3{margin-bottom:1rem!important}.mb-5{margin-bottom:3rem!important}.ms-0{margin-left:0!important}.ms-1{margin-left:.25rem!important}.ms-2{margin-left:.5rem!important}.ms-3{margin-left:1rem!important}.ms-auto{margin-left:auto!important}.p-0{padding:0!important}.p-1{padding:.25rem!important}.px-0{padding-right:0!important;padding-left:0!important}.py-0{padding-top:0!important;padding-bottom:0!important}.pt-0{padding-top:0!important}.pe-5{padding-right:3rem!important}.pb-0{padding-bottom:0!important}.pb-1{padding-bottom:.25rem!important}.navbar-side-item p{padding-left:0!important}.ps-3{padding-left:1rem!important}.ps-5{padding-left:3rem!important}.fw-lighter{font-weight:lighter!important}.text-center{text-align:center!important}.text-uppercase{text-transform:uppercase!important}.text-primary{--bs-text-opacity:1;color:rgba(var(--bs-primary-rgb),var(--bs-text-opacity))!important}.text-dark{--bs-text-opacity:1;color:rgba(var(--bs-light-rgb),var(--bs-text-opacity))!important;color:rgba(var(--bs-dark-rgb),var(--bs-text-opacity))!important}.text-black{--bs-text-opacity:1;color:rgba(var(--bs-color-gray-dark-rgb),var(--bs-text-opacity))!important;color:rgba(var(--bs-black-rgb),var(--bs-text-opacity))!important}.text-muted{--bs-text-opacity:1;color:#6c757d!important}.text-reset{--bs-text-opacity:1;color:inherit!important}.bg-inverse,.bg-navbar{--bs-bg-opacity:1;background-color:rgba(var(--bs-inverse-rgb),var(--bs-bg-opacity))!important}.bg-navbar{background-color:rgba(var(--bs-navbar-rgb),var(--bs-bg-opacity))!important}.rounded-0{border-radius:0!important}@media (min-width:576px){.d-sm-none{display:none!important}.ps-sm-0{padding-left:0!important}.form-inline .form-control{max-width:100%}}@media (min-width:768px){.d-md-block{display:block!important}.d-md-flex{display:flex!important}.d-md-none{display:none!important}}@media (min-width:992px){.d-lg-block{display:block!important}}@media (min-width:1200px){.d-xl-block{display:block!important}}form{font-family:Lato,sans-serif}[role=button]{font-family:Lato,sans-serif;font-size:100%;line-height:1.15;margin:0}button{font-family:Lato,sans-serif!important}@media (max-width:767.98px){.list-group-horizontal-down-md{flex-direction:row}.list-group-horizontal-down-md>.list-group-item:first-child:not(:last-child){border-bottom-left-radius:var(--bs-list-group-border-radius);border-top-right-radius:0}.list-group-horizontal-down-md>.list-group-item:last-child:not(:first-child){border-top-right-radius:var(--bs-list-group-border-radius);border-bottom-left-radius:0}.list-group-horizontal-down-md>.list-group-item+.list-group-item{border-top-width:var(--bs-list-group-border-width);border-left-width:0}.navbar{border-bottom:10px solid #324a98}}.nav-link{font-size:16px;text-transform:uppercase}.nav-bottom .nav-link{font-size:11px;height:100%;letter-spacing:.1em}.nav-bottom li{border-left:1px solid #fff}.nav-bottom li:last-child{border-right:1px solid #fff}.navbar{font-family:Lato,sans-serif;font-weight:700}.navbar-brand img{max-width:none;max-height:65px}.navbar-side{padding:0;list-style:none}.navbar-side a{color:#212529}.navbar-side h6{color:#324a98;text-transform:uppercase}.navbar-side h6 a{color:#324a98}.navbar-side hr{border-color:#495057;margin-left:1rem}.navbar-side-item{padding-left:1rem}.menu-side-sections>div li:first-of-type,.navbar-side-item p:first-of-type{margin-top:1.25rem}.navbar-side-item a{font-family:Lato,sans-serif;font-weight:700}.navbar-toggler{padding:.75rem!important}.navbar-toggler-left{position:absolute}.card-img-left{border-bottom-left-radius:calc(.25rem - 1px);border-top-left-radius:calc(.25rem - 1px);float:left;max-height:100%;position:relative;width:100%;height:auto;background-repeat:no-repeat;background-position:center center;background-size:cover}.breadcrumb{text-transform:uppercase;font-family:Lato,sans-serif}.alert{font-family:sans-serif;font-size:smaller}.alert-heading{text-transform:uppercase;font-size:1rem;font-weight:lighter}@media (min-width:576px){.container{padding-left:0;padding-right:0}}.blur-up{filter:blur(3px)}html{scroll-padding-top:100px}.panel-heading h6:after{font-family:"Arial Black",Arial,sans-serif;content:"–";float:right;color:#343a40;padding:0 5px;font-size:1.2rem}.panel-heading .collapsed h6:after{content:"+"}.tb-mediagroup{background-color:#fff;padding:5px 0;color:#000}.tb-mediagroup a{color:#000}.story-list a,.tb-mediagroup .panel-heading h6:after,footer nav a{color:#212529}@media (max-width:575.98px){.navbar-brand img{max-width:90%}body:before{content:"xs"}}@media (min-width:576px) and (max-width:767.98px){body:before{content:"sm"}}@media (min-width:768px) and (max-width:991.98px){body:before{content:"md"}}@media (min-width:992px) and (max-width:1199.98px){body:before{content:"lg"}}@media (min-width:1200px) and (max-width:1399.98px){#menu-top-hubs ul{width:1140px}body:before{content:"xl"}}[class^=ad-position]{max-width:1200px}@media (min-width:1400px){#menu-top-hubs ul{width:1320px}body:before{content:"xxl"}[class^=ad-position]{max-width:1400px;margin-right:auto!important;margin-left:auto!important}}.article-social{text-align:center}.article-social ul li{margin-right:1.5rem!important;padding:.5rem 0}@media (max-width:767.98px){body{padding-top:85px}.article-social{text-align:left}.article-social ul li{padding-top:0}}.article-social ul li a{color:#343a40}article .overline{font-weight:400}.printmessage{display:none}article .related-content h6{font-size:.9rem}@media (min-width:576px){article .related-content h6{font-size:.7875rem}}article .related-content a{font-size:1rem;display:inline-block;line-height:1.4}@media (min-width:576px){article .related-content a{font-size:.875rem}}#mainstory h1{font-size:2rem}.section-overline{color:#324a98}.overline,.section-overline{text-transform:uppercase;width:100%}.overline{color:#6c757d;margin-bottom:.5rem;font-size:.75rem}.section-overline{border-top:4px solid #324a98;padding-top:.5rem;margin-bottom:1rem;text-align:left}.story-list h4{border-top:4px solid #324a98;padding-top:.5rem;margin-bottom:1.25rem;color:#324a98}.story-list h6{font-size:.75rem;text-transform:uppercase;margin-bottom:0}.story-list p{font-size:.875rem;border-bottom:1px solid #495057;padding-bottom:.5rem;line-height:1.2}.story-list p:last-of-type{border:0}.story-list img{width:80px;height:45px}.story-min-height{min-height:2.6rem}@media (max-width:991.98px){.story-min-height{min-height:1px}}.followus-link{color:#495057;text-decoration:none;font-size:1.5rem}.followus-link:after{display:inline-block;padding-right:.5rem;padding-left:.5rem;content:"|"}.followus-link:last-child:after{content:""} article .article-body .auto-half-width, article .article-body .half-width, article .article-body .auto-third-width, article .article-body .third-width { position: relative; width: 100%; padding-right: 15px; padding-left: 15px; flex: 0 0 100%; max-width: 100%; text-align: center !important; clear: left; float: left !important; } article .article-body > figure.third-width img, article .article-body > img.third-width, article .article-body > figure.auto-third-width img, article .article-body > img.auto-third-width, article .article-body > figure.half-width img, article .article-body > img.half-width, article .article-body > figure.auto-half-width img, article .article-body > img.auto-half-width { margin-bottom: 0.5rem !important; } article .article-body > figure.third-width figcaption, article .article-body > figure.auto-third-width figcaption, article .article-body > figure.half-width figcaption, article .article-body > figure.auto-half-width figcaption { padding-right: 3rem !important; padding-left: 3rem !important; } @media (min-width: 576px) { article .article-body > figure.third-width figcaption, article .article-body > figure.auto-third-width figcaption, article .article-body > figure.half-width figcaption, article .article-body > figure.auto-half-width figcaption { padding-right: 0 !important; padding-left: 0 !important; } article .article-body .auto-third-width, article .article-body .third-width, article .article-body .auto-half-width, article .article-body .half-width { text-align: left !important; } article .article-body .auto-third-width, article .article-body .third-width { flex: 0 0 33.3333333333%; max-width: 33.3333333333%; } .article-body .auto-half-width, article .article-body .half-width { flex: 0 0 50%; max-width: 50%; } } </style> <script type="application/json" class="joomla-script-options new">{"system.paths":{"root":"","rootFull":"https:\/\/www.techbriefs.com\/","base":"","baseFull":"https:\/\/www.techbriefs.com\/"},"csrf.token":"b735bfbdc2882cbf6703b8a43a374dbc","system.keepalive":{"interval":3600000,"uri":"\/component\/ajax\/?format=json"}}</script> <script type="module"> /*! inlined from /media/system/js/keepalive.min.js by ntb_minifier */ /** * @copyright (C) 2018 Open Source Matters, Inc. <https://www.joomla.org> * @license GNU General Public License version 2 or later; see LICENSE.txt */ /** * Keepalive javascript behavior * * Used for keeping the session alive * * @package Joomla.JavaScript * @since 3.7.0 */ if (!window.Joomla) { throw new Error('Joomla API was not properly initialised'); } const keepAliveOptions = Joomla.getOptions('system.keepalive'); const keepAliveInterval = keepAliveOptions && keepAliveOptions.interval ? parseInt(keepAliveOptions.interval, 10) : 45 * 1000; let keepAliveUri = keepAliveOptions && keepAliveOptions.uri ? keepAliveOptions.uri.replace(/&amp;/g, '&') : ''; // Fallback in case no keepalive uri was found. if (keepAliveUri === '') { const systemPaths = Joomla.getOptions('system.paths'); keepAliveUri = `${systemPaths ? `${systemPaths.root}/index.php` : window.location.pathname}?option=com_ajax&format=json`; } setInterval(() => fetch(keepAliveUri, { method: 'POST' }), keepAliveInterval); /* end /media/system/js/keepalive.min.js */ </script> <script src="https://securepubads.g.doubleclick.net/tag/js/gpt.js" async tb-donotmove></script> <script>// // GTM datalayer // window.dataLayer = window.dataLayer || []; dataLayer.push({'navCluster' : "TB"}); dataLayer.push({'navTag' : "Issue Archive"}); dataLayer.push({'canonicalURL': 'https://www.techbriefs.com/component/content/article/52261-doc-9535'}); dataLayer.push({'articleID': '52261'}); </script> <noscript tb-donotmove> <img class="nolazyload" height="1" width="1" src="https://www.facebook.com/tr?id=240802493731265&ev=PageView&noscript=1"/> </noscript> <!-- Google Tag Manager --> <script tb-donotmove>(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://www.googletagmanager.com/gtm.js?id=' + i + dl; f.parentNode.insertBefore(j, f); })(window, document, 'script', 'dataLayer', 'GTM-MSN5FV9'); </script> <!-- End Google Tag Manager --> </head> <body> <!--Google Tag Manager(noscript)--> <noscript tb-donotmove > <iframe src = "https://www.googletagmanager.com/ns.html?id=GTM-MSN5FV9" height = "0" width = "0" style = "display:none;visibility:hidden" ></iframe > </noscript > <!--End Google Tag Manager(noscript)--> <header class="header"> <div class="header-container container-fluid fixed-top p-0"> <nav class="header-nav navbar navbar-expand-sm navbar-dark bg-inverse"> <div class="container-fluid"> <button class="hamburger navbar-toggler navbar-toggler-left d-sm-none d-block" type="button" data-bs-toggle="offcanvas" data-bs-target="#HamburgerSidebar" aria-controls="HamburgerSidebar"> <i class="fas fa-bars"></i> </button> <div id="hamburger-menu" class="navbar-collapse collapse d-md-block d-none"> <ul class="navbar-nav me-auto"> <li class="nav-item active"> <a class="nav-link" data-bs-toggle="offcanvas" href="#HamburgerSidebar" role="button" aria-controls="HamburgerSidebar"> <i class="fas fa-bars me-2"></i>Menu </a></li></ul></div> <a href="/" class="navbar-brand ps-sm-0 ps-5 mx-auto"> <img class="logolarge d-none d-md-block nolazyload" src="https://res.cloudinary.com/tbmg/q_auto,f_auto/sites/tb/template/site-logo_tag.png" alt="Tech Briefs" height="65"/> <img class="logosmall d-md-none nolazyload" src="https://res.cloudinary.com/tbmg/q_auto,f_auto/sites/tb/template/site-logo.png" alt="Tech Briefs"/> </a> <div id="newsmag-menu" class="navbar-collapse collapse"><ul class="navbar-nav ms-auto"> <li class="nav-item d-lg-block d-none"> <a class="nav-link" href="#" data-bs-toggle="modal" data-bs-target="#cb-form">LOGIN</a></li> <li class="nav-item d-lg-block d-none"> <a class="nav-link" href="/account/registration">SIGN UP</a></li> <li class="nav-item"> <a class="nav-link" id="search-side-button" data-bs-toggle="offcanvas" href="#HamburgerSidebar" role="button" aria-controls="HamburgerSidebar"> <i class="fas fa-search"></i> </a></li></ul></div></div> </nav> <nav class="main-nav bg-navbar navbar navbar-expand-sm navbar-dark main-nav nav-fill py-0"> <div class="main-nav-container container mx-auto px-0"><div id="menu-top-hubs"> <ul class="nav navbar-nav nav-bottom flex-nowrap d-md-flex d-none mx-auto"> <li class="nav-item"> <a class="nav-link" href="/tb/topic/electronics-software">Electronics &amp;&nbsp;Software</a></li> <li class="nav-item"> <a class="nav-link" href="/tb/topic/photonics-imaging">Photonics &amp;&nbsp;Imaging</a></li> <li class="nav-item"> <a class="nav-link" href="/tb/topic/motion-control-automation">Motion Control/&#8203;Automation</a></li> <li class="nav-item"> <a class="nav-link" href="/tb/topic/sensors-test">Sensors &amp;&nbsp;Test</a></li> <li class="nav-item"> <a class="nav-link" href="/tb/topic/materials-manufacturing">Materials &amp; Manufacturing</a></li> <li class="nav-item"> <a class="nav-link" href="/tb/topic/mechanical-mechatronics">Mechanical/&#8203;Mechatronics</a></li></ul></div></div> <div aria-live="polite" aria-atomic="true" style="position: relative"> <div id="toast_container" style="position: absolute; top: 40px; right: 5px; z-index: 10"></div></div> </nav></div><div class="offcanvas offcanvas-start" tabindex="-1" id="HamburgerSidebar" aria-labelledby="HamburgerSidebarLabel"> <div class="offcanvas-header"> <h5 class="offcanvas-title" id="HamburgerSidebarLabel"></h5> <button type="button" class="btn-close text-reset" data-bs-dismiss="offcanvas" aria-label="Close"></button></div> <div class="offcanvas-body px-0 pt-0"> <div class="search-container w-100 ps-3"><form id="searchform" action="/tb/search" method="get"> <div class="input-group pe-5"> <div class="form-floating"> <input type="text" name="query" placeholder="Search" id="searchbox" class="form-control" value=""> <label for="searchbox">Search</label></div> <button class="btn btn-primary" type="button" onclick="$('#searchform').submit()"> <i class="fas fa-search"></i> </button></div></form></div> <ul class="navbar-side nav-bar"><div class="menu-side-sections row me-1"> <div class="navbar-side-item col-12"> <li class="navbar-side-item pb-1"> <a href="/">Home</a></li> <li class="navbar-side-item pb-1"> <a href="/tb/techbriefs">Tech Briefs</a></li> <li class="navbar-side-item pb-1"> <a href="/tv">Tech Briefs TV</a></li> <li class="navbar-side-item pb-1"> <a href="/tb/webcasts">Webinars</a></li> <li class="navbar-side-item pb-1"> <a href="/tb/webcasts/podcasts">Podcasts</a></li> <li class="navbar-side-item pb-1"> <a href="/tb/whitepapers">White Papers</a></li> <li class="navbar-side-item pb-1"> <a href="/tb/stories/blog">Blog</a></li> <li class="navbar-side-item pb-1"> <a href="/tb/features/products">Products</a></li> <li class="navbar-side-item pb-1"> <a href="/tb/features">Features</a></li> <li class="navbar-side-item pb-1"> <a href="/tb/resources/special-reports">Special Reports</a></li> <li class="navbar-side-item pb-1"> <a href="/tb/events">Events</a></li> <li class="navbar-side-item pb-1"> <a href="/tb/stories/quiz">Quizzes</a></li></div></div><div id="sidebar-accordion" class="navbar-side-item" role="tablist" aria-multiselectable="true"><div id="menu-side-hubs"> <hr class="ms-0 me-3 my-1"> <div class="wrapper row me-1"> <div class="hub-title navbar-side-item col-10"> <h6 class="mb-0 mt-1"> <a href="/tb/topic/electronics-software">Electronics &amp; Software</a></h6></div> <div id="menu-side-hub-874" class="hub-toggle navbar-side-item panel-heading col-2" role="tab"> <button class="btn btn-link btn-sm collapsed" type="button" data-bs-toggle="collapse" data-bs-target="#menu-side-hub-collapse-874" aria-expanded="true" aria-controls="menu-side-hub-collapse-874"> <h6 class="mb-0"></h6> </button></div> <div id="menu-side-hub-collapse-874" class="collapse" role="tabpanel" aria-labelledby="menu-side-hub-874"> <div class="topic-menu-wrapper col-12"> <p class="navbar-side-item ms-3"><a href="/tb/topic/electronics-software/software">Software</a></p> <p class="navbar-side-item ms-3"><a href="/tb/topic/electronics-software/communications">Communications</a></p> <p class="navbar-side-item ms-3"><a href="/tb/topic/electronics-software/lighting">Lighting</a></p> <p class="navbar-side-item ms-3"><a href="/tb/topic/electronics-software/electrical-electronics">Electrical/&#8203;Electronics</a></p> <p class="navbar-side-item ms-3"><a href="/tb/topic/electronics-software/rf-microwave-electronics">RF &amp; Microwave Electronics</a></p> <p class="navbar-side-item ms-3"><a href="/tb/topic/electronics-software/semiconductors-ics">Semiconductors &amp; ICs</a></p> <p class="navbar-side-item ms-3"><a href="/tb/topic/electronics-software/energy">Energy</a></p></div></div></div> <hr class="ms-0 me-3 my-1"> <div class="wrapper row me-1"> <div class="hub-title navbar-side-item col-10"> <h6 class="mb-0 mt-1"> <a href="/tb/topic/photonics-imaging">Photonics &amp; Imaging</a></h6></div> <div id="menu-side-hub-876" class="hub-toggle navbar-side-item panel-heading col-2" role="tab"> <button class="btn btn-link btn-sm collapsed" type="button" data-bs-toggle="collapse" data-bs-target="#menu-side-hub-collapse-876" aria-expanded="true" aria-controls="menu-side-hub-collapse-876"> <h6 class="mb-0"></h6> </button></div> <div id="menu-side-hub-collapse-876" class="collapse" role="tabpanel" aria-labelledby="menu-side-hub-876"> <div class="topic-menu-wrapper col-12"> <p class="navbar-side-item ms-3"><a href="/tb/topic/photonics-imaging/photonics-optics">Photonics/&#8203;Optics</a></p> <p class="navbar-side-item ms-3"><a href="/tb/topic/photonics-imaging/imaging">Imaging</a></p></div></div></div> <hr class="ms-0 me-3 my-1"> <div class="wrapper row me-1"> <div class="hub-title navbar-side-item col-10"> <h6 class="mb-0 mt-1"> <a href="/tb/topic/motion-control-automation">Motion Control/&#8203;Automation</a></h6></div> <div id="menu-side-hub-877" class="hub-toggle navbar-side-item panel-heading col-2" role="tab"> <button class="btn btn-link btn-sm collapsed" type="button" data-bs-toggle="collapse" data-bs-target="#menu-side-hub-collapse-877" aria-expanded="true" aria-controls="menu-side-hub-collapse-877"> <h6 class="mb-0"></h6> </button></div> <div id="menu-side-hub-collapse-877" class="collapse" role="tabpanel" aria-labelledby="menu-side-hub-877"> <div class="topic-menu-wrapper col-12"> <p class="navbar-side-item ms-3"><a href="/tb/topic/motion-control-automation/motion-control">Motion Control</a></p> <p class="navbar-side-item ms-3"><a href="/tb/topic/motion-control-automation/robotics-automation-control">Robotics, Automation &amp; Control</a></p></div></div></div> <hr class="ms-0 me-3 my-1"> <div class="wrapper row me-1"> <div class="hub-title navbar-side-item col-10"> <h6 class="mb-0 mt-1"> <a href="/tb/topic/sensors-test">Sensors &amp; Test</a></h6></div> <div id="menu-side-hub-878" class="hub-toggle navbar-side-item panel-heading col-2" role="tab"> <button class="btn btn-link btn-sm collapsed" type="button" data-bs-toggle="collapse" data-bs-target="#menu-side-hub-collapse-878" aria-expanded="true" aria-controls="menu-side-hub-collapse-878"> <h6 class="mb-0"></h6> </button></div> <div id="menu-side-hub-collapse-878" class="collapse" role="tabpanel" aria-labelledby="menu-side-hub-878"> <div class="topic-menu-wrapper col-12"> <p class="navbar-side-item ms-3"><a href="/tb/topic/sensors-test/test-measurement">Test &amp; Measurement</a></p> <p class="navbar-side-item ms-3"><a href="/tb/topic/sensors-test/sensors-data-acquisition">Sensors/&#8203;Data Acquisition</a></p></div></div></div> <hr class="ms-0 me-3 my-1"> <div class="wrapper row me-1"> <div class="hub-title navbar-side-item col-10"> <h6 class="mb-0 mt-1"> <a href="/tb/topic/materials-manufacturing">Materials &amp; Manufacturing</a></h6></div> <div id="menu-side-hub-879" class="hub-toggle navbar-side-item panel-heading col-2" role="tab"> <button class="btn btn-link btn-sm collapsed" type="button" data-bs-toggle="collapse" data-bs-target="#menu-side-hub-collapse-879" aria-expanded="true" aria-controls="menu-side-hub-collapse-879"> <h6 class="mb-0"></h6> </button></div> <div id="menu-side-hub-collapse-879" class="collapse" role="tabpanel" aria-labelledby="menu-side-hub-879"> <div class="topic-menu-wrapper col-12"> <p class="navbar-side-item ms-3"><a href="/tb/topic/materials-manufacturing/manufacturing-prototyping">Manufacturing &amp; Prototyping</a></p> <p class="navbar-side-item ms-3"><a href="/tb/topic/materials-manufacturing/materials-coatings">Materials &amp; Coatings</a></p></div></div></div> <hr class="ms-0 me-3 my-1"> <div class="wrapper row me-1"> <div class="hub-title navbar-side-item col-10"> <h6 class="mb-0 mt-1"> <a href="/tb/topic/mechanical-mechatronics">Mechanical/&#8203;Mechatronics</a></h6></div> <div id="menu-side-hub-880" class="hub-toggle navbar-side-item panel-heading col-2" role="tab"> <button class="btn btn-link btn-sm collapsed" type="button" data-bs-toggle="collapse" data-bs-target="#menu-side-hub-collapse-880" aria-expanded="true" aria-controls="menu-side-hub-collapse-880"> <h6 class="mb-0"></h6> </button></div> <div id="menu-side-hub-collapse-880" class="collapse" role="tabpanel" aria-labelledby="menu-side-hub-880"> <div class="topic-menu-wrapper col-12"> <p class="navbar-side-item ms-3"><a href="/tb/topic/mechanical-mechatronics/mechanical-fluid-systems">Mechanical &amp; Fluid Systems</a></p> <p class="navbar-side-item ms-3"><a href="/tb/topic/mechanical-mechatronics/propulsion">Propulsion</a></p> <p class="navbar-side-item ms-3"><a href="/tb/topic/mechanical-mechatronics/transportation">Transportation</a></p> <p class="navbar-side-item ms-3"><a href="/tb/topic/mechanical-mechatronics/automotive">Automotive</a></p></div></div></div></div><div class="menu-side-explore row mt-2 me-1 tb-mediagroup"> <div class="explore-title col-10 navbar-side-item"> <h6 class="my-2">Explore SAE Media Group</h6></div> <div id="explore-heading" class="col-2 navbar-side-item panel-heading" role="tab"> <button class="btn btn-link btn-sm collapsed mt-1" type="button" data-bs-toggle="collapse" data-bs-target="#explore-collapse" aria-expanded="true" aria-controls="explore-collapse"> <h6 class="mb-0"></h6> </button></div> <div id="explore-collapse" class="collapse" role="tabpanel" aria-labelledby="explore-heading"> <div class="explore-wrapper col-12"> <li class="navbar-side-item"><a href="https://www.medicaldesignbriefs.com/">Medical Design Briefs</a></li> <li class="navbar-side-item"><a href="https://www.mobilityengineeringtech.com/">Mobility Engineering Technology</a></li> <li class="navbar-side-item"><a href="https://createthefuturecontest.com">Create the Future Design Contest</a></li> <li class="navbar-side-item"><a href="/tb/spinoff">NASA Spinoffs</a></li></div></div></div><div class="col-12 px-0"> <li class="me-3"> <p><a href="/component/content/article/52261-doc-9535" class="side-link w-75"><img src='https://res.cloudinary.com/tbmg/c_scale,w_400,f_auto,q_auto/v1733143663/sites/tb/covers/TB-2024-12.jpg' class='w-50 lazyload blur-up' width='400' alt='Magazine cover' /></a></p> <p><a href="/component/content/article/52261-doc-9535" class="side-link text-uppercase">Current Issue</a></p></li> <li> <p><a href="/tb/magazine/archives" class="side-link text-uppercase">Magazine Archives</a></p></li> <li> <p> <a href="https://tbm.dragonforms.com/loading.do?omedasite=TEBland" target="_km"> <button class="btn btn-primary btn-sm"> SUBSCRIBE <i class="fas fa-angle-right"></i> </button> </a></p></li></div><div class="menu-side-followus mb-5"> <hr class="ms-0 me-4 my-1"> <div class="followus-wrapper my-3"> <div class="title-wrapper"> <h6 class="mb-0">FOLLOW US</h6></div> <div class="menu-wrapper"> <p class="text-primary"> <a class="followus-link" href="https://www.shareaholic.com/v2/follow/?apikey=65befd2e10310fbce11aee6ee90bf582&service_nickname=facebook&username=TechBriefsMagazine" rel="nofollow" target="_blank"><i class="fa-brands fa-facebook"></i></a> <a class="followus-link" href="https://www.shareaholic.com/v2/follow/?apikey=65befd2e10310fbce11aee6ee90bf582&service_nickname=twitter&username=TechBriefsMag" rel="nofollow" target="_blank"><i class="fa-brands fa-square-x-twitter"></i></a> <a class="followus-link" href="https://www.shareaholic.com/v2/follow/?apikey=65befd2e10310fbce11aee6ee90bf582&service_nickname=linkedin_company&username=sae-media-group" rel="nofollow" target="_blank"><i class="fa-brands fa-linkedin"></i></a> <a class="followus-link" href="https://www.shareaholic.com/v2/follow/?apikey=65befd2e10310fbce11aee6ee90bf582&service_nickname=instagram&username=techbriefs" rel="nofollow" target="_blank"><i class="fa-brands fa-instagram"></i></a></p></div></div></div></div></ul></div></div></header> <section id="print-only-message" class="printmessage"> <h6><img data-src="https://res.cloudinary.com/tbmg/q_auto,f_auto/sites/tb/template/print-logo_tag.png" class="printlogo lazyload"/></h6> </section> <span itemprop="publisher" itemscope itemtype="https://schema.org/Organization"> <meta itemprop="name" content="SAE Media Group"/> <meta itemprop="url" content="https://www.techbriefsmediagroup.com"/> <span itemprop="logo" itemscope itemtype="https://schema.org/ImageObject"> <meta itemprop="url" content="https://www.techbriefsmediagroup.com/templates/tbmg/images/tbmg_logo.png"/> <meta itemprop="width" content="210"/> <meta itemprop="height" content="50"/> </span> </span><div class="container"><nav aria-label="breadcrumb"> <ol itemscope itemtype="https://schema.org/BreadcrumbList" class="breadcrumb"> <li class="breadcrumb-item" itemprop="itemListElement" itemscope itemtype="https://schema.org/ListItem"> <a itemprop="item" href="/"><span itemprop="name">Home</span></a> <meta itemprop="position" content="1"></li> <li class="breadcrumb-item" itemprop="itemListElement" itemscope itemtype="https://schema.org/ListItem"> <a itemprop="item" href="/tb/magazine"><span itemprop="name">Magazine</span></a> <meta itemprop="position" content="2"></li> <li class="breadcrumb-item" itemprop="itemListElement" itemscope itemtype="https://schema.org/ListItem"> <a itemprop="item" href="/tb/magazine/archives"><span itemprop="name">Past Issues</span></a> <meta itemprop="position" content="3"></li> <li class="breadcrumb-item active" aria-current="page"> <span> Article</span></li></ol> </nav><div id="system-message-container"></div><div class="ad-position g-0 row mb-3 "> <div class="col-12 align-content-center mx-auto"> <script tb-donotmove>window.ntb_google_ad_manager_items=window.ntb_google_ad_manager_items||[];ntb_google_ad_manager_items.push({display_sizes:['xs','sm','md','lg','xl','xxl'],slot_ad_unit:'techbriefs.com_1800x450',slot_code:'21835072403',slot:'/21835072403/techbriefs.com_1800x450',slot_ad_sizes:['fluid'],div_id:'GAM_pos_11_modid_337',target_pos:'11',size_mapping:[],slot_ad_empty:'default'});</script> <div id='GAM_pos_11_modid_337' class=""></div></div></div><section id="content" class="row my-3"> <section id="mainstory" class="left-column col-lg-8 col-md-7 col-12"> <div><article class="item-page" itemscope itemtype="https://schema.org/Article"> <meta itemprop="inLanguage" content="en-GB"/> <div class="row"> <div class="article-title col-12 mb-2"><h6 class="overline"> <time datetime="2024-12-01T07:00:00-05:00" itemprop="dateCreated"> December 1, 2024</time></h6> <time datetime="2024-12-13T23:02:30-05:00" itemprop="dateModified"> </time> <meta itemprop="keywords" content=""><h1 itemprop="headline">Tech Briefs - December 2024 - Vol. 48 No. 12</h1></div></div> <div class="row" itemprop="articleBody"><aside class="article-social text-center col-md-1 col-12"> <ul class="list-group list-group-horizontal-down-md"> <li class="d-block list-group-item border-0"> <a href="https://www.shareaholic.com/api/share/?apikey=65befd2e10310fbce11aee6ee90bf582&apitype=1&v=1&service=facebook&link=https://www.techbriefs.com/component/content/article/52261-doc-9535&title=Tech+Briefs+-+December+2024+-+Vol.+48+No.+12" rel="nofollow" target="_blank"><i class="fa-brands fa-facebook fa-lg"></i></a></li> <li class="d-block list-group-item border-0"> <a href="https://www.shareaholic.com/api/share/?apikey=65befd2e10310fbce11aee6ee90bf582&apitype=1&v=1&service=twitter&link=https://www.techbriefs.com/component/content/article/52261-doc-9535&title=Tech+Briefs+-+December+2024+-+Vol.+48+No.+12" rel="nofollow" target="_blank"><i class="fa-brands fa-square-x-twitter fa-lg"></i></a></li> <li class="d-block list-group-item border-0"> <a href="https://www.shareaholic.com/api/share/?apikey=65befd2e10310fbce11aee6ee90bf582&apitype=1&v=1&service=linkedin&link=https://www.techbriefs.com/component/content/article/52261-doc-9535&title=Tech+Briefs+-+December+2024+-+Vol.+48+No.+12" rel="nofollow" target="_blank"><i class="fa-brands fa-linkedin fa-lg"></i></a></li> <li class="d-block list-group-item border-0"> <a href="#" onclick="$('html, body').animate({scrollTop:($('#disqus_thread').offset().top)},500);"> <i class="fa fa-comment-alt fa-lg"></i> </a></li></ul> </aside><div class="article-body col-md-11 col-12"><span itemprop="author" itemscope itemtype="https://schema.org/Person"> <meta itemprop="name" content="Tech Briefs"> </span><a id="startOfPage"></a> <p> <div class="card"> <div class="row g-0"> <div class="col-lg-6 col-12"> <img src='https://res.cloudinary.com/tbmg/c_scale,w_400,f_auto,q_auto/v1733143663/sites/tb/covers/TB-2024-12.jpg' class='card-img rounded-0 rounded-start w-100 lazyload blur-up' width='400' alt='Magazine cover' /></div> <div class="col-lg-6 col-12"> <div class="card-body"> <p class="card-text"> Here are links to this issue's Features, Tech Briefs, Products and more.</p> <p class="card-text mb-0 "> You can download the complete issue.</p> <p class="card-text"> <button type="button" class="btn btn-primary " data-bs-toggle="modal" data-bs-target="#cb-form"> LOGIN TO DOWNLOAD<i class="fa-duotone fa-solid fa-angle-right ms-1"></i> </button></p> <p class="card-text mb-0 "> You can view this issue online.</p> <p class="card-text"> <button type="button" class="btn btn-primary " data-bs-toggle="modal" data-bs-target="#cb-form"> LOGIN TO VIEW<i class="fa-duotone fa-solid fa-angle-right ms-1"></i> </button></p> <p class="card-text mb-0 "> Don't have an account?</p> <p class="card-text"> <a href="/account/registration"> <button type="button" class="btn btn-primary "> SIGNUP<span class="fa-duotone fa-solid fa-user-plus ms-2"></span> </button> </a></p> <p class="card-text mb-0 "> Subscribe to future issues.</p> <p class="card-text"> <a href="https://tbm.dragonforms.com/loading.do?omedasite=TEBland"> <button type="button" class="btn btn-primary "> SUBSCRIBE<span class="fa-duotone fa-solid fa-book-open-reader ms-2"></span> </button> </a></p></div></div></div></div> <div class="row"> <div class="col-12 mt-3"> <h4 class="section-overline mb-0">Inside this issue</h4></div></div> <div class="row"> <div class="col-12"> <style> html { scroll-padding-top: 70px; /* height of sticky header */ } </style> <section class="toc-section"> <div class="row mb-3"> <div class="col-12"> <hr> <h3 class="text-uppercase overline mb-3 mt-3">Supplements</h3> <hr></div> <div class="col-3 ps-4 pe-0"> <a href="#MD-2024-12"> <img src='https://res.cloudinary.com/tbmg/c_scale,w_400,f_auto,q_auto/v1733143765/sites/tb/covers/MD-2024-12.jpg' class='card-img rounded-0 rounded-start w-100 lazyload blur-up' width='400' alt='Magazine cover' /></a></div> <div class="col-3 ps-4 pe-0"> <a href="#BET-2024-12"> <img src='https://res.cloudinary.com/tbmg/c_scale,w_400,f_auto,q_auto/v1733143811/sites/tb/covers/BET-2024-12.jpg' class='card-img rounded-0 rounded-start w-100 lazyload blur-up' width='400' alt='Magazine cover' /></a></div></div> <section class="toc-section"> <hr> <h3 class="text-uppercase overline mb-0 mt-3">Features</h3> <hr> <section class="toc-section"> <ul class="list-group list-group-flush"> <li class="list-group-item pb-0"> <h4 class="card-title overline mt-0">Application Briefs</h4> <p class="mb-2 ps-3"> <i class="fa-duotone fa-solid fa-page"></i> <strong>32</strong> <a class="card-link issue_archive_link ms-2" href="/component/content/article/52207-prepare-for-takeoff-nwi-aerostructures-thrusts-forward-with-cnc-control-system">Prepare for Takeoff: NWI Aerostructures Thrusts Forward with CNC Control System </a></p></li></ul> <section class="toc-section"> <ul class="list-group list-group-flush"> <li class="list-group-item pb-0"> <h4 class="card-title overline mt-0">Articles</h4> <p class="mb-2 ps-3"> <i class="fa-duotone fa-solid fa-page"></i> <strong>4</strong> <a class="card-link issue_archive_link ms-2" href="/component/content/article/52209-products-of-tomorrow-1224">Products of Tomorrow</a></p> <p class="mb-2 ps-3"> <i class="fa-duotone fa-solid fa-page"></i> <strong>8</strong> <a class="card-link issue_archive_link ms-2" href="/component/content/article/52211-shedding-weight-connectivity-in-military-aerospace-applications">Shedding Weight: Connectivity in Military-Aerospace Applications </a></p> <p class="mb-2 ps-3"> <i class="fa-duotone fa-solid fa-page"></i> <strong>12</strong> <a class="card-link issue_archive_link ms-2" href="/component/content/article/52188-3d-woven-thermal-protection-system">3D-Woven Thermal Protection System Technologies Support NASA Space Missions</a></p></li></ul> <section class="toc-section"> <ul class="list-group list-group-flush"> <li class="list-group-item pb-0"> <h4 class="card-title overline mt-0">Q&A</h4> <p class="mb-2 ps-3"> <i class="fa-duotone fa-solid fa-page"></i> <strong>6</strong> <a class="card-link issue_archive_link ms-2" href="/component/content/article/52074-ai-helps-uavs-predict-oncoming-turbulence">AI Helps UAVs Predict Oncoming Turbulence</a></p></li></ul> <section class="toc-section"> <ul class="list-group list-group-flush"> <li class="list-group-item pb-0"> <h4 class="card-title overline mt-0">5 Ws</h4> <p class="mb-2 ps-3"> <i class="fa-duotone fa-solid fa-page"></i> <strong>5</strong> <a class="card-link issue_archive_link ms-2" href="/component/content/article/51979-5ws-of-3d-printed-glass-bricks">5Ws of 3D-Printed Glass Bricks</a></p></li></ul> <section class="toc-section"> <ul class="list-group list-group-flush"> <li class="list-group-item pb-0"> <h4 class="card-title overline mt-0">NASA Spinoff</h4> <p class="mb-2 ps-3"> <i class="fa-duotone fa-solid fa-page"></i> <strong>37</strong> <a class="card-link issue_archive_link ms-2" href="/component/content/article/51976-3d-printed-engines-propel-next-industrial-revolution">3D-Printed Engines Propel Next Industrial Revolution</a></p></li></ul> <section class="toc-section"> <ul class="list-group list-group-flush"> <li class="list-group-item pb-0"> <h4 class="card-title overline mt-0">Technology & Society</h4> <p class="mb-2 ps-3"> <i class="fa-duotone fa-solid fa-page"></i> <strong>40</strong> <a class="card-link issue_archive_link ms-2" href="/component/content/article/52055-addressing-the-energy-challenge-with-vehicle-to-grid-power">Addressing the Energy Challenge with Vehicle-to-Grid Power</a></p></li></ul> <section class="toc-section"> <ul class="list-group list-group-flush"> <li class="list-group-item pb-0"> <h4 class="card-title overline mt-0">Videos of the Month</h4> <p class="mb-2 ps-3"> <i class="fa-duotone fa-solid fa-page"></i> <strong>7</strong> <a class="card-link issue_archive_link ms-2" href="/component/content/article/52210-videos-of-the-month-tb-1224">Videos of the Month</a></p></li></ul> <section class="toc-section"> <hr> <h3 class="text-uppercase overline mb-0 mt-3">Tech Briefs</h3> <hr> <section class="toc-section"> <ul class="list-group list-group-flush"> <li class="list-group-item pb-0"> <h4 class="card-title overline mt-0">Manufacturing & Prototyping</h4> <p class="mb-2 ps-3"> <i class="fa-duotone fa-solid fa-page"></i> <strong>16</strong> <a class="card-link issue_archive_link ms-2" href="/component/content/article/52189-bio-ink-for-3d-printing">Bio-Ink for 3D Printing</a></p> <p class="mb-2 ps-3"> <i class="fa-duotone fa-solid fa-page"></i> <strong>16</strong> <a class="card-link issue_archive_link ms-2" href="/component/content/article/52190-msc-tops-125">Ball Valve Assembly Yields Linear Flowrate Control</a></p> <p class="mb-2 ps-3"> <i class="fa-duotone fa-solid fa-page"></i> <strong>18</strong> <a class="card-link issue_archive_link ms-2" href="/component/content/article/52191-4d-printing-of-shape-memory-polymers">4D Printing of Shape Memory Polymers</a></p> <p class="mb-2 ps-3"> <i class="fa-duotone fa-solid fa-page"></i> <strong>19</strong> <a class="card-link issue_archive_link ms-2" href="/component/content/article/52192-transistors-repurposed-as-microchip-clock-address-security-flaws">Transistors Repurposed as Microchip Clock Address Security Flaws</a></p> <p class="mb-2 ps-3"> <i class="fa-duotone fa-solid fa-page"></i> <strong>20</strong> <a class="card-link issue_archive_link ms-2" href="/component/content/article/52193-3d-printed-reactor-core-makes-solar-fuel-production-more-efficient">3D-Printed Reactor Core Makes Solar Fuel Production More Efficient</a></p></li></ul> <section class="toc-section"> <ul class="list-group list-group-flush"> <li class="list-group-item pb-0"> <h4 class="card-title overline mt-0">Materials</h4> <p class="mb-2 ps-3"> <i class="fa-duotone fa-solid fa-page"></i> <strong>29</strong> <a class="card-link issue_archive_link ms-2" href="/component/content/article/52204-silicone-membrane-for-wearable-devices-is-comfortable-and-breathable">Silicone Membrane for Wearable Devices is Comfortable and Breathable</a></p> <p class="mb-2 ps-3"> <i class="fa-duotone fa-solid fa-page"></i> <strong>30</strong> <a class="card-link issue_archive_link ms-2" href="/component/content/article/52205-future-washable-smart-clothes-powered-by-wi-fi-will-monitor-health">Future Washable Smart Clothes Powered by Wi-Fi will Monitor Health</a></p> <p class="mb-2 ps-3"> <i class="fa-duotone fa-solid fa-page"></i> <strong>31</strong> <a class="card-link issue_archive_link ms-2" href="/component/content/article/52206-potential-solvents-for-building-on-moon-and-mars">Potential Solvents for Building on Moon and Mars</a></p></li></ul> <section class="toc-section"> <ul class="list-group list-group-flush"> <li class="list-group-item pb-0"> <h4 class="card-title overline mt-0">Aerospace</h4> <p class="mb-2 ps-3"> <i class="fa-duotone fa-solid fa-page"></i> <strong>21</strong> <a class="card-link issue_archive_link ms-2" href="/component/content/article/52194-top2-322">Vision-Based Approach and Landing System (VALS)</a></p> <p class="mb-2 ps-3"> <i class="fa-duotone fa-solid fa-page"></i> <strong>22</strong> <a class="card-link issue_archive_link ms-2" href="/component/content/article/52195-safe-inexpensive-method-to-propel-small-satellites">Safe, Inexpensive Method to Propel Small Satellites</a></p> <p class="mb-2 ps-3"> <i class="fa-duotone fa-solid fa-page"></i> <strong>22</strong> <a class="card-link issue_archive_link ms-2" href="/component/content/article/52196-ucfs-hypersonic-technology-advances">UCF’s Hypersonic Technology Advances</a></p> <p class="mb-2 ps-3"> <i class="fa-duotone fa-solid fa-page"></i> <strong>23</strong> <a class="card-link issue_archive_link ms-2" href="/component/content/article/52197-top2-312">Modeling and Analyzing Inter-Satellite Relative Motion</a></p> <p class="mb-2 ps-3"> <i class="fa-duotone fa-solid fa-page"></i> <strong>24</strong> <a class="card-link issue_archive_link ms-2" href="/component/content/article/52198-recycling-defunct-satellite-material-into-a-fuel-source">Recycling Defunct Satellite Material into a Fuel Source</a></p></li></ul> <section class="toc-section"> <ul class="list-group list-group-flush"> <li class="list-group-item pb-0"> <h4 class="card-title overline mt-0">Communications</h4> <p class="mb-2 ps-3"> <i class="fa-duotone fa-solid fa-page"></i> <strong>25</strong> <a class="card-link issue_archive_link ms-2" href="/component/content/article/52199-understanding-the-vulnerability-in-wireless-backhaul-networks-for-5g">Understanding the Vulnerability in Wireless Backhaul Networks for 5G</a></p> <p class="mb-2 ps-3"> <i class="fa-duotone fa-solid fa-page"></i> <strong>25</strong> <a class="card-link issue_archive_link ms-2" href="/component/content/article/52200-nanoscale-device-points-the-way-to-future-wireless-communication-channels">Nanoscale Device Points the Way to Future Wireless Communication Channels</a></p> <p class="mb-2 ps-3"> <i class="fa-duotone fa-solid fa-page"></i> <strong>26</strong> <a class="card-link issue_archive_link ms-2" href="/component/content/article/52201-new-wearable-communication-system-can-transmit-data-farther-than-wi-fi">New Wearable Communication System Can Transmit Data Farther than Wi-Fi</a></p> <p class="mb-2 ps-3"> <i class="fa-duotone fa-solid fa-page"></i> <strong>27</strong> <a class="card-link issue_archive_link ms-2" href="/component/content/article/52202-a-digital-twin-can-predict-what-data-wireless-users-will-need-before-they-need-it">A Digital Twin Can Predict What Data Wireless Users Will Need Before They Need It </a></p> <p class="mb-2 ps-3"> <i class="fa-duotone fa-solid fa-page"></i> <strong>28</strong> <a class="card-link issue_archive_link ms-2" href="/component/content/article/52203-enabling-high-capacity-space-communication">Enabling High-Capacity Space Communication</a></p></li></ul> <section class="toc-section"> <hr> <h3 class="text-uppercase overline mb-0 mt-3">Products</h3> <hr> <section class="toc-section"> <ul class="list-group list-group-flush"> <li class="list-group-item pb-0"> <p class="mb-2 ps-3"> <i class="fa-duotone fa-solid fa-page"></i> <a class="card-link issue_archive_link ms-2" href="/component/content/article/52091-2024-product-of-the-year-tb">2024 Product of the Year </a></p> <p class="mb-2 ps-3"> <i class="fa-duotone fa-solid fa-page"></i> <strong>34</strong> <a class="card-link issue_archive_link ms-2" href="/component/content/article/52208-new-on-the-market-tb-1224">New on the Market</a></p> <p class="mb-2 ps-3"> <i class="fa-duotone fa-solid fa-page"></i> <strong>34</strong> <a class="card-link issue_archive_link ms-2" href="/component/content/article/52222-product-of-the-month-tb-1224">Product of the Month</a></p></li></ul> <section class="toc-section"> <div id="MD-2024-12" class="card mt-5"> <div class="row g-0 rounded rounded-bottom-0"> <div class="col-md-4"> <img src='https://res.cloudinary.com/tbmg/c_scale,w_400,f_auto,q_auto/v1733143765/sites/tb/covers/MD-2024-12.jpg' class='card-img rounded-0 rounded-start w-100 lazyload blur-up' width='400' alt='Magazine cover' /></div> <div class="col bg-primary p-3"> <h3 class="text-white text-uppercase overline mb-3">Motion Design</h3> <p class="card-text"> <button type="button" class="btn btn-secondary btn-sm" data-bs-toggle="modal" data-bs-target="#cb-form"> LOGIN TO DOWNLOAD<i class="fa-duotone fa-solid fa-angle-right ms-1"></i> </button></p> <p class="card-text"> <button type="button" class="btn btn-secondary btn-sm" data-bs-toggle="modal" data-bs-target="#cb-form"> LOGIN TO VIEW<i class="fa-duotone fa-solid fa-angle-right ms-1"></i> </button></p> <p class="card-text mb-0 text-white mt-3"> Subscribe to future issues.</p> <p class="card-text"> <a href="https://tbm.dragonforms.com/loading.do?omedasite=TEBland"> <button type="button" class="btn btn-secondary btn-sm"> SUBSCRIBE<span class="fa-duotone fa-solid fa-book-open-reader ms-2"></span> </button> </a></p></div></div></div> <section class="toc-section"> <ul class="list-group list-group-flush"> <li class="list-group-item pb-0"> <h3 class="text-uppercase overline mb-3 mt-3">Briefs</h3> <p class="mb-2 ps-3"> <i class="fa-duotone fa-solid fa-page"></i> <strong>14</strong> <a class="card-link issue_archive_link ms-2" href="/component/content/article/52180-cats-eye-inspired-vision-system-for-autonomous-robotics">Cat’s Eye-Inspired Vision System for Autonomous Robotics</a></p> <p class="mb-2 ps-3"> <i class="fa-duotone fa-solid fa-page"></i> <strong>15</strong> <a class="card-link issue_archive_link ms-2" href="/component/content/article/52181-mastering-physical-contact-with-new-algorithm-for-robots">Mastering Physical Contact with New Algorithm for Robots</a></p> <p class="mb-2 ps-3"> <i class="fa-duotone fa-solid fa-page"></i> <strong>16</strong> <a class="card-link issue_archive_link ms-2" href="/component/content/article/52182-enabling-robots-to-interpret-surroundings-quickly-and-accurately">Enabling Robots to Interpret Surroundings Quickly and Accurately</a></p> <p class="mb-2 ps-3"> <i class="fa-duotone fa-solid fa-page"></i> <strong>18</strong> <a class="card-link issue_archive_link ms-2" href="/component/content/article/52183-rose-could-usher-in-a-new-era-of-automated-farming">ROSE Could Usher in a New Era of Automated Farming</a></p></li></ul> <section class="toc-section"> <ul class="list-group list-group-flush"> <li class="list-group-item pb-0"> <h3 class="text-uppercase overline mb-3 mt-3">Articles</h3> <p class="mb-2 ps-3"> <i class="fa-duotone fa-solid fa-page"></i> <strong>2</strong> <a class="card-link issue_archive_link ms-2" href="/component/content/article/52184-the-future-is-flexible-how-one-component-represents-tomorrows-manufacturing">The Future Is Flexible: How One Component Represents Tomorrow’s Manufacturing</a></p> <p class="mb-2 ps-3"> <i class="fa-duotone fa-solid fa-page"></i> <strong>5</strong> <a class="card-link issue_archive_link ms-2" href="/component/content/article/52186-ai-in-motion-control-optimizing-servo-systems">AI in Motion Control: Optimizing Servo Systems</a></p></li></ul> <section class="toc-section"> <ul class="list-group list-group-flush"> <li class="list-group-item pb-0"> <h3 class="text-uppercase overline mb-3 mt-3">Applications</h3> <p class="mb-2 ps-3"> <i class="fa-duotone fa-solid fa-page"></i> <strong>8</strong> <a class="card-link issue_archive_link ms-2" href="/component/content/article/52187-cable-carriers-promote-efficiency-in-an-autonomous-hospitality-robot">Cable Carriers Promote Efficiency in an Autonomous Hospitality Robot</a></p> <p class="mb-2 ps-3"> <i class="fa-duotone fa-solid fa-page"></i> <strong>10</strong> <a class="card-link issue_archive_link ms-2" href="/component/content/article/52178-revolutionizing-seafood-production-with-adaptive-robots">Revolutionizing Seafood Production with Adaptive Robots</a></p> <p class="mb-2 ps-3"> <i class="fa-duotone fa-solid fa-page"></i> <strong>13</strong> <a class="card-link issue_archive_link ms-2" href="/component/content/article/52179-how-a-standardized-platform-delivered-precision-motion-control">How a Standardized Platform Delivered Precision Motion Control</a></p></li></ul> <section class="toc-section"> <div id="BET-2024-12" class="card mt-5"> <div class="row g-0 rounded rounded-bottom-0"> <div class="col-md-4"> <img src='https://res.cloudinary.com/tbmg/c_scale,w_400,f_auto,q_auto/v1733143811/sites/tb/covers/BET-2024-12.jpg' class='card-img rounded-0 rounded-start w-100 lazyload blur-up' width='400' alt='Magazine cover' /></div> <div class="col bg-primary p-3"> <h3 class="text-white text-uppercase overline mb-3">Battery & Electrification Technology</h3> <p class="card-text"> <button type="button" class="btn btn-secondary btn-sm" data-bs-toggle="modal" data-bs-target="#cb-form"> LOGIN TO DOWNLOAD<i class="fa-duotone fa-solid fa-angle-right ms-1"></i> </button></p> <p class="card-text"> <button type="button" class="btn btn-secondary btn-sm" data-bs-toggle="modal" data-bs-target="#cb-form"> LOGIN TO VIEW<i class="fa-duotone fa-solid fa-angle-right ms-1"></i> </button></p> <p class="card-text mb-0 text-white mt-3"> Subscribe to future issues.</p> <p class="card-text"> <a href="https://tbm.dragonforms.com/loading.do?omedasite=TEBland"> <button type="button" class="btn btn-secondary btn-sm"> SUBSCRIBE<span class="fa-duotone fa-solid fa-book-open-reader ms-2"></span> </button> </a></p></div></div></div> <section class="toc-section"> <ul class="list-group list-group-flush"> <li class="list-group-item pb-0"> <h3 class="text-uppercase overline mb-3 mt-3">Briefs</h3> <p class="mb-2 ps-3"> <i class="fa-duotone fa-solid fa-page"></i> <strong>20</strong> <a class="card-link issue_archive_link ms-2" href="/component/content/article/52140-researchers-discover-a-surprising-way-to-jump-start-battery-performance">Researchers Discover a Surprising Way to Jump-Start Battery Performance</a></p> <p class="mb-2 ps-3"> <i class="fa-duotone fa-solid fa-page"></i> <strong>21</strong> <a class="card-link issue_archive_link ms-2" href="/component/content/article/52141-researchers-unveil-scalable-graphene-technology-to-revolutionize-battery-safety-and-performance">Researchers Unveil Scalable Graphene Technology to Revolutionize Battery Safety and Performance </a></p> <p class="mb-2 ps-3"> <i class="fa-duotone fa-solid fa-page"></i> <strong>22</strong> <a class="card-link issue_archive_link ms-2" href="/component/content/article/52142-new-battery-cathode-material-could-revolutionize-ev-market-and-energy-storage">New Battery Cathode Material Could Revolutionize EV Market and Energy Storage </a></p> <p class="mb-2 ps-3"> <i class="fa-duotone fa-solid fa-page"></i> <strong>23</strong> <a class="card-link issue_archive_link ms-2" href="/component/content/article/52143-dormant-capacity-reserve-in-lithium-ion-batteries-detected">Dormant Capacity Reserve in Lithium-Ion Batteries Detected</a></p> <p class="mb-2 ps-3"> <i class="fa-duotone fa-solid fa-page"></i> <strong>24</strong> <a class="card-link issue_archive_link ms-2" href="/component/content/article/52144-second-life-of-lithium-ion-batteries-could-take-us-to-space">Second Life of Lithium-Ion Batteries Could Take Us to Space</a></p> <p class="mb-2 ps-3"> <i class="fa-duotone fa-solid fa-page"></i> <strong>26</strong> <a class="card-link issue_archive_link ms-2" href="/component/content/article/52145-folded-or-cut-this-lithium-sulfur-battery-keeps-going">Folded or Cut, This Lithium-Sulfur Battery Keeps Going</a></p></li></ul> <section class="toc-section"> <ul class="list-group list-group-flush"> <li class="list-group-item pb-0"> <h3 class="text-uppercase overline mb-3 mt-3">Articles</h3> <p class="mb-2 ps-3"> <i class="fa-duotone fa-solid fa-page"></i> <strong>4</strong> <a class="card-link issue_archive_link ms-2" href="/component/content/article/52147-dc-dc-converters-for-high-reliability-evtol-auxiliary-power-systems">DC-DC Converters for High Reliability eVTOL Auxiliary Power Systems</a></p> <p class="mb-2 ps-3"> <i class="fa-duotone fa-solid fa-page"></i> <strong>8</strong> <a class="card-link issue_archive_link ms-2" href="/component/content/article/52148-solving-the-battery-recycling-challenge">Solving the Battery Recycling Challenge</a></p> <p class="mb-2 ps-3"> <i class="fa-duotone fa-solid fa-page"></i> <strong>14</strong> <a class="card-link issue_archive_link ms-2" href="/component/content/article/52138-where-do-ev-batteries-go-when-they-die">Where Do EV Batteries Go When They Die? </a></p> <p class="mb-2 ps-3"> <i class="fa-duotone fa-solid fa-page"></i> <strong>18</strong> <a class="card-link issue_archive_link ms-2" href="/component/content/article/52139-crafting-safe-long-cyclable-lithium-metal-batteries-for-high-temperatures">Crafting Safe, Long-Cyclable Lithium Metal Batteries for High Temperatures </a></p></li></ul></div></div></p> <hr> <div class="ntb_tagsbot"> <div class="taglist"> <strong class="sans-serif text-small">Topics:</strong><br></div></div> <div class="jwDisqusForm"> <div id="disqus_thread"></div> <script> var disqus_developer = '0'; var disqus_config = function(){ // TBMG -- use NTB canonicalURL instead of itemURL this.page.url = 'https://www.techbriefs.com/component/content/article/52261-doc-9535'; // TBMG this.page.identifier = '0e9876ef7f_id52261'; // TBMG -- added article title as disqus_title this.page.title = "Tech Briefs - December 2024 - Vol. 48 No. 12"; // TBMG this.language = ''; }; (function() { var d = document, s = d.createElement('script'); s.src = 'https://techbriefs.disqus.com/embed.js'; s.setAttribute('data-timestamp', +new Date()); (d.head || d.body).appendChild(s); })(); </script> <noscript> <a href="https://techbriefs.disqus.com/?url=ref_noscript">View the discussion thread.</a> </noscript> <div id="jwDisqusFormFooter"> <div class="clr"></div></div></div> <div class="clr"></div></div></div><div class="ad-position g-0 row mb-3 "> <div class="col-12 align-content-center mx-auto"> <script tb-donotmove>window.ntb_google_ad_manager_items=window.ntb_google_ad_manager_items||[];ntb_google_ad_manager_items.push({display_sizes:['xs','sm'],slot_ad_unit:'techbriefs.com_450x450_300x300',slot_code:'21835072403',slot:'/21835072403/techbriefs.com_450x450_300x300',slot_ad_sizes:['fluid',[450,450],[300,300]],div_id:'GAM_pos_23_modid_366',target_pos:'23',size_mapping:[],slot_ad_empty:'default'});</script> <div id='GAM_pos_23_modid_366' class=""></div></div></div></article></div> </section> <section id="sidebar" class="right-column col-lg-4 col-md-5 d-md-block d-none"> <div><div class="story-list row mb-3 "> <div class="col-12"> <h4 class="section-overline">Top Stories</h4><div class="top-stories-box story-list"> <h6 class="overline"> <div class="float-end d-xl-block ms-1 d-none position-relative" style="width:80px"> <a href="/component/content/article/52081-looking-to-kirigami-to-shape-modern-wireless-technology"><img src='https://res.cloudinary.com/tbmg/ar_16:9,c_thumb,g_auto:subject,f_auto,q_auto/c_limit,w_100/v1732051224/sites/tb/features-16x9/52081/112124-tb-blog_kirigamis_primary-feature-item.jpg' class='w-100 lazyload blur-up' width='100' height='45' alt='Feature Image' /></a></div> <i class="fa-duotone fa-solid fa-pen-fancy me-1"></i> Blog: RF & Microwave Electronics</h6> <p class="story-min-height mt-1"> <a class="topstories_module_link" href="/component/content/article/52081-looking-to-kirigami-to-shape-modern-wireless-technology" alt="Looking to Kirigami to Shape Modern Wireless Technology"> Looking to Kirigami to Shape Modern Wireless Technology</a></p> <h6 class="overline"> <div class="float-end d-xl-block ms-1 d-none position-relative" style="width:80px"> <a href="/component/content/article/52252-magnetically-controlled-kirigami-surfaces-move-objects-no-grasping-needed"><img src='https://res.cloudinary.com/tbmg/ar_16:9,c_thumb,g_auto:subject,f_auto,q_auto/c_limit,w_100/v1734037907/sites/tb/features-16x9/52252/20241213_motion_design_story1_primary-feature-item.jpg' class='w-100 lazyload blur-up' width='100' height='45' alt='Feature Image' /></a></div> <i class="fa-duotone fa-solid fa-eye me-1"></i> INSIDER: Propulsion</h6> <p class="story-min-height mt-1"> <a class="topstories_module_link" href="/component/content/article/52252-magnetically-controlled-kirigami-surfaces-move-objects-no-grasping-needed" alt="Magnetically Controlled Kirigami Surfaces Move Objects: No Grasping Needed"> Magnetically Controlled Kirigami Surfaces Move Objects: No Grasping Needed</a></p> <h6 class="overline"> <div class="float-end d-xl-block ms-1 d-none position-relative" style="width:80px"> <a href="/component/content/article/52246-researchers-demonstrate-self-assembling-electronics"><img src='https://res.cloudinary.com/tbmg/ar_16:9,c_thumb,g_auto:subject,f_auto,q_auto/c_limit,w_100/v1733862919/sites/tb/features-16x9/52246/20241211_electronics_sensors_story1_primary-feature-item.jpg' class='w-100 lazyload blur-up' width='100' height='45' alt='Feature Image' /></a></div> <i class="fa-duotone fa-solid fa-eye me-1"></i> INSIDER: Materials</h6> <p class="story-min-height mt-1"> <a class="topstories_module_link" href="/component/content/article/52246-researchers-demonstrate-self-assembling-electronics" alt="Researchers Demonstrate Self-Assembling Electronics"> Researchers Demonstrate Self-Assembling Electronics</a></p> <h6 class="overline"> <div class="float-end d-xl-block ms-1 d-none position-relative" style="width:80px"> <a href="/component/content/article/52089-backup-system-can-keep-an-airplane-on-course-when-it-cannot-rely-on-gps-satellites"><img src='https://res.cloudinary.com/tbmg/ar_16:9,c_thumb,g_auto:subject,f_auto,q_auto/c_limit,w_100/v1732210292/sites/tb/features-16x9/52089/20241222_motion_design_story1_primary-feature-item.jpg' class='w-100 lazyload blur-up' width='100' height='45' alt='Feature Image' /></a></div> <i class="fa-duotone fa-solid fa-eye me-1"></i> INSIDER: Motion Control</h6> <p class="story-min-height mt-1"> <a class="topstories_module_link" href="/component/content/article/52089-backup-system-can-keep-an-airplane-on-course-when-it-cannot-rely-on-gps-satellites" alt="Backup System Can Keep an Airplane on Course When It Cannot Rely on GPS Satellites"> Backup System Can Keep an Airplane on Course When It Cannot Rely on GPS...</a></p> <h6 class="overline"> <div class="float-end d-xl-block ms-1 d-none position-relative" style="width:80px"> <a href="/component/content/article/52071-the-unusual-machines-approach-to-low-cost-drones-and-drone-components"><img src='https://res.cloudinary.com/tbmg/ar_16:9,c_thumb,g_auto:subject,f_auto,q_auto/c_limit,w_100/v1731940134/sites/tb/features-16x9/52071/111824-tb-podcast-drones_primary-feature-item.jpg' class='w-100 lazyload blur-up' width='100' height='45' alt='Feature Image' /></a></div> <i class="fa-duotone fa-solid fa-podcast me-1"></i> Podcasts: Unmanned Systems</h6> <p class="story-min-height mt-1"> <a class="topstories_module_link" href="/component/content/article/52071-the-unusual-machines-approach-to-low-cost-drones-and-drone-components" alt="The Unusual Machines Approach to Low-Cost Drones and Drone Components"> The Unusual Machines Approach to Low-Cost Drones and Drone Components</a></p> <h6 class="overline"> <div class="float-end d-xl-block ms-1 d-none position-relative" style="width:80px"> <a href="/component/content/article/52217-how-much-do-you-know-about-connecting-dc-programmable-power-supplies-in-series-or-parallel"><img src='https://res.cloudinary.com/tbmg/ar_16:9,c_thumb,g_auto:subject,f_auto,q_auto/c_limit,w_100/v1733251696/sites/tb/features-16x9/52217/120624-tb-quiz-power_primary-feature-item.jpg' class='w-100 lazyload blur-up' width='100' height='45' alt='Feature Image' /></a></div> <i class="fa-duotone fa-solid fa-newspaper me-1"></i> Quiz: Electronics & Computers</h6> <p class="story-min-height mt-1"> <a class="topstories_module_link" href="/component/content/article/52217-how-much-do-you-know-about-connecting-dc-programmable-power-supplies-in-series-or-parallel" alt="How Much Do You Know About Connecting DC Programmable Power Supplies in Series or Parallel?"> How Much Do You Know About Connecting DC Programmable Power Supplies in...</a></p></div></div></div> <div class="ad-position g-0 row mb-3 "> <div class="col-12 align-content-center mx-auto"> <script tb-donotmove>window.ntb_google_ad_manager_items=window.ntb_google_ad_manager_items||[];ntb_google_ad_manager_items.push({display_sizes:['md','lg','xl','xxl'],slot_ad_unit:'techbriefs.com_450x450_300x300',slot_code:'21835072403',slot:'/21835072403/techbriefs.com_450x450_300x300',slot_ad_sizes:['fluid',[450,450],[300,300]],div_id:'GAM_pos_21_modid_361',target_pos:'21',size_mapping:[],slot_ad_empty:'default'});</script> <div id='GAM_pos_21_modid_361' class=""></div></div></div> <div class="story-list row mb-3 "> <div class="col-12"> <h4 class="section-overline">Webcasts</h4><div class="webinars-box story-list"> <h6 class="overline"> <div class="float-end d-xl-block ms-1 d-none" style="width:80px"> <img src='https://res.cloudinary.com/tbmg/ar_16:9,c_thumb,g_auto:subject,f_auto,q_auto/c_limit,w_100/v1728721385/sites/mdb/features-16x9/51616/enedo-a-guide-to-selecting-power-supplies_primary-feature-item.jpg' class='w-100 lazyload blur-up' width='100' height='45' alt='Feature Image' /></div> <i class="fa-duotone fa-solid fa-bullhorn me-1"></i> Upcoming Webinars: Medical</h6> <p class="story-min-height mt-1"> <a class="webinar_module_link" href="/component/content/article/51616-a-guide-to-selecting-power-supplies-for-medical-equipment"> A Guide to Selecting Power Supplies for Medical Equipment</a></p> <h6 class="overline"> <div class="float-end d-xl-block ms-1 d-none" style="width:80px"> <img src='https://res.cloudinary.com/tbmg/ar_16:9,c_thumb,g_auto:subject,f_auto,q_auto/c_limit,w_100/v1731611719/sites/ae/features-16x9/52036/gamma-technologies-designing-an-hvac-modeling-workflow-2_primary-feature-item.jpg' class='w-100 lazyload blur-up' width='100' height='45' alt='Feature Image' /></div> <i class="fa-duotone fa-solid fa-bullhorn me-1"></i> Upcoming Webinars: Automotive</h6> <p class="story-min-height mt-1"> <a class="webinar_module_link" href="/component/content/article/52036-designing-an-hvac-modeling-workflow-for-cabin-energy-management-and-xil-testing"> Designing an HVAC Modeling Workflow for Cabin Energy Management and XiL Testing</a></p> <h6 class="overline"> <div class="float-end d-xl-block ms-1 d-none" style="width:80px"> <img src='https://res.cloudinary.com/tbmg/ar_16:9,c_thumb,g_auto:subject,f_auto,q_auto/c_limit,w_100/v1731100645/sites/adt/features-16x9/51977/shutterstock_382266112_primary-feature-item.jpg' class='w-100 lazyload blur-up' width='100' height='45' alt='Feature Image' /></div> <i class="fa-duotone fa-solid fa-bullhorn me-1"></i> Upcoming Webinars: Aerospace</h6> <p class="story-min-height mt-1"> <a class="webinar_module_link" href="/component/content/article/51977-countering-the-evolving-challenge-of-integrating-uas-into-civilian-airspace"> Countering the Evolving Challenge of Integrating UAS Into Civilian Airspace</a></p> <h6 class="overline"> <div class="float-end d-xl-block ms-1 d-none" style="width:80px"> <img src='https://res.cloudinary.com/tbmg/ar_16:9,c_thumb,g_auto:subject,f_auto,q_auto/c_limit,w_100/v1729755398/sites/tb/features-16x9/51879/shutterstock_1071512765_primary-feature-item.jpg' class='w-100 lazyload blur-up' width='100' height='45' alt='Feature Image' /></div> <i class="fa-duotone fa-solid fa-bullhorn me-1"></i> Upcoming Webinars: Software</h6> <p class="story-min-height mt-1"> <a class="webinar_module_link" href="/component/content/article/51879-empowering-sustainability-with-software-practical-steps-for-a-greener-future"> Empowering Sustainability With Software: Practical Steps for a Greener Future</a></p> <h6 class="overline"> <div class="float-end d-xl-block ms-1 d-none" style="width:80px"> <img src='https://res.cloudinary.com/tbmg/ar_16:9,c_thumb,g_auto:subject,f_auto,q_auto/c_limit,w_100/v1733516507/sites/mdb/features-16x9/52229/120624-mdb-podcast_sensors_primary-feature-item.jpg' class='w-100 lazyload blur-up' width='100' height='45' alt='Feature Image' /></div> <i class="fa-duotone fa-solid fa-podcast me-1"></i> Podcasts: Medical</h6> <p class="story-min-height mt-1"> <a class="webinar_module_link" href="/component/content/article/52229-the-rise-of-advanced-sensor-technologies"> The Rise of Advanced Sensor Technologies</a></p> <h6 class="overline"> <div class="float-end d-xl-block ms-1 d-none" style="width:80px"> <img src='https://res.cloudinary.com/tbmg/ar_16:9,c_thumb,g_auto:subject,f_auto,q_auto/c_limit,w_100/v1731587766/sites/tb/features-16x9/51885/shutterstock_282827843_primary-feature-item.jpg' class='w-100 lazyload blur-up' width='100' height='45' alt='Feature Image' /></div> <i class="fa-duotone fa-solid fa-bullhorn me-1"></i> On-Demand Webinars: Software</h6> <p class="story-min-height mt-1"> <a class="webinar_module_link" href="/component/content/article/51885-developing-an-end-to-end-wire-harness-process"> Developing an End-to-End Wire Harness Process</a></p></div></div></div> <div class="ad-position g-0 row mb-3 "> <div class="col-12 align-content-center mx-auto"> <script tb-donotmove>window.ntb_google_ad_manager_items=window.ntb_google_ad_manager_items||[];ntb_google_ad_manager_items.push({display_sizes:['md','lg','xl','xxl'],slot_ad_unit:'techbriefs.com_450x450_300x300',slot_code:'21835072403',slot:'/21835072403/techbriefs.com_450x450_300x300',slot_ad_sizes:['fluid',[450,450],[300,300]],div_id:'GAM_pos_22_modid_362',target_pos:'22',size_mapping:[],slot_ad_empty:'default'});</script> <div id='GAM_pos_22_modid_362' class=""></div></div></div> <div class="ad-position g-0 row mb-3 "> <div class="col-12 align-content-center mx-auto"> <script tb-donotmove>window.ntb_google_ad_manager_items=window.ntb_google_ad_manager_items||[];ntb_google_ad_manager_items.push({display_sizes:['xs','sm','md','lg','xl','xxl'],slot_ad_unit:'techbriefs.com_300x150_125x125_234x60',slot_code:'21835072403',slot:'/21835072403/techbriefs.com_300x150_125x125_234x60',slot_ad_sizes:['fluid',[300,150],[125,125],[234,60]],div_id:'GAM_pos_31_modid_363',target_pos:'31',size_mapping:[],slot_ad_empty:'default'});</script> <div id='GAM_pos_31_modid_363' class=""></div></div></div> <div class="ad-position g-0 row mb-3 "> <div class="col-12 align-content-center mx-auto"> <script tb-donotmove>window.ntb_google_ad_manager_items=window.ntb_google_ad_manager_items||[];ntb_google_ad_manager_items.push({display_sizes:['md','lg','xl','xxl'],slot_ad_unit:'techbriefs.com_450x450_300x300',slot_code:'21835072403',slot:'/21835072403/techbriefs.com_450x450_300x300',slot_ad_sizes:['fluid',[450,450],[300,300]],div_id:'GAM_pos_23_modid_364',target_pos:'23',size_mapping:[],slot_ad_empty:'default'});</script> <div id='GAM_pos_23_modid_364' class=""></div></div></div></div> </section> </section><div class="ad-position g-0 row mb-3 "> <div class="col-12 align-content-center mx-auto"> <script tb-donotmove>window.ntb_google_ad_manager_items=window.ntb_google_ad_manager_items||[];ntb_google_ad_manager_items.push({display_sizes:['xs','sm','md','lg','xl','xxl'],slot_ad_unit:'techbriefs.com_1200x150',slot_code:'21835072403',slot:'/21835072403/techbriefs.com_1200x150',slot_ad_sizes:['fluid'],div_id:'GAM_pos_14_modid_344',target_pos:'14',size_mapping:[],slot_ad_empty:'default'});</script> <div id='GAM_pos_14_modid_344' class=""></div></div></div><footer><div class="newsmatrix-hubheadlines mt-5 sans-serif row"> <div class="newsmatrix-block order-1 col-lg-3 col-6 order-lg-5"> <h6 class="mt-2"> <a href="/tb/stories/blog" rel="nofollow">Blog</a></h6> <a class="w-100 newsmatrix_module_link" href="/component/content/article/52263-meet-mobiprint-a-mobile-3d-printer-that-can-automatically-measure-a-room-and-print-to-the-specs"> <img src='https://res.cloudinary.com/tbmg/ar_16:9,c_thumb,g_auto:subject,f_auto,q_auto/c_limit,w_400/v1734378483/sites/tb/features-16x9/52263/121724-tb-blog-mobiprint_primary-feature-item.jpg' class='w-100 lazyload blur-up' width='400' alt='Feature Image' /></a> <p class="my-2"> <a class="newsmatrix_module_link text-dark" href="/component/content/article/52263-meet-mobiprint-a-mobile-3d-printer-that-can-automatically-measure-a-room-and-print-to-the-specs">Meet MobiPrint: A Mobile 3D Printer that Can Automatically Measure a Room and...</a></p> <p class="my-2"> <a class="newsmatrix_module_link text-dark" href="/component/content/article/52259-microrobots-swimming-autonomously-in-viscous-liquids">Microrobots Swimming Autonomously in Viscous Liquids</a></p> <p class="my-2"> <a class="newsmatrix_module_link text-dark" href="/component/content/article/28772-answering-your-questions-lithium-air-vs-lithium-ion-batteries">Answering Your Questions: Lithium-Air Battery vs. Lithium-Ion</a></p></div> <div class="newsmatrix-block order-2 col-lg-3 col-6 "> <h6 class="mt-2"> <a href="/tb/topic/electronics-software" rel="nofollow">Electronics &amp;&nbsp;Software</a></h6> <a class="w-100 newsmatrix_module_link" href="/component/content/article/52250-navigating-the-transition-understanding-rss-102-issue-6-updates-and-implications"> <img src='https://res.cloudinary.com/tbmg/ar_16:9,c_thumb,g_auto:subject,f_auto,q_auto/c_limit,w_400/v1733985060/sites/tb/features-16x9/52250/121324-tb-quiz_gavel_primary-feature-item.jpg' class='w-100 lazyload blur-up' width='400' alt='Feature Image' /></a> <p class="my-2"> <a class="newsmatrix_module_link text-dark" href="/component/content/article/52250-navigating-the-transition-understanding-rss-102-issue-6-updates-and-implications">Navigating the Transition: Understanding RSS-102 Issue 6 Updates and...</a></p> <p class="my-2"> <a class="newsmatrix_module_link text-dark" href="/component/content/article/28337-comparison-between-wave-soldering-and-reflow-soldering">Comparison Between Wave Soldering and Reflow Soldering</a></p> <p class="my-2"> <a class="newsmatrix_module_link text-dark" href="/component/content/article/26379-printed-electronics-the-future-is-flexible">Printed Electronics: The Future Is Flexible</a></p></div> <div class="newsmatrix-block order-3 col-lg-3 col-6 "> <h6 class="mt-2"> <a href="/tb/topic/photonics-imaging" rel="nofollow">Photonics &amp;&nbsp;Imaging</a></h6> <a class="w-100 newsmatrix_module_link" href="/component/content/article/52222-product-of-the-month-tb-1224"> <img src='https://res.cloudinary.com/tbmg/ar_16:9,c_thumb,g_auto:subject,f_auto,q_auto/c_limit,w_400/v1733320209/sites/tb/features-16x9/52222/tb-1224-p34_fig1r_primary-feature-item.jpg' class='w-100 lazyload blur-up' width='400' alt='Feature Image' /></a> <p class="my-2"> <a class="newsmatrix_module_link text-dark" href="/component/content/article/52222-product-of-the-month-tb-1224">Product of the Month</a></p> <p class="my-2"> <a class="newsmatrix_module_link text-dark" href="/component/content/article/20063-ccd-and-cmos-sensors">CCD and CMOS Sensors</a></p> <p class="my-2"> <a class="newsmatrix_module_link text-dark" href="/component/content/article/14324-0511ltp6">Polycarbonate Seen As Top Choice for LED Lighting</a></p></div> <div class="newsmatrix-block order-4 col-lg-3 col-6 "> <h6 class="mt-2"> <a href="/tb/topic/motion-control-automation" rel="nofollow">Motion Control/&#8203;Automation</a></h6> <a class="w-100 newsmatrix_module_link" href="/component/content/article/52254-helping-robots-make-good-decisions-in-real-time"> <img src='https://res.cloudinary.com/tbmg/ar_16:9,c_thumb,g_auto:subject,f_auto,q_auto/c_limit,w_400/v1734038191/sites/tb/features-16x9/52254/20241213_motion_design_story3_primary-feature-item.jpg' class='w-100 lazyload blur-up' width='400' alt='Feature Image' /></a> <p class="my-2"> <a class="newsmatrix_module_link text-dark" href="/component/content/article/52254-helping-robots-make-good-decisions-in-real-time">Helping Robots Make Good Decisions in Real Time</a></p> <p class="my-2"> <a class="newsmatrix_module_link text-dark" href="/component/content/article/20013-the-modern-industrial-workhorse-pid-controllers">The Modern Industrial Workhorse: PID Controllers</a></p> <p class="my-2"> <a class="newsmatrix_module_link text-dark" href="/component/content/article/26431-the-basics-of-encoder-selection-2">The Basics of Encoder Selection</a></p></div> <div class="newsmatrix-block order-5 col-lg-3 col-6 "> <h6 class="mt-2"> <a href="/tb/topic/sensors-test" rel="nofollow">Sensors &amp;&nbsp;Test</a></h6> <a class="w-100 newsmatrix_module_link" href="/component/content/article/52247-mit-team-takes-a-major-step-toward-fully-3d-printed-active-electronics"> <img src='https://res.cloudinary.com/tbmg/ar_16:9,c_thumb,g_auto:subject,f_auto,q_auto/c_limit,w_400/v1733863104/sites/tb/features-16x9/52247/20241211_electronics_sensors_story2_primary-feature-item.jpg' class='w-100 lazyload blur-up' width='400' alt='Feature Image' /></a> <p class="my-2"> <a class="newsmatrix_module_link text-dark" href="/component/content/article/52247-mit-team-takes-a-major-step-toward-fully-3d-printed-active-electronics">MIT Team Takes a Major Step Toward Fully 3D-Printed Active Electronics</a></p> <p class="my-2"> <a class="newsmatrix_module_link text-dark" href="/component/content/article/33212-smart-sensor-technology-for-the-iot">Smart Sensor Technology for the IoT</a></p> <p class="my-2"> <a class="newsmatrix_module_link text-dark" href="/component/content/article/27510-networking-the-iot-with-ieee-802-15-4-6lowpan">Networking the IoT with IEEE 802.15.4/6LoWPAN</a></p></div> <div class="newsmatrix-block order-6 col-lg-3 col-6 "> <h6 class="mt-2"> <a href="/tb/topic/materials-manufacturing" rel="nofollow">Materials &amp; Manufacturing</a></h6> <a class="w-100 newsmatrix_module_link" href="/component/content/article/52252-magnetically-controlled-kirigami-surfaces-move-objects-no-grasping-needed"> <img src='https://res.cloudinary.com/tbmg/ar_16:9,c_thumb,g_auto:subject,f_auto,q_auto/c_limit,w_400/v1734037907/sites/tb/features-16x9/52252/20241213_motion_design_story1_primary-feature-item.jpg' class='w-100 lazyload blur-up' width='400' alt='Feature Image' /></a> <p class="my-2"> <a class="newsmatrix_module_link text-dark" href="/component/content/article/52252-magnetically-controlled-kirigami-surfaces-move-objects-no-grasping-needed">Magnetically Controlled Kirigami Surfaces Move Objects: No Grasping Needed</a></p> <p class="my-2"> <a class="newsmatrix_module_link text-dark" href="/component/content/article/14234-msc-24389-1">High-Thermal-Conductivity Fabrics</a></p> <p class="my-2"> <a class="newsmatrix_module_link text-dark" href="/component/content/article/9998-34454-200">Laser Beam vs. Electron Beam Welding Which process works best for what?</a></p></div> <div class="newsmatrix-block order-7 col-lg-3 col-6 "> <h6 class="mt-2"> <a href="/tb/topic/mechanical-mechatronics" rel="nofollow">Mechanical/&#8203;Mechatronics</a></h6> <a class="w-100 newsmatrix_module_link" href="/component/content/article/52253-bird-inspired-drone-can-jump-for-take-off"> <img src='https://res.cloudinary.com/tbmg/ar_16:9,c_thumb,g_auto:subject,f_auto,q_auto/c_limit,w_400/v1734038047/sites/tb/features-16x9/52253/20241213_motion_design_story2_primary-feature-item.jpg' class='w-100 lazyload blur-up' width='400' alt='Feature Image' /></a> <p class="my-2"> <a class="newsmatrix_module_link text-dark" href="/component/content/article/52253-bird-inspired-drone-can-jump-for-take-off">Bird-Inspired Drone Can Jump for Take-Off</a></p> <p class="my-2"> <a class="newsmatrix_module_link text-dark" href="/component/content/article/22850-mechanical-carbon-materials-for-aircraft-seal-applications">Mechanical Carbon Materials for Aircraft Seal Applications</a></p> <p class="my-2"> <a class="newsmatrix_module_link text-dark" href="/component/content/article/18889-sae-2012-01-0426">Brushless Motors for In-Tank Fuel Pumps</a></p></div> <div class="newsmatrix-block order-8 col-lg-3 col-6 "> <h6 class="mt-2"> <a href="/tb/webcasts/podcasts" rel="nofollow">Podcasts</a></h6> <a class="w-100 newsmatrix_module_link" href="/component/content/article/52229-the-rise-of-advanced-sensor-technologies"> <img src='https://res.cloudinary.com/tbmg/ar_16:9,c_thumb,g_auto:subject,f_auto,q_auto/c_limit,w_400/v1733516507/sites/mdb/features-16x9/52229/120624-mdb-podcast_sensors_primary-feature-item.jpg' class='w-100 lazyload blur-up' width='400' alt='Feature Image' /></a> <p class="my-2"> <a class="newsmatrix_module_link text-dark" href="/component/content/article/52229-the-rise-of-advanced-sensor-technologies">The Rise of Advanced Sensor Technologies</a></p> <p class="my-2"> <a class="newsmatrix_module_link text-dark" href="/component/content/article/52115-how-pratt-whitney-uses-a-robot-to-help-build-jet-engines">How Pratt & Whitney Uses a Robot to Help Build Jet Engines</a></p> <p class="my-2"> <a class="newsmatrix_module_link text-dark" href="/component/content/article/52100-scaling-manufacturing-and-production-for-data-as-a-service-electric-drone">Scaling Manufacturing and Production for 'Data as a Service' Electric Drone</a></p></div></div><hr class="border-top border-primary"> <nav id="footernav" class="sans-serif"> <div class="footer-bottom row"> <div class="left-column col-md-4 col-sm-6 col-12"><div class="menu-footer-bottom"> <p class="my-2"> <a href="/about">About</a></p> <p class="my-2"> <a href="https://www.medicaldesignbriefs.com/">Medical Design Briefs</a></p> <p class="my-2"> <a href="https://www.mobilityengineeringtech.com/">Mobility Engineering Technology</a></p> <p class="my-2"> <a href="https://status.saemediagroup.com/">Service Status</a></p></div><div id="cb-form" class="modal fade" tabindex="-1" role="dialog" aria-labelledby="exampleModalLabel" aria-hidden="true"> <div class="modal-dialog modal-sm mt-5" role="document"> <div class="modal-content"> <div class="modal-header"> <h5 class="modal-title" id="exampleModalLabel">Sign In</h5> <button type="button" class="btn btn-secondary" data-bs-dismiss="modal" aria-label="Close"> <span aria-hidden="true">&times;</span> </button></div> <div class="modal-body"> <form action="https://www.techbriefs.com/account/login" method="post" id="login-form" class="form-inline cbLoginForm" data-bs-target="#cb-form"> <input type="hidden" name="option" value="com_comprofiler"/> <input type="hidden" name="view" value="login"/> <input type="hidden" name="op2" value="login"/> <input type="hidden" name="return" value="B:aHR0cHM6Ly93d3cudGVjaGJyaWVmcy5jb20vY29tcG9uZW50L2NvbnRlbnQvYXJ0aWNsZS81MjI2MS1kb2MtOTUzNQ=="/> <input type="hidden" name="message" value="0"/> <input type="hidden" name="loginfrom" value="loginmodule"/> <input type="hidden" name="b735bfbdc2882cbf6703b8a43a374dbc" value="1" /> <div class="form-floating mb-3 w-100"> <input name="username" type="text" class="form-control col-8" id="inputUserName" placeholder="Username"> <label for="inputUserName">Username or Email</label></div> <div class="form-floating mb-3 w-100"> <input name="passwd" type="password" class="form-control col-8" id="inputPassword" placeholder="Password"> <label for="inputPassword">Password</label></div> <button type="submit" class="btn btn-primary col-12 mb-3">Submit <i class="fas fa-sign-in ms-2"></i></button> <a href="https://www.techbriefs.com/account/forgot-login" class="col-12"> <i class="fas fa-unlock-alt me-2"></i> Forgot Login? </a> <div class="posttext cb_template cb_template_default"> <p><i>By submitting your personal information, you agree that SAE Media Group and carefully selected industry sponsors of this content may contact you and that you have read and agree to the <a href="/privacy">Privacy Policy</a>. </i></p> <p><i>You may reach us at <a href="mailto:privacy@saemediagroup.com">privacy@saemediagroup.com</a>. </i></p> <p><i>You may unsubscribe at any time.</i></p></div></form></div></div></div></div></div> <div class="mid-column col-sm-3 col-12"><div class="menu-footer-bottom"> <p class="my-2"> <a href="/tb/subscription-services">Subscriber Services</a></p> <p class="my-2"> <a href="/tb/feedback">Feedback</a></p> <p class="my-2"> <a href="https://www.techbriefsmediagroup.com/company-directory">Contact Us</a></p> <p class="my-2"> <a href="/tb/sitemap">Site Map</a></p></div></div> <div class="right-column col-sm-3 col-12"><div class="menu-footer-bottom"> <p class="my-2"> <a href="https://www.techbriefsmediagroup.com">Advertise</a></p> <p class="my-2"> <a href="/privacy">Privacy Policy</a></p> <p class="my-2"> <a href="/cookie-usage-statement">Cookie Usage</a></p></div><p class="menu-footer-followus my-2"> <a class="followus-link" href="https://www.shareaholic.com/v2/follow/?apikey=65befd2e10310fbce11aee6ee90bf582&service_nickname=facebook&username=TechBriefsMagazine" rel="nofollow" target="_blank"><i class="fa-brands fa-facebook"></i></a> <a class="followus-link" href="https://www.shareaholic.com/v2/follow/?apikey=65befd2e10310fbce11aee6ee90bf582&service_nickname=twitter&username=TechBriefsMag" rel="nofollow" target="_blank"><i class="fa-brands fa-square-x-twitter"></i></a> <a class="followus-link" href="https://www.shareaholic.com/v2/follow/?apikey=65befd2e10310fbce11aee6ee90bf582&service_nickname=linkedin_company&username=sae-media-group" rel="nofollow" target="_blank"><i class="fa-brands fa-linkedin"></i></a> <a class="followus-link" href="https://www.shareaholic.com/v2/follow/?apikey=65befd2e10310fbce11aee6ee90bf582&service_nickname=instagram&username=techbriefs" rel="nofollow" target="_blank"><i class="fa-brands fa-instagram"></i></a></p></div></div> </nav> <div class="row mb-5"> <div class="copyright col-12"> <p class="font-italic small">&copy; 2009-2024 SAE Media Group</p></div></div> </footer></div><script src="https://cdnjs.cloudflare.com/ajax/libs/cloudinary-core/2.13.1/cloudinary-core-shrinkwrap.min.js" tb-donotmove crossorigin="anonymous" referrerpolicy="no-referrer" integrity="sha512-stp48jOOmT4TXnB4bMJ0rlcR7XagE92cqr7pEb+oFQox6qNSyKiN31GajDsg5VVn+HgM5mhOZinSRXowsRmgPg=="></script><script src="https://kit.fontawesome.com/e04325f501.js" tb-donotmove async crossorigin="anonymous" referrerpolicy="no-referrer"></script><script src="https://cdnjs.cloudflare.com/ajax/libs/masonry/4.2.2/masonry.pkgd.min.js" tb-donotmove async crossorigin="anonymous" referrerpolicy="no-referrer" integrity="sha512-JRlcvSZAXT8+5SQQAvklXGJuxXTouyq8oIMaYERZQasB8SBDHZaUbeASsJWpk0UUrf89DP3/aefPPrlMR1h1yQ=="></script><script src="https://cdnjs.cloudflare.com/ajax/libs/lazysizes/5.3.2/lazysizes.min.js" tb-donotmove async crossorigin="anonymous" referrerpolicy="no-referrer" integrity="sha512-q583ppKrCRc7N5O0n2nzUiJ+suUv7Et1JGels4bXOaMFQcamPk9HjdUknZuuFjBNs7tsMuadge5k9RzdmO+1GQ=="></script><script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.7.1/jquery.min.js" tb-donotmove crossorigin="anonymous" referrerpolicy="no-referrer" integrity="sha512-v2CJ7UaYy4JwqLDIrZUI/4hqeoQieOmAZNXBeQyjo21dadnwR+8ZaIJVT8EE2iyI61OV8e6M8PP2/4hpQINQ/g=="></script><script src="https://cdnjs.cloudflare.com/ajax/libs/bootstrap/5.2.3/js/bootstrap.bundle.min.js" tb-donotmove crossorigin="anonymous" referrerpolicy="no-referrer" integrity="sha512-i9cEfJwUwViEPFKdC1enz4ZRGBj8YQo6QByFTF92YXHi7waCqyexvRD75S5NVTsSiTv7rKWqG9Y5eFxmRsOn0A=="></script><script src="https://cdnjs.cloudflare.com/ajax/libs/bootstrap-select/1.14.0-beta3/js/bootstrap-select.min.js" defer tb-donotmove crossorigin="anonymous" referrerpolicy="no-referrer" integrity="sha512-yrOmjPdp8qH8hgLfWpSFhC/+R9Cj9USL8uJxYIveJZGAiedxyIxwNw4RsLDlcjNlIRR4kkHaDHSmNHAkxFTmgg=="></script><script type="text/javascript" tb-donotmove> $(function () { var cl = cloudinary.Cloudinary.new({ cloud_name: "tbmg" }); cl.config({ defaultBreakpoints: [100,200,400,500,800,1000,1200], responsive_use_breakpoints: true, }); cl.responsive(); }); var match_md_max = window.matchMedia("(max-width: 991px)"); $(function () { var tooltipTriggerList = [].slice.call(document.querySelectorAll('[data-bs-toggle="tooltip"]')) var tooltipList = tooltipTriggerList.map(function (tooltipTriggerEl) { return new bootstrap.Tooltip(tooltipTriggerEl) }) }); </script> <link rel="preload" href="https://cdn.shareaholic.net/assets/pub/shareaholic.js" as="script"/> <meta name="shareaholic:site_id" content="65befd2e10310fbce11aee6ee90bf582"/> <script data-cfasync="false" async src="https://cdn.shareaholic.net/assets/pub/shareaholic.js"></script> <script type="text/javascript" tb-donotmove> $(function () { // olytics 3.0 window.olytics || (window.olytics = []), window.olytics.methods = ["fire", "confirm"], window.olytics.factory = function (i) { return function () { var t = Array.prototype.slice.call(arguments); return t.unshift(i), window.olytics.push(t), window.olytics } }; for (var i = 0; i < window.olytics.methods.length; i++) { var method = window.olytics.methods[i]; window.olytics[method] = window.olytics.factory(method) } olytics.load = function (i) { if (!document.getElementById("olyticsImport")) { window.a = window.olytics; var t = document.createElement("script"); t.async = !0, t.id = "olyticsImport", t.type = "text/javascript"; var o = ""; void 0 !== i && void 0 !== i.oid && (o = i.oid), t.setAttribute("data-oid", o), t.src = "https://olytics.omeda.com/olytics/js/v3/p/olytics.min.js", t.addEventListener("load", function (t) { for (olytics.initialize({Olytics: i}); window.a.length > 0;) { var o = window.a.shift(), s = o.shift(); olytics[s] && olytics[s].apply(olytics, o) } }, !1); var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(t, s) } }, olytics.load({oid: "c1d61b8c10b7440fb3c59fe5b6424a6b"}); }); </script><noscript> <img height="1" width="1" style="display:none;" alt="" src="https://px.ads.linkedin.com/collect/?pid=3077140&fmt=gif" class="nolazyload"/> </noscript> <!-- moved to end by ntb_minifier --> <script src="https://static.techbriefs.com/media/system/js/core.min.js?37ffe4186289eba9c5df81bea44080aff77b9684"></script> <script src="https://static.techbriefs.com/media/vendor/jquery/js/jquery.min.js?3.7.1"></script> <link rel="stylesheet" href="/templates/tb_cmo_2017/css/template.min.css?t=1732180729" crossorigin="anonymous" referrerpolicy="no-referrer" integrity="sha512-K26FuLEPyUwYkP20X00ZnEFnfPWvTnNFfxWErl7pCIi2bHy5WpiYx1lJjKVCmzyXV/zV1EqM+1WsGDxZiFfmMQ=="/> <script src="https://cdnjs.cloudflare.com/ajax/libs/lazysizes/5.3.2/plugins/print/ls.print.min.js" defer crossorigin="anonymous" referrerpolicy="no-referrer" integrity="sha512-tY3D/iSWSdQE2NSLW/mRWQd/bvHAGjyCLRwSd23sqNbbgVnUaah2t+ZpX7hdBOskZ7PqYvwe4E+qxNARGojJGQ=="></script> <script src="https://cdnjs.cloudflare.com/ajax/libs/limonte-sweetalert2/11.15.0/sweetalert2.all.min.js" crossorigin="anonymous" referrerpolicy="no-referrer" integrity="sha512-cC031aMSuKiIKH8oEwFmS3QA7k6JP+FK0jAOWOk3en3O14wYqp/z8I6CTGM9/AdSmRavk//8e1p5VZI1U0VadQ=="></script> <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/bootstrap-select/1.14.0-beta3/css/bootstrap-select.min.css" media="print" onload="this.media='all'" crossorigin="anonymous" referrerpolicy="no-referrer" integrity="sha512-g2SduJKxa4Lbn3GW+Q7rNz+pKP9AWMR++Ta8fgwsZRCUsawjPvF/BxSMkGS61VsR9yinGoEgrHPGPn2mrj8+4w=="/> <link rel="stylesheet" href="https://olytics.omeda.com/olytics/css/v3/p/olytics.css" media="print" onload="this.media='all'"/> <!-- inline scripts moved by ntb_minifier --> <script> var GAM_breakpoint=window.getComputedStyle(document.querySelector('body'),':before').getPropertyValue('content').replace(/"/g,'');window.googletag=window.googletag||{cmd:[]};googletag.cmd.push(function(){googletag.pubads().setTargeting('sitepage',['NTB/PastIssues/TechBriefs']).setTargeting('site',["NTB"]).setTargeting('menu_route',["tb\/magazine\/archives"]).setTargeting('menu_topics',[""]).setTargeting('menu_tags',[""]).setTargeting('article_category',["Tech Briefs"]).setTargeting('article_topics',[""]).setTargeting('article_navs',["Issue Archive"]);googletag.pubads().enableSingleRequest();googletag.pubads().collapseEmptyDivs();googletag.pubads().setCentering(true);googletag.pubads().setForceSafeFrame(false);googletag.enableServices();});$(function(){function ntb_google_ad_manager_build(item){item_div=$('#'+item.div_id);if(item.display_sizes.includes(GAM_breakpoint)){googletag.cmd.push(function(){var item=this;var item_div=$('#'+item.div_id);size_mapping=[];if(item.size_mapping.length){size_mapping=googletag.sizeMapping();item.size_mapping.forEach(function(size_map){size_mapping.addSize(size_map.view,size_map.map);});size_mapping.build();} var targetSlot=googletag.defineSlot(item.slot,item.slot_ad_sizes,item.div_id).setTargeting('pos',[item.target_pos]).defineSizeMapping(size_mapping);if(item.slot_ad_empty==='default'){targetSlot=targetSlot.setCollapseEmptyDiv(true);} if(item.slot_ad_empty==='collapse'){targetSlot=targetSlot.setCollapseEmptyDiv(true,true);} if(item.slot_ad_empty==='expand'){targetSlot=targetSlot.setCollapseEmptyDiv(false);} targetSlot.addService(googletag.pubads());googletag.pubads().addEventListener('slotRenderEnded',function(event){if(event.slot===targetSlot&&event.isEmpty){item_div.parents('.ad-position').addClass('d-none');googletag.destroySlots(event.slot);}});googletag.enableServices();}.bind(item));} else{item_div.parents('.ad-position').addClass('d-none');}} function ntb_google_ad_manager_display(item){if(item.display_all||item.display_sizes.includes(GAM_breakpoint)){googletag.cmd.push(function(){item=this;googletag.display(item.div_id);}.bind(item));}} for(let i=0;i<ntb_google_ad_manager_items.length;i++){ntb_google_ad_manager_build(ntb_google_ad_manager_items[i]);} for(let i=0;i<ntb_google_ad_manager_items.length;i++){ntb_google_ad_manager_display(ntb_google_ad_manager_items[i]);}}); /*! inlined from /media/system/js/keepalive-es5.min.js by ntb_minifier */ (function(){'use strict';if(!window.Joomla){throw new Error('Joomla API was not properly initialised');} var keepAliveOptions=Joomla.getOptions('system.keepalive');var keepAliveInterval=keepAliveOptions&&keepAliveOptions.interval?parseInt(keepAliveOptions.interval,10):45*1000;var keepAliveUri=keepAliveOptions&&keepAliveOptions.uri?keepAliveOptions.uri.replace(/&amp;/g,'&'):'';if(keepAliveUri===''){var systemPaths=Joomla.getOptions('system.paths');keepAliveUri=(systemPaths?systemPaths.root+"/index.php":window.location.pathname)+"?option=com_ajax&format=json";} setInterval(function(){return fetch(keepAliveUri,{method:'POST'});},keepAliveInterval);})(); /*! inlined from /media/legacy/js/$-noconflict.min.js by ntb_minifier */ var $=$.noConflict(); /*! inlined from /media/plg_content_ntb_tagsbot/js/tagsbot.min.js by ntb_minifier */ $(document).ready(function(){var currentTagLinkID=0;$('#ntb_cluster_'+$("#ntb_cluster").children(":selected").attr("value")).show('fast');$("#ntb_cluster").change(function(){$('.ntb_cluster_div').hide('fast');$('#ntb_cluster_'+this.value).show('fast');});$(".currentTagLinks").mouseenter(function(){if(currentTagLinkID!=this.id){currentTagLinkID=this.id;$('.ntb_cluster_div').hide('fast');$('#'+currentTagLinkID.replace('_link','')).show('fast');}});});$(function(){olytics.fire({behaviorId:'5013J3562790A3O',category:"issue-archive",tag:"",pageType:"content",contentType:"issue"})});!function(f,b,e,v,n,t,s){if(f.fbq)return;n=f.fbq=function(){n.callMethod?n.callMethod.apply(n,arguments):n.queue.push(arguments)};if(!f._fbq)f._fbq=n;n.push=n;n.loaded=!0;n.version='2.0';n.queue=[];t=b.createElement(e);t.async=!0;t.src=v;s=b.getElementsByTagName(e)[0];s.parentNode.insertBefore(t,s)}(window,document,'script','https://connect.facebook.net/en_US/fbevents.js');fbq('init','240802493731265');fbq('track','PageView');!function(s,a,e,v,n,t,z){if(s.saq)return;n=s.saq=function(){n.callMethod?n.callMethod.apply(n,arguments):n.queue.push(arguments)};if(!s._saq)s._saq=n;n.push=n;n.loaded=!0;n.version='1.0';n.queue=[];t=a.createElement(e);t.async=!0;t.src=v;z=a.getElementsByTagName(e)[0];z.parentNode.insertBefore(t,z)}(window,document,'script','https://tags.srv.stackadapt.com/events.js');saq('ts','3GYZ_Va41jnx_uqfPcLCuQ');$(function(){$('#cb-form').on('shown.bs.modal',function(){$('#inputUserName').focus();})}); /*! inlined from /templates/tb_cmo_2017/js/custom.min.js by ntb_minifier */ $(window).scroll(function(){if($(document).scrollTop()>50){$("nav").addClass("shrink");$(".logolarge").addClass("tb-logo-closed");$(".logosmall").removeClass("d-md-none");$(".add").hide()}else{$("nav").removeClass("shrink");$(".logosmall").addClass("d-md-none");$(".logolarge").removeClass("tb-logo-closed");$(".add").show()}});_linkedin_partner_id="3077140";window._linkedin_data_partner_ids=window._linkedin_data_partner_ids||[];window._linkedin_data_partner_ids.push(_linkedin_partner_id);(function(l){if(!l){window.lintrk=function(a,b){window.lintrk.q.push([a,b])};window.lintrk.q=[]} var s=document.getElementsByTagName("script")[0];var b=document.createElement("script");b.type="text/javascript";b.async=true;b.src="https://snap.licdn.com/li.lms-analytics/insight.min.js";s.parentNode.insertBefore(b,s);})(window.lintrk); </script> <script id="dsq-count-scr" src="//techbriefs.disqus.com/count.js" async></script> </body> </html>

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