vendor: 4,030 bytes, lines 1-74
1/*! 2 * Generated using the Bootstrap Customizer (https://getbootstrap.com/docs/3.4/customize/) 3 */ 4/*! 5 * Bootstrap v3.4.1 (https://getbootstrap.com/) 6 * Copyright 2011-2019 Twitter, Inc. 7 * Licensed under the MIT license 8 */ 9if(typeof jQuery==='undefined'){throw new Error('Bootstrap\'s JavaScript requires jQuery')} 10+function($){'use strict';var version=$.fn.jquery.split(' ')[0].split('.') 11if((version[0]<2&&version[1]<9)||(version[0]==1&&version[1]==9&&version[2]<1)||(version[0]>3)){throw new Error('Bootstrap\'s JavaScript requires jQuery version 1.9.1 or higher, but lower than version 4')}}(jQuery);+function($){'use strict';var Affix=function(element,options){this.options=$.extend({},Affix.DEFAULTS,options) 12var target=this.options.target===Affix.DEFAULTS.target?$(this.options.target):$(document).find(this.options.target) 13this.$target=target.on('scroll.bs.affix.data-api',$.proxy(this.checkPosition,this)).on('click.bs.affix.data-api',$.proxy(this.checkPositionWithEventLoop,this)) 14this.$element=$(element) 15this.affixed=null 16this.unpin=null 17this.pinnedOffset=null 18this.checkPosition()} 19Affix.VERSION='3.4.1' 20Affix.RESET='affix affix-top affix-bottom' 21Affix.DEFAULTS={offset:0,target:window} 22Affix.prototype.getState=function(scrollHeight,height,offsetTop,offsetBottom){var scrollTop=this.$target.scrollTop() 23var position=this.$element.offset() 24var targetHeight=this.$target.height() 25if(offsetTop!=null&&this.affixed=='top')return scrollTop<offsetTop?'top':false 26if(this.affixed=='bottom'){if(offsetTop!=null)return(scrollTop+this.unpin<=position.top)?false:'bottom' 27return(scrollTop+targetHeight<=scrollHeight-offsetBottom)?false:'bottom'} 28var initializing=this.affixed==null 29var colliderTop=initializing?scrollTop:position.top 30var colliderHeight=initializing?targetHeight:height 31if(offsetTop!=null&&scrollTop<=offsetTop)return'top' 32if(offsetBottom!=null&&(colliderTop+colliderHeight>=scrollHeight-offsetBottom))return'bottom' 33return false} 34Affix.prototype.getPinnedOffset=function(){if(this.pinnedOffset)return this.pinnedOffset 35this.$element.removeClass(Affix.RESET).addClass('affix') 36var scrollTop=this.$target.scrollTop() 37var position=this.$element.offset() 38return(this.pinnedOffset=position.top-scrollTop)} 39Affix.prototype.checkPositionWithEventLoop=function(){setTimeout($.proxy(this.checkPosition,this),1)} 40Affix.prototype.checkPosition=function(){if(!this.$element.is(':visible'))return 41var height=this.$element.height() 42var offset=this.options.offset 43var offsetTop=offset.top 44var offsetBottom=offset.bottom 45var scrollHeight=Math.max($(document).height(),$(document.body).height()) 46if(typeof offset!='object')offsetBottom=offsetTop=offset 47if(typeof offsetTop=='function')offsetTop=offset.top(this.$element) 48if(typeof offsetBottom=='function')offsetBottom=offset.bottom(this.$element) 49var affix=this.getState(scrollHeight,height,offsetTop,offsetBottom) 50if(this.affixed!=affix){if(this.unpin!=null)this.$element.css('top','') 51var affixType='affix'+(affix?'-'+affix:'') 52var e=$.Event(affixType+'.bs.affix') 53this.$element.trigger(e) 54if(e.isDefaultPrevented())return 55this.affixed=affix 56this.unpin=affix=='bottom'?this.getPinnedOffset():null 57this.$element.removeClass(Affix.RESET).addClass(affixType).trigger(affixType.replace('affix','affixed')+'.bs.affix')} 58if(affix=='bottom'){this.$element.offset({top:scrollHeight-height-offsetBottom})}} 59function Plugin(option){return this.each(function(){var $this=$(this) 60var data=$this.data('bs.affix') 61var options=typeof option=='object'&&option 62if(!data)$this.data('bs.affix',(data=new Affix(this,options))) 63if(typeof option=='string')data[option]()})} 64var old=$.fn.affix 65$.fn.affix=Plugin 66$.fn.affix.Constructor=Affix 67$.fn.affix.noConflict=function(){$.fn.affix=old 68return this} 69$(window).on('load',function(){$('[data-spy="affix"]').each(function(){var $spy=$(this) 70var data=$spy.data() 71data.offset=data.offset||{} 72if(data.offsetBottom!=null)data.offset.bottom=data.offsetBottom 73if(data.offsetTop!=null)data.offset.top=data.offsetTop 74Plugin.call($spy,data)})})}(jQuery);
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.