PageSourceSearch

https://bestwebsoft.com/wp-content/themes/bestwebsoft/js/main.js?ver=3.0

js bestwebsoft.com collected 2026-10-02 04:39:33 UTC 20,352 bytes, 571 lines download raw bytes

1(function( $ ) {
2	$( document ).ready( function() {
3		bstwbsft_resize_changes();
4
5		var items  = [ $( '#author' ), $( '#email' ), $( '#comment' ) ],
6			values = [
7				'Please enter your full name...',
8				'Please enter your email address...',
9				'Please enter your message...'
10			];
11		for ( var i = 0; i < items.length; i++ ) {
12			var val = $.trim( items[i].val() ), item, error;
13
14			items[i].attr( 'data-error', values[i] ).focus( function() {
15				item = $(this),
16				error = item.prev( 'label' ).children( '.error_notice' );
17				item.removeClass( "error" );
18				if ( error.length )
19					error.remove();
20			}).blur( function() {
21				item = $(this);
22				if ( item.val() == '' )
23					item.addClass( 'error' ).prev( 'label' ).append('<span class="error_notice">' + item.attr( 'data-error' ) + '<span>' );
24			});
25		}
26
27		$( '#commentform' ).submit( function( event ) {
28			var flag_error = false;
29
30			for ( var i = 0; i < items.length; i++ ) {
31				if ( ! items[i].length )
32					continue;
33
34				var val = $.trim( items[i].val() ), item;
35				error = items[i].prev( 'label' ).children( '.error_notice' );
36				if ( val == '' ) {
37					flag_error = true;
38					items[i].addClass( 'error' );
39					if ( ! error.length )
40						items[i].prev( 'label' ).append( '<span class="error_notice">' + items[i].attr( 'data-error' ) + '<span>' );
41				} else {
42					items[i].removeClass( "error" );
43					if ( error.length )
44						error.remove();
45				}
46			}
47			return ! flag_error;
48		});
49
50		/*============================= New Site ==============================*/
51		/* Mobile Footer Menu */
52		/*$( '.navbar-bottom' ).on( 'click', '#footer_menu.mobile_menu > li', function() {
53			var navbar_bottom = $(this);
54			if ( ! navbar_bottom.hasClass( 'opened' ) ) {
55				navbar_bottom.addClass( 'opened' );
56				navbar_bottom.find( ".sub-menu:hidden" ).slideDown( "normal" );
57			} else {
58				navbar_bottom.removeClass( 'opened' );
59				navbar_bottom.find( ".sub-menu:visible" ).slideUp( "normal" );
60			}
61		});*/
62
63		/*
64		* Using $( window ).load in order to set portfolio block height in depend of portfolio image height
65		* TODO: Rewrite correctly code of bstwbsft_resize_changes() function
66		*/
67		// $( window ).load( function() {
68		// 	$( window ).resize( function() {
69		// 		bstwbsft_resize_changes();
70				if( ! $( 'body' ).hasClass( 'home' ) ) { // For Christmas Sale
71					bstwbsft_resize_scroll_blog();  
72				}
73		// 	} ).trigger( 'resize' );
74		// } );
75
76		/* Main Menu */
77		$( '#bstwbsft_touch_menu_hover li:has(ul)' ).doubleTapToGo();
78
79		// $( '#main_menu > li:gt(3)' ).addClass( 'menu-item-hidden-sub' );
80		// $( '#main_menu > li.menu-item-hidden-sub' ).wrapAll( '<li class="menu-item-hidden"></li>' ).wrapAll( '<ul class="sub-menu-hidden"></ul>' );
81		// $( '#main_menu > .menu-item-hidden' ).prepend( '<i class="fa fa-circle hidden"></i><i class="fa fa-circle hidden"></i><i class="fa fa-circle hidden"></i>' );
82
83		$( '#main_menu > li' ).css( { opacity: 0 } );
84		$( '.bstwbsft-menu-class-container.hide-if-js' ).show();
85
86		$('#main_menu > li').each( function() {
87			$(this).delay( 200 ).animate( { opacity: 1 } );
88		}).promise().done( function() {
89			$( '#main_menu .fa-circle' ).removeClass( 'hidden' );
90		});
91
92		$( '#main_menu .fa-circle' ).on( 'click touchstart', function() {
93			$(this).siblings( ".sub-menu-hidden" ).slideToggle( 0 );
94			return false;
95		});
96
97		$( '.bstwbsft-user.dropdown' ).on( 'click', function() {
98			if ( !$(this).hasClass( 'open' ) ) {
99				$( '#wrapper, #footer, #header .navbar' ).addClass( 'navbar-open-right' );
100			} else {
101				$( '#wrapper, #footer, #header .navbar' ).removeClass( 'navbar-open-right' );
102			}
103		});
104
105		/* Home Page */
106		/* Slider Testimonials */
107		/*if ( $( '.bws-testimonials' ).length > 0 ) {
108			$( '.bws-testimonials' ).slick( {
109				slidesToShow:	1,
110				slidesToScroll:	1,
111				lazyLoad: 		'ondemand',
112				arrows:			true,
113				fade:			true,
114				focusOnSelect:	true,
115				centerMode:		true,
116				swipeToSlide:	true,
117				asNavFor:		'#bstwbsft_testimonials_carousel',
118				adaptiveHeight:	true,
119				infinite:		true,
120				responsive:		[ {
121					breakpoint:	769,
122					settings:	{
123						arrows:			false,
124						mobileFirst:	true,
125					}
126				} ]
127			});
128			$( '#bstwbsft_testimonials_carousel' ).slick( {
129				asNavFor:		'.bws-testimonials', 
130				arrows:			false, 
131				lazyLoad: 		'ondemand', 
132				autoplay:		true, 
133				autoplaySpeed:	10000, 
134				variableWidth:	true, 
135				swipeToSlide:	true, 
136				centerMode:		true, 
137				focusOnSelect:	true, 
138				infinite:		true,
139				responsive:		[ {
140					 
141					breakpoint: 769,
142					settings:	{
143						mobileFirst: true, 
144					}
145				} ]
146			});
147		}*/
148
149		/* blog page - open bootstrap modal window on page load after #sbscrbr-form submit */
150		if ( $( '#subscribe_form' ).length && '#sbscrbr-form' == window.location.hash ) {
151			$( '#subscribe_form' ).modal( 'show' );
152
153			$( '#subscribe_form' ).on( 'hidden.bs.modal', function() {
154				if ( window.history.pushState ) {
155					window.history.pushState( '', '/', window.location.pathname )
156				} else {
157					window.location.hash = '';
158				}
159			});
160		}
161		$( document ).ready( function() {
162			$( '.navbar-toggle' ).on( 'click', () => {
163				$( '.bstwbsft-mobile-menu-class-container' ).toggleClass( 'open' );
164			});
165			$( '#wrapper' ).on( 'click touchstart', () => {
166				if( $( '.bstwbsft-mobile-menu-class-container' ).hasClass( 'open' ) ){
167					$( '.bstwbsft-mobile-menu-class-container' ).toggleClass( 'open' );
168				}
169			});
170			
171		});
172
173		const popupBg = $( '.register-popup-overlay' ); // Popup background
174		const registerPopup = $( '.register-popup-wrapper' ); // Register popup
175		const loginPopup = $( '.login-popup-wrapper' ); // Login popup
176		const successPopup = $( '.success-popup-wrapper' ); // Success popup
177		const loginButton = registerPopup.find( '.have-account span' ); // Already have account
178		const sendingPopup = $( '.sending-popup-wrapper' ); // Loading gif
179		const newAccountButton = loginPopup.find( '.create-account' ); // Create new account
180		const closePopup = $( '.popup-header img' );
181
182		/* Add to wishlist and remove from wishlist(from store) */
183		$( '.strshwcs-content .wshlst-button' ).on( 'click', function() {
184			const id = $( this ).find( 'input[name=wshlst_product_id]' ).val();
185			const heart = $( this ).find( '.logged-in i' );
186			const loggedIn = $(this).find('div');
187			if ( loggedIn.hasClass( 'logged-in' ) ){
188				if ( ! $( heart ).hasClass( 'added' ) ) {
189					$.ajax( {
190						url: wishlist_ajax_object.wishlist_ajaxurl,
191						data: {
192							id: id,
193							action: 'bws_add_to_wishlist',
194							wishlist_action_nonce: wishlist_ajax_object.wishlist_ajax_nonce,
195						},
196						type: 'post',
197						success: () => {
198							$( heart ).addClass( 'added' );
199							$( '#header .wshlst-button' ).load( ' #header .wshlst-button > *' ); // Refresh counter
200						},
201						error: (error) => {
202							console.log(error)
203						},
204					});
205				} else {
206					$.ajax( {
207						url: wishlist_ajax_object.wishlist_ajaxurl,
208						data: {
209							id: id,
210							action: 'bws_remove_from_wishlist',
211							wishlist_action_nonce: wishlist_ajax_object.wishlist_ajax_nonce,
212						},
213						type: 'post',
214						success: () => {
215							$( heart ).removeClass( 'added' );
216							$( '#header .wshlst-button' ).load( ' #header .wshlst-button > *' ); // Refresh counter
217						},
218						error: (error) => {
219							console.log(error)
220						},
221					});
222				}
223			} else if ( ! registerPopup.length ) {
224				popupBg.fadeIn();
225				loginPopup.fadeIn();
226			} else {
227				popupBg.fadeIn();
228				registerPopup.fadeIn();
229			}
230		});
231		/* Hide on click Register Popup */
232		popupBg.add( closePopup ).on('click', function () {
233			popupBg.fadeOut();
234			registerPopup.fadeOut();
235			loginPopup.fadeOut();
236			sendingPopup.fadeOut();
237			successPopup.fadeOut();
238		});
239		/* Change register to login */
240		loginButton.on( 'click', function() {
241			registerPopup.fadeOut();
242			loginPopup.fadeIn();
243		});
244		/* Change login to register */
245		newAccountButton.on( 'click', function() {
246			registerPopup.fadeIn();
247			loginPopup.fadeOut();
248		})
249		/* Show loading gif */
250		registerPopup.find( '#register-popup' ).on( 'submit', () => {
251			registerPopup.fadeOut();
252			sendingPopup.fadeIn();
253		})
254		/* Success popup */
255		const urlParams = new URLSearchParams(window.location.search);
256		if ( urlParams.get( 'email_sent' ) ) {
257			popupBg.fadeIn();
258			successPopup.fadeIn();
259		}
260
261		/* Remove from wishlist(from page) */
262		$( document ).on( 'click', '.wshlst_delete_product .wshlst_close_img', function() {
263			$( this ).hide();
264			$( this ).next( '.wshlst_loading' ).show();
265			const current_product_id = $( this ).parents('.wshlst_single_product:first').attr('id');
266			$.ajax( {
267				url: wishlist_ajax_object.wishlist_ajaxurl,
268				type: 'post',
269				data: {
270					id: current_product_id,
271					action: 'bws_remove_from_wishlist',
272					wishlist_action_nonce: wishlist_ajax_object.wishlist_ajax_nonce,
273				},
274				success: () => {
275					$( '#bstwbsft_container' ).load( ' #bstwbsft_container > *' );
276					$( '#header .wshlst-button' ).load( ' .wshlst-button > *' );
277				},
278				error: (error) => {
279					console.log(error)
280				}
281			});
282		});
283
284		/* Wishlist detect BUY NOW click */
285		$( 'input[name="strcrt_buy_now_new"], input[name="strcrt_buy_now"]' ).on( 'click', function() {
286			if ( location.hash === '#strshwcs_license' ) {
287				const productID = $( this ).parent().find( 'input[name="strcrt_product_id"]' ).val();
288				$.ajax( {
289					type: 'post',
290					url: wishlist_ajax_object.wishlist_ajaxurl,
291					data: {
292						action: 'bws_track_wishlist_click',
293						wishlist_product_id: productID,
294						click_type: 1,
295						wishlist_action_nonce: wishlist_ajax_object.wishlist_ajax_nonce,
296					},
297					error: (error) => {
298						console.log(error)
299					},
300				})
301			}
302		});
303
304		/* Wishlist detect ADD TO CART click */
305		$( 'input[name="strcrt_add_to_cart_new"], input[name="strcrt_add_to_cart"]' ).on( 'click', function() {
306			if ( location.hash === '#strshwcs_license' ) {
307				const productID = $( this ).parent().find( 'input[name="strcrt_product_id"]' ).val();
308				$.ajax( {
309					type: 'post',
310					url: wishlist_ajax_object.wishlist_ajaxurl,
311					data: {
312						action: 'bws_track_wishlist_click',
313						wishlist_product_id: productID,
314						click_type: 2,
315						wishlist_action_nonce: wishlist_ajax_object.wishlist_ajax_nonce,
316					},
317					error: (error) => {
318						console.log(error)
319					},
320				})
321			}
322		});
323
324		/* Wishlist detect TO CHECKOUT click */
325		$( 'input[name="strcrt_purchase"]' ).on( 'click', function() {
326			const cartProducts = [];
327			$( '.strcrt_single_product input[name="wishlist_statistics_product_id"]' ).each( function() {
328				cartProducts.push( $( this ).val() )
329			})
330			$.ajax( {
331				type: 'post',
332				url: wishlist_ajax_object.wishlist_ajaxurl,
333				data: {
334					action: 'bws_track_wishlist_click',
335					cart_products: cartProducts,
336					click_type: 3,
337					wishlist_action_nonce: wishlist_ajax_object.wishlist_ajax_nonce,
338				},
339				error: (error) => {
340					console.log(error)
341				},
342			})
343
344		});
345
346		/* Open new window on share buttons click */
347		$( 'ul.bstwbsft-share-buttons a.btn' ).on( 'click', function() {
348			window.open( this.href, this.title, 'toolbar=0, status=0, width=548, height=325' );
349			return false;
350		});
351
352	}).on( "click", "a.bstwbsft-membership-button, a.bstwbsft-add-comment", function() { /* a smooth transition to an anchor on the membership page and the comments */
353		if ( -1 != $(this).attr( "href" ).indexOf( '#' ) ) {
354			var idtop = $( '"' + $(this).attr( "href" ) + '"' ).offset().top;
355			$( 'html, body' ).animate( { scrollTop: idtop }, 1000 );
356			return false;
357		}
358	}).on( 'click touchstart', function( event ) {
359
360		if ( $( '.sub-menu-hidden' ).is( ':visible' ) && !$( event.target ).closest( ".sub-menu-hidden" ).length ) {
361			$( ".sub-menu-hidden" ).slideUp( 0 );
362		}
363
364		if ( $( '#bstwbsft_site_mobile_navigation_header' ).hasClass( 'collapse' ) && !$( event.target ).closest( '#bstwbsft_site_mobile_navigation_header' ).length && !$( event.target ).closest( '.navbar-toggle' ).length ) {
365
366			$( '#bstwbsft_site_mobile_navigation_header' ).collapse( 'hide' );
367		}
368
369		if ( !$( event.target ).closest( "#bstwbsft_dropdown_menu" ).length && !$( event.target ).closest( ".bstwbsft-cart" ).length ) {
370			$( '#wrapper, #footer, #header .navbar' ).removeClass( 'navbar-open-right' );
371		}
372	});
373})( jQuery );
374
375		// $( '.entry-content figure img' ).getAttribute( 'src' )
376function bstwbsft_resize_scroll_blog( wpadminbar_height ) {
377	(function( $ ) {
378		var wpadminbar_height = ( $( '#wpadminbar' ).length ) ? $( '#wpadminbar' ).height() : 0,
379			from_top = ( $( '.prmbr_top' ).length ) ? $( '.prmbr_top' ).height() : 0;
380		/* add padding for content wrap */
381		if ( ! $( '.bstwbsft-home-image' ).length ) {
382            if ( $( 'body' ).hasClass( 'logged-in' ) ) {
383                if ( $( window ).width() <= 600 ) {
384                    $( '#bstwbsft_container' ).css( 'padding-top', from_top + $( '#header:visible .navbar' ).height() + wpadminbar_height + 'px' );
385                }
386                $( '#bstwbsft_container' ).css( 'padding-top', from_top + $( '#header:visible .navbar' ).height() + 'px' );
387            } else {
388			    $( '#bstwbsft_container' ).css( 'margin-top', from_top + $( '#header:visible .navbar' ).height() - wpadminbar_height + 'px' );
389            }
390			//$( '#bstwbsft_container' ).css( 'margin-top', from_top + $( '#header:visible .navbar' ).height() - wpadminbar_height + 'px' );
391			
392		}
393		/**
394		* function responsible for hiding the menu by scrolling down
395		* and displayed when scrolling up
396		**/
397		var delta = navTop = navBottom = 0,
398			nav = $( '#header nav' ),
399			share = $( '#bstwbsft_container .bstwbsft-share-buttons' ),
400			single_content = $( '.bstwbsft-single-content-offset' ),
401			sidebar = $( '#sidebar' ),
402			is_entry_offset = false;
403
404		if ( $( '.entry-content' ).length > 0 && single_content.length > 0 ) {
405			is_entry_offset = true;
406			var single_content_offset = single_content.offset();
407		}
408
409		if ( is_entry_offset && $( window ).width() <= 600 ) /* fix button share on single blog to mobile */
410			share.detach().insertAfter( '.tags_links' ).css( 'top', 'auto' );
411		if ( is_entry_offset && $( window ).width() > 600 ) /* fix button share on single blog to mobile */
412			share.detach().appendTo( '#bstwbsft_share' );
413
414		if ( ! nav.hasClass( 'bstwbsft-membership-menu' ) && ! $( 'body' ).hasClass( 'single-product' ) ) {
415			$( window ).scroll( function() {
416				var offset = $(this).scrollTop();
417				var bstwbsft_container = $( '#bstwbsft_container' ).offset();
418
419				if ( offset - delta >= 0 ) { /* scroll down */
420					/* hide menu */
421					if ( offset >= navBottom + 150 ) {
422						if ( nav.hasClass( 'show-menu' ) )
423							nav.removeClass( 'show-menu' );
424						setTimeout( function () {
425							nav.addClass( 'hide-menu' );
426						}, 300 );
427					}
428					/* do menu fixed */
429					if ( offset >= from_top ) {
430						if ( ! nav.hasClass( 'navbar-fixed-top' ) ) {
431							nav.addClass( 'navbar-fixed-top' );
432							$( 'body #header .navbar-default, #header .navbar-mobile' ).removeAttr( 'style' );
433						}
434					}
435					/* change the color of the menu to standard */
436					if ( offset >= bstwbsft_container.top && nav.hasClass( 'white_menu' ) )
437						nav.removeClass( 'white_menu' );
438
439					if (
440						is_entry_offset &&
441						! share.hasClass( 'share-fixed-top' ) /* fix button share on single blog */
442						&& offset >= single_content_offset.top - share.outerHeight(true)
443						&& $( window ).width() > 600
444					)
445						share.addClass( 'share-fixed-top' ).css( { 'top': single_content_offset.top - share.outerHeight(true) } );
446					navTop = offset;
447				} else { /* scroll up */
448					var offset =  $(this).scrollTop();
449					if ( offset <= navTop - 150 ) /* menu display when scrolling up */
450						nav.addClass( 'show-menu' ).removeClass( 'hide-menu' );
451					if ( is_entry_offset ) {
452						if ( $( window ).width() > 600 ) {
453							if ( offset < single_content_offset.top - share.outerHeight(true) )
454								share.css( { 'top': 'auto' } ).removeClass( 'share-fixed-top' );
455							else if ( share.hasClass( 'share-fixed-top' ) )
456								share.css( { 'top': single_content_offset.top - share.outerHeight(true) } );
457						}
458					}
459					if ( offset <= from_top ) { /* Returns the menu to its original state */
460						nav.removeClass( 'navbar-fixed-top' );
461
462						$( 'body #header .navbar-default, #header .navbar-mobile' ).css( 'top', wpadminbar_height + from_top + 'px' );
463
464						if ( bstwbsft_style.bstwbsft_style && ! nav.hasClass( 'white_menu' ) && ! nav.hasClass( 'bstwbsft-products-menu' ) )
465							nav.addClass( 'white_menu' );
466
467					}
468					navBottom = offset;
469				}
470				delta = offset;
471			});
472		}
473	})( jQuery );
474}
475
476/**
477* Function menu behavior for different window sizes
478**/
479function bstwbsft_resize_changes( wpadminbar_height ) {
480	(function( $ ) {
481		var window_width = $( window ).width();
482
483		var footer_menu = $( '#footer_menu' );
484		var wpadminbar_height = ( $( '#wpadminbar' ).length ) ? $( '#wpadminbar' ).height() : 0;
485		if ( $( '.prmbr_top' ).length ) {
486			wpadminbar_height += $( '.prmbr_top' ).height();
487		}
488
489		/*if ( window_width <= 768 ) {
490			footer_menu.addClass( 'mobile_menu' );
491		} else {
492			footer_menu.removeClass( 'mobile_menu' );
493		}
494		if ( !footer_menu.hasClass( 'mobile_menu' ) ) {
495			footer_menu.find( '.bstwbsft-cm-wrap-a' ).removeClass( 'active' );
496			footer_menu.find( '.sub-menu' ).removeAttr( 'style' );
497		} else {
498			footer_menu.find( '.bstwbsft-cm-wrap-a' ).addClass( 'active' );
499		}
500		//$( '.mobile_menu .bstwbsft-cm-wrap-a' ).removeClass( 'opened' );
501		//$( '.mobile_menu .sub-menu:visible' ).slideUp( 'slow' );*/
502
503		$( '#wrapper' ).css( 'min-height', $( window ).height() - $( '#footer' ).outerHeight(true) - wpadminbar_height );
504
505		var paddings = ( $( window ).height() - $( '.bstwbsft-home-hero' ).height() ) / 2;
506		if ( paddings > 80 ) {
507			$( 'body.page-template-index-home-page-php .bstwbsft-home-hero' ).css( { 'padding-top': paddings + 'px','padding-bottom': paddings + 'px' } );
508		}
509		if ( ! $( 'body #header .navbar-default, #header .navbar-mobile' ).hasClass( 'navbar-fixed-top' ) ) {
510
511			/* For Christmas Sale */
512
513			//$( 'body #header .navbar-default, #header .navbar-mobile' ).css( 'to
513p', wpadminbar_height + 'px' );
514
515		}
516		$( '.bstwbsft-mobile-menu-class-container' ).css( 'padding-top', wpadminbar_height + 'px' );
517
518		if ( $( 'html' ).width() <= 600 ) {
519			$( '#bstwbsft_dropdown_menu' ).css( 'height', $( 'body' ).outerHeight(true) );
520		} else {
521			$( '#bstwbsft_dropdown_menu' ).height( 'auto' );
522		}
523		/* Fix for cyber week sale banner */
524		/* $( 'body.home .bstwbsft-home-backround' ).css( { 'height': $( window ).height(),'max-height' : $( window ).height(), 'display': 'block' } ); */
525		if ( $( window ).height() < $( '.bstwbsft-home-hero' ).outerHeight() ) {
526			$( 'body.home .bstwbsft-home-backround' ).css( { 'height': $( '.bstwbsft-home-hero' ).outerHeight(),'max-height' : $( '.bstwbsft-home-hero' ).outerHeight(), 'display': 'block' } );
527		} else {
528			$( 'body.home .bstwbsft-home-backround' ).css( { 'height': $( window ).height(),'max-height' : $( window ).height(), 'display': 'block' } );
529		}
530		/* End fix for cyber week sale banner */
531
532		/* portfolio template */
533		if ( window_width >= 453 && $( '.prtfl_box' ).length > 0 ) {
534			var product_height = 0;
535			$( ".prtfl_box" ).each( function() {
536				$( this ).css( 'height', 'auto' );
537				var height_block = $( this ).outerHeight();
538				if ( height_block > product_height ) {
539					product_height = height_block;
540				}
541			});
542			$( ".prtfl_box" ).css( 'height', product_height );
543		} else {
544			$( '.prtfl_box' ).css( 'height', 'auto' );
545		}
546
547		/* "GO To Top" Button */
548		var btn = $( '#scrollToTopBtn' );
549		$( window ).scroll( function() {
550			if ( $( window ).scrollTop() > 300) {
551				btn.addClass( 'show' );
552			} else {
553				btn.removeClass( 'show' );
554			}
555		});
556		btn.on( 'click', function(e) {
557			e.preventDefault();
558			$( 'html, body' ).animate({scrollTop:0}, '300');
559		});
560		var countSearchClick = 0;
561		$( '.bstwbsft-search #search' ).on( 'click touchstart', function() {			
562			if ( countSearchClick > 0 ) {
563				$( '.main-wrapper' ).append( '<div style="width: 100%;height: 100%;position: fixed;top: 0;left: 0;z-index:100;background-color:rgba(255,255,255,0.7);"><div class="loader"></div></div>' );
564				setTimeout(function(){
565					$( '.bstwbsft-search #search' ).submit();
566				}, 100);
567			}
568			countSearchClick++;
569		});
570	})( jQuery );
571};

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.