1var _____WB$wombat$assign$function_____=function(name){return (globalThis._wb_wombat && globalThis._wb_wombat.local_init && globalThis._wb_wombat.local_init(name))||globalThis[name];};if(!globalThis.__WB_pmw){globalThis.__WB_pmw=function(obj){this.__WB_source=obj;return this;}}{ 2let window = _____WB$wombat$assign$function_____("window"); 3let self = _____WB$wombat$assign$function_____("self"); 4let document = _____WB$wombat$assign$function_____("document"); 5let location = _____WB$wombat$assign$function_____("location"); 6let top = _____WB$wombat$assign$function_____("top"); 7let parent = _____WB$wombat$assign$function_____("parent"); 8let frames = _____WB$wombat$assign$function_____("frames"); 9let opener = _____WB$wombat$assign$function_____("opener"); 10/******************* 11 * 12 * Featured Entries 13 * 14 ******************/ 15 16(function ($) { 17 18 'use strict'; 19 20 var selectors = { 21 'wrapper': '.g1-featured', 22 'items': '.g1-featured-items', 23 'item': '.g1-featured-item', 24 'prevLink': '.g1-featured-arrow-prev', 25 'nextLink': '.g1-featured-arrow-next' 26 }; 27 28 var classes = { 29 'startPos': 'g1-featured-viewport-start', 30 'endPos': 'g1-featured-viewport-end', 31 'noArrows': 'g1-featured-viewport-no-overflow' 32 }; 33 34 var isRTL; 35 var $wrapper; // main wrapper 36 var $items; // items wrapper, is scrollable 37 var $prevLink; // move collection left 38 var $nextLink; // move collection right 39 40 // public 41 g1.featuredEntries = function () { 42 isRTL = g1.isRTL(); 43 44 $(selectors.wrapper).each(function () { 45 $wrapper = $(this); 46 $items = $wrapper.find(selectors.items); 47 $prevLink = $wrapper.find(selectors.prevLink); 48 $nextLink = $wrapper.find(selectors.nextLink); 49 50 var singleItemWidth = $items.find(selectors.item + ':first').width(); 51 var moveOffset = 2 * singleItemWidth; 52 var direction = isRTL ? -1 : 1; 53 54 $prevLink.on('click', function (e) { 55 e.preventDefault(); 56 57 scrollHorizontally(-direction * moveOffset); 58 }); 59 60 $nextLink.on('click', function (e) { 61 e.preventDefault(); 62 63 scrollHorizontally(direction * moveOffset); 64 }); 65 66 $items.on('scroll', function () { 67 window.requestAnimationFrame(function () { 68 updateScrollState(); 69 }); 70 }); 71 72 $wrapper.removeClass('g1-featured-no-js').addClass('g1-featured-js'); 73 74 updateScrollState(); 75 }); 76 }; 77 78 // private 79 function updateScrollState () { 80 var width = $items.get(0).scrollWidth; 81 var overflowedWidth = $items.width(); 82 var scrollLeft = $items.scrollLeft(); 83 84 $wrapper.removeClass(classes.endPos + ' ' + classes.startPos); 85 // we add 20px "error margin", so we don't have scroll when the last element's overflow only a tiny bit. 86 // 20px is equal to the padding of the title, so the text is always in viewport. 87 if ( $items[0].offsetWidth + 20 >= $items[0].scrollWidth ){
88 $wrapper.addClass(classes.noArrows); 89 return; 90 } 91 92 // no scroll LTR, most left RTL 93 if (scrollLeft <= 0) { 94 if (isRTL) { 95 $wrapper.addClass(classes.endPos); 96 $wrapper.removeClass(classes.startPos); 97 } else { 98 $wrapper.addClass(classes.startPos); 99 $wrapper.removeClass(classes.endPos); 100 } 101 // most right LTR, no scroll RTL 102 } else if (width <= scrollLeft + overflowedWidth) { 103 if (isRTL) { 104 $wrapper.addClass(classes.startPos); 105 $wrapper.removeClass(classes.endPos); 106 } else { 107 $wrapper.addClass(classes.endPos); 108 $wrapper.removeClass(classes.startPos); 109 } 110 } 111 } 112 113 function scrollHorizontally(difference) { 114 var leftOffset = $items.scrollLeft(); 115 116 $items.animate( 117 // properties to animate 118 { 119 'scrollLeft': leftOffset + difference 120 }, 121 375, // duration 122 'swing' // easing 123 ); 124 } 125 126 // Fire it up. 127 $(document).ready(function () { 128 g1.featuredEntries(); 129 130 }); 131})(jQuery); 132 133} 134 135/* 136 FILE ARCHIVED ON 13:00:57 Mar 10, 2025 AND RETRIEVED FROM THE 137 INTERNET ARCHIVE ON 13:02:12 Aug 26, 2026. 138 JAVASCRIPT APPENDED BY WAYBACK MACHINE, COPYRIGHT INTERNET ARCHIVE. 139 140 ALL OTHER CONTENT MAY ALSO BE PROTECTED BY COPYRIGHT (17 U.S.C. 141 SECTION 108(a)(3)). 142*/ 143/* 144playback timings (ms): 145 captures_list: 0.458 146 exclusion.robots: 0.07 147 exclusion.robots.policy: 0.062 148 esindex: 0.008 149 cdx.remote: 16.154 150 LoadShardBlock: 57.21 (3) 151 PetaboxLoader3.datanode: 38.322 (4) 152 PetaboxLoader3.resolve: 68.105 (2) 153 load_resource: 54.543 154*/
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.