var _____WB$wombat$assign$function_____ = function(name) {return (self._wb_wombat && self._wb_wombat.local_init && self._wb_wombat.local_init(name)) || self[name]; }; if (!self.__WB_pmw) { self.__WB_pmw = function(obj) { this.__WB_source = obj; return this; } } { let window = _____WB$wombat$assign$function_____("window"); let self = _____WB$wombat$assign$function_____("self"); let document = _____WB$wombat$assign$function_____("document"); let location = _____WB$wombat$assign$function_____("location"); let top = _____WB$wombat$assign$function_____("top"); let parent = _____WB$wombat$assign$function_____("parent"); let frames = _____WB$wombat$assign$function_____("frames"); let opener = _____WB$wombat$assign$function_____("opener"); /*! * Retina.js v1.3.0 * * Copyright 2014 Imulus, LLC * Released under the MIT license * * Retina.js is an open source script that makes it easy to serve * high-resolution images to devices with retina displays. */ (function() { var root = (typeof exports === 'undefined' ? window : exports); var config = { // An option to choose a suffix for 2x images retinaImageSuffix : '@2x', // Ensure Content-Type is an image before trying to load @2x image // https://github.com/imulus/retinajs/pull/45) check_mime_type: true, // Resize high-resolution images to original image's pixel dimensions // https://github.com/imulus/retinajs/issues/8 force_original_dimensions: true }; function Retina() {} root.Retina = Retina; Retina.configure = function(options) { if (options === null) { options = {}; } for (var prop in options) { if (options.hasOwnProperty(prop)) { config[prop] = options[prop]; } } }; Retina.init = function(context) { if (context === null) { context = root; } var existing_onload = context.onload || function(){}; context.onload = function() { var images = document.getElementsByTagName('img'), retinaImages = [], i, image; for (i = 0; i < images.length; i += 1) { image = images[i]; if (!!!image.getAttributeNode('data-no-retina')) { retinaImages.push(new RetinaImage(image)); } } existing_onload(); }; }; Retina.isRetina = function(){ var mediaQuery = '(-webkit-min-device-pixel-ratio: 1.5), (min--moz-device-pixel-ratio: 1.5), (-o-min-device-pixel-ratio: 3/2), (min-resolution: 1.5dppx)'; if (root.devicePixelRatio > 1) { return true; } if (root.matchMedia && root.matchMedia(mediaQuery).matches) { return true; } return false; }; var regexMatch = /\.\w+$/; function suffixReplace (match) { return config.retinaImageSuffix + match; } function RetinaImagePath(path, at_2x_path) { this.path = path || ''; if (typeof at_2x_path !== 'undefined' && at_2x_path !== null) { this.at_2x_path = at_2x_path; this.perform_check = false; } else { if (undefined !== document.createElement) { var locationObject = document.createElement('a'); locationObject.href = this.path; locationObject.pathname = locationObject.pathname.replace(regexMatch, suffixReplace); this.at_2x_path = locationObject.href; } else { var parts = this.path.split('?'); parts[0] = parts[0].replace(regexMatch, suffixReplace); this.at_2x_path = parts.join('?'); } this.perform_check = true; } } root.RetinaImagePath = RetinaImagePath; RetinaImagePath.confirmed_paths = []; RetinaImagePath.prototype.is_external = function() { return !!(this.path.match(/^https?\:/i) && !this.path.match('//' + document.domain) ); }; RetinaImagePath.prototype.check_2x_variant = function(callback) { var http, that = this; if (this.is_external()) { return callback(false); } else if (!this.perform_check && typeof this.at_2x_path !== 'undefined' && this.at_2x_path !== null) { return callback(true); } else if (this.at_2x_path in RetinaImagePath.confirmed_paths) { return callback(true); } else { http = new XMLHttpRequest(); http.open('HEAD', this.at_2x_path); http.onreadystatechange = function() { if (http.readyState !== 4) { return callback(false); } if (http.status >= 200 && http.status <= 399) { if (config.check_mime_type) { var type = http.getResponseHeader('Content-Type'); if (type === null || !type.match(/^image/i)) { return callback(false); } } RetinaImagePath.confirmed_paths.push(that.at_2x_path); return callback(true); } else { return callback(false); } }; http.send(); } }; function RetinaImage(el) { this.el = el; this.path = new RetinaImagePath(this.el.getAttribute('src'), this.el.getAttribute('data-at2x')); var that = this; this.path.check_2x_variant(function(hasVariant) { if (hasVariant) { that.swap(); } }); } root.RetinaImage = RetinaImage; RetinaImage.prototype.swap = function(path) { if (typeof path === 'undefined') { path = this.path.at_2x_path; } var that = this; function load() { if (! that.el.complete) { setTimeout(load, 5); } else { if (config.force_original_dimensions) { that.el.setAttribute('width', that.el.offsetWidth); that.el.setAttribute('height', that.el.offsetHeight); } that.el.setAttribute('src', path); } } load(); }; if (Retina.isRetina()) { Retina.init(root); } })(); } /* FILE ARCHIVED ON 12:52:33 Jan 22, 2019 AND RETRIEVED FROM THE INTERNET ARCHIVE ON 01:38:21 Nov 09, 2022. JAVASCRIPT APPENDED BY WAYBACK MACHINE, COPYRIGHT INTERNET ARCHIVE. ALL OTHER CONTENT MAY ALSO BE PROTECTED BY COPYRIGHT (17 U.S.C. SECTION 108(a)(3)). */ /* playback timings (ms): captures_list: 235.606 exclusion.robots: 0.087 exclusion.robots.policy: 0.08 RedisCDXSource: 2.546 esindex: 0.009 LoadShardBlock: 215.558 (3) PetaboxLoader3.datanode: 157.836 (5) CDXLines.iter: 15.454 (3) load_resource: 321.387 (2) PetaboxLoader3.resolve: 112.406 (2) */