CINXE.COM
Posix Standard
<!DOCTYPE html> <html lang="en-US" class="no-js no-svg"> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> <meta name="viewport" content="user-scalable=yes, width=device-width, initial-scale=1.0, maximum-scale=1, minimum-scale=1"> <link rel="profile" href="https://gmpg.org/xfn/11" /> <script data-no-optimize="1" data-cfasync="false">!function(){"use strict";function e(e){const t=e.match(/((?=([a-z0-9._!#$%+^&*()[\]<>-]+))\2@[a-z0-9._-]+\.[a-z0-9._-]+)/gi);return t?t[0]:""}function t(t){return e(a(t.toLowerCase()))}function a(e){return e.replace(/\s/g,"")}async function n(e){const t={sha256Hash:"",sha1Hash:""};if(!("msCrypto"in window)&&"https:"===location.protocol&&"crypto"in window&&"TextEncoder"in window){const a=(new TextEncoder).encode(e),[n,c]=await Promise.all([s("SHA-256",a),s("SHA-1",a)]);t.sha256Hash=n,t.sha1Hash=c}return t}async function s(e,t){const a=await crypto.subtle.digest(e,t);return Array.from(new Uint8Array(a)).map(e=>("00"+e.toString(16)).slice(-2)).join("")}function c(e){let t=!0;return Object.keys(e).forEach(a=>{0===e[a].length&&(t=!1)}),t}function i(e,t,a){e.splice(t,1);const n="?"+e.join("&")+a.hash;history.replaceState(null,"",n)}var o={checkEmail:e,validateEmail:t,trimInput:a,hashEmail:n,hasHashes:c,removeEmailAndReplaceHistory:i,detectEmails:async function(){const e=new URL(window.location.href),a=Array.from(e.searchParams.entries()).map(e=>`${e[0]}=${e[1]}`);let s,o;const r=["adt_eih","sh_kit"];if(a.forEach((e,t)=>{const a=decodeURIComponent(e),[n,c]=a.split("=");if("adt_ei"===n&&(s={value:c,index:t,emsrc:"url"}),r.includes(n)){o={value:c,index:t,emsrc:"sh_kit"===n?"urlhck":"urlh"}}}),s)t(s.value)&&n(s.value).then(e=>{if(c(e)){const t={value:e,created:Date.now()};localStorage.setItem("adt_ei",JSON.stringify(t)),localStorage.setItem("adt_emsrc",s.emsrc)}});else if(o){const e={value:{sha256Hash:o.value,sha1Hash:""},created:Date.now()};localStorage.setItem("adt_ei",JSON.stringify(e)),localStorage.setItem("adt_emsrc",o.emsrc)}s&&i(a,s.index,e),o&&i(a,o.index,e)},cb:"adthrive"};const{detectEmails:r,cb:l}=o;r()}(); </script><title>Posix Standard</title><link rel="preload" data-rocket-preload as="style" href="https://fonts.googleapis.com/css2?family=Poppins:wght@400;600&display=swap" /><link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Poppins:wght@400;600&display=swap" media="print" onload="this.media='all'" /><noscript><link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Poppins:wght@400;600&display=swap" /></noscript><link rel="preload" data-rocket-preload as="image" href="https://linuxhint.com/wp-content/uploads/2019/11/Logo-final.png" media="(min-width: 1024px)" fetchpriority="high"><link rel="preload" data-rocket-preload as="image" href="https://linuxhint.com/wp-content/uploads/2019/11/Logo-final.png" fetchpriority="high"> <script data-affiliate-config type="application/json">{"enableLinkMonetizer":true,"keywordLinkerKeywordLimit":"","affiliateJsClientPath":"https:\/\/affiliate-cdn.raptive.com\/affiliate.mvp.min.js","affiliateApiPath":"https:\/\/affiliate-api.raptive.com","amazonAffiliateId":"raptive-linuxhint-lm-20","excludeNetworks":["raptive"],"excludeDestinations":["cj"],"enableAnalytics":true,"pluginVersion":"1.1.6"}</script> <script data-minify="1" async referrerpolicy="no-referrer-when-downgrade" data-no-optimize="1" data-cfasync="false" src="https://linuxhint.com/wp-content/cache/min/1/affiliate.mvp.min.js?ver=1731858714"> </script> <meta name='robots' content='max-image-preview:large' /> <style>img:is([sizes="auto" i], [sizes^="auto," i]) { contain-intrinsic-size: 3000px 1500px }</style> <style data-no-optimize="1" data-cfasync="false"> .adthrive-ad { margin-top: 10px; margin-bottom: 10px; text-align: center; overflow-x: visible; clear: both; line-height: 0; } .adthrive-player-position.adthrive-collapse-float.adthrive-collapse-right { right: 2% !important; } @media (max-width:375px) { .entry-content { padding-left:8px !important; padding-right:8px !important; } } @media (max-width:359px) { .container { max-width:100% !important; } } body.home .adthrive-content { width: 100%;} /* Top Center White Background */ .adthrive-collapse-mobile-background { background-color: #fff!important; } .adthrive-top-collapse-close > svg > * { stroke: black !important; font-family: sans-serif; } /* END top center White background */ .adthrive-sidebar-1 { margin-bottom: 30px; } .font-test #wpbody { font-size: 20px! important; } /* Skyline compatibility for sticky containers */ body.raptive-skyline .adthrive-ad.adthrive-sticky-sidebar > div, body.raptive-skyline .adthrive-stuck.adthrive-sticky.adthrive-sidebar, body.raptive-skyline .adthrive-sticky-container > div[id^="google_ads_iframe"], body.raptive-skyline .adthrive-recipe-sticky-container > div[id^="google_ads_iframe"] { top: 155px; } /* End Skyline compatibility for sticky containers */</style> <script data-no-optimize="1" data-cfasync="false"> window.adthriveCLS = { enabledLocations: ['Content', 'Recipe'], injectedSlots: [], injectedFromPlugin: true, branch: '16e38f4',bucket: 'prod', }; window.adthriveCLS.siteAds = {"siteId":"5c9b6001b80bec0dfaf0b493","siteName":"Linux Hint","betaTester":false,"targeting":[{"value":"5c9b6001b80bec0dfaf0b493","key":"siteId"},{"value":"6233884d41e33d7088458b24","key":"organizationId"},{"value":"Linux Hint","key":"siteName"},{"value":"AdThrive Edge","key":"service"},{"value":"on","key":"bidding"},{"value":["Tech"],"key":"verticals"}],"breakpoints":{"tablet":768,"desktop":1024},"adUnits":[{"sequence":null,"targeting":[{"value":["Header"],"key":"location"}],"devices":["desktop","tablet"],"name":"Header","sticky":false,"location":"Header","dynamic":{"pageSelector":"","spacing":0,"max":1,"lazy":false,"lazyMax":null,"elementSelector":"#main-wrapper","skip":0,"classNames":[],"position":"afterbegin","every":1,"enabled":true},"adSizes":[[728,90],[320,50],[468,60],[970,90],[1,1],[320,100],[970,250],[300,50],[728,250]],"priority":399,"autosize":true},{"sequence":1,"targeting":[{"value":["Sidebar"],"key":"location"},{"value":true,"key":"sticky"}],"devices":["desktop"],"name":"Sidebar_1","sticky":true,"location":"Sidebar","dynamic":{"pageSelector":"body.single","spacing":0,"max":1,"lazy":false,"lazyMax":null,"elementSelector":".sidebar","skip":0,"classNames":[],"position":"beforeend","every":1,"enabled":true},"stickyOverlapSelector":".footer","adSizes":[[160,600],[336,280],[320,50],[300,600],[250,250],[1,1],[320,100],[300,1050],[300,50],[300,420],[300,250]],"priority":299,"autosize":true},{"sequence":2,"targeting":[{"value":["Sidebar"],"key":"location"},{"value":true,"key":"sticky"}],"devices":["desktop"],"name":"Sidebar_2","sticky":true,"location":"Sidebar","dynamic":{"pageSelector":"body.single","spacing":0,"max":0,"lazy":true,"lazyMax":1,"elementSelector":".sidebar","skip":0,"classNames":[],"position":"beforeend","every":1,"enabled":true},"stickyOverlapSelector":".footer","adSizes":[[160,600],[336,280],[320,50],[300,600],[250,250],[1,1],[320,100],[300,1050],[300,50],[300,420],[300,250]],"priority":298,"autosize":true},{"sequence":3,"targeting":[{"value":["Sidebar"],"key":"location"},{"value":true,"key":"sticky"}],"devices":["desktop"],"name":"Sidebar_3","sticky":true,"location":"Sidebar","dynamic":{"pageSelector":"body.single","spacing":0,"max":0,"lazy":true,"lazyMax":1,"elementSelector":".sidebar","skip":0,"classNames":[],"position":"beforeend","every":1,"enabled":true},"stickyOverlapSelector":".footer","adSizes":[[160,600],[336,280],[320,50],[300,600],[250,250],[1,1],[320,100],[300,1050],[300,50],[300,420],[300,250]],"priority":297,"autosize":true},{"sequence":4,"targeting":[{"value":["Sidebar"],"key":"location"},{"value":true,"key":"sticky"}],"devices":["desktop"],"name":"Sidebar_4","sticky":true,"location":"Sidebar","dynamic":{"pageSelector":"body.single","spacing":0,"max":0,"lazy":true,"lazyMax":1,"elementSelector":".sidebar","skip":0,"classNames":[],"position":"beforeend","every":1,"enabled":true},"stickyOverlapSelector":".footer","adSizes":[[160,600],[336,280],[320,50],[300,600],[250,250],[1,1],[320,100],[300,1050],[300,50],[300,420],[300,250]],"priority":296,"autosize":true},{"sequence":5,"targeting":[{"value":["Sidebar"],"key":"location"},{"value":true,"key":"sticky"}],"devices":["desktop"],"name":"Sidebar_5","sticky":true,"location":"Sidebar","dynamic":{"pageSelector":"body.single","spacing":0,"max":0,"lazy":true,"lazyMax":1,"elementSelector":".sidebar","skip":0,"classNames":[],"position":"beforeend","every":1,"enabled":true},"stickyOverlapSelector":".footer","adSizes":[[160,600],[336,280],[320,50],[300,600],[250,250],[1,1],[320,100],[300,1050],[300,50],[300,420],[300,250]],"priority":295,"autosize":true},{"sequence":9,"targeting":[{"value":["Sidebar"],"key":"location"},{"value":true,"key":"sticky"}],"devices":["desktop"],"name":"Sidebar_9","sticky":true,"location":"Sidebar","dynamic":{"pageSelector":"body.single","spacing":0,"max":1,"lazy":false,"lazyMax":null,"elementSelector":".sidebar","skip":0,"classNames":[],"position":"beforeend","every":1,"enabled":true},"stickyOverlapSelector":".footer","adSizes":[[160,600],[336,280],[320,50],[300,600],[250,250],[1,1],[320,100],[300,1050],[300,50],[300,420],[300,250]],"priority":291,"autosize":true},{"sequence":null,"targeting":[{"value":["Content"],"key":"location"}],"devices":["desktop","tablet","phone"],"name":"Content","sticky":false,"location":"Content","dynamic":{"pageSelector":"body.home","spacing":0,"max":0,"lazy":true,"lazyMax":99,"elementSelector":"article","skip":9,"classNames":[],"position":"afterend","every":9,"enabled":true},"adSizes":[[728,90],[336,280],[320,50],[468,60],[970,90],[250,250],[1,1],[320,100],[970,250],[1,2],[300,50],[300,300],[552,334],[728,250],[300,250]],"priority":199,"autosize":true},{"sequence":null,"targeting":[{"value":["Content"],"key":"location"}],"devices":["desktop"],"name":"Content","sticky":false,"location":"Content","dynamic":{"pageSelector":"body.single","spacing":0.85,"max":9,"lazy":true,"lazyMax":90,"elementSelector":"#wpbody > p","skip":2,"classNames":[],"position":"afterend","every":2,"enabled":true},"adSizes":[[728,90],[336,280],[320,50],[468,60],[970,90],[250,250],[1,1],[320,100],[970,250],[1,2],[300,50],[300,300],[552,334],[728,250],[300,250]],"priority":199,"autosize":true},{"sequence":null,"targeting":[{"value":["Content"],"key":"location"}],"devices":["tablet","phone"],"name":"Content","sticky":false,"location":"Content","dynamic":{"pageSelector":"body.category","spacing":0,"max":0,"lazy":true,"lazyMax":5,"elementSelector":"article","skip":2,"classNames":[],"position":"beforebegin","every":2,"enabled":true},"adSizes":[[728,90],[336,280],[320,50],[468,60],[970,90],[250,250],[1,1],[320,100],[970,250],[1,2],[300,50],[300,300],[552,334],[728,250],[300,250]],"priority":199,"autosize":true},{"sequence":null,"targeting":[{"value":["Content"],"key":"location"}],"devices":["tablet"],"name":"Content","sticky":false,"location":"Content","dynamic":{"pageSelector":"body.single","spacing":0.7,"max":9,"lazy":true,"lazyMax":90,"elementSelector":"#wpbody > p","skip":0,"classNames":[],"position":"afterend","every":1,"enabled":true},"adSizes":[[728,90],[336,280],[320,50],[468,60],[970,90],[250,250],[1,1],[320,100],[970,250],[1,2],[300,50],[300,300],[552,334],[728,250],[300,250]],"priority":199,"autosize":true},{"sequence":null,"targeting":[{"value":["Content"],"key":"location"}],"devices":["phone"],"name":"Content","sticky":false,"location":"Content","dynamic":{"pageSelector":"body.single","spacing":0.85,"max":7,"lazy":true,"lazyMax":92,"elementSelector":"#wpbody > p","skip":3,"classNames":[],"position":"afterend","every":1,"enabled":true},"adSizes":[[728,90],[336,280],[320,50],[468,60],[970,90],[250,250],[1,1],[320,100],[970,250],[1,2],[300,50],[300,300],[552,334],[728,250],[300,250]],"priority":199,"autosize":true},{"sequence":null,"targeting":[{"value":["Below Post"],"key":"location"}],"devices":["phone","tablet","desktop"],"name":"Below_Post","sticky":false,"location":"Below Post","dynamic":{"pageSelector":"body.single","spacing":0,"max":0,"lazy":true,"lazyMax":1,"elementSelector":".entry-content","skip":0,"classNames":[],"position":"beforeend","every":1,"enabled":true},"adSizes":[[728,90],[336,280],[320,50],[468,60],[250,250],[1,1],[320,100],[300,250],[970,250],[728,250]],"priority":99,"autosize":true},{"sequence":null,"targeting":[{"value":["Footer"],"key":"location"},{"value":true,"key":"sticky"}],"devices":["tablet","phone","desktop"],"name":"Footer","sticky":true,"location":"Footer","dynamic":{"pageSelector":"","spacing":0,"max":1,"lazy":false,"lazyMax":null,"elementSelector":"body","skip":0,"classNames":[],"position":"beforeend","every":1,"enabled":true},"adSizes":[[320,50],[320,100],[728,90],[970,90],[468,60],[1,1],[300,50]],"priority":-1,"autosize":true}],"adDensityLayout":{"mobile":{"adDensity":0.3,"onePerViewport":false},"pageOverrides":[{"mobile":{"adDensity":0.3,"onePerViewport":false},"note":null,"pageSelector":"body.category","desktop":{"adDensity":0.28,"onePerViewport":false}},{"mobile":{"adDensity":0.2,"onePerViewport":false},"note":null,"pageSelector":"body.home","desktop":{"adDensity":0.2,"onePerViewport":false}}],"desktop":{"adDensity":0.3,"onePerViewport":false}},"adDensityEnabled":true,"siteExperiments":[],"adTypes":{"sponsorTileDesktop":true,"interscrollerDesktop":true,"nativeDesktopContent":true,"outstreamDesktop":true,"nativeBelowPostDesktop":true,"miniscroller":true,"animatedFooter":true,"largeFormatsMobile":true,"nativeMobileContent":true,"inRecipeRecommendationMobile":true,"nativeMobileRecipe":true,"expandableFooter":true,"nativeDesktopSidebar":true,"sponsorTileMobile":true,"expandableCatalogAdsMobile":true,"interscroller":true,"nativeDesktopRecipe":true,"outstreamMobile":true,"nativeHeaderDesktop":true,"nativeHeaderMobile":true,"nativeBelowPostMobile":true,"expandableCatalogAdsDesktop":true,"largeFormatsDesktop":true,"inRecipeRecommendationDesktop":true},"adOptions":{"theTradeDesk":true,"rtbhouse":true,"undertone":false,"sidebarConfig":{"dynamicStickySidebar":{"minHeight":1800,"enabled":true,"blockedSelectors":[]}},"footerCloseButton":false,"teads":true,"pmp":true,"thirtyThreeAcross":true,"sharethrough":true,"optimizeVideoPlayersForEarnings":true,"removeVideoTitleWrapper":true,"pubMatic":true,"infiniteScroll":false,"yahoossp":true,"improvedigital":true,"spa":false,"stickyContainerConfig":{"recipeDesktop":{"minHeight":null,"enabled":false},"blockedSelectors":[],"stickyHeaderSelectors":[],"content":{"minHeight":null,"enabled":false},"recipeMobile":{"minHeight":null,"enabled":false}},"sonobi":true,"yieldmo":true,"footerSelector":"","amazonUAM":true,"gamMCMEnabled":true,"gamMCMChildNetworkCode":"22488008280","stickyContainerAds":false,"rubiconMediaMath":true,"rubicon":true,"conversant":true,"openx":true,"customCreativeEnabled":true,"mobileHeaderHeight":1,"secColor":"#000000","unruly":true,"mediaGrid":true,"bRealTime":true,"gumgum":true,"comscoreFooter":true,"desktopInterstitial":true,"footerCloseButtonDesktop":false,"ozone":false,"isAutoOptimized":true,"adform":true,"comscoreTAL":true,"targetaff":false,"bgColor":"#FFFFFF","advancePlaylistOptions":{"playlistPlayer":{"enabled":true},"relatedPlayer":{"enabled":true,"applyToFirst":true}},"amazonASR":false,"kargo":true,"liveRampATS":true,"footerCloseButtonMobile":false,"interstitialBlockedPageSelectors":"","allowSmallerAdSizes":true,"comscore":"General","wakeLock":{"desktopEnabled":true,"mobileValue":15,"mobileEnabled":true,"desktopValue":30},"mobileInterstitial":true,"tripleLift":true,"sensitiveCategories":["alc","ast","cbd","cosm","dat","gamc","gamv","pol","rel","sst","ssr","srh","ske","tob","wtl"],"liveRamp":true,"adthriveEmailIdentity":true,"criteo":true,"nativo":true,"infiniteScrollOptions":{"selector":"","heightThreshold":0},"siteAttributes":{"mobileHeaderSelectors":[],"desktopHeaderSelectors":[]},"dynamicContentSlotLazyLoading":true,"clsOptimizedAds":true,"aidem":false,"verticals":["Tech"],"inImage":false,"advancePlaylist":true,"flipp":true,"delayLoading":false,"inImageZone":null,"appNexus":true,"rise":true,"liveRampId":"","infiniteScrollRefresh":false,"indexExchange":true},"siteAdsProfiles":[],"videoPlayers":{"contextual":{"autoplayCollapsibleEnabled":true,"overrideEmbedLocation":false,"defaultPlayerType":"static"},"videoEmbed":"wordpress","footerSelector":"","contentSpecificPlaylists":[],"players":[{"devices":["desktop","mobile"],"formattedType":"Stationary Related","description":"","id":4061589,"title":"Stationary related player - desktop and mobile","type":"stationaryRelated","enabled":true,"playerId":"qFJe7Hmm"},{"playlistId":"","pageSelector":"","devices":["desktop"],"description":"","skip":0,"title":"","type":"stickyRelated","enabled":true,"formattedType":"Sticky Related","elementSelector":"","id":4061590,"position":"afterend","playerId":"qFJe7Hmm"},{"playlistId":"","pageSelector":"","devices":["mobile"],"mobileLocation":"bottom-right","description":"","skip":0,"title":"","type":"stickyRelated","enabled":true,"formattedType":"Sticky Related","elementSelector":"","id":4061591,"position":"afterend","playerId":"qFJe7Hmm"},{"playlistId":"93UCeqUW","pageSelector":"body.single","devices":["desktop"],"description":"","skip":2,"title":"MY LATEST VIDEOS","type":"stickyPlaylist","enabled":false,"footerSelector":"","formattedType":"Sticky Playlist","elementSelector":".entry-content p","id":4061592,"position":"afterend","saveVideoCloseState":false,"shuffle":true,"playerId":"qFJe7Hmm"},{"playlistId":"93UCeqUW","pageSelector":"body.single","devices":["mobile"],"mobileLocation":"top-center","description":"","skip":2,"title":"MY LATEST VIDEOS","type":"stickyPlaylist","enabled":false,"footerSelector":"","formattedType":"Sticky Playlist","elementSelector":".entry-content p","id":4061593,"position":"afterend","saveVideoCloseState":false,"shuffle":true,"playerId":"qFJe7Hmm"}],"partners":{"theTradeDesk":true,"yahoossp":true,"criteo":true,"unruly":true,"mediaGrid":true,"improvedigital":true,"undertone":false,"gumgum":true,"aidem":false,"yieldmo":true,"adform":true,"pmp":true,"amazonUAM":true,"kargo":true,"thirtyThreeAcross":true,"stickyOutstream":{"desktop":{"enabled":true},"blockedPageSelectors":"","mobileLocation":"bottom-left","allowOnHomepage":false,"mobile":{"enabled":true},"saveVideoCloseState":false,"mobileHeaderSelector":"","allowForPageWithStickyPlayer":{"enabled":true}},"sharethrough":true,"rubicon":true,"appNexus":true,"rise":true,"tripleLift":true,"openx":true,"pubMatic":true,"indexExchange":true}}};</script> <script data-no-optimize="1" data-cfasync="false"> (function(w, d) { w.adthrive = w.adthrive || {}; w.adthrive.cmd = w.adthrive.cmd || []; w.adthrive.plugin = 'adthrive-ads-3.6.2'; w.adthrive.host = 'ads.adthrive.com'; w.adthrive.integration = 'plugin'; var commitParam = (w.adthriveCLS && w.adthriveCLS.bucket !== 'prod' && w.adthriveCLS.branch) ? '&commit=' + w.adthriveCLS.branch : ''; var s = d.createElement('script'); s.async = true; s.referrerpolicy='no-referrer-when-downgrade'; s.src = 'https://' + w.adthrive.host + '/sites/5c9b6001b80bec0dfaf0b493/ads.min.js?referrer=' + w.encodeURIComponent(w.location.href) + commitParam + '&cb=' + (Math.floor(Math.random() * 100) + 1) + ''; var n = d.getElementsByTagName('script')[0]; n.parentNode.insertBefore(s, n); })(window, document); </script> <link rel="dns-prefetch" href="https://ads.adthrive.com/"><link rel="preconnect" href="https://ads.adthrive.com/"><link rel="preconnect" href="https://ads.adthrive.com/" crossorigin><link rel='dns-prefetch' href='//fonts.googleapis.com' /> <link rel='dns-prefetch' href='//linuxhint.com' /> <link rel='dns-prefetch' href='//www.googletagmanager.com' /> <link rel='dns-prefetch' href='//www.google-analytics.com' /> <link href='https://fonts.gstatic.com' crossorigin rel='preconnect' /> <link rel="alternate" type="application/rss+xml" title=" » Feed" href="https://linuxhint.com/feed/" /> <link rel="alternate" type="application/rss+xml" title=" » Comments Feed" href="https://linuxhint.com/comments/feed/" /> <style id='wp-emoji-styles-inline-css' type='text/css'> img.wp-smiley, img.emoji { display: inline !important; border: none !important; box-shadow: none !important; height: 1em !important; width: 1em !important; margin: 0 0.07em !important; vertical-align: -0.1em !important; background: none !important; padding: 0 !important; } </style> <link rel='stylesheet' id='wp-block-library-css' href='https://linuxhint.com/wp-includes/css/dist/block-library/style.min.css?ver=6.7.1' type='text/css' media='all' /> <style id='classic-theme-styles-inline-css' type='text/css'> /*! This file is auto-generated */ .wp-block-button__link{color:#fff;background-color:#32373c;border-radius:9999px;box-shadow:none;text-decoration:none;padding:calc(.667em + 2px) calc(1.333em + 2px);font-size:1.125em}.wp-block-file__button{background:#32373c;color:#fff;text-decoration:none} </style> <style id='global-styles-inline-css' type='text/css'> :root{--wp--preset--aspect-ratio--square: 1;--wp--preset--aspect-ratio--4-3: 4/3;--wp--preset--aspect-ratio--3-4: 3/4;--wp--preset--aspect-ratio--3-2: 3/2;--wp--preset--aspect-ratio--2-3: 2/3;--wp--preset--aspect-ratio--16-9: 16/9;--wp--preset--aspect-ratio--9-16: 9/16;--wp--preset--color--black: #000000;--wp--preset--color--cyan-bluish-gray: #abb8c3;--wp--preset--color--white: #ffffff;--wp--preset--color--pale-pink: #f78da7;--wp--preset--color--vivid-red: #cf2e2e;--wp--preset--color--luminous-vivid-orange: #ff6900;--wp--preset--color--luminous-vivid-amber: #fcb900;--wp--preset--color--light-green-cyan: #7bdcb5;--wp--preset--color--vivid-green-cyan: #00d084;--wp--preset--color--pale-cyan-blue: #8ed1fc;--wp--preset--color--vivid-cyan-blue: #0693e3;--wp--preset--color--vivid-purple: #9b51e0;--wp--preset--color--vce-acc: #cf4d35;--wp--preset--color--vce-meta: #9b9b9b;--wp--preset--color--vce-txt: #444444;--wp--preset--color--vce-bg: #ffffff;--wp--preset--color--vce-cat-0: ;--wp--preset--gradient--vivid-cyan-blue-to-vivid-purple: linear-gradient(135deg,rgba(6,147,227,1) 0%,rgb(155,81,224) 100%);--wp--preset--gradient--light-green-cyan-to-vivid-green-cyan: linear-gradient(135deg,rgb(122,220,180) 0%,rgb(0,208,130) 100%);--wp--preset--gradient--luminous-vivid-amber-to-luminous-vivid-orange: linear-gradient(135deg,rgba(252,185,0,1) 0%,rgba(255,105,0,1) 100%);--wp--preset--gradient--luminous-vivid-orange-to-vivid-red: linear-gradient(135deg,rgba(255,105,0,1) 0%,rgb(207,46,46) 100%);--wp--preset--gradient--very-light-gray-to-cyan-bluish-gray: linear-gradient(135deg,rgb(238,238,238) 0%,rgb(169,184,195) 100%);--wp--preset--gradient--cool-to-warm-spectrum: linear-gradient(135deg,rgb(74,234,220) 0%,rgb(151,120,209) 20%,rgb(207,42,186) 40%,rgb(238,44,130) 60%,rgb(251,105,98) 80%,rgb(254,248,76) 100%);--wp--preset--gradient--blush-light-purple: linear-gradient(135deg,rgb(255,206,236) 0%,rgb(152,150,240) 100%);--wp--preset--gradient--blush-bordeaux: linear-gradient(135deg,rgb(254,205,165) 0%,rgb(254,45,45) 50%,rgb(107,0,62) 100%);--wp--preset--gradient--luminous-dusk: linear-gradient(135deg,rgb(255,203,112) 0%,rgb(199,81,192) 50%,rgb(65,88,208) 100%);--wp--preset--gradient--pale-ocean: linear-gradient(135deg,rgb(255,245,203) 0%,rgb(182,227,212) 50%,rgb(51,167,181) 100%);--wp--preset--gradient--electric-grass: linear-gradient(135deg,rgb(202,248,128) 0%,rgb(113,206,126) 100%);--wp--preset--gradient--midnight: linear-gradient(135deg,rgb(2,3,129) 0%,rgb(40,116,252) 100%);--wp--preset--font-size--small: 13px;--wp--preset--font-size--medium: 20px;--wp--preset--font-size--large: 21px;--wp--preset--font-size--x-large: 42px;--wp--preset--font-size--normal: 16px;--wp--preset--font-size--huge: 28px;--wp--preset--spacing--20: 0.44rem;--wp--preset--spacing--30: 0.67rem;--wp--preset--spacing--40: 1rem;--wp--preset--spacing--50: 1.5rem;--wp--preset--spacing--60: 2.25rem;--wp--preset--spacing--70: 3.38rem;--wp--preset--spacing--80: 5.06rem;--wp--preset--shadow--natural: 6px 6px 9px rgba(0, 0, 0, 0.2);--wp--preset--shadow--deep: 12px 12px 50px rgba(0, 0, 0, 0.4);--wp--preset--shadow--sharp: 6px 6px 0px rgba(0, 0, 0, 0.2);--wp--preset--shadow--outlined: 6px 6px 0px -3px rgba(255, 255, 255, 1), 6px 6px rgba(0, 0, 0, 1);--wp--preset--shadow--crisp: 6px 6px 0px rgba(0, 0, 0, 1);}:where(.is-layout-flex){gap: 0.5em;}:where(.is-layout-grid){gap: 0.5em;}body .is-layout-flex{display: flex;}.is-layout-flex{flex-wrap: wrap;align-items: center;}.is-layout-flex > :is(*, div){margin: 0;}body .is-layout-grid{display: grid;}.is-layout-grid > :is(*, div){margin: 0;}:where(.wp-block-columns.is-layout-flex){gap: 2em;}:where(.wp-block-columns.is-layout-grid){gap: 2em;}:where(.wp-block-post-template.is-layout-flex){gap: 1.25em;}:where(.wp-block-post-template.is-layout-grid){gap: 1.25em;}.has-black-color{color: var(--wp--preset--color--black) !important;}.has-cyan-bluish-gray-color{color: var(--wp--preset--color--cyan-bluish-gray) !important;}.has-white-color{color: var(--wp--preset--color--white) !important;}.has-pale-pink-color{color: var(--wp--preset--color--pale-pink) !important;}.has-vivid-red-color{color: var(--wp--preset--color--vivid-red) !important;}.has-luminous-vivid-orange-color{color: var(--wp--preset--color--luminous-vivid-orange) !important;}.has-luminous-vivid-amber-color{color: var(--wp--preset--color--luminous-vivid-amber) !important;}.has-light-green-cyan-color{color: var(--wp--preset--color--light-green-cyan) !important;}.has-vivid-green-cyan-color{color: var(--wp--preset--color--vivid-green-cyan) !important;}.has-pale-cyan-blue-color{color: var(--wp--preset--color--pale-cyan-blue) !important;}.has-vivid-cyan-blue-color{color: var(--wp--preset--color--vivid-cyan-blue) !important;}.has-vivid-purple-color{color: var(--wp--preset--color--vivid-purple) !important;}.has-black-background-color{background-color: var(--wp--preset--color--black) !important;}.has-cyan-bluish-gray-background-color{background-color: var(--wp--preset--color--cyan-bluish-gray) !important;}.has-white-background-color{background-color: var(--wp--preset--color--white) !important;}.has-pale-pink-background-color{background-color: var(--wp--preset--color--pale-pink) !important;}.has-vivid-red-background-color{background-color: var(--wp--preset--color--vivid-red) !important;}.has-luminous-vivid-orange-background-color{background-color: var(--wp--preset--color--luminous-vivid-orange) !important;}.has-luminous-vivid-amber-background-color{background-color: var(--wp--preset--color--luminous-vivid-amber) !important;}.has-light-green-cyan-background-color{background-color: var(--wp--preset--color--light-green-cyan) !important;}.has-vivid-green-cyan-background-color{background-color: var(--wp--preset--color--vivid-green-cyan) !important;}.has-pale-cyan-blue-background-color{background-color: var(--wp--preset--color--pale-cyan-blue) !important;}.has-vivid-cyan-blue-background-color{background-color: var(--wp--preset--color--vivid-cyan-blue) !important;}.has-vivid-purple-background-color{background-color: var(--wp--preset--color--vivid-purple) !important;}.has-black-border-color{border-color: var(--wp--preset--color--black) !important;}.has-cyan-bluish-gray-border-color{border-color: var(--wp--preset--color--cyan-bluish-gray) !important;}.has-white-border-color{border-color: var(--wp--preset--color--white) !important;}.has-pale-pink-border-color{border-color: var(--wp--preset--color--pale-pink) !important;}.has-vivid-red-border-color{border-color: var(--wp--preset--color--vivid-red) !important;}.has-luminous-vivid-orange-border-color{border-color: var(--wp--preset--color--luminous-vivid-orange) !important;}.has-luminous-vivid-amber-border-color{border-color: var(--wp--preset--color--luminous-vivid-amber) !important;}.has-light-green-cyan-border-color{border-color: var(--wp--preset--color--light-green-cyan) !important;}.has-vivid-green-cyan-border-color{border-color: var(--wp--preset--color--vivid-green-cyan) !important;}.has-pale-cyan-blue-border-color{border-color: var(--wp--preset--color--pale-cyan-blue) !important;}.has-vivid-cyan-blue-border-color{border-color: var(--wp--preset--color--vivid-cyan-blue) !important;}.has-vivid-purple-border-color{border-color: var(--wp--preset--color--vivid-purple) !important;}.has-vivid-cyan-blue-to-vivid-purple-gradient-background{background: var(--wp--preset--gradient--vivid-cyan-blue-to-vivid-purple) !important;}.has-light-green-cyan-to-vivid-green-cyan-gradient-background{background: var(--wp--preset--gradient--light-green-cyan-to-vivid-green-cyan) !important;}.has-luminous-vivid-amber-to-luminous-vivid-orange-gradient-background{background: var(--wp--preset--gradient--luminous-vivid-amber-to-luminous-vivid-orange) !important;}.has-luminous-vivid-orange-to-vivid-red-gradient-background{background: var(--wp--preset--gradient--luminous-vivid-orange-to-vivid-red) !important;}.has-very-light-gray-to-cyan-bluish-gray-gradient-background{background: var(--wp--preset--gradient--very-light-gray-to-cyan-bluish-gray) !important;}.has-cool-to-warm-spectrum-gradient-background{background: var(--wp--preset--gradient--cool-to-warm-spectrum) !important;}.has-blush-light-purple-gradient-background{background: var(--wp--preset--gradient--blush-light-purple) !important;}.has-blush-bordeaux-gradient-background{background: var(--wp--preset--gradient--blush-bordeaux) !important;}.has-luminous-dusk-gradient-background{background: var(--wp--preset--gradient--luminous-dusk) !important;}.has-pale-ocean-gradient-background{background: var(--wp--preset--gradient--pale-ocean) !important;}.has-electric-grass-gradient-background{background: var(--wp--preset--gradient--electric-grass) !important;}.has-midnight-gradient-background{background: var(--wp--preset--gradient--midnight) !important;}.has-small-font-size{font-size: var(--wp--preset--font-size--small) !important;}.has-medium-font-size{font-size: var(--wp--preset--font-size--medium) !important;}.has-large-font-size{font-size: var(--wp--preset--font-size--large) !important;}.has-x-large-font-size{font-size: var(--wp--preset--font-size--x-large) !important;} :where(.wp-block-post-template.is-layout-flex){gap: 1.25em;}:where(.wp-block-post-template.is-layout-grid){gap: 1.25em;} :where(.wp-block-columns.is-layout-flex){gap: 2em;}:where(.wp-block-columns.is-layout-grid){gap: 2em;} :root :where(.wp-block-pullquote){font-size: 1.5em;line-height: 1.6;} </style> <link data-minify="1" rel='stylesheet' id='same-category-posts-css' href='https://linuxhint.com/wp-content/cache/min/1/wp-content/plugins/same-category-posts/same-category-posts.css?ver=1731858713' type='text/css' media='all' /> <link data-minify="1" rel='stylesheet' id='ppress-frontend-css' href='https://linuxhint.com/wp-content/cache/min/1/wp-content/plugins/wp-user-avatar/assets/css/frontend.min.css?ver=1731858713' type='text/css' media='all' /> <link rel='stylesheet' id='ppress-flatpickr-css' href='https://linuxhint.com/wp-content/plugins/wp-user-avatar/assets/flatpickr/flatpickr.min.css?ver=4.15.18' type='text/css' media='all' /> <link rel='stylesheet' id='ppress-select2-css' href='https://linuxhint.com/wp-content/plugins/wp-user-avatar/assets/select2/select2.min.css?ver=6.7.1' type='text/css' media='all' /> <link data-minify="1" rel='stylesheet' id='vce-style-css' href='https://linuxhint.com/wp-content/cache/min/1/wp-content/themes/voice/assets/css/min.css?ver=1731858713' type='text/css' media='all' /> <style id='vce-style-inline-css' type='text/css'> body, button, input, select, textarea {font-size: 1.6rem;}.vce-single .entry-headline p{font-size: 2.2rem;}.main-navigation a{font-size: 1.4rem;}.sidebar .widget-title{font-size: 1.8rem;}.sidebar .widget, .vce-lay-c .entry-content, .vce-lay-h .entry-content {font-size: 1.4rem;}.vce-featured-link-article{font-size: 5.2rem;}.vce-featured-grid-big.vce-featured-grid .vce-featured-link-article{font-size: 3.4rem;}.vce-featured-grid .vce-featured-link-article{font-size: 2.2rem;}h1 { font-size: 4.5rem; }h2 { font-size: 4.0rem; }h3 { font-size: 3.5rem; }h4 { font-size: 2.5rem; }h5 { font-size: 2.0rem; }h6 { font-size: 1.8rem; }.comment-reply-title, .main-box-title{font-size: 2.2rem;}h1.entry-title{font-size: 4.5rem;}.vce-lay-a .entry-title a{font-size: 3.4rem;}.vce-lay-b .entry-title{font-size: 2.4rem;}.vce-lay-c .entry-title, .vce-sid-none .vce-lay-c .entry-title{font-size: 2.2rem;}.vce-lay-d .entry-title{font-size: 1.5rem;}.vce-lay-e .entry-title{font-size: 1.4rem;}.vce-lay-f .entry-title{font-size: 1.4rem;}.vce-lay-g .entry-title a, .vce-lay-g .entry-title a:hover{font-size: 3.0rem;}.vce-lay-h .entry-title{font-size: 2.4rem;}.entry-meta div,.entry-meta div a,.vce-lay-g .meta-item,.vce-lay-c .meta-item{font-size: 1.4rem;}.vce-lay-d .meta-category a,.vce-lay-d .entry-meta div,.vce-lay-d .entry-meta div a,.vce-lay-e .entry-meta div,.vce-lay-e .entry-meta div a,.vce-lay-e .fn,.vce-lay-e .meta-item{font-size: 1.3rem;}body {background-color:#f0f0f0;}body,.mks_author_widget h3,.site-description,.meta-category a,textarea {font-family: 'Poppins';font-weight: 400;}h1,h2,h3,h4,h5,h6,blockquote,.vce-post-link,.site-title,.site-title a,.main-box-title,.comment-reply-title,.entry-title a,.vce-single .entry-headline p,.vce-prev-next-link,.author-title,.mks_pullquote,.widget_rss ul li .rsswidget,#bbpress-forums .bbp-forum-title,#bbpress-forums .bbp-topic-permalink {font-family: 'Poppins';font-weight: 400;}.main-navigation a,.sidr a{font-family: 'Poppins';font-weight: 600;}.vce-single .entry-content,.vce-single .entry-headline,.vce-single .entry-footer,.vce-share-bar {width: 730px;}.vce-lay-a .lay-a-content{width: 730px;max-width: 730px;}.vce-page .entry-content,.vce-page .entry-title-page {width: 600px;}.vce-sid-none .vce-single .entry-content,.vce-sid-none .vce-single .entry-headline,.vce-sid-none .vce-single .entry-footer {width: 800px;}.vce-sid-none .vce-page .entry-content,.vce-sid-none .vce-page .entry-title-page,.error404 .entry-content {width: 750px;max-width: 750px;}body, button, input, select, textarea{color: #444444;}h1,h2,h3,h4,h5,h6,.entry-title a,.prev-next-nav a,#bbpress-forums .bbp-forum-title, #bbpress-forums .bbp-topic-permalink,.woocommerce ul.products li.product .price .amount{color: #444444;}a,.entry-title a:hover,.vce-prev-next-link:hover,.vce-author-links a:hover,.required,.error404 h4,.prev-next-nav a:hover,#bbpress-forums .bbp-forum-title:hover, #bbpress-forums .bbp-topic-permalink:hover,.woocommerce ul.products li.product h3:hover,.woocommerce ul.products li.product h3:hover mark,.main-box-title a:hover{color: #cf4d35;}.vce-square,.vce-main-content .mejs-controls .mejs-time-rail .mejs-time-current,button,input[type="button"],input[type="reset"],input[type="submit"],.vce-button,.pagination-wapper a,#vce-pagination .next.page-numbers,#vce-pagination .prev.page-numbers,#vce-pagination .page-numbers,#vce-pagination .page-numbers.current,.vce-link-pages a,#vce-pagination a,.vce-load-more a,.vce-slider-pagination .owl-nav > div,.vce-mega-menu-posts-wrap .owl-nav > div,.comment-reply-link:hover,.vce-featured-section a,.vce-lay-g .vce-featured-info .meta-category a,.vce-404-menu a,.vce-post.sticky .meta-image:before,#vce-pagination .page-numbers:hover,#bbpress-forums .bbp-pagination .current,#bbpress-forums .bbp-pagination a:hover,.woocommerce #respond input#submit,.woocommerce a.button,.woocommerce button.button,.woocommerce input.button,.woocommerce ul.products li.product .added_to_cart,.woocommerce #respond input#submit:hover,.woocommerce a.button:hover,.woocommerce button.button:hover,.woocommerce input.button:hover,.woocommerce ul.products li.product .added_to_cart:hover,.woocommerce #respond input#submit.alt,.woocommerce a.button.alt,.woocommerce button.button.alt,.woocommerce input.button.alt,.woocommerce #respond input#submit.alt:hover, .woocommerce a.button.alt:hover, .woocommerce button.button.alt:hover, .woocommerce input.button.alt:hover,.woocommerce span.onsale,.woocommerce .widget_price_filter .ui-slider .ui-slider-range,.woocommerce .widget_price_filter .ui-slider .ui-slider-handle,.comments-holder .navigation .page-numbers.current,.vce-lay-a .vce-read-more:hover,.vce-lay-c .vce-read-more:hover,body div.wpforms-container-full .wpforms-form input[type=submit], body div.wpforms-container-full .wpforms-form button[type=submit], body div.wpforms-container-full .wpforms-form .wpforms-page-button,body div.wpforms-container-full .wpforms-form input[type=submit]:hover, body div.wpforms-container-full .wpforms-form button[type=submit]:hover, body div.wpforms-container-full .wpforms-form .wpforms-page-button:hover,.wp-block-search__button {background-color: #cf4d35;}#vce-pagination .page-numbers,.comments-holder .navigation .page-numbers{background: transparent;color: #cf4d35;border: 1px solid #cf4d35;}.comments-holder .navigation .page-numbers:hover{background: #cf4d35;border: 1px solid #cf4d35;}.bbp-pagination-links a{background: transparent;color: #cf4d35;border: 1px solid #cf4d35 !important;}#vce-pagination .page-numbers.current,.bbp-pagination-links span.current,.comments-holder .navigation .page-numbers.current{border: 1px solid #cf4d35;}.widget_categories .cat-item:before,.widget_categories .cat-item .count{background: #cf4d35;}.comment-reply-link,.vce-lay-a .vce-read-more,.vce-lay-c .vce-read-more{border: 1px solid #cf4d35;}.entry-meta div,.entry-meta-count,.entry-meta div a,.comment-metadata a,.meta-category span,.meta-author-wrapped,.wp-caption .wp-caption-text,.widget_rss .rss-date,.sidebar cite,.site-footer cite,.sidebar .vce-post-list .entry-meta div,.sidebar .vce-post-list .entry-meta div a,.sidebar .vce-post-list .fn,.sidebar .vce-post-list .fn a,.site-footer .vce-post-list .entry-meta div,.site-footer .vce-post-list .entry-meta div a,.site-footer .vce-post-list .fn,.site-footer .vce-post-list .fn a,#bbpress-forums .bbp-topic-started-by,#bbpress-forums .bbp-topic-started-in,#bbpress-forums .bbp-forum-info .bbp-forum-content,#bbpress-forums p.bbp-topic-meta,span.bbp-admin-links a,.bbp-reply-post-date,#bbpress-forums li.bbp-header,#bbpress-forums li.bbp-footer,.woocommerce .woocommerce-result-count,.woocommerce .product_meta{color: #9b9b9b;}.main-box-title, .comment-reply-title, .main-box-head{background: #cf4d35;color: #ffffff;}.main-box-title a{color: #ffffff;}.sidebar .widget .widget-title a{color: #ffffff;}.main-box,.comment-respond,.prev-next-nav{background: #f9f9f9;}.vce-post,ul.comment-list > li.comment,.main-box-single,.ie8 .vce-single,#disqus_thread,.vce-author-card,.vce-author-card .vce-content-outside,.mks-bredcrumbs-container,ul.comment-list > li.pingback{background: #ffffff;}.mks_tabs.horizontal .mks_tab_nav_item.active{border-bottom: 1px solid #ffffff;}.mks_tabs.horizontal .mks_tab_item,.mks_tabs.vertical .mks_tab_nav_item.active,.mks_tabs.horizontal .mks_tab_nav_item.active{background: #ffffff;}.mks_tabs.vertical .mks_tab_nav_item.active{border-right: 1px solid #ffffff;}#vce-pagination,.vce-slider-pagination .owl-controls,.vce-content-outside,.comments-holder .navigation{background: #f3f3f3;}.sidebar .widget-title{background: #ffffff;color: #dd3333;}.sidebar .widget{background: #f9f9f9;}.sidebar .widget,.sidebar .widget li a,.sidebar .mks_author_widget h3 a,.sidebar .mks_author_widget h3,.sidebar .vce-search-form .vce-search-input,.sidebar .vce-search-form .vce-search-input:focus{color: #444444;}.sidebar .widget li a:hover,.sidebar .widget a,.widget_nav_menu li.menu-item-has-children:hover:after,.widget_pages li.page_item_has_children:hover:after{color: #cf4d35;}.sidebar .tagcloud a {border: 1px solid #cf4d35;}.sidebar .mks_author_link,.sidebar .tagcloud a:hover,.sidebar .mks_themeforest_widget .more,.sidebar button,.sidebar input[type="button"],.sidebar input[type="reset"],.sidebar input[type="submit"],.sidebar .vce-button,.sidebar .bbp_widget_login .button{background-color: #cf4d35;}.sidebar .mks_author_widget .mks_autor_link_wrap,.sidebar .mks_themeforest_widget .mks_read_more,.widget .meks-instagram-follow-link {background: #f3f3f3;}.sidebar #wp-calendar caption,.sidebar .recentcomments,.sidebar .post-date,.sidebar #wp-calendar tbody{color: rgba(68,68,68,0.7);}.site-footer{background: #373941;}.site-footer .widget-title{color: #ffffff;}.site-footer,.site-footer .widget,.site-footer .widget li a,.site-footer .mks_author_widget h3 a,.site-footer .mks_author_widget h3,.site-footer .vce-search-form .vce-search-input,.site-footer .vce-search-form .vce-search-input:focus{color: #ccd2d8;}.site-footer .widget li a:hover,.site-footer .widget a,.site-info a{color: #cf4d35;}.site-footer .tagcloud a {border: 1px solid #cf4d35;}.site-footer .mks_author_link,.site-footer .mks_themeforest_widget .more,.site-footer button,.site-footer input[type="button"],.site-footer input[type="reset"],.site-footer input[type="submit"],.site-footer .vce-button,.site-footer .tagcloud a:hover{background-color: #cf4d35;}.site-footer #wp-calendar caption,.site-footer .recentcomments,.site-footer .post-date,.site-footer #wp-calendar tbody,.site-footer .site-info{color: rgba(204,210,216,0.7);}.top-header,.top-nav-menu li .sub-menu{background: #2c2d34;}.top-header,.top-header a{color: #ffffff;}.top-header .vce-search-form .vce-search-input,.top-header .vce-search-input:focus,.top-header .vce-search-submit{color: #ffffff;}.top-header .vce-search-form .vce-search-input::-webkit-input-placeholder { color: #ffffff;}.top-header .vce-search-form .vce-search-input:-moz-placeholder { color: #ffffff;}.top-header .vce-search-form .vce-search-input::-moz-placeholder { color: #ffffff;}.top-header .vce-search-form .vce-search-input:-ms-input-placeholder { color: #ffffff;}.header-1-wrapper{height: 100px;padding-top: 15px;}.header-2-wrapper,.header-3-wrapper{height: 100px;}.header-2-wrapper .site-branding,.header-3-wrapper .site-branding{top: 15px;left: 0px;}.site-title a, .site-title a:hover{color: #23282d;}.site-description{color: #aaaaaa;}.main-header{background-color: #000000;}.header-bottom-wrapper{background: #e64338;}.vce-header-ads{margin: 5px 0;}.header-3-wrapper .nav-menu > li > a{padding: 40px 15px;}.header-sticky,.sidr{background: rgba(0,0,0,0.95);}.ie8 .header-sticky{background: #000000;}.main-navigation a,.nav-menu .vce-mega-menu > .sub-menu > li > a,.sidr li a,.vce-menu-parent{color: #ffffff;}.nav-menu > li:hover > a,.nav-menu > .current_page_item > a,.nav-menu > .current-menu-item > a,.nav-menu > .current-menu-ancestor > a,.main-navigation a.vce-item-selected,.main-navigation ul ul li:hover > a,.nav-menu ul .current-menu-item a,.nav-menu ul .current_page_item a,.vce-menu-parent:hover,.sidr li a:hover,.sidr li.sidr-class-current_page_item > a,.main-navigation li.current-menu-item.fa:before,.vce-responsive-nav{color: #ff0505;}#sidr-id-vce_main_navigation_menu .soc-nav-menu li a:hover {color: #ffffff;}.nav-menu > li:hover > a,.nav-menu > .current_page_item > a,.nav-menu > .current-menu-item > a,.nav-menu > .current-menu-ancestor > a,.main-navigation a.vce-item-selected,.main-navigation ul ul,.header-sticky .nav-menu > .current_page_item:hover > a,.header-sticky .nav-menu > .current-menu-item:hover > a,.header-sticky .nav-menu > .current-menu-ancestor:hover > a,.header-sticky .main-navigation a.vce-item-selected:hover{background-color: #000000;}.search-header-wrap ul {border-top: 2px solid #ff0505;}.vce-cart-icon a.vce-custom-cart span,.sidr-class-vce-custom-cart .sidr-class-vce-cart-count {background: #ff0505;font-family: 'Poppins';}.vce-border-top .main-box-title{border-top: 2px solid #cf4d35;}.tagcloud a:hover,.sidebar .widget .mks_author_link,.sidebar .widget.mks_themeforest_widget .more,.site-footer .widget .mks_author_link,.site-footer .widget.mks_themeforest_widget .more,.vce-lay-g .entry-meta div,.vce-lay-g .fn,.vce-lay-g .fn a{color: #FFF;}.vce-featured-header .vce-featured-header-background{opacity: 0.5}.vce-featured-grid .vce-featured-header-background,.vce-post-big .vce-post-img:after,.vce-post-slider .vce-post-img:after{opacity: 0.5}.vce-featured-grid .owl-item:hover .vce-grid-text .vce-featured-header-background,.vce-post-big li:hover .vce-post-img:after,.vce-post-slider li:hover .vce-post-img:after {opacity: 0.8}.vce-featured-grid.vce-featured-grid-big .vce-featured-header-background,.vce-post-big .vce-post-img:after,.vce-post-slider .vce-post-img:after{opacity: 0.5}.vce-featured-grid.vce-featured-grid-big .owl-item:hover .vce-grid-text .vce-featured-header-background,.vce-post-big li:hover .vce-post-img:after,.vce-post-slider li:hover .vce-post-img:after {opacity: 0.8}#back-top {background: #323232}.sidr input[type=text]{background: rgba(255,255,255,0.1);color: rgba(255,255,255,0.5);}.is-style-solid-color{background-color: #cf4d35;color: #ffffff;}.wp-block-image figcaption{color: #9b9b9b;}.wp-block-cover .wp-block-cover-image-text, .wp-block-cover .wp-block-cover-text, .wp-block-cover h2, .wp-block-cover-image .wp-block-cover-image-text, .wp-block-cover-image .wp-block-cover-text, .wp-block-cover-image h2,p.has-drop-cap:not(:focus)::first-letter,p.wp-block-subhead{font-family: 'Poppins';font-weight: 400;}.wp-block-cover .wp-block-cover-image-text, .wp-block-cover .wp-block-cover-text, .wp-block-cover h2, .wp-block-cover-image .wp-block-cover-image-text, .wp-block-cover-image .wp-block-cover-text, .wp-block-cover-image h2{font-size: 2.5rem;}p.wp-block-subhead{font-size: 2.2rem;}.wp-block-button__link{background: #cf4d35}.wp-block-search .wp-block-search__button{color: #ffffff}.meta-image:hover a img,.vce-lay-h .img-wrap:hover .meta-image > img,.img-wrp:hover img,.vce-gallery-big:hover img,.vce-gallery .gallery-item:hover img,.wp-block-gallery .blocks-gallery-item:hover img,.vce_posts_widget .vce-post-big li:hover img,.vce-featured-grid .owl-item:hover img,.vce-post-img:hover img,.mega-menu-img:hover img{-webkit-transform: scale(1.1);-moz-transform: scale(1.1);-o-transform: scale(1.1);-ms-transform: scale(1.1);transform: scale(1.1);}.has-small-font-size{ font-size: 1.2rem;}.has-large-font-size{ font-size: 1.9rem;}.has-huge-font-size{ font-size: 2.3rem;}@media(min-width: 671px){.has-small-font-size{ font-size: 1.3rem;}.has-normal-font-size{ font-size: 1.6rem;}.has-large-font-size{ font-size: 2.1rem;}.has-huge-font-size{ font-size: 2.8rem;}}.has-vce-acc-background-color{ background-color: #cf4d35;}.has-vce-acc-color{ color: #cf4d35;}.has-vce-meta-background-color{ background-color: #9b9b9b;}.has-vce-meta-color{ color: #9b9b9b;}.has-vce-txt-background-color{ background-color: #444444;}.has-vce-txt-color{ color: #444444;}.has-vce-bg-background-color{ background-color: #ffffff;}.has-vce-bg-color{ color: #ffffff;}.has-vce-cat-0-background-color{ background-color: ;}.has-vce-cat-0-color{ color: ;}.site-title a{text-transform: uppercase;}.site-description{text-transform: uppercase;}.nav-menu li a{text-transform: uppercase;}.main-box-title{text-transform: uppercase;}.sidebar .widget-title{text-transform: uppercase;}.site-footer .widget-title{text-transform: uppercase;}.vce-featured-link-article{text-transform: uppercase;} </style> <link rel='stylesheet' id='vce_child_load_scripts-css' href='https://linuxhint.com/wp-content/themes/voice-child/style.css?ver=3.0.2' type='text/css' media='screen' /> <link data-minify="1" rel='stylesheet' id='meks-author-widget-css' href='https://linuxhint.com/wp-content/cache/min/1/wp-content/plugins/meks-smart-author-widget/css/style.css?ver=1731858713' type='text/css' media='all' /> <link data-minify="1" rel='stylesheet' id='font-awesome-css' href='https://linuxhint.com/wp-content/cache/min/1/wp-content/plugins/wp-affiliate-disclosure/assets/css/font-awesome.min.css?ver=1731859435' type='text/css' media='all' /> <link data-minify="1" rel='stylesheet' id='wp-affiliate-disclosure-css' href='https://linuxhint.com/wp-content/cache/min/1/wp-content/plugins/wp-affiliate-disclosure/assets/css/core.css?ver=1731859435' type='text/css' media='all' /> <link rel='stylesheet' id='__EPYT__style-css' href='https://linuxhint.com/wp-content/plugins/youtube-embed-plus/styles/ytprefs.min.css?ver=14.2.1.2' type='text/css' media='all' /> <style id='__EPYT__style-inline-css' type='text/css'> .epyt-gallery-thumb { width: 33.333%; } </style> <style id='rocket-lazyload-inline-css' type='text/css'> .rll-youtube-player{position:relative;padding-bottom:56.23%;height:0;overflow:hidden;max-width:100%;}.rll-youtube-player:focus-within{outline: 2px solid currentColor;outline-offset: 5px;}.rll-youtube-player iframe{position:absolute;top:0;left:0;width:100%;height:100%;z-index:100;background:0 0}.rll-youtube-player img{bottom:0;display:block;left:0;margin:auto;max-width:100%;width:100%;position:absolute;right:0;top:0;border:none;height:auto;-webkit-transition:.4s all;-moz-transition:.4s all;transition:.4s all}.rll-youtube-player img:hover{-webkit-filter:brightness(75%)}.rll-youtube-player .play{height:100%;width:100%;left:0;top:0;position:absolute;background:url(https://linuxhint.com/wp-content/plugins/wp-rocket/assets/img/youtube.png) no-repeat center;background-color: transparent !important;cursor:pointer;border:none;}.wp-embed-responsive .wp-has-aspect-ratio .rll-youtube-player{position:absolute;padding-bottom:0;width:100%;height:100%;top:0;bottom:0;left:0;right:0} </style> <link data-minify="1" rel='stylesheet' id='codecolorer-css' href='https://linuxhint.com/wp-content/cache/min/1/wp-content/plugins/codecolorer/codecolorer.css?ver=1731858713' type='text/css' media='screen' /> <script type="text/javascript" src="https://linuxhint.com/wp-includes/js/jquery/jquery.min.js?ver=3.7.1" id="jquery-core-js"></script> <script type="text/javascript" src="https://linuxhint.com/wp-includes/js/jquery/jquery-migrate.min.js?ver=3.4.1" id="jquery-migrate-js"></script> <script type="text/javascript" src="https://linuxhint.com/wp-content/plugins/wp-user-avatar/assets/flatpickr/flatpickr.min.js?ver=4.15.18" id="ppress-flatpickr-js"></script> <script type="text/javascript" src="https://linuxhint.com/wp-content/plugins/wp-user-avatar/assets/select2/select2.min.js?ver=4.15.18" id="ppress-select2-js"></script> <script type="text/javascript" id="__ytprefs__-js-extra"> /* <![CDATA[ */ var _EPYT_ = {"ajaxurl":"https:\/\/linuxhint.com\/wp-admin\/admin-ajax.php","security":"9b34b6e948","gallery_scrolloffset":"20","eppathtoscripts":"https:\/\/linuxhint.com\/wp-content\/plugins\/youtube-embed-plus\/scripts\/","eppath":"https:\/\/linuxhint.com\/wp-content\/plugins\/youtube-embed-plus\/","epresponsiveselector":"[\"iframe.__youtube_prefs_widget__\"]","epdovol":"1","version":"14.2.1.2","evselector":"iframe.__youtube_prefs__[src], iframe[src*=\"youtube.com\/embed\/\"], iframe[src*=\"youtube-nocookie.com\/embed\/\"]","ajax_compat":"","maxres_facade":"eager","ytapi_load":"light","pause_others":"","stopMobileBuffer":"1","facade_mode":"","not_live_on_channel":"","vi_active":"","vi_js_posttypes":[]}; /* ]]> */ </script> <script type="text/javascript" src="https://linuxhint.com/wp-content/plugins/youtube-embed-plus/scripts/ytprefs.min.js?ver=14.2.1.2" id="__ytprefs__-js"></script> <link rel="https://api.w.org/" href="https://linuxhint.com/wp-json/" /><link rel="alternate" title="JSON" type="application/json" href="https://linuxhint.com/wp-json/wp/v2/posts/21360" /><link rel="EditURI" type="application/rsd+xml" title="RSD" href="https://linuxhint.com/xmlrpc.php?rsd" /> <meta name="generator" content="WordPress 6.7.1" /> <link rel="canonical" href="https://linuxhint.com/posix-standard/" /> <link rel='shortlink' href='https://linuxhint.com/?p=21360' /> <link rel="alternate" title="oEmbed (JSON)" type="application/json+oembed" href="https://linuxhint.com/wp-json/oembed/1.0/embed?url=https%3A%2F%2Flinuxhint.com%2Fposix-standard%2F" /> <link rel="alternate" title="oEmbed (XML)" type="text/xml+oembed" href="https://linuxhint.com/wp-json/oembed/1.0/embed?url=https%3A%2F%2Flinuxhint.com%2Fposix-standard%2F&format=xml" /> <meta name="generator" content="Redux 4.5.0" /><!-- [slickstream] Page Generated at: 11/24/2024, 5:04:59 AM EST --> <script>console.info(`[slickstream] Page Generated at: 11/24/2024, 5:04:59 AM EST`);</script> <script>console.info(`[slickstream] Current timestamp: ${(new Date).toLocaleString('en-US', { timeZone: 'America/New_York' })} EST`);</script> <!-- [slickstream] Page Boot Data: --> <script class='slickstream-script'> (function() { "slickstream"; const win = window; win.$slickBoot = win.$slickBoot || {}; win.$slickBoot.d = {"bestBy":1732445842844,"epoch":1692215359834,"siteCode":"PYQK73ZF","services":{"engagementCacheableApiDomain":"https:\/\/c50f.app.slickstream.com\/","engagementNonCacheableApiDomain":"https:\/\/c50b.app.slickstream.com\/","engagementResourcesDomain":"https:\/\/c50f.app.slickstream.com\/","storyCacheableApiDomain":"https:\/\/stories.slickstream.com\/","storyNonCacheableApiDomain":"https:\/\/stories.slickstream.com\/","storyResourcesDomain":"https:\/\/stories.slickstream.com\/","websocketUri":"wss:\/\/c50b-wss.app.slickstream.com\/socket?site=PYQK73ZF"},"bootUrl":"https:\/\/c.slickstream.com\/app\/2.13.102\/boot-loader.js","appUrl":"https:\/\/c.slickstream.com\/app\/2.13.102\/app.js","adminUrl":"","allowList":["linuxhint.com"],"abTests":[],"v2":{"phone":{"placeholders":[],"bootTriggerTimeout":250,"bestBy":1732445842844,"epoch":1692215359834,"siteCode":"PYQK73ZF","services":{"engagementCacheableApiDomain":"https:\/\/c50f.app.slickstream.com\/","engagementNonCacheableApiDomain":"https:\/\/c50b.app.slickstream.com\/","engagementResourcesDomain":"https:\/\/c50f.app.slickstream.com\/","storyCacheableApiDomain":"https:\/\/stories.slickstream.com\/","storyNonCacheableApiDomain":"https:\/\/stories.slickstream.com\/","storyResourcesDomain":"https:\/\/stories.slickstream.com\/","websocketUri":"wss:\/\/c50b-wss.app.slickstream.com\/socket?site=PYQK73ZF"},"bootUrl":"https:\/\/c.slickstream.com\/app\/2.13.102\/boot-loader.js","appUrl":"https:\/\/c.slickstream.com\/app\/2.13.102\/app.js","adminUrl":"","allowList":["linuxhint.com"],"abTests":[]},"tablet":{"placeholders":[],"bootTriggerTimeout":250,"bestBy":1732445842844,"epoch":1692215359834,"siteCode":"PYQK73ZF","services":{"engagementCacheableApiDomain":"https:\/\/c50f.app.slickstream.com\/","engagementNonCacheableApiDomain":"https:\/\/c50b.app.slickstream.com\/","engagementResourcesDomain":"https:\/\/c50f.app.slickstream.com\/","storyCacheableApiDomain":"https:\/\/stories.slickstream.com\/","storyNonCacheableApiDomain":"https:\/\/stories.slickstream.com\/","storyResourcesDomain":"https:\/\/stories.slickstream.com\/","websocketUri":"wss:\/\/c50b-wss.app.slickstream.com\/socket?site=PYQK73ZF"},"bootUrl":"https:\/\/c.slickstream.com\/app\/2.13.102\/boot-loader.js","appUrl":"https:\/\/c.slickstream.com\/app\/2.13.102\/app.js","adminUrl":"","allowList":["linuxhint.com"],"abTests":[]},"desktop":{"placeholders":[],"bootTriggerTimeout":250,"bestBy":1732445842844,"epoch":1692215359834,"siteCode":"PYQK73ZF","services":{"engagementCacheableApiDomain":"https:\/\/c50f.app.slickstream.com\/","engagementNonCacheableApiDomain":"https:\/\/c50b.app.slickstream.com\/","engagementResourcesDomain":"https:\/\/c50f.app.slickstream.com\/","storyCacheableApiDomain":"https:\/\/stories.slickstream.com\/","storyNonCacheableApiDomain":"https:\/\/stories.slickstream.com\/","storyResourcesDomain":"https:\/\/stories.slickstream.com\/","websocketUri":"wss:\/\/c50b-wss.app.slickstream.com\/socket?site=PYQK73ZF"},"bootUrl":"https:\/\/c.slickstream.com\/app\/2.13.102\/boot-loader.js","appUrl":"https:\/\/c.slickstream.com\/app\/2.13.102\/app.js","adminUrl":"","allowList":["linuxhint.com"],"abTests":[]},"unknown":{"placeholders":[],"bootTriggerTimeout":250,"bestBy":1732445842844,"epoch":1692215359834,"siteCode":"PYQK73ZF","services":{"engagementCacheableApiDomain":"https:\/\/c50f.app.slickstream.com\/","engagementNonCacheableApiDomain":"https:\/\/c50b.app.slickstream.com\/","engagementResourcesDomain":"https:\/\/c50f.app.slickstream.com\/","storyCacheableApiDomain":"https:\/\/stories.slickstream.com\/","storyNonCacheableApiDomain":"https:\/\/stories.slickstream.com\/","storyResourcesDomain":"https:\/\/stories.slickstream.com\/","websocketUri":"wss:\/\/c50b-wss.app.slickstream.com\/socket?site=PYQK73ZF"},"bootUrl":"https:\/\/c.slickstream.com\/app\/2.13.102\/boot-loader.js","appUrl":"https:\/\/c.slickstream.com\/app\/2.13.102\/app.js","adminUrl":"","allowList":["linuxhint.com"],"abTests":[]}}}; win.$slickBoot.s = 'plugin'; win.$slickBoot._bd = performance.now(); })(); </script> <!-- [slickstream] END Page Boot Data --> <meta property='slick:wpversion' content='2.0.3' /> <!-- [slickstream] Bootloader: --> <script class='slickstream-script'>'use strict'; (async(e,t)=>{if(location.search.indexOf("no-slick")>=0){return}let s;const a=()=>performance.now();let c=window.$slickBoot=window.$slickBoot||{};c.rt=e;c._es=a();c.ev="2.0.1";c.l=async(e,t)=>{try{let c=0;if(!s&&"caches"in self){s=await caches.open("slickstream-code")}if(s){let o=await s.match(e);if(!o){c=a();await s.add(e);o=await s.match(e);if(o&&!o.ok){o=undefined;s.delete(e)}}if(o){const e=o.headers.get("x-slickstream-consent");return{t:c,d:t?await o.blob():await o.json(),c:e||"na"}}}}catch(e){console.log(e)}return{}};const o=e=>new Request(e,{cache:"no-store"});if(!c.d||c.d.bestBy<Date.now()){const s=o(`${e}/d/page-boot-data?site=${t}&url=${encodeURIComponent(location.href.split("#")[0])}`);let{t:i,d:n,c:l}=await c.l(s);if(n){if(n.bestBy<Date.now()){n=undefined}else if(i){c._bd=i;c.c=l}}if(!n){c._bd=a();const e=await fetch(s);const t=e.headers.get("x-slickstream-consent");c.c=t||"na";n=await e.json()}if(n){c.d=n;c.s="embed"}}if(c.d){let e=c.d.bootUrl;const{t:t,d:s}=await c.l(o(e),true);if(s){c.bo=e=URL.createObjectURL(s);if(t){c._bf=t}}else{c._bf=a()}const i=document.createElement("script");i.className="slickstream-script";i.src=e;document.head.appendChild(i)}else{console.log("[slickstream] Boot failed")}}) ("https://app.slickstream.com","PYQK73ZF"); </script> <!-- [slickstream] END Bootloader --> <!-- [slickstream] Page Metadata: --> <meta property="slick:wppostid" content="21360" /> <meta property="slick:featured_image" content="https://linuxhint.com/wp-content/uploads/2018/01/posix.png" /> <meta property="slick:group" content="post" /> <meta property="slick:category" content="software-development:software development" /> <script type="application/x-slickstream+json">{"@context":"https://slickstream.com","@graph":[{"@type":"Plugin","version":"2.0.3"},{"@type":"Site","name":"","url":"https://linuxhint.com","description":"Linux Hint","atomUrl":"https://linuxhint.com/feed/atom/","rtl":false},{"@type":"WebPage","@id":21360,"isFront":false,"isHome":false,"isCategory":false,"isTag":false,"isSingular":true,"date":"2018-01-06T22:40:19-08:00","modified":"2021-07-17T09:21:20-07:00","title":"Posix Standard","pageType":"post","postType":"post","featured_image":"https://linuxhint.com/wp-content/uploads/2018/01/posix.png","categories":[{"@id":2321,"slug":"software-development","name":"software development","parents":[]}],"tags":["posix"]}]}</script> <!-- [slickstream] END Page Metadata --> <script class='slickstream-script'> (function() { const slickstreamRocketPluginScripts = document.querySelectorAll('script.slickstream-script[type=rocketlazyloadscript]'); const slickstreamRocketExternalScripts = document.querySelectorAll('script[type=rocketlazyloadscript][src*="app.slickstream.com"]'); if (slickstreamRocketPluginScripts.length > 0 || slickstreamRocketExternalScripts.length > 0) { console.warn('[slickstream]' + ['Slickstream scripts. This ', 'may cause undesirable behavior, ', 'such as increased CLS scores.',' WP-Rocket is deferring one or more ',].sort().join('')); } })(); </script><meta name="robots" content="noai, noimageai"><!-- Google Tag Manager --> <script>(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-KT4SMCS');</script> <!-- End Google Tag Manager --> <meta name='ir-site-verification-token' value='1289819848' /><link rel="icon" href="https://linuxhint.com/wp-content/uploads/2021/09/cropped-512x512_linuxhint-32x32.png" sizes="32x32" /> <link rel="icon" href="https://linuxhint.com/wp-content/uploads/2021/09/cropped-512x512_linuxhint-192x192.png" sizes="192x192" /> <link rel="apple-touch-icon" href="https://linuxhint.com/wp-content/uploads/2021/09/cropped-512x512_linuxhint-180x180.png" /> <meta name="msapplication-TileImage" content="https://linuxhint.com/wp-content/uploads/2021/09/cropped-512x512_linuxhint-270x270.png" /> <script data-no-optimize='1' data-cfasync='false' id='cls-disable-ads-16e38f4'>var cls_disable_ads=function(e){"use strict";var t,i,o,a,n,r,s,d,l,c,p,u,h,_,m,v,S,f,O,g;window.adthriveCLS.buildDate="2024-11-22",function(e){e.amznbid="amznbid",e.amzniid="amzniid",e.amznp="amznp",e.amznsz="amznsz"}(t||(t={})),function(e){e.ThirtyThreeAcross="33across",e.Adform="adform",e.Aidem="aidem",e.AidemServer="aidem_ss",e.AppNexus="appnexus",e.AmazonTAM="amazon",e.AmazonUAM="AmazonUAM",e.AmazonASR="AmazonASR",e.Colossus="colossus",e.ColossusServer="col_ss",e.Conversant="conversant",e.Concert="concert",e.Criteo="criteo",e.CriteoServer="crit_ss",e.GumGum="gumgum",e.ImproveDigital="improvedigital",e.ImproveDigitalServer="improve_ss",e.IndexExchange="ix",e.Kargo="kargo",e.KargoServer="krgo_ss",e.MediaGrid="grid",e.MediaGridVideo="gridvid",e.Nativo="nativo",e.OpenX="openx",e.Ogury="ogury",e.OpenXServer="opnx_ss",e.Ozone="ozone",e.Pubmatic="pubmatic",e.PubmaticServer="pubm_ss",e.ResetDigital="resetdigital",e.Rise="rise",e.Rtbhouse="rtbhouse",e.Rubicon="rubicon",e.RubiconServer="rubi_ss",e.RubiconServerISV="rubiv_ss",e.Seedtag="seedtag",e.Sharethrough="sharethrough",e.Teads="teads",e.Triplelift="triplelift",e.TripleliftServer="tripl_ss",e.TTD="ttd",e.Undertone="undertone",e.UndertoneServer="under_ss",e.Unruly="unruly",e.YahooSSP="yahoossp",e.YahooSSPServer="yah_ss",e.Verizon="verizon",e.Yieldmo="yieldmo",e.Flipp="flipp"}(i||(i={})),function(e){e.Prebid="prebid",e.GAM="gam",e.Amazon="amazon",e.Marmalade="marmalade",e.Floors="floors",e.CMP="cmp",e.Optable="optable",e.OptimalBidder="optimalBidder"}(o||(o={})),function(e){e.cm="cm",e.fbrap="fbrap",e.rapml="rapml"}(a||(a={})),function(e){e.lazy="lazy",e.raptive="raptive",e.refresh="refresh",e.session="session",e.crossDomain="crossdomain",e.highSequence="highsequence",e.lazyBidPool="lazyBidPool"}(n||(n={})),function(e){e.lazy="l",e.raptive="rapml",e.refresh="r",e.session="s",e.crossdomain="c",e.highsequence="hs",e.lazyBidPool="lbp"}(r||(r={})),function(e){e.Version="Version",e.SharingNotice="SharingNotice",e.SaleOptOutNotice="SaleOptOutNotice",e.SharingOptOutNotice="SharingOptOutNotice",e.TargetedAdvertisingOptOutNotice="TargetedAdvertisingOptOutNotice",e.SensitiveDataProcessingOptOutNotice="SensitiveDataProcessingOptOutNotice",e.SensitiveDataLimitUseNotice="SensitiveDataLimitUseNotice",e.SaleOptOut="SaleOptOut",e.SharingOptOut="SharingOptOut",e.TargetedAdvertisingOptOut="TargetedAdvertisingOptOut",e.SensitiveDataProcessing="SensitiveDataProcessing",e.KnownChildSensitiveDataConsents="KnownChildSensitiveDataConsents",e.PersonalDataConsents="PersonalDataConsents",e.MspaCoveredTransaction="MspaCoveredTransaction",e.MspaOptOutOptionMode="MspaOptOutOptionMode",e.MspaServiceProviderMode="MspaServiceProviderMode",e.SubSectionType="SubsectionType",e.Gpc="Gpc"}(s||(s={})),function(e){e[e.NA=0]="NA",e[e.OptedOut=1]="OptedOut",e[e.OptedIn=2]="OptedIn"}(d||(d={})),function(e){e.AdDensity="addensity",e.AdLayout="adlayout",e.FooterCloseButton="footerclose",e.Interstitial="interstitial",e.RemoveVideoTitleWrapper="removevideotitlewrapper",e.StickyOutstream="stickyoutstream",e.StickyOutstreamOnStickyPlayer="sospp",e.VideoAdvancePlaylistRelatedPlayer="videoadvanceplaylistrp",e.MobileStickyPlayerPosition="mspp"}(l||(l={})),function(e){e.Below_Post_1="Below_Post_1",e.Below_Post="Below_Post",e.Content="Content",e.Content_1="Content_1",e.Content_2="Content_2",e.Content_3="Content_3",e.Content_4="Content_4",e.Content_5="Content_5",e.Content_6="Content_6",e.Content_7="Content_7",e.Content_8="Content_8",e.Content_9="Content_9",e.Recipe="Recipe",e.Recipe_1="Recipe_1",e.Recipe_2="Recipe_2",e.Recipe_3="Recipe_3",e.Recipe_4="Recipe_4",e.Recipe_5="Recipe_5",e.Native_Recipe="Native_Recipe",e.Footer_1="Footer_1",e.Footer="Footer",e.Header_1="Header_1",e.Header_2="Header_2",e.Header="Header",e.Sidebar_1="Sidebar_1",e.Sidebar_2="Sidebar_2",e.Sidebar_3="Sidebar_3",e.Sidebar_4="Sidebar_4",e.Sidebar_5="Sidebar_5",e.Sidebar_9="Sidebar_9",e.Sidebar="Sidebar",e.Interstitial_1="Interstitial_1",e.Interstitial="Interstitial",e.Video_StickyOutstream_1="Video_StickyOutstream_1",e.Video_StickyOutstream="Video_StickyOutstream",e.Video_StickyInstream="Video_StickyInstream",e.Sponsor_Tile="Sponsor_Tile"}(c||(c={})),function(e){e.Desktop="desktop",e.Mobile="mobile"}(p||(p={})),function(e){e.Video_Collapse_Autoplay_SoundOff="Video_Collapse_Autoplay_SoundOff",e.Video_Individual_Autoplay_SOff="Video_Individual_Autoplay_SOff",e.Video_Coll_SOff_Smartphone="Video_Coll_SOff_Smartphone",e.Video_In_Post_ClicktoPlay_SoundOn="Video_In-Post_ClicktoPlay_SoundOn"}(u||(u={})),function(e){e.vpaidAdPlayError="vpaidAdPlayError",e.adError="adError",e.adLoaded="adLoaded"}(h||(h={})),function(e){e.Float="adthrive-collapse-float",e.Sticky="adthrive-collapse-sticky",e.Mobile="adthrive-collapse-mobile"}(_||(_={})),function(e){e.Small="adthrive-collapse-small",e.Medium="adthrive-collapse-medium"}(m||(m={})),function(e){e.BottomRight="adthrive-collapse-bottom-right"}(v||(v={})),function(e){e[e.Unstarted=0]="Unstarted",e[e.UncollapsedPlay=1]="UncollapsedPlay",e[e.CollapsedPlay=2]="CollapsedPlay",e[e.UserPauseUncollapsed=3]="UserPauseUncollapsed",e[e.UserPauseCollapsed=4]="UserPauseCollapsed",e[e.PausedNotVisible=5]="PausedNotVisible",e[e.Overlapped=6]="Overlapped",e[e.Closed=7]="Closed",e[e.NonLinearAdPlay=8]="NonLinearAdPlay",e[e.NonLinearAdPaused=9]="NonLinearAdPaused",e[e.NonLinearAdOverlapped=10]="NonLinearAdOverlapped",e[e.UserUnPaused=11]="UserUnPaused"}(S||(S={})),function(e){e[e.Play=0]="Play",e[e.UserClick=1]="UserClick",e[e.PageSwitch=2]="PageSwitch",e[e.OutOfView=3]="OutOfView",e[e.InView=4]="InView",e[e.Close=5]="Close",e[e.Overlapping=6]="Overlapping",e[e.OtherVideoPlaying=7]="OtherVideoPlaying"}(f||(f={})),function(e){e.None="none"}(O||(O={})),function(e){e.Default="default",e.AZ_Animals="5daf495ed42c8605cfc74b0b",e.Natashas_Kitchen="55bccc97303edab84afd77e2",e.RecipeTin_Eats="55cb7e3b4bc841bd0c4ea577",e.Sallys_Baking_Recipes="566aefa94856897050ee7303",e.Spend_With_Pennies="541917f5a90318f9194874cf"}(g||(g={}));const w=new class{info(e,t,...i){this.call(console.info,e,t,...i)}warn(e,t,...i){this.call(console.warn,e,t,...i)}error(e,t,...i){this.call(console.error,e,t,...i),this.sendErrorLogToCommandQueue(e,t,...i)}event(e,t,...i){var o;"debug"===(null==(o=window.adthriveCLS)?void 0:o.bucket)&&this.info(e,t)}sendErrorLogToCommandQueue(e,t,...i){window.adthrive=window.adthrive||{},window.adthrive.cmd=window.adthrive.cmd||[],window.adthrive.cmd.push((()=>{void 0!==window.adthrive.logError&&"function"==typeof window.adthrive.logError&&window.adthrive.logError(e,t,i)}))}call(e,t,i,...o){const a=[`%c${t}::${i} `],n=["color: #999; font-weight: bold;"];o.length>0&&"string"==typeof o[0]&&a.push(o.shift()),n.push(...o);try{Function.prototype.apply.call(e,console,[a.join(""),...n])}catch(e){return void console.error(e)}}},P=e=>{const t=window.location.href;return e.some((e=>new RegExp(e,"i").test(t)))};window.adthrive.windowPerformance=window.adthrive.windowPerformance||new class{resetTimeOrigin(){this._timeOrigin=window.performance.now()}now(){try{return Math.round(window.performance.now()-this._timeOrigin)}catch(e){return 0}}constructor(){this._timeOrigin=0}};const b=window.adthrive.windowPerformance;b.now.bind(b);class y{checkCommandQueue(){this.adthrive&&this.adthrive.cmd&&this.adthrive.cmd.forEach((e=>{const t=e.toString(),i=this.extractAPICall(t,"disableAds");i&&this.disableAllAds(this.extractPatterns(i));const o=this.extractAPICall(t,"disableContentAds");o&&this.disableContentAds(this.extractPatterns(o));const a=this.extractAPICall(t,"disablePlaylistPlayers");a&&this.disablePlaylistPlayers(this.extractPatterns(a))}))}extractPatterns(e){const t=e.match(/["'](.*?)['"]/g);if(null!==t)return t.map((e=>e.replace(/["']/g,"")))}extractAPICall(e,t){const i=new RegExp(t+"\\((.*?)\\)","g"),o=e.match(i);return null!==o&&o[0]}disableAllAds(e){e&&!P(e)||(this.all=!0,this.reasons.add("all_page"))}disableContentAds(e){e&&!P(e)||(this.content=!0,this.recipe=!0,this.locations.add(c.Content),this.locations.add(c.Recipe),this.reasons.add("content_plugin"))}disablePlaylistPlayers(e){e&&!P(e)||(this.video=!0,this.locations.add("Video"),this.reasons.add("video_page"))}urlHasEmail(e){if(!e)return!1;return null!==/([A-Z0-9._%+-]+(@|%(25)*40)[A-Z0-9.-]+\.[A-Z]{2,})/i.exec(e)}constructor(e){this.adthrive=e,this.all=!1,this.content=!1,this.recipe=!1,this.video=!1,this.locations=new Set,this.reasons=new Set,(this.urlHasEmail(window.location.href)||this.urlHasEmail(window.document.referrer))&&(this.all=!0,this.reasons.add("all_email"));try{this.checkCommandQueue(),null!==document.querySelector(".tag-novideo")&&(this.video=!0,this.locations.add("Video"),this.reasons.add("video_tag"))}catch(e){w.error("ClsDisableAds","checkCommandQueue",e)}}}const C=window.adthriveCLS;return C&&(C.disableAds=new y(window.adthrive)),e.ClsDisableAds=y,e}({}); </script> <style type="text/css" id="wp-custom-css"> div#wpbody a { color: #0000FF; } div#wpbody a:visited { color: #0000FF; } h1.entry-title { font-size: 38px; font-weight: bold; } h1 { font-size: 34px; font-weight: bold; } h2 { font-size: 26px; font-weight: bold; } h3 { font-size: 26px; font-weight: bold; } h4{ font-weight: bold; } .codecolorer, .codecolorer *, .codecolorer-container, .codecolorer-container * { font: 1.4rem/1.4rem Monaco, Lucida Console, monospace ! important; } .comment-form { margin-bottom: inherit; } .gglcptch_v1, .gglcptch_v2 { text-align: -webkit-right; } pre { background: #36363e; font-family: 'Poppins'; font-size: 14px; color: floralwhite; } .apsc-theme-1 .apsc-each-profile { margin: 3px; } input[type=text] { background: #fff; } div#wpbody { font-family: 'Arimo', sans-serif; font-weight: 400; font-size: 1.14286em; } div#wpbody blockquote { font-family: 'Arimo', sans-serif; font-weight: 400; font-size: 0.8em; font-style: italic; font-weight: bold; } div#newshl a { color: #000000; font-family: 'Arimo', sans-serif; font-weight: 400; font-size: 1.14286em; text-decoration: underline; } div#newshl a:visited { color: #000000; font-family: 'Arimo', sans-serif; font-weight: 400; font-size: 1.14286em; text-decoration: underline; } div#lhtable th { padding-top: 12px; padding-bottom: 12px; text-align: center; background-color: #ba3925; color: white; } div#lhtable tr:nth-child(even){background-color: #f2f2f2;} div#lhtable tr:hover {background-color: #ddd;} h1 { font-size:25px; color: #ba3925;} h2 { font-size:20px; color: #ba3925;} h3 { font-size:20px; color: #ba3925; } h4 { font-size:18px; color: #ba3925; opacity:0.9;} h5 { font-size:15px; color: #ba3925;} h6 { font-size:12px; color: #ba3925;} @media only screen and (max-width: 1200px){ .codecolorer-container, .codecolorer { max-width: 100%; } } @media only screen and (max-width: 1000px){ .main-header { margin-bottom: 100px; } } @media only screen and (max-width: 1000px){ .vce-header-ads { display: block !important; max-width: 100%; text-align:center; } } </style> <script data-no-optimize='1' data-cfasync='false' id='cls-header-insertion-16e38f4'>var cls_header_insertion=function(e){"use strict";var t,i,o,s,a,n,r,l,c,d,u,p,h,m,_,b,g,f,y,S;function v(){return v=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var i=arguments[t];for(var o in i)Object.prototype.hasOwnProperty.call(i,o)&&(e[o]=i[o])}return e},v.apply(this,arguments)}window.adthriveCLS.buildDate="2024-11-22",function(e){e.amznbid="amznbid",e.amzniid="amzniid",e.amznp="amznp",e.amznsz="amznsz"}(t||(t={})),function(e){e.ThirtyThreeAcross="33across",e.Adform="adform",e.Aidem="aidem",e.AidemServer="aidem_ss",e.AppNexus="appnexus",e.AmazonTAM="amazon",e.AmazonUAM="AmazonUAM",e.AmazonASR="AmazonASR",e.Colossus="colossus",e.ColossusServer="col_ss",e.Conversant="conversant",e.Concert="concert",e.Criteo="criteo",e.CriteoServer="crit_ss",e.GumGum="gumgum",e.ImproveDigital="improvedigital",e.ImproveDigitalServer="improve_ss",e.IndexExchange="ix",e.Kargo="kargo",e.KargoServer="krgo_ss",e.MediaGrid="grid",e.MediaGridVideo="gridvid",e.Nativo="nativo",e.OpenX="openx",e.Ogury="ogury",e.OpenXServer="opnx_ss",e.Ozone="ozone",e.Pubmatic="pubmatic",e.PubmaticServer="pubm_ss",e.ResetDigital="resetdigital",e.Rise="rise",e.Rtbhouse="rtbhouse",e.Rubicon="rubicon",e.RubiconServer="rubi_ss",e.RubiconServerISV="rubiv_ss",e.Seedtag="seedtag",e.Sharethrough="sharethrough",e.Teads="teads",e.Triplelift="triplelift",e.TripleliftServer="tripl_ss",e.TTD="ttd",e.Undertone="undertone",e.UndertoneServer="under_ss",e.Unruly="unruly",e.YahooSSP="yahoossp",e.YahooSSPServer="yah_ss",e.Verizon="verizon",e.Yieldmo="yieldmo",e.Flipp="flipp"}(i||(i={})),function(e){e.Prebid="prebid",e.GAM="gam",e.Amazon="amazon",e.Marmalade="marmalade",e.Floors="floors",e.CMP="cmp",e.Optable="optable",e.OptimalBidder="optimalBidder"}(o||(o={})),function(e){e.cm="cm",e.fbrap="fbrap",e.rapml="rapml"}(s||(s={})),function(e){e.lazy="lazy",e.raptive="raptive",e.refresh="refresh",e.session="session",e.crossDomain="crossdomain",e.highSequence="highsequence",e.lazyBidPool="lazyBidPool"}(a||(a={})),function(e){e.lazy="l",e.raptive="rapml",e.refresh="r",e.session="s",e.crossdomain="c",e.highsequence="hs",e.lazyBidPool="lbp"}(n||(n={})),function(e){e.Version="Version",e.SharingNotice="SharingNotice",e.SaleOptOutNotice="SaleOptOutNotice",e.SharingOptOutNotice="SharingOptOutNotice",e.TargetedAdvertisingOptOutNotice="TargetedAdvertisingOptOutNotice",e.SensitiveDataProcessingOptOutNotice="SensitiveDataProcessingOptOutNotice",e.SensitiveDataLimitUseNotice="SensitiveDataLimitUseNotice",e.SaleOptOut="SaleOptOut",e.SharingOptOut="SharingOptOut",e.TargetedAdvertisingOptOut="TargetedAdvertisingOptOut",e.SensitiveDataProcessing="SensitiveDataProcessing",e.KnownChildSensitiveDataConsents="KnownChildSensitiveDataConsents",e.PersonalDataConsents="PersonalDataConsents",e.MspaCoveredTransaction="MspaCoveredTransaction",e.MspaOptOutOptionMode="MspaOptOutOptionMode",e.MspaServiceProviderMode="MspaServiceProviderMode",e.SubSectionType="SubsectionType",e.Gpc="Gpc"}(r||(r={})),function(e){e[e.NA=0]="NA",e[e.OptedOut=1]="OptedOut",e[e.OptedIn=2]="OptedIn"}(l||(l={})),function(e){e.AdDensity="addensity",e.AdLayout="adlayout",e.FooterCloseButton="footerclose",e.Interstitial="interstitial",e.RemoveVideoTitleWrapper="removevideotitlewrapper",e.StickyOutstream="stickyoutstream",e.StickyOutstreamOnStickyPlayer="sospp",e.VideoAdvancePlaylistRelatedPlayer="videoadvanceplaylistrp",e.MobileStickyPlayerPosition="mspp"}(c||(c={})),function(e){e.Below_Post_1="Below_Post_1",e.Below_Post="Below_Post",e.Content="Content",e.Content_1="Content_1",e.Content_2="Content_2",e.Content_3="Content_3",e.Content_4="Content_4",e.Content_5="Content_5",e.Content_6="Content_6",e.Content_7="Content_7",e.Content_8="Content_8",e.Content_9="Content_9",e.Recipe="Recipe",e.Recipe_1="Recipe_1",e.Recipe_2="Recipe_2",e.Recipe_3="Recipe_3",e.Recipe_4="Recipe_4",e.Recipe_5="Recipe_5",e.Native_Recipe="Native_Recipe",e.Footer_1="Footer_1",e.Footer="Footer",e.Header_1="Header_1",e.Header_2="Header_2",e.Header="Header",e.Sidebar_1="Sidebar_1",e.Sidebar_2="Sidebar_2",e.Sidebar_3="Sidebar_3",e.Sidebar_4="Sidebar_4",e.Sidebar_5="Sidebar_5",e.Sidebar_9="Sidebar_9",e.Sidebar="Sidebar",e.Interstitial_1="Interstitial_1",e.Interstitial="Interstitial",e.Video_StickyOutstream_1="Video_StickyOutstream_1",e.Video_StickyOutstream="Video_StickyOutstream",e.Video_StickyInstream="Video_StickyInstream",e.Sponsor_Tile="Sponsor_Tile"}(d||(d={})),function(e){e.Desktop="desktop",e.Mobile="mobile"}(u||(u={})),function(e){e.Video_Collapse_Autoplay_SoundOff="Video_Collapse_Autoplay_SoundOff",e.Video_Individual_Autoplay_SOff="Video_Individual_Autoplay_SOff",e.Video_Coll_SOff_Smartphone="Video_Coll_SOff_Smartphone",e.Video_In_Post_ClicktoPlay_SoundOn="Video_In-Post_ClicktoPlay_SoundOn"}(p||(p={})),function(e){e.vpaidAdPlayError="vpaidAdPlayError",e.adError="adError",e.adLoaded="adLoaded"}(h||(h={})),function(e){e.Float="adthrive-collapse-float",e.Sticky="adthrive-collapse-sticky",e.Mobile="adthrive-collapse-mobile"}(m||(m={})),function(e){e.Small="adthrive-collapse-small",e.Medium="adthrive-collapse-medium"}(_||(_={})),function(e){e.BottomRight="adthrive-collapse-bottom-right"}(b||(b={})),function(e){e[e.Unstarted=0]="Unstarted",e[e.UncollapsedPlay=1]="UncollapsedPlay",e[e.CollapsedPlay=2]="CollapsedPlay",e[e.UserPauseUncollapsed=3]="UserPauseUncollapsed",e[e.UserPauseCollapsed=4]="UserPauseCollapsed",e[e.PausedNotVisible=5]="PausedNotVisible",e[e.Overlapped=6]="Overlapped",e[e.Closed=7]="Closed",e[e.NonLinearAdPlay=8]="NonLinearAdPlay",e[e.NonLinearAdPaused=9]="NonLinearAdPaused",e[e.NonLinearAdOverlapped=10]="NonLinearAdOverlapped",e[e.UserUnPaused=11]="UserUnPaused"}(g||(g={})),function(e){e[e.Play=0]="Play",e[e.UserClick=1]="UserClick",e[e.PageSwitch=2]="PageSwitch",e[e.OutOfView=3]="OutOfView",e[e.InView=4]="InView",e[e.Close=5]="Close",e[e.Overlapping=6]="Overlapping",e[e.OtherVideoPlaying=7]="OtherVideoPlaying"}(f||(f={})),function(e){e.None="none"}(y||(y={})),function(e){e.Default="default",e.AZ_Animals="5daf495ed42c8605cfc74b0b",e.Natashas_Kitchen="55bccc97303edab84afd77e2",e.RecipeTin_Eats="55cb7e3b4bc841bd0c4ea577",e.Sallys_Baking_Recipes="566aefa94856897050ee7303",e.Spend_With_Pennies="541917f5a90318f9194874cf"}(S||(S={}));const O=new class{info(e,t,...i){this.call(console.info,e,t,...i)}warn(e,t,...i){this.call(console.warn,e,t,...i)}error(e,t,...i){this.call(console.error,e,t,...i),this.sendErrorLogToCommandQueue(e,t,...i)}event(e,t,...i){var o;"debug"===(null==(o=window.adthriveCLS)?void 0:o.bucket)&&this.info(e,t)}sendErrorLogToCommandQueue(e,t,...i){window.adthrive=window.adthrive||{},window.adthrive.cmd=window.adthrive.cmd||[],window.adthrive.cmd.push((()=>{void 0!==window.adthrive.logError&&"function"==typeof window.adthrive.logError&&window.adthrive.logError(e,t,i)}))}call(e,t,i,...o){const s=[`%c${t}::${i} `],a=["color: #999; font-weight: bold;"];o.length>0&&"string"==typeof o[0]&&s.push(o.shift()),a.push(...o);try{Function.prototype.apply.call(e,console,[s.join(""),...a])}catch(e){return void console.error(e)}}},w=(e,t)=>null==e||e!=e?t:e,D=(e=>{const t={};return function(...i){const o=JSON.stringify(i);if(t[o])return t[o];const s=e.apply(this,i);return t[o]=s,s}})((()=>{const e=navigator.userAgent,t=/Tablet|iPad|Playbook|Nook|webOS|Kindle|Android (?!.*Mobile).*Safari|CrOS/i.test(e);return/Mobi|iP(hone|od)|Opera Mini/i.test(e)&&!t})),C=["siteId","siteName","adOptions","breakpoints","adUnits"],P=(e,t=C)=>{if(!e)return!1;for(let i=0;i<t.length;i++)if(!e[t[i]])return!1;return!0};window.adthrive.windowPerformance=window.adthrive.windowPerformance||new class{resetTimeOrigin(){this._timeOrigin=window.performance.now()}now(){try{return Math.round(window.performance.now()-this._timeOrigin)}catch(e){return 0}}constructor(){this._timeOrigin=0}};const A=window.adthrive.windowPerformance,G=A.now.bind(A);class x{}class R extends x{get(){if(this._probability<0||this._probability>1)throw new Error(`Invalid probability: ${this._probability}`);return Math.random()<this._probability}constructor(e){super(),this._probability=e}}class j{get siteFeatureRollouts(){return this._featureRollouts}isRolloutEnabled(e){return!(!this._featureRollouts||!this._featureRollouts[e])&&this._featureRollouts[e].enabled}getSiteRolloutConfig(e){var t;return this.isRolloutEnabled(e)&&null!=(t=this._featureRollouts[e].data)?t:{}}get enabledFeatureRolloutIds(){return this._enabledFeatureRolloutIds}constructor(){this._featureRollouts={},this._checkedFeatureRollouts=new Map,this._enabledFeatureRolloutIds=[]}}class k extends j{constructor(e){super(),this._featureRollouts=e.enabled&&e.siteAds.featureRollouts||{}}}class E{get enabled(){return!!this._clsGlobalData&&!!this._clsGlobalData.siteAds&&P(this._clsGlobalData.siteAds)}get error(){return!(!this._clsGlobalData||!this._clsGlobalData.error)}set siteAds(e){this._clsGlobalData.siteAds=e}get siteAds(){return this._clsGlobalData.siteAds}set disableAds(e){this._clsGlobalData.disableAds=e}get disableAds(){return this._clsGlobalData.disableAds}set enabledLocations(e){this._clsGlobalData.enabledLocations=e}get enabledLocations(){return this._clsGlobalData.enabledLocations}get injectedFromPlugin(){return this._clsGlobalData.injectedFromPlugin}set injectedFromPlugin(e){this._clsGlobalData.injectedFromPlugin=e}get injectedFromSiteAds(){return this._clsGlobalData.injectedFromSiteAds}set injectedFromSiteAds(e){this._clsGlobalData.injectedFromSiteAds=e}overwriteInjectedSlots(e){this._clsGlobalData.injectedSlots=e}setInjectedSlots(e){this._clsGlobalData.injectedSlots=this._clsGlobalData.injectedSlots||[],this._clsGlobalData.injectedSlots.push(e)}get injectedSlots(){return this._clsGlobalData.injectedSlots}setInjectedVideoSlots(e){this._clsGlobalData.injectedVideoSlots=this._clsGlobalData.injectedVideoSlots||[],this._clsGlobalData.injectedVideoSlots.push(e)}get injectedVideoSlots(){return this._clsGlobalData.injectedVideoSlots}setInjectedScripts(e){this._clsGlobalData.injectedScripts=this._clsGlobalData.injectedScripts||[],this._clsGlobalData.injectedScripts.push(e)}get getInjectedScripts(){return this._clsGlobalData.injectedScripts}setExperiment(e,t,i=!1){this._clsGlobalData.experiments=this._clsGlobalData.experiments||{},this._clsGlobalData.siteExperiments=this._clsGlobalData.siteExperiments||{};(i?this._clsGlobalData.siteExperiments:this._clsGlobalData.experiments)[e]=t}getExperiment(e,t=!1){const i=t?this._clsGlobalData.siteExperiments:this._clsGlobalData.experiments;return i&&i[e]}setWeightedChoiceExperiment(e,t,i=!1){this._clsGlobalData.experimentsWeightedChoice=this._clsGlobalData.experimentsWeightedChoice||{},this._clsGlobalData.siteExperimentsWeightedChoice=this._clsGlobalData.siteExperimentsWeightedChoice||{};(i?this._clsGlobalData.siteExperimentsWeightedChoice:this._clsGlobalData.experimentsWeightedChoice)[e]=t}getWeightedChoiceExperiment(e,t=!1){var i,o;const s=t?null==(i=this._clsGlobalData)?void 0:i.siteExperimentsWeightedChoice:null==(o=this._clsGlobalData)?void 0:o.experimentsWeightedChoice;return s&&s[e]}get branch(){return this._clsGlobalData.branch}get bucket(){return this._clsGlobalData.bucket}set videoDisabledFromPlugin(e){this._clsGlobalData.videoDisabledFromPlugin=e}get videoDisabledFromPlugin(){return this._clsGlobalData.videoDisabledFromPlugin}set targetDensityLog(e){this._clsGlobalData.targetDensityLog=e}get targetDensityLog(){return this._clsGlobalData.targetDensityLog}shouldHalveIOSDensity(){const e=new k(this);return((e=navigator.userAgent)=>/iP(hone|od|ad)/i.test(e))()&&e.isRolloutEnabled("iOS-Resolution")}getTargetDensity(e){return this.shouldHalveIOSDensity()?e/2:e}get removeVideoTitleWrapper(){return this._clsGlobalData.siteAds.adOptions.removeVideoTitleWrapper}constructor(){this._clsGlobalData=window.adthriveCLS}}class z{setExperimentKey(e=!1){this._clsOptions.setExperiment(this.abgroup,this.result,e)}constructor(){this._clsOptions=new E,this.shouldUseCoreExperimentsConfig=!1}}class M extends z{get result(){return this._result}run(){return new R(.1).get()}constructor(){super(),this._result=!1,this._choices=[{choice:!0},{choice:!1}],this.key="RemoveLargeSize",this.abgroup="smhd100",this._result=this.run(),this.setExperimentKey()}}function F(e,t){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(e,t)}"function"==typeof SuppressedError&&SuppressedError;const I=(e,t,i,o,s,a)=>{const n=Math.round(a-s),r=[],l=[];r.push("(",i.map((()=>"%o")).join(", "),")"),l.push(...i),void 0!==o&&(r.push(" => %o"),l.push(o)),r.push(` %c(${n}ms)`),l.push("color: #999;")},V=(e,t,i)=>{const o=void 0!==i.get?i.get:i.value;return function(...i){try{const s=G(),a=o.apply(this,i);if(a instanceof Promise)return a.then((e=>{const t=G();return I(0,0,i,e,s,t),Promise.resolve(e)})).catch((i=>{throw i.logged||(O.error(e,t,i),i.logged=!0),i}));{const e=G();return I(0,0,i,a,s,e),a}}catch(i){throw i.logged||(O.error(e,t,i),i.logged=!0),i}}};class L extends z{get result(){return this._result}run(){return new R(this.weight).get()}constructor(e){super(),this._result=!1,this.key="ParallaxAdsExperiment",this.abgroup="parallax",this._choices=[{choice:!0},{choice:!1}],this.weight=.5;!!D()&&e.largeFormatsMobile&&(this._result=this.run(),this.setExperimentKey())}}L=function(e,t,i,o){var s,a=arguments.length,n=a<3?t:null===o?o=Object.getOwnPropertyDescriptor(t,i):o;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)n=Reflect.decorate(e,t,i,o);else for(var r=e.length-1;r>=0;r--)(s=e[r])&&(n=(a<3?s(n):a>3?s(t,i,n):s(t,i))||n);return a>3&&n&&Object.defineProperty(t,i,n),n}([((e,t=!1)=>i=>{const o=Object.getOwnPropertyNames(i.prototype).filter((e=>t||0!==e.indexOf("_"))).map((e=>[e,Object.getOwnPropertyDescriptor(i.prototype,e)]));for(const[t,s]of o)void 0!==s&&"function"==typeof s.value?i.prototype[t]=V(e,t,s):void 0!==s&&void 0!==s.get&&"function"==typeof s.get&&Object.defineProperty(i.prototype,t,v({},s,{get:V(e,t,s)}))})("ParallaxAdsExperiment"),F("design:type",Function),F("design:paramtypes",["undefined"==typeof AdTypes?Object:AdTypes])],L);class N extends z{get result(){return this._result}run(){return new R(1).get()}constructor(){super(),this._result=!1,this._choices=[{choice:!0},{choice:!1}],this.key="mrsf",this.abgroup="mrsf",D()&&(this._result=this.run(),this.setExperimentKey())}}const T=[[728,90],[300,250],[300,600],[320,50],[970,250],[160,600],[300,1050],[336,280],[970,90],[300,50],[320,100],[468,60],[250,250],[120,240],[1,1],[300,300],[552,334],[300,420],[728,250],[320,300],[300,390]],U=[[300,600],[160,600]],H=new Map([[d.Footer,1],[d.Header,2],[d.Sidebar,3],[d.Content,4],[d.Recipe,5],["Sidebar_sticky",6],["Below Post",7]]),W=(e,t)=>{const{location:i,sticky:o}=e;if(i===d.Recipe&&t){const{recipeMobile:e,recipeDesktop:i}=t;if(D()&&(null==e?void 0:e.enabled))return!0;if(!D()&&(null==i?void 0:i.enabled))return!0}return i===d.Footer||o},q=(e,t)=>{const i=t.adUnits,o=(e=>!!e.adTypes&&new L(e.adTypes).result)(t),s=new M,a=new N;return i.filter((e=>void 0!==e.dynamic&&e.dynamic.enabled)).map((i=>{const n=i.location.replace(/\s+/g,"_"),r="Sidebar"===n?0:2;return{auctionPriority:H.get(n)||8,location:n,sequence:w(i.sequence,1),sizes:(l=i.adSizes,T.filter((([e,t])=>l.some((([i,o])=>e===i&&t===o))))).filter((t=>((e,[t,i],o,s,a)=>{const{location:n,sequence:r}=e;if(n===d.Footer)return!("phone"===o&&320===t&&100===i);if(n===d.Header)return!(i>100&&s.result);if(n===d.Recipe)return!(a.result&&"phone"===o&&(300===t&&390===i||320===t&&300===i));if(n===d.Sidebar){const t=e.adSizes.some((([,e])=>e<=300)),o=i>300;return!(!o||t)||9===r||(r&&r<=5?!o||e.sticky:!o)}return!0})(i,t,e,s,a))).concat(o&&i.location===d.Content?U:[]),devices:i.devices,pageSelector:w(i.dynamic.pageSelector,"").trim(),elementSelector:w(i.dynamic.elementSelector,"").trim(),position:w(i.dynamic.position,"beforebegin"),max:Math.floor(w(i.dynamic.max,0)),spacing:w(i.dynamic.spacing,0),skip:Math.floor(w(i.dynamic.skip,0)),every:Math.max(Math.floor(w(i.dynamic.every,1)),1),classNames:i.dynamic.classNames||[],sticky:W(i,t.adOptions.stickyContainerConfig),stickyOverlapSelector:w(i.stickyOverlapSelector,"").trim(),autosize:i.autosize,special:w(i.targeting,[]).filter((e=>"special"===e.key)).reduce(((e,t)=>e.concat(...t.value)),[]),lazy:w(i.dynamic.lazy,!1),lazyMax:w(i.dynamic.lazyMax,r),lazyMaxDefaulted:0!==i.dynamic.lazyMax&&!i.dynamic.lazyMax,name:i.name};var l}))},B=(e,t)=>{const i=(e=>{let t=e.clientWidth;if(getComputedStyle){const i=getComputedStyle(e,null);t-=parseFloat(i.paddingLeft||"0")+parseFloat(i.paddingRight||"0")}return t})(t),o=e.sticky&&e.location===d.Sidebar;return e.sizes.filter((t=>{const s=!e.autosize||(t[0]<=i||t[0]<=320),a=!o||t[1]<=window.innerHeight-100;return s&&a}))},K=e=>`adthrive-${e.location.replace("_","-").toLowerCase()}`;class Y{start(){try{const e=q(this._device,this.adthriveCLS.siteAds).filter((e=>this.locationEnabled(e))).filter((e=>{return t=e,i=this._device,t.devices.includes(i);var t,i}));for(let t=0;t<e.length;t++)window.requestAnimationFrame(this.inject.bind(this,e[t],document))}catch(e){O.error("ClsHeaderInjector","start",e)}}inject(e,t=document){if("complete"===document.readyState)return;if(0!==e.pageSelector.length){if(!document.querySelector(e.pageSelector))return void window.requestAnimationFrame(this.inject.bind(this,e,document))}const i=this.getElements(e.elementSelector,t);if(i){const o=this.getDynamicElementId(e),s=K(e),a=(e=>`${K(e)}-${e.sequence}`)(e),n=[s,a,...e.classNames],r=this.addAd(i,o,e.position,n);if(r){const i=B(e,r);if(i.length>0){const o={clsDynamicAd:e,dynamicAd:e,element:r,sizes:i,name:d.Header_1,infinite:t!==document};this.adthriveCLS.injectedSlots.some((e=>e.name===d.Header_1))||this.adthriveCLS.injectedSlots.push(o),r.style.minHeight=this.deviceToMinHeight[this._device]}}}else window.requestAnimationFrame(this.inject.bind(this,e,document))}getDynamicElementId(e){return`AdThrive_${e.location}_${e.sequence}_${this._device}`}getElements(e,t=document){return t.querySelector(e)}addAd(e,t,i,o=[]){if(!document.getElementById(t)){const s=`<div id="${t}" class="adthrive-ad ${o.join(" ")}"></div>`;e.insertAdjacentHTML(i,s)}return document.getElementById(t)}locationEnabled(e){return!(this.adthriveCLS.disableAds&&this.adthriveCLS.disableAds.all)&&e.location===d.Header&&1===e.sequence&&1===e.max&&0===e.spacing}constructor(e){this.adthriveCLS=e,this.deviceToMinHeight={desktop:"90px",tablet:"90px",phone:"50px"};const{tablet:t,desktop:i}=this.adthriveCLS.siteAds.breakpoints;this._device=((e,t)=>{const i=window.innerWidth;return i>=t?"desktop":i>=e?"tablet":"phone"})(t,i)}}return(()=>{const e=window.adthriveCLS;e&&e.siteAds&&P(e.siteAds)&&window.requestAnimationFrame&&new Y(e).start()})(),e.ClsHeaderInjector=Y,e}({}); </script><noscript><style id="rocket-lazyload-nojs-css">.rll-youtube-player, [data-lazy-src]{display:none !important;}</style></noscript><style id="rocket-lazyrender-inline-css">[data-wpr-lazyrender] {content-visibility: auto;}</style><meta name="generator" content="WP Rocket 3.17.2.1" data-wpr-features="wpr_minify_js wpr_lazyload_images wpr_lazyload_iframes wpr_automatic_lazy_rendering wpr_oci wpr_minify_css wpr_desktop wpr_dns_prefetch" /></head> <body class="post-template-default single single-post postid-21360 single-format-standard wp-embed-responsive vce-sid-right voice-v_3_0_2 voice-child"> <!-- Google Tag Manager (noscript) --> <noscript><iframe src="https://www.googletagmanager.com/ns.html?id=GTM-KT4SMCS" height="0" width="0" style="display:none;visibility:hidden"></iframe></noscript> <!-- End Google Tag Manager (noscript) --> <div id="vce-main"> <header id="header" class="main-header"> <div class="container header-main-area header-3-wrapper"> <div class="vce-res-nav"> <a class="vce-responsive-nav" href="#sidr-main"><i class="fa fa-bars"></i></a> </div> <div class="site-branding"> <span class="site-title"><a href="https://linuxhint.com/" rel="home" class="has-logo"><picture class="vce-logo"><source media="(min-width: 1024px)" srcset="https://linuxhint.com/wp-content/uploads/2019/11/Logo-final.png"><source srcset="https://linuxhint.com/wp-content/uploads/2019/11/Logo-final.png"><img fetchpriority="high" src="https://linuxhint.com/wp-content/uploads/2019/11/Logo-final.png" alt=""></picture></a></span></div> <nav id="site-navigation" class="main-navigation" role="navigation"> <ul id="vce_main_navigation_menu" class="nav-menu"><li id="menu-item-18534" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-home menu-item-18534"><a href="https://linuxhint.com">Home</a><li id="menu-item-227566" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-227566"><a target="_blank" href="https://www.youtube.com/c/linuxhint/videos">YouTube</a><li class="search-header-wrap"><a class="search_header" href="javascript:void(0)"><i class="fa fa-search"></i></a><ul class="search-header-form-ul"><li><form class="vce-search-form" action="https://linuxhint.com/" method="get"> <input name="s" class="vce-search-input" size="20" type="text" value="Type here to search..." onfocus="(this.value == 'Type here to search...') && (this.value = '')" onblur="(this.value == '') && (this.value = 'Type here to search...')" placeholder="Type here to search..." /> <button type="submit" class="vce-search-submit"><i class="fa fa-search"></i></button> </form></li></ul></li></ul></nav></div></header> <div id="main-wrapper"> <div id="content" class="container site-content vce-sid-right"> <div id="primary" class="vce-main-content"> <main id="main" class="main-box main-box-single"> <article id="post-21360" class="vce-single post-21360 post type-post status-publish format-standard has-post-thumbnail hentry category-software-development tag-posix"> <header class="entry-header"> <span class="meta-category"><a href="https://linuxhint.com/category/software-development/" class="category-2321">software development</a></span> <h1 class="entry-title">Posix Standard</h1> <div class="entry-meta"><div class="meta-item date"><span class="updated">7 years ago</span></div><div class="meta-item author"><span class="vcard author"><span class="fn">by <a href="https://linuxhint.com/author/zakh/">Zak H</a></span></span></div></div> </header> <div class="entry-content"> <div id="wpbody"> <h1><strong>POSIX: An Overview</strong></h1> <p>The Portable Operating System Interface (POSIX) is an IEEE standard that helps compatibility and portability between operating systems. Theoretically, POSIX compliant source code should be seamlessly portable. In the real world, application transition often runs into system specific issues. But POSIX compliance makes it simpler to port applications which can result in time savings. So developers should get acquainted with the fundamentals of this widely used standard.</p> <h2><strong>History of POSIX</strong></h2> <p>Early programmers had to rewrite their applications from scratch for each new computer model. But the IBM System/360 changed that. In 1964, it introduced the operating system OS/360. IBM started to use the same hardware architecture to enable the new models to reuse the same operating system. The presence of a common OS across multiple machines set up the first stage for application portability.</p> <p>In the late 1960s, the arrival of UNIX opened up new possibilities. AT&T’s Bell Labs was responsible for the initial development of this new operating system. It could run across machines from multiple vendors. But UNIX started to fork into various flavors. Besides the AT&T’s System V, there were Berkeley Software Distribution (BSD), Xenix and more. It wasn’t easy to port across these flavors. The promise of application portability hit a road bump. In the coming decades, the introduction of new operating systems would only make it more complex to port applications across hardware, operating systems, and vendors.</p> <p>POSIX standard was developed in the 1980s to resolve the portability issue. The standard was defined based on System V and BSD Unix. POSIX does not define the operating system, it only defines the interface between an application and an operating system. The programmers have the freedom to write their OS and application anyway they want as long as the interface between the two is honored. Because POSIX is independent of hardware, operating system or vendor, it’s easier to achieve application portability.</p> <p>The first POSIX standard was released in 1988. Formally, it was called IEEE Standard 1003.1-1988 Portable Operating System Interface for Computer Environments”. In 1990, an international version of the same standard with slight variations was released as ISO/IEC 9945-1:1990 Information technology — Portable Operating System Interface (POSIX) — Part 1: System Application Program Interface (API).</p> <p>Initially, POSIX was divided into multiple standards:</p> <p><strong>POSIX.1:</strong> Core Services<br /> <strong>POSIX.1b:</strong> Real-time extensions<br /> <strong>POSIX.1c:</strong> Threads extensions<br /> <strong>POSIX.2:</strong> Shell and Utilities</p> <p>After 1997, the Austin Group brought all the standard under a single umbrella. Since then, the versions POSIX.1-2001 (also known as IEEE Std 1003.1-2001), POSIX.1-2004 (also known as IEEE Std 1003.1-2004) and POSIX.1-2008 (also known as IEEE Std 1003.1-2008) have been released.</p> <p>Examples of some POSIX-compliant systems are AIX, HP-UX, Solaris, and MacOS (since 10.5 Leopard). On the other hand, Android, FreeBSD, Linux Distributions, OpenBSD, VMWare, etc., follow most of the POSIX standard, but they are not certified.</p> <h3><strong>Basics of POSIX</strong></h3> <p>POSIX.1-2008 standard deals with four major areas:</p> <ol> <li><strong>Base Definition Volume:</strong> General terms, concepts, and interfaces.</li> <li><strong>Systems Interfaces Volume:</strong> Definitions of system service functions and subroutines. Also, includes portability, error handling and error recovery.</li> <li><strong>Shell and Utilities Volume:</strong> Definition of interfaces of any application to command shells and common utility programs.</li> <li><strong>Rationale Volume:</strong> Contains information and history about added or discarded features and the reasonings of the decisions.</li> </ol> <p>The standard doesn’t cover graphical interfaces, database interfaces, object/binary code portability, system configurations, I/O considerations or resource availability.</p> <p>Some of the guiding principles behind POSIX design are:</p> <ul> <li>POSIX is created to make application portability easier. So it’s not for UNIX systems only. Non-UNIX systems can be POSIX-compliant too.</li> <li>The standard doesn’t dictate the development of the application or the operating system. It only defines the contract between them.</li> <li>POSIX-compliant application source code should be able to run across many systems because the standard is defined at the source code level. However, the standard doesn’t guarantee any object or binary code level portability. So the binary executable may not run even on similar machines with identical hardware and operating systems. Only source code portability is addressed in the standard.</li> <li>POSIX is written in terms of Standard C. But developers can implement it in any language they like.</li> <li>The standard only deals with aspects of the operating system that interacts with applications.</li> <li>The standard is kept succinct in terms of length and broad in terms of scope to cover a large array of systems.</li> <li>POSIX was designed to simplify portability. So it will save time and money in the long run. However, if your applications are not POSIX-compliant, it might require significant time and resource investment at the beginning.</li> </ul> <h3><strong>POSIX Application Development</strong></h3> <p>The purpose of POSIX was to improve portability. When your source code follows the standard, you can compile and run the code on a different machine easily. However, if POSIX is defined as a general requirement for an application, it can cause confusion. The full POSIX standard is 4000-plus pages with more than 1350 interfaces. It doesn’t make sense to implement everything. So each project should define the aspects of POSIX that will meet particular requirements.</p> <p>There are misconceptions in the development community that POSIX standard is old and irrelevant. It is not true. POSIX is a living document that is being regularly updated by the <a href="https://www.opengroup.org/austin/">Austin Group</a>. Anyone can join the group and participate in improving the standard. The standard is used actively in today’s servers, workstations, routers, mobile devices, embedded systems and more. It is used for UNIX and Linux machines.</p> <p>However, developers should be aware that POSIX standard has problems. You can report any bug you discover to the Austin Group and it will be looked into for the next revision.</p> <p><strong>Conclusion</strong><br /> POSIX might seem daunting at first. Still, application developers should get acquainted with the basics as it will pop up as a requirement from time to time. Due to the large scope of the standard, it’s not possible to become an expert on the full document. Developers can reach out to the UNIX and Linux communities to learn more. The communities can answer your questions and give you a better sense of what part of the standard will be relevant to your project.</p> <p><strong>Further Study:</strong></p> <ul> <li><a href="http://pubs.opengroup.org/onlinepubs/9699919799/">POSIX Full Document</a></li> <li><a href="http://www.opengroup.org/austin/papers/posix_faq.html">POSIX FAQ</a></li> <li><a href="http://www.opengroup.org/austin/">The Austin Common Standards Revision Group</a></li> </ul> <h4><strong>References:</strong></h4> <ul> <li><a href="http://www.opengroup.org/austin/papers/posix_faq.html">POSIX FAQ, Austin Group</a></li> <li><a href="http://www.opengroup.org/austin/">Austin Group</a></li> <li><a href="http://ieeexplore.ieee.org/document/7542098/">Document 7542098/</a></li> <li><a href="https://support.sas.com/documentation/onlinedoc/sasc/doc750/html/lr2/zid-6574.htm">POSIX and UNIX System Services Concepts</a></li> <li><a href="http://pubs.opengroup.org/onlinepubs/9699919799/">OpenGroup Doc 9699919799</a></li> <li><a href="https://kb.iu.edu/d/agjv">What is POSIX?, Indiana University</a></li> <li><a href="http://www.open-std.org/jtc1/sc22/WG15/">Standards Docs @ open-std.org</a></li> <li><a href="https://books.google.com/books?id=4Kb_1sKprCMC&pg=PR16&lpg=PR16&dq=POSIX+interface+basics&source=bl&ots=vaeGEYz-MW&sig=beSA05ewJGYxsdtPs-Yvz-ZP-5E&hl=en&sa=X&ved=0ahUKEwjg6bGQ07_YAhULyWMKHRs5BZY4ChDoAQgsMAE#v=onepage&q=POSIX interface basics&f=false">Bill Gallmeister, Posix Programming Guide</a></li> <li><a href="http://www.worldcolleges.info/sites/default/files/HowToGuide-POSIX.pdf">POSIX Programmers Guide, Donald Lewine</a></li> <li><a href="https://stackoverflow.com/questions/1780599/i-never-really-understood-what-is-posix">StackOverflow What Is Posix</a></li> <li><a href="http://www.darwinsys.com/history/hist.html">History of Uniux, darwinsys.com</a></li> <li><a href="https://www.opengroup.org/austin/papers/posix-paper1.txt">Austin Open Group, Posix paper</a></li> <li><a href="https://en.wikipedia.org/wiki/POSIX">Wikipedia POSIX</a></li> </ul> </div> </div> <footer class="entry-footer"> <div class="meta-tags"> <a href="https://linuxhint.com/tag/posix/" rel="tag">posix</a> </div> </footer> </article> </main> <section class="main-box mbt-border-top author-box"> <h3 class="main-box-title">About the author</h3> <div class="main-box-inside"> <div class="data-image"> <img data-del="avatar" src="data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%20112%20112'%3E%3C/svg%3E" class='avatar pp-user-avatar avatar-112 photo ' height='112' width='112' data-lazy-src="https://linuxhint.com/wp-content/uploads/2018/01/bigstock-Los-Angeles-Skyline-And-Freewa-4583042-150x150.jpg"/><noscript><img data-del="avatar" src='https://linuxhint.com/wp-content/uploads/2018/01/bigstock-Los-Angeles-Skyline-And-Freewa-4583042-150x150.jpg' class='avatar pp-user-avatar avatar-112 photo ' height='112' width='112'/></noscript> </div> <div class="data-content"> <h4 class="author-title">Zak H</h4> <div class="data-entry-content"> <p>Zak H. lives in Los Angeles. He enjoys the California sunshine and loves working in emerging technologies and writing about Linux and DevOps topics.</p> </div> </div> </div> <div class="vce-content-outside"> <div class="data-links"> <a href="https://linuxhint.com/author/zakh/" class="vce-author-link vce-button">View all posts</a> </div> <div class="vce-author-links"> </div> </div> </section> </div> <aside id="sidebar" class="sidebar right"> <div id="same-category-posts-2" class="widget same-category-posts"><h4 class="widget-title"><span>RELATED LINUX HINT POSTS</span></h4><ul> <li class="same-category-post-item "><a class="post-title" href="https://linuxhint.com/creating-robust-makefiles/" rel="bookmark" title="Creating Robust Makefiles: Using Conditional Directives (Ifelse, Ifdef, Ifndef)">Creating Robust Makefiles: Using Conditional Directives (Ifelse, Ifdef, Ifndef)</a></li><li class="same-category-post-item "><a class="post-title" href="https://linuxhint.com/advanced-makefile-features/" rel="bookmark" title="Advanced Makefile Features: Functions, Eval, and Subst Explained">Advanced Makefile Features: Functions, Eval, and Subst Explained</a></li><li class="same-category-post-item "><a class="post-title" href="https://linuxhint.com/gnu-make-tutorial/" rel="bookmark" title="GNU Make Tutorial">GNU Make Tutorial</a></li><li class="same-category-post-item "><a class="post-title" href="https://linuxhint.com/test-api-using-postman/" rel="bookmark" title="How to test an API using Postman">How to test an API using Postman</a></li><li class="same-category-post-item "><a class="post-title" href="https://linuxhint.com/software-development-life-cycle-automation/" rel="bookmark" title="Software Development Life Cycle (SDLC) Automation">Software Development Life Cycle (SDLC) Automation</a></li><li class="same-category-post-item "><a class="post-title" href="https://linuxhint.com/websockets-tutorial/" rel="bookmark" title="WebSockets Tutorial">WebSockets Tutorial</a></li><li class="same-category-post-item "><a class="post-title" href="https://linuxhint.com/setup-configure-xampp-lamp-linux/" rel="bookmark" title="How to Setup and Configure XAMPP/LAMP on a Linux System">How to Setup and Configure XAMPP/LAMP on a Linux System</a></li></ul> </div> </aside> </div> <footer data-wpr-lazyrender="1" id="footer" class="site-footer"> <div class="container"> <div class="container-fix"> <div class="bit-1"> </div> </div> </div> <div class="container-full site-info"> <div class="container"> <div class="vce-wrap-center"> <p><strong>Linux Hint LLC, <a href="/cdn-cgi/l/email-protection" class="__cf_email__" data-cfemail="1a7f7e736e75685a7673746f627273746e34797577">[email protected]</a><br/> 1210 Kelly Park Circle, Morgan Hill, CA 95037<br/> </strong> <a href="https://linuxhint.com/policies-and-privacy/">Privacy Policy</a> and <a href="https://linuxhint.com/terms-of-use/">Terms of Use</a></p> </div> </div> </div> </footer> </div> </div> <script data-cfasync="false" src="/cdn-cgi/scripts/5c5dd728/cloudflare-static/email-decode.min.js"></script><script data-no-optimize='1' data-cfasync='false' id='cls-insertion-16e38f4'>!function(){"use strict";function e(){return e=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var i=arguments[t];for(var n in i)Object.prototype.hasOwnProperty.call(i,n)&&(e[n]=i[n])}return e},e.apply(this,arguments)}var t,i,n,s,o,r,a,l,c,d,h,u,p,m,g,_,y,f,v,S;window.adthriveCLS.buildDate="2024-11-22",function(e){e.amznbid="amznbid",e.amzniid="amzniid",e.amznp="amznp",e.amznsz="amznsz"}(t||(t={})),function(e){e.ThirtyThreeAcross="33across",e.Adform="adform",e.Aidem="aidem",e.AidemServer="aidem_ss",e.AppNexus="appnexus",e.AmazonTAM="amazon",e.AmazonUAM="AmazonUAM",e.AmazonASR="AmazonASR",e.Colossus="colossus",e.ColossusServer="col_ss",e.Conversant="conversant",e.Concert="concert",e.Criteo="criteo",e.CriteoServer="crit_ss",e.GumGum="gumgum",e.ImproveDigital="improvedigital",e.ImproveDigitalServer="improve_ss",e.IndexExchange="ix",e.Kargo="kargo",e.KargoServer="krgo_ss",e.MediaGrid="grid",e.MediaGridVideo="gridvid",e.Nativo="nativo",e.OpenX="openx",e.Ogury="ogury",e.OpenXServer="opnx_ss",e.Ozone="ozone",e.Pubmatic="pubmatic",e.PubmaticServer="pubm_ss",e.ResetDigital="resetdigital",e.Rise="rise",e.Rtbhouse="rtbhouse",e.Rubicon="rubicon",e.RubiconServer="rubi_ss",e.RubiconServerISV="rubiv_ss",e.Seedtag="seedtag",e.Sharethrough="sharethrough",e.Teads="teads",e.Triplelift="triplelift",e.TripleliftServer="tripl_ss",e.TTD="ttd",e.Undertone="undertone",e.UndertoneServer="under_ss",e.Unruly="unruly",e.YahooSSP="yahoossp",e.YahooSSPServer="yah_ss",e.Verizon="verizon",e.Yieldmo="yieldmo",e.Flipp="flipp"}(i||(i={})),function(e){e.Prebid="prebid",e.GAM="gam",e.Amazon="amazon",e.Marmalade="marmalade",e.Floors="floors",e.CMP="cmp",e.Optable="optable",e.OptimalBidder="optimalBidder"}(n||(n={})),function(e){e.cm="cm",e.fbrap="fbrap",e.rapml="rapml"}(s||(s={})),function(e){e.lazy="lazy",e.raptive="raptive",e.refresh="refresh",e.session="session",e.crossDomain="crossdomain",e.highSequence="highsequence",e.lazyBidPool="lazyBidPool"}(o||(o={})),function(e){e.lazy="l",e.raptive="rapml",e.refresh="r",e.session="s",e.crossdomain="c",e.highsequence="hs",e.lazyBidPool="lbp"}(r||(r={})),function(e){e.Version="Version",e.SharingNotice="SharingNotice",e.SaleOptOutNotice="SaleOptOutNotice",e.SharingOptOutNotice="SharingOptOutNotice",e.TargetedAdvertisingOptOutNotice="TargetedAdvertisingOptOutNotice",e.SensitiveDataProcessingOptOutNotice="SensitiveDataProcessingOptOutNotice",e.SensitiveDataLimitUseNotice="SensitiveDataLimitUseNotice",e.SaleOptOut="SaleOptOut",e.SharingOptOut="SharingOptOut",e.TargetedAdvertisingOptOut="TargetedAdvertisingOptOut",e.SensitiveDataProcessing="SensitiveDataProcessing",e.KnownChildSensitiveDataConsents="KnownChildSensitiveDataConsents",e.PersonalDataConsents="PersonalDataConsents",e.MspaCoveredTransaction="MspaCoveredTransaction",e.MspaOptOutOptionMode="MspaOptOutOptionMode",e.MspaServiceProviderMode="MspaServiceProviderMode",e.SubSectionType="SubsectionType",e.Gpc="Gpc"}(a||(a={})),function(e){e[e.NA=0]="NA",e[e.OptedOut=1]="OptedOut",e[e.OptedIn=2]="OptedIn"}(l||(l={})),function(e){e.AdDensity="addensity",e.AdLayout="adlayout",e.FooterCloseButton="footerclose",e.Interstitial="interstitial",e.RemoveVideoTitleWrapper="removevideotitlewrapper",e.StickyOutstream="stickyoutstream",e.StickyOutstreamOnStickyPlayer="sospp",e.VideoAdvancePlaylistRelatedPlayer="videoadvanceplaylistrp",e.MobileStickyPlayerPosition="mspp"}(c||(c={})),function(e){e.Below_Post_1="Below_Post_1",e.Below_Post="Below_Post",e.Content="Content",e.Content_1="Content_1",e.Content_2="Content_2",e.Content_3="Content_3",e.Content_4="Content_4",e.Content_5="Content_5",e.Content_6="Content_6",e.Content_7="Content_7",e.Content_8="Content_8",e.Content_9="Content_9",e.Recipe="Recipe",e.Recipe_1="Recipe_1",e.Recipe_2="Recipe_2",e.Recipe_3="Recipe_3",e.Recipe_4="Recipe_4",e.Recipe_5="Recipe_5",e.Native_Recipe="Native_Recipe",e.Footer_1="Footer_1",e.Footer="Footer",e.Header_1="Header_1",e.Header_2="Header_2",e.Header="Header",e.Sidebar_1="Sidebar_1",e.Sidebar_2="Sidebar_2",e.Sidebar_3="Sidebar_3",e.Sidebar_4="Sidebar_4",e.Sidebar_5="Sidebar_5",e.Sidebar_9="Sidebar_9",e.Sidebar="Sidebar",e.Interstitial_1="Interstitial_1",e.Interstitial="Interstitial",e.Video_StickyOutstream_1="Video_StickyOutstream_1",e.Video_StickyOutstream="Video_StickyOutstream",e.Video_StickyInstream="Video_StickyInstream",e.Sponsor_Tile="Sponsor_Tile"}(d||(d={})),function(e){e.Desktop="desktop",e.Mobile="mobile"}(h||(h={})),function(e){e.Video_Collapse_Autoplay_SoundOff="Video_Collapse_Autoplay_SoundOff",e.Video_Individual_Autoplay_SOff="Video_Individual_Autoplay_SOff",e.Video_Coll_SOff_Smartphone="Video_Coll_SOff_Smartphone",e.Video_In_Post_ClicktoPlay_SoundOn="Video_In-Post_ClicktoPlay_SoundOn"}(u||(u={})),function(e){e.vpaidAdPlayError="vpaidAdPlayError",e.adError="adError",e.adLoaded="adLoaded"}(p||(p={})),function(e){e.Float="adthrive-collapse-float",e.Sticky="adthrive-collapse-sticky",e.Mobile="adthrive-collapse-mobile"}(m||(m={})),function(e){e.Small="adthrive-collapse-small",e.Medium="adthrive-collapse-medium"}(g||(g={})),function(e){e.BottomRight="adthrive-collapse-bottom-right"}(_||(_={})),function(e){e[e.Unstarted=0]="Unstarted",e[e.UncollapsedPlay=1]="UncollapsedPlay",e[e.CollapsedPlay=2]="CollapsedPlay",e[e.UserPauseUncollapsed=3]="UserPauseUncollapsed",e[e.UserPauseCollapsed=4]="UserPauseCollapsed",e[e.PausedNotVisible=5]="PausedNotVisible",e[e.Overlapped=6]="Overlapped",e[e.Closed=7]="Closed",e[e.NonLinearAdPlay=8]="NonLinearAdPlay",e[e.NonLinearAdPaused=9]="NonLinearAdPaused",e[e.NonLinearAdOverlapped=10]="NonLinearAdOverlapped",e[e.UserUnPaused=11]="UserUnPaused"}(y||(y={})),function(e){e[e.Play=0]="Play",e[e.UserClick=1]="UserClick",e[e.PageSwitch=2]="PageSwitch",e[e.OutOfView=3]="OutOfView",e[e.InView=4]="InView",e[e.Close=5]="Close",e[e.Overlapping=6]="Overlapping",e[e.OtherVideoPlaying=7]="OtherVideoPlaying"}(f||(f={})),function(e){e.None="none"}(v||(v={})),function(e){e.Default="default",e.AZ_Animals="5daf495ed42c8605cfc74b0b",e.Natashas_Kitchen="55bccc97303edab84afd77e2",e.RecipeTin_Eats="55cb7e3b4bc841bd0c4ea577",e.Sallys_Baking_Recipes="566aefa94856897050ee7303",e.Spend_With_Pennies="541917f5a90318f9194874cf"}(S||(S={}));const b=e=>{const t={};return function(...i){const n=JSON.stringify(i);if(t[n])return t[n];const s=e.apply(this,i);return t[n]=s,s}};const w=new class{info(e,t,...i){this.call(console.info,e,t,...i)}warn(e,t,...i){this.call(console.warn,e,t,...i)}error(e,t,...i){this.call(console.error,e,t,...i),this.sendErrorLogToCommandQueue(e,t,...i)}event(e,t,...i){var n;"debug"===(null==(n=window.adthriveCLS)?void 0:n.bucket)&&this.info(e,t)}sendErrorLogToCommandQueue(e,t,...i){window.adthrive=window.adthrive||{},window.adthrive.cmd=window.adthrive.cmd||[],window.adthrive.cmd.push((()=>{void 0!==window.adthrive.logError&&"function"==typeof window.adthrive.logError&&window.adthrive.logError(e,t,i)}))}call(e,t,i,...n){const s=[`%c${t}::${i} `],o=["color: #999; font-weight: bold;"];n.length>0&&"string"==typeof n[0]&&s.push(n.shift()),o.push(...n);try{Function.prototype.apply.call(e,console,[s.join(""),...o])}catch(e){return void console.error(e)}}},C=(e,t)=>null==e||e!=e?t:e,x=e=>{const t=e.offsetHeight,i=e.offsetWidth,n=e.getBoundingClientRect(),s=document.body,o=document.documentElement,r=window.pageYOffset||o.scrollTop||s.scrollTop,a=window.pageXOffset||o.scrollLeft||s.scrollLeft,l=o.clientTop||s.clientTop||0,c=o.clientLeft||s.clientLeft||0,d=Math.round(n.top+r-l),h=Math.round(n.left+a-c);return{top:d,left:h,bottom:d+t,right:h+i,width:i,height:t}},O=e=>{let t={};const i=((e=window.location.search)=>{const t=0===e.indexOf("?")?1:0;return e.slice(t).split("&").reduce(((e,t)=>{const[i,n]=t.split("=");return e.set(i,n),e}),new Map)})().get(e);if(i)try{const n=decodeURIComponent(i).replace(/\+/g,"");t=JSON.parse(n),w.event("ExperimentOverridesUtil","getExperimentOverrides",e,t)}catch(e){}return t},A=b(((e=navigator.userAgent)=>/Windows NT|Macintosh/i.test(e))),E=b((()=>{const e=navigator.userAgent,t=/Tablet|iPad|Playbook|Nook|webOS|Kindle|Android (?!.*Mobile).*Safari|CrOS/i.test(e);return/Mobi|iP(hone|od)|Opera Mini/i.test(e)&&!t})),P=(e,t,i=document)=>{const n=((e=document)=>{const t=e.querySelectorAll("article");if(0===t.length)return null;const i=Array.from(t).reduce(((e,t)=>t.offsetHeight>e.offsetHeight?t:e));return i&&i.offsetHeight>1.5*window.innerHeight?i:null})(i),s=n?[n]:[],o=[];e.forEach((e=>{const n=Array.from(i.querySelectorAll(e.elementSelector)).slice(0,e.skip);var r;(r=e.elementSelector,r.includes(",")?r.split(","):[r]).forEach((r=>{const a=i.querySelectorAll(r);for(let i=0;i<a.length;i++){const r=a[i];if(t.map.some((({el:e})=>e.isEqualNode(r))))continue;const l=r&&r.parentElement;l&&l!==document.body?s.push(l):s.push(r),-1===n.indexOf(r)&&o.push({dynamicAd:e,element:r})}}))}));const r=((e=document)=>(e===document?document.body:e).getBoundingClientRect().top)(i),a=o.sort(((e,t)=>e.element.getBoundingClientRect().top-r-(t.element.getBoundingClientRect().top-r)));return[s,a]};const D=new class{init(){}constructor(){this.name="StorageHandler",this.disable=!1,this.removeLocalStorageValue=e=>{window.localStorage.removeItem(`adthrive_${e.toLowerCase()}`)},this.getLocalStorageValue=(e,t=!0,i=!0,n,s)=>{if(this.disable)return null;try{const o=t?"adthrive_":"",r=window.localStorage.getItem(`${o}${i?e.toLowerCase():e}`);if(r){const i=JSON.parse(r),o=void 0!==n&&Date.now()-i.created>=n;if(i&&!o)return s&&this.setLocalStorageValue(e,i.value,t),i.value}}catch(e){}return null},this.setLocalStorageValue=(e,t,i=!0)=>{try{const n=i?"adthrive_":"",s={value:t,created:Date.now()};window.localStorage.setItem(`${n}${e.toLowerCase()}`,JSON.stringify(s))}catch(e){}},this.getOrSetLocalStorageValue=(e,t,i,n=!0,s=!0,o,r=!0)=>{const a=this.getLocalStorageValue(e,r,n,i,s);if(null!==a)return a;const l=t();return this.setLocalStorageValue(e,l,r),o&&o(l),l}}},k=(e,t,i)=>{switch(t){case c.AdDensity:return((e,t)=>{const i=e.adDensityEnabled,n=e.adDensityLayout.pageOverrides.find((e=>!!document.querySelector(e.pageSelector)&&(e[t].onePerViewport||"number"==typeof e[t].adDensity)));return!i||!n})(e,i);case c.StickyOutstream:return(e=>{var t,i,n;const s=null==(n=e.videoPlayers)||null==(i=n.partners)||null==(t=i.stickyOutstream)?void 0:t.blockedPageSelectors;return!s||!document.querySelector(s)})(e);case c.Interstitial:return(e=>{const t=e.adOptions.interstitialBlockedPageSelectors;return!t||!document.querySelector(t)})(e);default:return!0}},I=t=>{try{return{valid:!0,elements:document.querySelectorAll(t)}}catch(t){return e({valid:!1},t)}},R=e=>""===e?{valid:!0}:I(e),M=(e,t)=>{if(!e)return!1;const i=!!e.enabled,n=null==e.dateStart||Date.now()>=e.dateStart,s=null==e.dateEnd||Date.now()<=e.dateEnd,o=null===e.selector||""!==e.selector&&!!document.querySelector(e.selector),r="mobile"===e.platform&&"mobile"===t,a="desktop"===e.platform&&"desktop"===t,l=null===e.platform||"all"===e.platform||r||a,c="bernoulliTrial"===e.experimentType?1===e.variants.length:(e=>{const t=e.reduce(((e,t)=>t.weight?t.weight+e:e),0);return e.length>0&&e.every((e=>{const t=e.value,i=e.weight;return!(null==t||"number"==typeof t&&isNaN(t)||!i)}))&&100===t})(e.variants);return c||w.error("SiteTest","validateSiteExperiment","experiment presented invalid choices for key:",e.key,e.variants),i&&n&&s&&o&&l&&c},L=["siteId","siteName","adOptions","breakpoints","adUnits"];window.adthrive.windowPerformance=window.adthrive.windowPerformance||new class{resetTimeOrigin(){this._timeOrigin=window.performance.now()}now(){try{return Math.round(window.performance.now()-this._timeOrigin)}catch(e){return 0}}constructor(){this._timeOrigin=0}};const T=window.adthrive.windowPerformance,V=T.now.bind(T);class N{get siteFeatureRollouts(){return this._featureRollouts}isRolloutEnabled(e){return!(!this._featureRollouts||!this._featureRollouts[e])&&this._featureRollouts[e].enabled}getSiteRolloutConfig(e){var t;return this.isRolloutEnabled(e)&&null!=(t=this._featureRollouts[e].data)?t:{}}get enabledFeatureRolloutIds(){return this._enabledFeatureRolloutIds}constructor(){this._featureRollouts={},this._checkedFeatureRollouts=new Map,this._enabledFeatureRolloutIds=[]}}class j extends N{constructor(e){super(),this._featureRollouts=e.enabled&&e.siteAds.featureRollouts||{}}}class H{get enabled(){return!!this._clsGlobalData&&!!this._clsGlobalData.siteAds&&((e,t=L)=>{if(!e)return!1;for(let i=0;i<t.length;i++)if(!e[t[i]])return!1;return!0})(this._clsGlobalData.siteAds)}get error(){return!(!this._clsGlobalData||!this._clsGlobalData.error)}set siteAds(e){this._clsGlobalData.siteAds=e}get siteAds(){return this._clsGlobalData.siteAds}set disableAds(e){this._clsGlobalData.disableAds=e}get disableAds(){return this._clsGlobalData.disableAds}set enabledLocations(e){this._clsGlobalData.enabledLocations=e}get enabledLocations(){return this._clsGlobalData.enabledLocations}get injectedFromPlugin(){return this._clsGlobalData.injectedFromPlugin}set injectedFromPlugin(e){this._clsGlobalData.injectedFromPlugin=e}get injectedFromSiteAds(){return this._clsGlobalData.injectedFromSiteAds}set injectedFromSiteAds(e){this._clsGlobalData.injectedFromSiteAds=e}overwriteInjectedSlots(e){this._clsGlobalData.injectedSlots=e}setInjectedSlots(e){this._clsGlobalData.injectedSlots=this._clsGlobalData.injectedSlots||[],this._clsGlobalData.injectedSlots.push(e)}get injectedSlots(){return this._clsGlobalData.injectedSlots}setInjectedVideoSlots(e){this._clsGlobalData.injectedVideoSlots=this._clsGlobalData.injectedVideoSlots||[],this._clsGlobalData.injectedVideoSlots.push(e)}get injectedVideoSlots(){return this._clsGlobalData.injectedVideoSlots}setInjectedScripts(e){this._clsGlobalData.injectedScripts=this._clsGlobalData.injectedScripts||[],this._clsGlobalData.injectedScripts.push(e)}get getInjectedScripts(){return this._clsGlobalData.injectedScripts}setExperiment(e,t,i=!1){this._clsGlobalData.experiments=this._clsGlobalData.experiments||{},this._clsGlobalData.siteExperiments=this._clsGlobalData.siteExperiments||{};(i?this._clsGlobalData.siteExperiments:this._clsGlobalData.experiments)[e]=t}getExperiment(e,t=!1){const i=t?this._clsGlobalData.siteExperiments:this._clsGlobalData.experiments;return i&&i[e]}setWeightedChoiceExperiment(e,t,i=!1){this._clsGlobalData.experimentsWeightedChoice=this._clsGlobalData.experimentsWeightedChoice||{},this._clsGlobalData.siteExperimentsWeightedChoice=this._clsGlobalData.siteExperimentsWeightedChoice||{};(i?this._clsGlobalData.siteExperimentsWeightedChoice:this._clsGlobalData.experimentsWeightedChoice)[e]=t}getWeightedChoiceExperiment(e,t=!1){var i,n;const s=t?null==(i=this._clsGlobalData)?void 0:i.siteExperimentsWeightedChoice:null==(n=this._clsGlobalData)?void 0:n.experimentsWeightedChoice;return s&&s[e]}get branch(){return this._clsGlobalData.branch}get bucket(){return this._clsGlobalData.bucket}set videoDisabledFromPlugin(e){this._clsGlobalData.videoDisabledFromPlugin=e}get videoDisabledFromPlugin(){return this._clsGlobalData.videoDisabledFromPlugin}set targetDensityLog(e){this._clsGlobalData.targetDensityLog=e}get targetDensityLog(){return this._clsGlobalData.targetDensityLog}shouldHalveIOSDensity(){const e=new j(this);return((e=navigator.userAgent)=>/iP(hone|od|ad)/i.test(e))()&&e.isRolloutEnabled("iOS-Resolution")}getTargetDensity(e){return this.shouldHalveIOSDensity()?e/2:e}get removeVideoTitleWrapper(){return this._clsGlobalData.siteAds.adOptions.removeVideoTitleWrapper}constructor(){this._clsGlobalData=window.adthriveCLS}}class G{static getScrollTop(){return(window.pageYOffset||document.documentElement.scrollTop)-(document.documentElement.clientTop||0)}static getScrollBottom(){return this.getScrollTop()+(document.documentElement.clientHeight||0)}static shufflePlaylist(e){let t,i,n=e.length;for(;0!==n;)i=Math.floor(Math.random()*e.length),n-=1,t=e[n],e[n]=e[i],e[i]=t;return e}static isMobileLandscape(){return window.matchMedia("(orientation: landscape) and (max-height: 480px)").matches}static playerViewable(e){const t=e.getBoundingClientRect();return this.isMobileLandscape()?window.innerHeight>t.top+t.height/2&&t.top+t.height/2>0:window.innerHeight>t.top+t.height/2}static createQueryString(e){return Object.keys(e).map((t=>`${t}=${e[t]}`)).join("&")}static createEncodedQueryString(e){return Object.keys(e).map((t=>`${t}=${encodeURIComponent(e[t])}`)).join("&")}static setMobileLocation(e){return"top-left"===(e=e||"bottom-right")?e="adthrive-collapse-top-left":"top-right"===e?e="adthrive-collapse-top-right":"bottom-left"===e?e="adthrive-collapse-bottom-left":"bottom-right"===e?e="adthrive-collapse-bottom-right":"top-center"===e&&(e=E()?"adthrive-collapse-top-center":"adthrive-collapse-bottom-right"),e}static addMaxResolutionQueryParam(e){const t=`max_resolution=${E()?"320":"1280"}`,[i,n]=String(e).split("?");return`${i}?${n?n+`&${t}`:t}`}}class z{constructor(e){this._clsOptions=e,this.removeVideoTitleWrapper=C(this._clsOptions.siteAds.adOptions.removeVideoTitleWrapper,!1);const t=this._clsOptions.siteAds.videoPlayers;this.footerSelector=C(t&&t.footerSelector,""),this.players=C(t&&t.players.map((e=>(e.mobileLocation=G.setMobileLocation(e.mobileLocation),e))),[]),this.relatedSettings=t&&t.contextual}}class F{constructor(e){this.mobileStickyPlayerOnPage=!1,this.playlistPlayerAdded=!1,this.relatedPlayerAdded=!1,this.footerSelector="",this.removeVideoTitleWrapper=!1,this.videoAdOptions=new z(e),this.players=this.videoAdOptions.players,this.relatedSettings=this.videoAdOptions.relatedSettings,this.removeVideoTitleWrapper=this.videoAdOptions.removeVideoTitleWrapper,this.footerSelector=this.videoAdOptions.footerSelector}}class B{}class U extends B{get(){if(this._probability<0||this._probability>1)throw new Error(`Invalid probability: ${this._probability}`);return Math.random()<this._probability}constructor(e){super(),this._probability=e}}class W{setExperimentKey(e=!1){this._clsOptions.setExperiment(this.abgroup,this.result,e)}constructor(){this._clsOptions=new H,this.shouldUseCoreExperimentsConfig=!1}}class q extends W{get result(){return this._result}run(){return new U(.1).get()}constructor(){super(),this._result=!1,this._choices=[{choice:!0},{choice:!1}],this.key="RemoveLargeSize",this.abgroup="smhd100",this._result=this.run(),this.setExperimentKey()}}function Q(e,t,i,n){var s,o=arguments.length,r=o<3?t:null===n?n=Object.getOwnPropertyDescriptor(t,i):n;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(e,t,i,n);else for(var a=e.length-1;a>=0;a--)(s=e[a])&&(r=(o<3?s(r):o>3?s(t,i,r):s(t,i))||r);return o>3&&r&&Object.defineProperty(t,i,r),r}function K(e,t){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(e,t)}"function"==typeof SuppressedError&&SuppressedError;const J=(e,t,i,n,s,o)=>{const r=Math.round(o-s),a=[],l=[];a.push("(",i.map((()=>"%o")).join(", "),")"),l.push(...i),void 0!==n&&(a.push(" => %o"),l.push(n)),a.push(` %c(${r}ms)`),l.push("color: #999;")},Y=(e,t,i)=>{const n=void 0!==i.get?i.get:i.value;return function(...i){try{const s=V(),o=n.apply(this,i);if(o instanceof Promise)return o.then((e=>{const t=V();return J(0,0,i,e,s,t),Promise.resolve(e)})).catch((i=>{throw i.logged||(w.error(e,t,i),i.logged=!0),i}));{const e=V();return J(0,0,i,o,s,e),o}}catch(i){throw i.logged||(w.error(e,t,i),i.logged=!0),i}}},X=(t,i=!1)=>n=>{const s=Object.getOwnPropertyNames(n.prototype).filter((e=>i||0!==e.indexOf("_"))).map((e=>[e,Object.getOwnPropertyDescriptor(n.prototype,e)]));for(const[i,o]of s)void 0!==o&&"function"==typeof o.value?n.prototype[i]=Y(t,i,o):void 0!==o&&void 0!==o.get&&"function"==typeof o.get&&Object.defineProperty(n.prototype,i,e({},o,{get:Y(t,i,o)}))};class Z extends W{get result(){return this._result}run(){return new U(this.weight).get()}constructor(e){super(),this._result=!1,this.key="ParallaxAdsExperiment",this.abgroup="parallax",this._choices=[{choice:!0},{choice:!1}],this.weight=.5;!!E()&&e.largeFormatsMobile&&(this._result=this.run(),this.setExperimentKey())}}Z=Q([X("ParallaxAdsExperiment"),K("design:type",Function),K("design:paramtypes",["undefined"==typeof AdTypes?Object:AdTypes])],Z);class ee extends W{get result(){return this._result}run(){return new U(1).get()}constructor(){super(),this._result=!1,this._choices=[{choice:!0},{choice:!1}],this.key="mrsf",this.abgroup="mrsf",E()&&(this._result=this.run(),this.setExperimentKey())}}const te=[[728,90],[300,250],[300,600],[320,50],[970,250],[160,600],[300,1050],[336,280],[970,90],[300,50],[320,100],[468,60],[250,250],[120,240],[1,1],[300,300],[552,334],[300,420],[728,250],[320,300],[300,390]],ie=[[300,600],[160,600]],ne=new Map([[d.Footer,1],[d.Header,2],[d.Sidebar,3],[d.Content,4],[d.Recipe,5],["Sidebar_sticky",6],["Below Post",7]]),se=(e,t)=>{const{location:i,sticky:n}=e;if(i===d.Recipe&&t){const{recipeMobile:e,recipeDesktop:i}=t;if(E()&&(null==e?void 0:e.enabled))return!0;if(!E()&&(null==i?void 0:i.enabled))return!0}return i===d.Footer||n},oe=(e,t)=>{const i=t.adUnits,n=(e=>!!e.adTypes&&new Z(e.adTypes).result)(t),s=new q,o=new ee;return i.filter((e=>void 0!==e.dynamic&&e.dynamic.enabled)).map((i=>{const r=i.location.replace(/\s+/g,"_"),a="Sidebar"===r?0:2;return{auctionPriority:ne.get(r)||8,location:r,sequence:C(i.sequence,1),sizes:(l=i.adSizes,te.filter((([e,t])=>l.some((([i,n])=>e===i&&t===n))))).filter((t=>((e,[t,i],n,s,o)=>{const{location:r,sequence:a}=e;if(r===d.Footer)return!("phone"===n&&320===t&&100===i);if(r===d.Header)return!(i>100&&s.result);if(r===d.Recipe)return!(o.result&&"phone"===n&&(300===t&&390===i||320===t&&300===i));if(r===d.Sidebar){const t=e.adSizes.some((([,e])=>e<=300)),n=i>300;return!(!n||t)||9===a||(a&&a<=5?!n||e.sticky:!n)}return!0})(i,t,e,s,o))).concat(n&&i.location===d.Content?ie:[]),devices:i.devices,pageSelector:C(i.dynamic.pageSelector,"").trim(),elementSelector:C(i.dynamic.elementSelector,"").trim(),position:C(i.dynamic.position,"beforebegin"),max:Math.floor(C(i.dynamic.max,0)),spacing:C(i.dynamic.spacing,0),skip:Math.floor(C(i.dynamic.skip,0)),every:Math.max(Math.floor(C(i.dynamic.every,1)),1),classNames:i.dynamic.classNames||[],sticky:se(i,t.adOptions.stickyContainerConfig),stickyOverlapSelector:C(i.stickyOverlapSelector,"").trim(),autosize:i.autosize,special:C(i.targeting,[]).filter((e=>"special"===e.key)).reduce(((e,t)=>e.concat(...t.value)),[]),lazy:C(i.dynamic.lazy,!1),lazyMax:C(i.dynamic.lazyMax,a),lazyMaxDefaulted:0!==i.dynamic.lazyMax&&!i.dynamic.lazyMax,name:i.name};var l}))},re=(e,t)=>{const i=(e=>{let t=e.clientWidth;if(getComputedStyle){const i=getComputedStyle(e,null);t-=parseFloat(i.paddingLeft||"0")+parseFloat(i.paddingRight||"0")}return t})(t),n=e.sticky&&e.location===d.Sidebar;return e.sizes.filter((t=>{const s=!e.autosize||(t[0]<=i||t[0]<=320),o=!n||t[1]<=window.innerHeight-100;return s&&o}))};class ae{constructor(e){this.clsOptions=e,this.enabledLocations=[d.Below_Post,d.Content,d.Recipe,d.Sidebar]}}const le=e=>`adthrive-${e.location.replace("_","-").toLowerCase()}`,ce=e=>`${le(e)}-${e.sequence}`;function de(e,t){void 0===t&&(t={});var i=t.insertAt;if(e&&"undefined"!=typeof document){var n=document.head||document.getElementsByTagName("head")[0],s=document.createElement("style");s.type="text/css","top"===i&&n.firstChild?n.insertBefore(s,n.firstChild):n.appendChild(s),s.styleSheet?s.styleSheet.cssText=e:s.appendChild(document.createTextNode(e))}}const he=e=>e.some((e=>null!==document.querySelector(e)));class ue extends W{get result(){return this._result}run(){return new U(1).get()}constructor(){super(),this._result=!1,this._choices=[{choice:!0},{choice:!1}],this.key="RemoveRecipeCap",this.abgroup="rrc",this._result=this.run(),this.setExperimentKey()}}class pe extends B{static fromArray(e,t){return new pe(e.map((([e,t])=>({choice:e,weight:t}))),t)}addChoice(e,t){this._choices.push({choice:e,weight:t})}get(){const e=(t=0,i=100,Math.random()*(i-t)+t);var t,i;let n=0;for(const{choice:t,weight:i}of this._choices)if(n+=i,n>=e)return t;return this._default}get totalWeight(){return this._choices.reduce(((e,{weight:t})=>e+t),0)}constructor(e=[],t){super(),this._choices=e,this._default=t}}class me{}const ge=["mcmpfreqrec"];const _e=new class extends me{init(e){this._gdpr="true"===e.gdpr,this._shouldQueue=this._gdpr}clearQueue(e){e&&(this._shouldQueue=!1,this._sessionStorageHandlerQueue.forEach((e=>{this.setSessionStorage(e.key,e.value)})),this._localStorageHandlerQueue.forEach((e=>{if("adthrive_abgroup"===e.key){const t=Object.keys(e.value)[0],i=e.value[t],n=e.value[`${t}_weight`];fe(t,i,n,{value:24,unit:"hours"})}else e.expiry?"internal"===e.type?this.setExpirableInternalLocalStorage(e.key,e.value,{expiry:e.expiry,resetOnRead:e.resetOnRead}):this.setExpirableExternalLocalStorage(e.key,e.value,{expiry:e.expiry,resetOnRead:e.resetOnRead}):"internal"===e.type?this.setInternalLocalStorage(e.key,e.value):this.setExternalLocalStorage(e.key,e.value)})),this._cookieHandlerQueue.forEach((e=>{"internal"===e.type?this.setInternalCookie(e.key,e.value):this.setExternalCookie(e.key,e.value)}))),this._sessionStorageHandlerQueue=[],this._localStorageHandlerQueue=[],this._cookieHandlerQueue=[]}readInternalCookie(e){return this._verifyInternalKey(e),this._readCookie(e)}readExternalCookie(e){return this._readCookie(e)}readInternalLocalStorage(e){return this._verifyInternalKey(e),this._readFromLocalStorage(e)}readExternalLocalStorage(e){return this._readFromLocalStorage(e)}readSessionStorage(e){const t=window.sessionStorage.getItem(e);if(!t)return null;try{return JSON.parse(t)}catch(e){return t}}deleteCookie(e){document.cookie=`${e}=; SameSite=None; Secure; expires=Thu, 01 Jan 1970 00:00:00 UTC; path=/`}deleteLocalStorage(e){window.localStorage.removeItem(e)}deleteSessionStorage(e){window.sessionStorage.removeItem(e)}setInternalCookie(e,t,i){this._verifyInternalKey(e),this._setCookieValue("internal",e,t,i)}setExternalCookie(e,t,i){this._setCookieValue("external",e,t,i)}setInternalLocalStorage(e,t){if(this._verifyInternalKey(e),this._gdpr&&this._shouldQueue){const i={key:e,value:t,type:"internal"};this._localStorageHandlerQueue.push(i)}else{const i="string"==typeof t?t:JSON.stringify(t);window.localStorage.setItem(e,i)}}setExternalLocalStorage(e,t){if(this._gdpr&&this._shouldQueue){const i={key:e,value:t,type:"external"};this._localStorageHandlerQueue.push(i)}else{const i="string"==typeof t?t:JSON.stringify(t);window.localStorage.setItem(e,i)}}setExpirableInternalLocalStorage(e,t,i){this._verifyInternalKey(e);try{var n;const o=null!=(n=null==i?void 0:i.expiry)?n:{value:400,unit:"days"};var s;const r=null!=(s=null==i?void 0:i.resetOnRead)&&s;if(this._gdpr&&this._shouldQueue){const i={key:e,value:t,type:"internal",expires:this._getExpiryDate(o),expiry:o,resetOnRead:r};this._localStorageHandlerQueue.push(i)}else{const i={value:t,type:"internal",expires:this._getExpiryDate(o),expiry:o,resetOnRead:r};window.localStorage.setItem(e,JSON.stringify(i))}}catch(e){console.error(e)}}setExpirableExternalLocalStorage(e,t,i){try{var n;const o=null!=(n=null==i?void 0:i.expiry)?n:{value:400,unit:"days"};var s;const r=null!=(s=null==i?void 0:i.resetOnRead)&&s;if(this._gdpr&&this._shouldQueue){const i={key:e,value:JSON.stringify(t),type:"external",expires:this._getExpiryDate(o),expiry:o,resetOnRead:r};this._localStorageHandlerQueue.push(i)}else{const i={value:t,type:"external",expires:this._getExpiryDate(o),expiry:o,resetOnRead:r};window.localStorage.setItem(e,JSON.stringify(i))}}catch(e){console.error(e)}}setSessionStorage(e,t){if(this._gdpr&&this._shouldQueue){const i={key:e,value:t};this._sessionStorageHandlerQueue.push(i)}else{const i="string"==typeof t?t:JSON.stringify(t);window.sessionStorage.setItem(e,i)}}_getExpiryDate({value:e,unit:t}){const i=new Date;return"milliseconds"===t?i.setTime(i.getTime()+e):"seconds"==t?i.setTime(i.getTime()+1e3*e):"minutes"===t?i.setTime(i.getTime()+60*e*1e3):"hours"===t?i.setTime(i.getTime()+60*e*60*1e3):"days"===t?i.setTime(i.getTime()+24*e*60*60*1e3):"months"===t&&i.setTime(i.getTime()+30*e*24*60*60*1e3),i.toUTCString()}_resetExpiry(e){return e.expires=this._getExpiryDate(e.expiry),e}_readCookie(e){const t=document.cookie.split("; ").find((t=>t.split("=")[0]===e));if(!t)return null;const i=t.split("=")[1];if(i)try{return JSON.parse(decodeURIComponent(i))}catch(e){return decodeURIComponent(i)}return null}_readFromLocalStorage(e){const t=window.localStorage.getItem(e);if(!t)return null;try{const n=JSON.parse(t),s=n.expires&&(new Date).getTime()>new Date(n.expires).getTime();if(n.resetOnRead&&n.expires&&!s){const t=this._resetExpiry(n);var i;return window.localStorage.setItem(e,JSON.stringify(n)),null!=(i=t.value)?i:t}if(s)return window.localStorage.removeItem(e),null;if(!n.value)return n;try{return JSON.parse(n.value)}catch(e){return n.value}}catch(e){return t}}_setCookieValue(e,t,i,n){try{if(this._gdpr&&this._shouldQueue){const n={key:t,value:i,type:e};this._cookieHandlerQueue.push(n)}else{var s;const e=this._getExpiryDate(null!=(s=null==n?void 0:n.expiry)?s:{value:400,unit:"days"});var o;const a=null!=(o=null==n?void 0:n.sameSite)?o:"None";var r;const l=null==(r=null==n?void 0:n.secure)||r,c="object"==typeof i?JSON.stringify(i):i;document.cookie=`${t}=${c}; SameSite=${a}; ${l?"Secure;":""} expires=${e}; path=/`}}catch(e){}}_verifyInternalKey(e){const t=e.startsWith("adthrive_"),i=e.startsWith("adt_");if(!t&&!i&&!ge.includes(e))throw new Error('When reading an internal cookie, the key must start with "adthrive_" or "adt_" or be part of the allowed legacy keys.')}constructor(...e){super(...e),this.name="BrowserStorage",this.disable=!1,this.gdprPurposes=[1],this._sessionStorageHandlerQueue=[],this._localStorageHandlerQueue=[],this._cookieHandlerQueue=[],this._shouldQueue=!1}},ye=e=>null!=e&&!("number"==typeof e&&isNaN(e)),fe=(t,i,n,s,o=!0)=>{const r="adthrive_abgroup",a=_e.readInternalLocalStorage(r);if(null!==a){const e=a[t];var l;const i=null!=(l=a[`${t}_weight`])?l:null;if(ye(e))return[e,i]}const c=e({},a,{[t]:i,[`${t}_weight`]:n});return s?_e.setExpirableInternalLocalStorage(r,c,{expiry:s,resetOnRead:o}):_e.setInternalLocalStorage(r,c),[i,n]},ve=()=>(e,t,i)=>{const n=i.value;n&&(i.value=function(...e){const t=(e=>{if(null===e)return null;const t=e.map((({choice:e})=>e));return(e=>{let t=5381,i=e.length;for(;i;)t=33*t^e.charCodeAt(--i);return t>>>0})(JSON.stringify(t)).toString(16)})(this._choices),i=this._expConfigABGroup?this._expConfigABGroup:this.abgroup,s=i?i.toLowerCase():this.key?this.key.toLowerCase():"",o=t?`${s}_${t}`:s,r=this.localStoragePrefix?`${this.localStoragePrefix}-${o}`:o,a=D.getLocalStorageValue("branch");!1===(a&&a.enabled)&&D.removeLocalStorageValue(r);const l=(()=>n.apply(this,e))(),c=(d=this._choices,h=l,null!=(p=null==(u=d.find((({choice:e})=>e===h)))?void 0:u.weight)?p:null);var d,h,u,p;const[m,g]=fe(r,l,c,{value:24,unit:"hours"});return this._stickyResult=m,this._stickyWeight=g,m})};class Se{get enabled(){return void 0!==this.experimentConfig}_isValidResult(e,t=()=>!0){return t()&&ye(e)}}class be extends Se{_isValidResult(e){return super._isValidResult(e,(()=>this._resultValidator(e)||"control"===e))}run(){if(!this.enabled)return w.error("CLSWeightedChoiceSiteExperiment","run","() => %o","No experiment config found. Defaulting to control."),"control";if(!this._mappedChoices||0===this._mappedChoices.length)return w.error("CLSWeightedChoiceSiteExperiment","run","() => %o","No experiment variants found. Defaulting to control."),"control";const e=new pe(this._mappedChoices).get();return this._isValidResult(e)?e:(w.error("CLSWeightedChoiceSiteExperiment","run","() => %o","Invalid result from experiment choices. Defaulting to control."),"control")}constructor(...e){super(...e),this._resultValidator=()=>!0}}class we{getSiteExperimentByKey(e){const t=this.siteExperiments.filter((t=>t.key.toLowerCase()===e.toLowerCase()))[0],i=O("at_site_features"),n=(s=(null==t?void 0:t.variants[1])?null==t?void 0:t.variants[1].value:null==t?void 0:t.variants[0].value,o=i[e],typeof s==typeof o);var s,o;return t&&i[e]&&n&&(t.variants=[{displayName:"test",value:i[e],weight:100,id:0}]),t}constructor(e){var t,i;this.siteExperiments=[],this._clsOptions=e,this._device=E()?"mobile":"desktop",this.siteExperiments=null!=(i=null==(t=this._clsOptions.siteAds.siteExperiments)?void 0:t.filter((e=>{const t=e.key,i=M(e,this._device),n=k(this._clsOptions.siteAds,t,this._device);return i&&n})))?i:[]}}class Ce extends be{get result(){return this._result}run(){if(!this.enabled)return w.error("CLSAdLayoutSiteExperiment","run","() => %o","No experiment config found. Defaulting to empty class name."),"";const e=new pe(this._mappedChoices).get();return this._isValidResult(e)?e:(w.error("CLSAdLayoutSiteExperiment","run","() => %o","Invalid result from experiment choices. Defaulting to empty class name."),"")}_mapChoices(){return this._choices.map((({weight:e,value:t})=>({weight:e,choice:t})))}constructor(e){super(),this._choices=[],this._mappedChoices=[],this._result="",this._resultValidator=e=>"string"==typeof e,this.key=c.AdLayout,this.abgroup=c.AdLayout,this._clsSiteExperiments=new we(e),this.experimentConfig=this._clsSiteExperiments.getSiteExperimentByKey(this.key),this.enabled&&this.experimentConfig&&(this._choices=this.experimentConfig.variants,this._mappedChoices=this._mapChoices(),this._result=this.run(),e.setWeightedChoiceExperiment(this.abgroup,this._result,!0))}}Q([ve(),K("design:type",Function),K("design:paramtypes",[]),K("design:returntype",void 0)],Ce.prototype,"run",null);class xe extends be{get result(){return this._result}run(){if(!this.enabled)return w.error("CLSTargetAdDensitySiteExperiment","run","() => %o","No experiment config found. Defaulting to control."),"control";const e=new pe(this._mappedChoices).get();return this._isValidResult(e)?e:(w.error("CLSTargetAdDensitySiteExperiment","run","() => %o","Invalid result from experiment choices. Defaulting to control."),"control")}_mapChoices(){return this._choices.map((({weight:e,value:t})=>({weight:e,choice:"number"==typeof t?(t||0)/100:"control"})))}constructor(e){super(),this._choices=[],this._mappedChoices=[],this._result="control",this._resultValidator=e=>"number"==typeof e,this.key=c.AdDensity,this.abgroup=c.AdDensity,this._clsSiteExperiments=new we(e),this.experimentConfig=this._clsSiteExperiments.getSiteExperimentByKey(this.key),this.enabled&&this.experimentConfig&&(this._choices=this.experimentConfig.variants,this._mappedChoices=this._mapChoices(),this._result=this.run(),e.setWeightedChoiceExperiment(this.abgroup,this._result,!0))}}Q([ve(),K("design:type",Function),K("design:paramtypes",[]),K("design:returntype",void 0)],xe.prototype,"run",null);class Oe extends W{get result(){return this._result}run(){return new U(this.weight).get()}constructor(){super(),this._result=!1,this.abgroup="scae",this.key="StickyContainerAds",this._choices=[{choice:!0},{choice:!1}],this.weight=.99,this._result=this.run(),this.setExperimentKey()}}Oe=Q([X("StickyContainerAdsExperiment"),K("design:type",Function),K("design:paramtypes",[])],Oe);class Ae extends W{get result(){return this._result}run(){return new U(this.weight).get()}constructor(){super(),this._result=!1,this.abgroup="scre",this.key="StickyContainerRecipe",this._choices=[{choice:!0},{choice:!1}],this.weight=.99,this._result=this.run(),this.setExperimentKey()}}Ae=Q([X("StickyContainerRecipeExperiment"),K("design:type",Function),K("design:paramtypes",[])],Ae);const Ee="250px";class Pe{start(){try{var e,t;(e=>{const t=document.body,i=`adthrive-device-${e}`;if(!t.classList.contains(i))try{t.classList.add(i)}catch(e){w.error("BodyDeviceClassComponent","init",{message:e.message});const t="classList"in document.createElement("_");w.error("BodyDeviceClassComponent","init.support",{support:t})}})(this._device);const s=new Ce(this._clsOptions);if(s.enabled){const e=s.result,t=e.startsWith(".")?e.substring(1):e;if((e=>/^[-_a-zA-Z]+[-_a-zA-Z0-9]*$/.test(e))(t))try{document.body.classList.add(t)}catch(e){w.error("ClsDynamicAdsInjector","start",`Uncaught CSS Class error: ${e}`)}else w.error("ClsDynamicAdsInjector","start",`Invalid class name: ${t}`)}const o=oe(this._device,this._clsOptions.siteAds).filter((e=>this._locationEnabled(e))).filter((e=>{return t=e,i=this._device,t.devices.includes(i);var t,i})).filter((e=>{return 0===(t=e).pageSelector.length||null!==document.querySelector(t.pageSelector);var t})),r=this.inject(o);var i,n;if(null==(t=this._clsOptions.siteAds.adOptions.stickyContainerConfig)||null==(e=t.content)?void 0:e.enabled)if(this._stickyContainerAdsExperiment.result&&!he(this._clsOptions.siteAds.adOptions.stickyContainerConfig.blockedSelectors||[]))de(`\n .adthrive-device-phone .adthrive-sticky-content {\n height: 450px !important;\n margin-bottom: 100px !important;\n }\n .adthrive-content.adthrive-sticky {\n position: -webkit-sticky;\n position: sticky !important;\n top: 42px !important;\n margin-top: 42px !important;\n }\n .adthrive-content.adthrive-sticky:after {\n content: "— Advertisement. Scroll down to continue. —";\n font-size: 10pt;\n margin-top: 5px;\n margin-bottom: 5px;\n display:block;\n color: #888;\n }\n .adthrive-sticky-container {\n position: relative;\n display: flex;\n flex-direction: column;\n justify-content: flex-start;\n align-items: center;\n min-height:${(null==(n=this._clsOptions.siteAds.adOptions.stickyContainerConfig)||null==(i=n.content)?void 0:i.minHeight)||400}px !important;\n margin: 10px 0 10px 0;\n background-color: #FAFAFA;\n padding-bottom:0px;\n }\n `);r.forEach((e=>this._clsOptions.setInjectedSlots(e)))}catch(e){w.error("ClsDynamicAdsInjector","start",e)}}inject(e,t=document){this._densityDevice="desktop"===this._device?h.Desktop:h.Mobile,this._overrideDefaultAdDensitySettingsWithSiteExperiment();const i=this._clsOptions.siteAds,n=C(i.adDensityEnabled,!0),s=i.adDensityLayout&&n,o=e.filter((e=>s?e.location!==d.Content:e)),r=e.filter((e=>s?e.location===d.Content:null));return[...o.length?this._injectNonDensitySlots(o,t):[],...r.length?this._injectDensitySlots(r,t):[]]}_injectNonDensitySlots(e,t=document){var i;const n=[],s=[];if(this._stickyContainerRecipeExperiment.result&&e.some((e=>e.location===d.Recipe&&e.sticky))&&!he((null==(i=this._clsOptions.siteAds.adOptions.stickyContainerConfig)?void 0:i.blockedSelectors)||[])){var o,r;const e=this._clsOptions.siteAds.adOptions.stickyContainerConfig;(e=>{de(`\n .adthrive-recipe.adthrive-sticky {\n position: -webkit-sticky;\n position: sticky !important;\n top: 42px !important;\n margin-top: 42px !important;\n }\n .adthrive-recipe-sticky-container {\n position: relative;\n display: flex;\n flex-direction: column;\n justify-content: flex-start;\n align-items: center;\n min-height:${e||400}px !important;\n margin: 10px 0 10px 0;\n background-color: #FAFAFA;\n padding-bottom:0px;\n }\n `)})("phone"===this._device?null==e||null==(o=e.recipeMobile)?void 0:o.minHeight:null==e||null==(r=e.recipeDesktop)?void 0:r.minHeight)}for(const i of e)this._insertNonDensityAds(i,n,s,t);return s.forEach((({location:e,element:t})=>{t.style.minHeight=this.locationToMinHeight[e]})),n}_injectDensitySlots(e,t=document){try{this._calculateMainContentHeightAndAllElements(e,t)}catch(e){return[]}const{onePerViewport:i,targetAll:n,targetDensityUnits:s,combinedMax:o,numberOfUnits:r}=this._getDensitySettings(e,t);return this._absoluteMinimumSpacingByDevice=i?window.innerHeight:this._absoluteMinimumSpacingByDevice,r?(this._adInjectionMap.filterUsed(),this._findElementsForAds(r,i,n,o,s,t),this._insertAds()):[]}_overrideDefaultAdDensitySettingsWithSiteExperiment(){var e;if(null==(e=this._clsTargetAdDensitySiteExperiment)?void 0:e.enabled){const e=this._clsTargetAdDensitySiteExperiment.result;"number"==typeof e&&(this._clsOptions.siteAds.adDensityEnabled=!0,this._clsOptions.siteAds.adDensityLayout[this._densityDevice].adDensity=e)}}_getDensitySettings(e,t=document){const i=this._clsOptions.siteAds.adDensityLayout,n=this._determineOverrides(i.pageOverrides),s=n.length?n[0]:i[this._densityDevice],o=this._clsOptions.getTargetDensity(s.adDensity),r=s.onePerViewport,a=this._shouldTargetAllEligible(o),l=this._getTargetDensityUnits(o,a),c=this._getCombinedMax(e,t),d=Math.min(this._totalAvailableElements.length,l,...c>0?[c]:[]);return this._pubLog={onePerViewport:r,targetDensity:o,targetDensityUnits:l,combinedMax:c},{onePerViewport:r,targetAll:a,targetDensityUnits:l,combinedMax:c,numberOfUnits:d}}_determineOverrides(e){return e.filter((e=>{const t=R(e.pageSelector);return""===e.pageSelector||t.elements&&t.elements.length})).map((e=>e[this._densityDevice]))}_shouldTargetAllEligible(e){return e===this._densityMax}_getTargetDensityUnits(e,t){return t?this._totalAvailableElements.length:Math.floor(e*this._mainContentHeight/(1-e)/this._minDivHeight)-this._recipeCount}_getCombinedMax(e,t=document){return C(e.filter((e=>{let i;try{i=t.querySelector(e.elementSelector)}catch(e){}return i})).map((e=>Number(e.max)+Number(e.lazyMaxDefaulted?0:e.lazyMax))).sort(((e,t)=>t-e))[0],0)}_elementLargerThanMainContent(e){return e.offsetHeight>=this._mainContentHeight&&this._totalAvailableElements.length>1}_elementDisplayNone(e){const t=window.getComputedStyle(e,null).display;return t&&"none"===t||"none"===e.style.display}_isBelowMaxes(e,t){return this._adInjectionMap.map.length<e&&this._adInjectionMap.map.length<t}_findElementsForAds(e,t,i,n,s,o=document){this._clsOptions.targetDensityLog={onePerViewport:t,combinedMax:n,targetDensityUnits:s,targetDensityPercentage:this._pubLog.targetDensity,mainContentHeight:this._mainContentHeight,recipeCount:this._recipeCount,numberOfEls:this._totalAvailableElements.length};const r=e=>{for(const{dynamicAd:t,element:r}of this._totalAvailableElements)if(this._logDensityInfo(r,t.elementSelector,e),!(!i&&this._elementLargerThanMainContent(r)||this._elementDisplayNone(r))){if(!this._isBelowMaxes(n,s))break;this._checkElementSpacing({dynamicAd:t,element:r,insertEvery:e,targetAll:i,target:o})}!this._usedAbsoluteMinimum&&this._smallerIncrementAttempts<5&&(++this._smallerIncrementAttempts,r(this._getSmallerIncrement(e)))},a=this._getInsertEvery(e,t,s);r(a)}_getSmallerIncrement(e){let t=.6*e;return t<=this._absoluteMinimumSpacingByDevice&&(t=this._absoluteMinimumSpacingByDevice,this._usedAbsoluteMinimum=!0),t}_insertNonDensityAds(e,t,i,n=document){let s=0,o=0,r=0;e.spacing>0&&(s=window.innerHeight*e.spacing,o=s);const a=this._repeatDynamicAds(e),l=this.getElements(e.elementSelector,n);e.skip;for(let c=e.skip;c<l.length&&!(r+1>a.length);c+=e.every){let h=l[c];if(s>0){const{bottom:e}=x(h);if(e<=o)continue;o=e+s}const u=a[r],p=`${u.location}_${u.sequence}`;t.some((e=>e.name===p))&&(r+=1);const m=this.getDynamicElementId(u),g=le(e),_=ce(e),y=[e.location===d.Sidebar&&e.sticky&&e.sequence&&e.sequence<=5?"adthrive-sticky-sidebar":"",this._stickyContainerRecipeExperiment.result&&e.location===d.Recipe&&e.sticky?"adthrive-recipe-sticky-container":"",g,_,...e.classNames],f=this.addAd(h,m,e.position,y);if(f){const s=re(u,f);if(s.length){const o={clsDynamicAd:e,dynamicAd:u,element:f,sizes:s,name:p,infinite:n!==document};t.push(o),i.push({location:u.location,element:f}),e.location===d.Recipe&&++this._recipeCount,r+=1}h=f}}}_insertAds(){const e=[];return this._adInjectionMap.filterUsed(),this._adInjectionMap.map.forEach((({el:t,dynamicAd:i,target:n},s)=>{const o=Number(i.sequence)+s,r=i.max,a=i.lazy&&o>r;i.sequence=o,i.lazy=a;const l=this._addContentAd(t,i,n);l&&(i.used=!0,e.push(l))})),e}_getInsertEvery(e,t,i){let n=this._absoluteMinimumSpacingByDevice;return this._moreAvailableElementsThanUnitsToInject(i,e)?(this._usedAbsoluteMinimum=!1,n=this._useWiderSpacing(i,e)):(this._usedAbsoluteMinimum=!0,n=this._useSmallestSpacing(t)),t&&window.innerHeight>n?window.innerHeight:n}_useWiderSpacing(e,t){return this._mainContentHeight/Math.min(e,t)}_useSmallestSpacing(e){return e&&window.innerHeight>this._absoluteMinimumSpacingByDevice?window.innerHeight:this._absoluteMinimumSpacingByDevice}_moreAvailableElementsThanUnitsToInject(e,t){return this._totalAvailableElements.length>e||this._totalAvailableElements.length>t}_logDensityInfo(e,t,i){const{onePerViewport:n,targetDensity:s,targetDensityUnits:o,combinedMax:r}=this._pubLog;this._totalAvailableElements.length}_checkElementSpacing({dynamicAd:t,element:i,insertEvery:n,targetAll:s,target:o=document}){(this._isFirstAdInjected()||this._hasProperSpacing(i,t,s,n))&&this._markSpotForContentAd(i,e({},t),o)}_isFirstAdInjected(){return!this._adInjectionMap.map.length}_markSpotForContentAd(e,t,i=document){const n="beforebegin"===t.position||"afterbegin"===t.position;this._adInjectionMap.add(e,this._getElementCoords(e,n),t,i),this._adInjectionMap.sort()}_hasProperSpacing(e,t,i,n){const s="beforebegin"===t.position||"afterbegin"===t.position,o="beforeend"===t.position||"afterbegin"===t.position,r=i||this._isElementFarEnoughFromOtherAdElements(e,n,s),a=o||this._isElementNotInRow(e,s),l=-1===e.id.indexOf(`AdThrive_${d.Below_Post}`);return r&&a&&l}_isElementFarEnoughFromOtherAdElements(e,t,i){const n=this._getElementCoords(e,i);let s=!1;for(let e=0;e<this._adInjectionMap.map.length;e++){const i=this._adInjectionMap.map[e].coords,o=this._adInjectionMap.map[e+1]&&this._adInjectionMap.map[e+1].coords;if(s=n-t>i&&(!o||n+t<o),s)break}return s}_isElementNotInRow(e,t){const i=e.previousElementSibling,n=e.nextElementSibling,s=t?!i&&n||i&&e.tagName!==i.tagName?n:i:n;return!(!s||0!==e.getBoundingClientRect().height)||(!s||e.getBoundingClientRect().top!==s.getBoundingClientRect().top)}_calculateMainContentHeightAndAllElements(e,t=document){const[i,n]=((e,t,i=document)=>{const[n,s]=P(e,t,i);if(0===n.length)throw Error("No Main Content Elements Found");return[Array.from(n).reduce(((e,t)=>t.offsetHeight>e.offsetHeight?t:e))||document.body,s]})(e,this._adInjectionMap,t);this._mainContentDiv=i,this._totalAvailableElements=n,this._mainContentHeight=((e,t="div #comments, section .comments")=>{const i=e.querySelector(t);return i?e.offsetHeight-i.offsetHeight:e.offsetHeight})(this._mainContentDiv)}_getElementCoords(e,t=!1){const i=e.getBoundingClientRect();return(t?i.top:i.bottom)+window.scrollY}_addContentAd(e,t,i=document){var n,s;let o=null;const r=le(t),a=ce(t),l=(null==(s=this._clsOptions.siteAds.adOptions.stickyContainerConfig)||null==(n=s.content)?void 0:n.enabled)&&this._stickyContainerAdsExperiment.result?"adthrive-sticky-container":"",c=this.addAd(e,this.getDynamicElementId(t),t.position,[l,r,a,...t.classNames]);if(c){const e=re(t,c);if(e.length){c.style.minHeight=this.locationToMinHeight[t.location];o={clsDynamicAd:t,dynamicAd:t,element:c,sizes:e,name:`${t.location}_${t.sequence}`,infinite:i!==document}}}return o}getDynamicElementId(e){return`AdThrive_${e.location}_${e.sequence}_${this._device}`}getElements(e,t=document){return t.querySelectorAll(e)}addAd(e,t,i,n=[]){if(!document.getElementById(t)){const s=`<div id="${t}" class="adthrive-ad ${n.join(" ")}"></div>`;e.insertAdjacentHTML(i,s)}return document.getElementById(t)}_repeatDynamicAds(t){const i=[],n=this._removeRecipeCapExperiment.result&&t.location===d.Recipe?99:this.locationMaxLazySequence.get(t.location),s=t.lazy?C(n,0):0,o=t.max,r=t.lazyMax,a=0===s&&t.lazy?o+r:Math.min(Math.max(s-t.sequence+1,0),o+r),l=Math.max(o,a);for(let n=0;n<l;n++){const s=Number(t.sequence)+n;if("Recipe_1"!==t.name||5!==s){const r=t.lazy&&n>=o;i.push(e({},t,{sequence:s,lazy:r}))}}return i}_locationEnabled(e){const t=this._clsOptions.enabledLocations.includes(e.location),i=this._clsOptions.disableAds&&this._clsOptions.disableAds.all||document.body.classList.contains("adthrive-disable-all"),n=!document.body.classList.contains("adthrive-disable-content")&&!this._clsOptions.disableAds.reasons.has("content_plugin");return t&&!i&&n}constructor(e,t){this._clsOptions=e,this._adInjectionMap=t,this._recipeCount=0,this._mainContentHeight=0,this._mainContentDiv=null,this._totalAvailableElements=[],this._minDivHeight=250,this._densityDevice=h.Desktop,this._pubLog={onePerViewport:!1,targetDensity:0,targetDensityUnits:0,combinedMax:0},this._densityMax=.99,this._smallerIncrementAttempts=0,this._absoluteMinimumSpacingByDevice=250,this._usedAbsoluteMinimum=!1,this._infPageEndOffset=0,this.locationMaxLazySequence=new Map([[d.Recipe,5]]),this.locationToMinHeight={Below_Post:Ee,Content:Ee,Recipe:Ee,Sidebar:Ee};const{tablet:i,desktop:n}=this._clsOptions.siteAds.breakpoints;this._device=((e,t)=>{const i=window.innerWidth;return i>=t?"desktop":i>=e?"tablet":"phone"})(i,n),this._config=new ae(e),this._clsOptions.enabledLocations=this._config.enabledLocations,this._clsTargetAdDensitySiteExperiment=this._clsOptions.siteAds.siteExperiments?new xe(this._clsOptions):null,this._stickyContainerAdsExperiment=new Oe,this._stickyContainerRecipeExperiment=new Ae,this._removeRecipeCapExperiment=new ue}}function De(e,t){if(null==e)return{};var i,n,s={},o=Object.keys(e);for(n=0;n<o.length;n++)i=o[n],t.indexOf(i)>=0||(s[i]=e[i]);return s}class ke{get enabled(){return!0}}class Ie extends ke{setPotentialPlayersMap(){const e=this._videoConfig.players||[],t=this._filterPlayerMap(),i=e.filter((e=>"stationaryRelated"===e.type&&e.enabled));return t.stationaryRelated=i,this._potentialPlayerMap=t,this._potentialPlayerMap}_filterPlayerMap(){const e=this._videoConfig.players,t={stickyRelated:[],stickyPlaylist:[],stationaryRelated:[]};return e&&e.length?e.filter((e=>{var t;return null==(t=e.devices)?void 0:t.includes(this._device)})).reduce(((e,t)=>(e[t.type]||(w.event(this._component,"constructor","Unknown Video Player Type detected",t.type),e[t.type]=[]),t.enabled&&e[t.type].push(t),e)),t):t}_checkPlayerSelectorOnPage(e){const t=this._potentialPlayerMap[e].map((e=>({player:e,playerElement:this._getPlacementElement(e)})));return t.length?t[0]:{player:null,playerElement:null}}_getOverrideElement(e,t,i){if(e&&t){const n=document.createElement("div");t.insertAdjacentElement(e.position,n),i=n}else{const{player:e,playerElement:t}=this._checkPlayerSelectorOnPage("stickyPlaylist");if(e&&t){const n=document.createElement("div");t.insertAdjacentElement(e.position,n),i=n}}return i}_shouldOverrideElement(e){const t=e.getAttribute("override-embed");return"true"===t||"false"===t?"true"===t:!!this._videoConfig.relatedSettings&&this._videoConfig.relatedSettings.overrideEmbedLocation}_checkPageSelector(e,t,i=[]){if(e&&t&&0===i.length){return!("/"===window.location.pathname)&&w.event("VideoUtils","getPlacementElement",new Error(`PSNF: ${e} does not exist on the page`)),!1}return!0}_getElementSelector(e,t,i){return t&&t.length>i?t[i]:(w.event("VideoUtils","getPlacementElement",new Error(`ESNF: ${e} does not exist on the page`)),null)}_getPlacementElement(e){const{pageSelector:t,elementSelector:i,skip:n}=e,s=R(t),{valid:o,elements:r}=s,a=De(s,["valid","elements"]),l=I(i),{valid:c,elements:d}=l,h=De(l,["valid","elements"]);if(""!==t&&!o)return w.error("VideoUtils","getPlacementElement",new Error(`${t} is not a valid selector`),a),null;if(!c)return w.error("VideoUtils","getPlacementElement",new Error(`${i} is not a valid selector`),h),null;if(!this._checkPageSelector(t,o,r))return null;return this._getElementSelector(i,d,n)||null}_getEmbeddedPlayerType(e){let t=e.getAttribute("data-player-type");return t&&"default"!==t||(t=this._videoConfig.relatedSettings?this._videoConfig.relatedSettings.defaultPlayerType:"static"),this._stickyRelatedOnPage&&(t="static"),t}_getMediaId(e){const t=e.getAttribute("data-video-id");return!!t&&(this._relatedMediaIds.push(t),t)}_createRelatedPlayer(e,t,i,n){"collapse"===t?this._createCollapsePlayer(e,i):"static"===t&&this._createStaticPlayer(e,i,n)}_createCollapsePlayer(t,i){const{player:n,playerElement:s}=this._checkPlayerSelectorOnPage("stickyRelated"),o=n||this._potentialPlayerMap.stationaryRelated[0];if(o&&o.playerId){this._shouldOverrideElement(i)&&(i=this._getOverrideElement(n,s,i)),i=document.querySelector(`#cls-video-container-${t} > div`)||i,this._createStickyRelatedPlayer(e({},o,{mediaId:t}),i)}else w.error(this._component,"_createCollapsePlayer","No video player found")}_createStaticPlayer(t,i,n){if(this._potentialPlayerMap.stationaryRelated.length&&this._potentialPlayerMap.stationaryRelated[0].playerId){const s=this._potentialPlayerMap.stationaryRelated[0];this._createStationaryRelatedPlayer(e({},s,{mediaOrPlaylistId:t}),i,n)}else w.error(this._component,"_createStaticPlayer","No video player found")}_shouldRunAutoplayPlayers(){return!(!this._isVideoAllowedOnPage()||!this._potentialPlayerMap.stickyRelated.length&&!this._potentialPlayerMap.stickyPlaylist.length)}_determineAutoplayPlayers(){const e=this._component,t="VideoManagerComponent"===e,i=this._context;if(this._stickyRelatedOnPage)return void w.event(e,"stickyRelatedOnPage",t&&{device:i&&i.device,isDesktop:this._device}||{});const{player:n,playerElement:s}=this._checkPlayerSelectorOnPage("stickyPlaylist");n&&n.playerId&&n.playlistId&&s?this._createPlaylistPlayer(n,s):Math.random()<.01&&setTimeout((()=>{w.event(e,"noStickyPlaylist",t&&{vendor:"none",device:i&&i.device,isDesktop:this._device}||{})}),1e3)}_initializeRelatedPlayers(e){const t=new Map;for(let i=0;i<e.length;i++){const n=e[i],s=n.offsetParent,o=this._getEmbeddedPlayerType(n),r=this._getMediaId(n);if(s&&r){const e=(t.get(r)||0)+1;t.set(r,e),this._createRelatedPlayer(r,o,n,e)}}}constructor(e,t,i){super(),this._videoConfig=e,this._component=t,this._context=i,this._stickyRelatedOnPage=!1,this._relatedMediaIds=[],this._device=A()?"desktop":"mobile",this._potentialPlayerMap=this.setPotentialPlayersMap()}}class Re extends Ie{init(){this._initializePlayers()}_wrapVideoPlayerWithCLS(e,t,i=0){if(e.parentNode){const n=e.offsetWidth*(9/16),s=this._createGenericCLSWrapper(n,t,i);return e.parentNode.insertBefore(s,e),s.appendChild(e),s}return null}_createGenericCLSWrapper(e,t,i){const n=document.createElement("div");return n.id=`cls-video-container-${t}`,n.className="adthrive",n.style.minHeight=`${e+i}px`,n}_getTitleHeight(){const e=document.createElement("h3");e.style.margin="10px 0",e.innerText="Title",e.style.visibility="hidden",document.body.appendChild(e);const t=window.getComputedStyle(e),i=parseInt(t.height,10),n=parseInt(t.marginTop,10),s=parseInt(t.marginBottom,10);return document.body.removeChild(e),Math.min(i+s+n,50)}_initializePlayers(){const e=document.querySelectorAll(this._IN_POST_SELECTOR);e.length&&this._initializeRelatedPlayers(e),this._shouldRunAutoplayPlayers()&&this._determineAutoplayPlayers()}_createStationaryRelatedPlayer(e,t,i){const n="mobile"===this._device?[400,225]:[640,360],s=u.Video_In_Post_ClicktoPlay_SoundOn;if(t&&e.mediaOrPlaylistId){const o=`${e.mediaOrPlaylistId}_${i}`,r=this._wrapVideoPlayerWithCLS(t,o);this._playersAddedFromPlugin.push(e.mediaOrPlaylistId),r&&this._clsOptions.setInjectedVideoSlots({playerId:e.playerId,playerName:s,playerSize:n,element:r,type:"stationaryRelated"})}}_createStickyRelatedPlayer(e,t){const i="mobile"===this._device?[400,225]:[640,360],n=u.Video_Individual_Autoplay_SOff;if(this._stickyRelatedOnPage=!0,this._videoConfig.mobileStickyPlayerOnPage="mobile"===this._device,t&&e.position&&e.mediaId){const s=document.createElement("div");t.insertAdjacentElement(e.position,s);const o=this._getTitleHeight(),r=this._wrapVideoPlayerWithCLS(s,e.mediaId,this._WRAPPER_BAR_HEIGHT+o);this._playersAddedFromPlugin.push(e.mediaId),r&&this._clsOptions.setInjectedVideoSlots({playlistId:e.playlistId,playerId:e.playerId,playerSize:i,playerName:n,element:s,type:"stickyRelated"})}}_createPlaylistPlayer(e,t){const i=e.playlistId,n="mobile"===this._device?u.Video_Coll_SOff_Smartphone:u.Video_Collapse_Autoplay_SoundOff,s="mobile"===this._device?[400,225]:[640,360];this._videoConfig.mobileStickyPlayerOnPage=!0;const o=document.createElement("div");t.insertAdjacentElement(e.position,o);let r=this._WRAPPER_BAR_HEIGHT;e.title&&(r+=this._getTitleHeight());const a=this._wrapVideoPlayerWithCLS(o,i,r);this._playersAddedFromPlugin.push(`playlist-${i}`),a&&this._clsOptions.setInjectedVideoSlots({playlistId:e.playlistId,playerId:e.playerId,playerSize:s,playerName:n,element:o,type:"stickyPlaylist"})}_isVideoAllowedOnPage(){const e=this._clsOptions.disableAds;if(e&&e.video){let t="";e.reasons.has("video_tag")?t="video tag":e.reasons.has("video_plugin")?t="video plugin":e.reasons.has("video_page")&&(t="command queue");const i=t?"ClsVideoInsertionMigrated":"ClsVideoInsertion";return w.error(i,"isVideoAllowedOnPage",new Error(`DBP: Disabled by publisher via ${t||"other"}`)),!1}return!this._clsOptions.videoDisabledFromPlugin}constructor(e,t){super(e,"ClsVideoInsertion"),this._videoConfig=e,this._clsOptions=t,this._IN_POST_SELECTOR=".adthrive-video-player",this._WRAPPER_BAR_HEIGHT=36,this._playersAddedFromPlugin=[],t.removeVideoTitleWrapper&&(this._WRAPPER_BAR_HEIGHT=0)}}class Me{add(e,t,i,n=document){this._map.push({el:e,coords:t,dynamicAd:i,target:n})}get map(){return this._map}sort(){this._map.sort((({coords:e},{coords:t})=>e-t))}filterUsed(){this._map=this._map.filter((({dynamicAd:e})=>!e.used))}reset(){this._map=[]}constructor(){this._map=[]}}class Le extends Me{}try{(()=>{const e=new H;e&&e.enabled&&(new Pe(e,new Le).start(),new Re(new F(e),e).init())})()}catch(e){w.error("CLS","pluginsertion-iife",e),window.adthriveCLS&&(window.adthriveCLS.injectedFromPlugin=!1)}}(); </script><script data-no-optimize="1" data-cfasync="false">(function () {var clsElements = document.querySelectorAll("script[id^='cls-']"); window.adthriveCLS && clsElements && clsElements.length === 0 ? window.adthriveCLS.injectedFromPlugin = false : ""; })();</script><div data-wpr-lazyrender="1" id="amzn-assoc-ad-1438d7d4-c08f-4515-a13e-60829ea462e5"></div><script async src="//z-na.amazon-adsystem.com/widgets/onejs?MarketPlace=US&adInstanceId=1438d7d4-c08f-4515-a13e-60829ea462e5"></script><script type="text/javascript" id="ppress-frontend-script-js-extra"> /* <![CDATA[ */ var pp_ajax_form = {"ajaxurl":"https:\/\/linuxhint.com\/wp-admin\/admin-ajax.php","confirm_delete":"Are you sure?","deleting_text":"Deleting...","deleting_error":"An error occurred. Please try again.","nonce":"c9b3f9f8be","disable_ajax_form":"false","is_checkout":"0","is_checkout_tax_enabled":"0","is_checkout_autoscroll_enabled":"true"}; /* ]]> */ </script> <script type="text/javascript" src="https://linuxhint.com/wp-content/plugins/wp-user-avatar/assets/js/frontend.min.js?ver=4.15.18" id="ppress-frontend-script-js"></script> <script type="text/javascript" src="https://linuxhint.com/wp-includes/js/imagesloaded.min.js?ver=5.0.0" id="imagesloaded-js"></script> <script type="text/javascript" id="vce-main-js-extra"> /* <![CDATA[ */ var vce_js_settings = {"sticky_header":"","sticky_header_offset":"700","sticky_header_logo":"","logo":"https:\/\/linuxhint.com\/wp-content\/uploads\/2019\/11\/Logo-final.png","logo_retina":"","logo_mobile":"","logo_mobile_retina":"","rtl_mode":"0","ajax_url":"https:\/\/linuxhint.com\/wp-admin\/admin-ajax.php","ajax_wpml_current_lang":null,"ajax_mega_menu":"1","mega_menu_slider":"","mega_menu_subcats":"","lay_fa_grid_center":"","full_slider_autoplay":"","grid_slider_autoplay":"","grid_big_slider_autoplay":"","fa_big_opacity":{"1":"0.5","2":"0.7"},"top_bar_mobile":"1","top_bar_mobile_group":"","top_bar_more_link":"More"}; /* ]]> */ </script> <script data-minify="1" type="text/javascript" src="https://linuxhint.com/wp-content/cache/min/1/wp-content/themes/voice/assets/js/min.js?ver=1731858714" id="vce-main-js"></script> <script type="text/javascript" src="https://linuxhint.com/wp-content/plugins/youtube-embed-plus/scripts/fitvids.min.js?ver=14.2.1.2" id="__ytprefsfitvids__-js"></script> <script>!function(){"use strict";!function(e){if(-1===e.cookie.indexOf("__adblocker")){e.cookie="__adblocker=; expires=Thu, 01 Jan 1970 00:00:00 GMT; path=/";var t=new XMLHttpRequest;t.open("GET","https://ads.adthrive.com/abd/abd.js",!0),t.onreadystatechange=function(){if(XMLHttpRequest.DONE===t.readyState)if(200===t.status){var a=e.createElement("script");a.innerHTML=t.responseText,e.getElementsByTagName("head")[0].appendChild(a)}else{var n=new Date;n.setTime(n.getTime()+3e5),e.cookie="__adblocker=true; expires="+n.toUTCString()+"; path=/"}},t.send()}}(document)}(); </script><script>!function(){"use strict";var e;e=document,function(){var t,n;function r(){var t=e.createElement("script");t.src="https://cafemedia-com.videoplayerhub.com/galleryplayer.js",e.head.appendChild(t)}function a(){var t=e.cookie.match("(^|[^;]+)\\s*__adblocker\\s*=\\s*([^;]+)");return t&&t.pop()}function c(){clearInterval(n)}return{init:function(){var e;"true"===(t=a())?r():(e=0,n=setInterval((function(){100!==e&&"false"!==t||c(),"true"===t&&(r(),c()),t=a(),e++}),50))}}}().init()}(); </script><script>window.lazyLoadOptions=[{elements_selector:"img[data-lazy-src],.rocket-lazyload,iframe[data-lazy-src]",data_src:"lazy-src",data_srcset:"lazy-srcset",data_sizes:"lazy-sizes",class_loading:"lazyloading",class_loaded:"lazyloaded",threshold:300,callback_loaded:function(element){if(element.tagName==="IFRAME"&&element.dataset.rocketLazyload=="fitvidscompatible"){if(element.classList.contains("lazyloaded")){if(typeof window.jQuery!="undefined"){if(jQuery.fn.fitVids){jQuery(element).parent().fitVids()}}}}}},{elements_selector:".rocket-lazyload",data_src:"lazy-src",data_srcset:"lazy-srcset",data_sizes:"lazy-sizes",class_loading:"lazyloading",class_loaded:"lazyloaded",threshold:300,}];window.addEventListener('LazyLoad::Initialized',function(e){var lazyLoadInstance=e.detail.instance;if(window.MutationObserver){var observer=new MutationObserver(function(mutations){var image_count=0;var iframe_count=0;var rocketlazy_count=0;mutations.forEach(function(mutation){for(var i=0;i<mutation.addedNodes.length;i++){if(typeof mutation.addedNodes[i].getElementsByTagName!=='function'){continue} if(typeof mutation.addedNodes[i].getElementsByClassName!=='function'){continue} images=mutation.addedNodes[i].getElementsByTagName('img');is_image=mutation.addedNodes[i].tagName=="IMG";iframes=mutation.addedNodes[i].getElementsByTagName('iframe');is_iframe=mutation.addedNodes[i].tagName=="IFRAME";rocket_lazy=mutation.addedNodes[i].getElementsByClassName('rocket-lazyload');image_count+=images.length;iframe_count+=iframes.length;rocketlazy_count+=rocket_lazy.length;if(is_image){image_count+=1} if(is_iframe){iframe_count+=1}}});if(image_count>0||iframe_count>0||rocketlazy_count>0){lazyLoadInstance.update()}});var b=document.getElementsByTagName("body")[0];var config={childList:!0,subtree:!0};observer.observe(b,config)}},!1)</script><script data-no-minify="1" async src="https://linuxhint.com/wp-content/plugins/wp-rocket/assets/js/lazyload/17.8.3/lazyload.min.js"></script><script>function lazyLoadThumb(e,alt,l){var t='<img data-lazy-src="https://i.ytimg.com/vi/ID/hqdefault.jpg" alt="" width="480" height="360"><noscript><img src="https://i.ytimg.com/vi/ID/hqdefault.jpg" alt="" width="480" height="360"></noscript>',a='<button class="play" aria-label="play Youtube video"></button>';if(l){t=t.replace('data-lazy-','');t=t.replace('loading="lazy"','');t=t.replace(/<noscript>.*?<\/noscript>/g,'');}t=t.replace('alt=""','alt="'+alt+'"');return t.replace("ID",e)+a}function lazyLoadYoutubeIframe(){var e=document.createElement("iframe"),t="ID?autoplay=1";t+=0===this.parentNode.dataset.query.length?"":"&"+this.parentNode.dataset.query;e.setAttribute("src",t.replace("ID",this.parentNode.dataset.src)),e.setAttribute("frameborder","0"),e.setAttribute("allowfullscreen","1"),e.setAttribute("allow","accelerometer; autoplay; encrypted-media; gyroscope; picture-in-picture"),this.parentNode.parentNode.replaceChild(e,this.parentNode)}document.addEventListener("DOMContentLoaded",function(){var exclusions=[];var e,t,p,u,l,a=document.getElementsByClassName("rll-youtube-player");for(t=0;t<a.length;t++)(e=document.createElement("div")),(u='https://i.ytimg.com/vi/ID/hqdefault.jpg'),(u=u.replace('ID',a[t].dataset.id)),(l=exclusions.some(exclusion=>u.includes(exclusion))),e.setAttribute("data-id",a[t].dataset.id),e.setAttribute("data-query",a[t].dataset.query),e.setAttribute("data-src",a[t].dataset.src),(e.innerHTML=lazyLoadThumb(a[t].dataset.id,a[t].dataset.alt,l)),a[t].appendChild(e),(p=e.querySelector(".play")),(p.onclick=lazyLoadYoutubeIframe)});</script> </body> </html> <!-- This website is like a Rocket, isn't it? Performance optimized by WP Rocket. Learn more: https://wp-rocket.me - Debug: cached@1732442699 -->