PageSourceSearch

https://www.foxlux.com.br/wp-content/plugins/ajax-login-and-regist…/assets/lrm-core.js?ver=26

js foxlux.com.br collected 2026-10-08 05:07:29 UTC 21,169 bytes, 609 lines download raw bytes

1var LRM = LRM ? LRM : {};
2
3//jQuery(document).ready(function($) {
4// jQuery(document).ready(
5/** @var $ jQuery */
6+(function ($) {
7
8	if ($('.lrm-user-modal').length > 0) {
9		lrm_init()
10	} else {
11		setTimeout(function () {
12			lrm_init();
13		}, 1200);
14	}
15
16	function is_mobile_or_tablet() {
17		var check = false;
18
19		(function (a) {
20			if (/(android|bb\d+|meego).+mobile|avantgo|bada\/|blackberry|blazer|compal|elaine|fennec|hiptop|iemobile|ip(hone|od)|iris|kindle|lge |maemo|midp|mmp|mobile.+firefox|netfront|opera m(ob|in)i|palm( os)?|phone|p(ixi|re)\/|plucker|pocket|psp|series(4|6)0|symbian|treo|up\.(browser|link)|vodafone|wap|windows ce|xda|xiino|android|ipad|playbook|silk/i.test(a) || /1207|6310|6590|3gso|4thp|50[1-6]i|770s|802s|a wa|abac|ac(er|oo|s\-)|ai(ko|rn)|al(av|ca|co)|amoi|an(ex|ny|yw)|aptu|ar(ch|go)|as(te|us)|attw|au(di|\-m|r |s )|avan|be(ck|ll|nq)|bi(lb|rd)|bl(ac|az)|br(e|v)w|bumb|bw\-(n|u)|c55\/|capi|ccwa|cdm\-|cell|chtm|cldc|cmd\-|co(mp|nd)|craw|da(it|ll|ng)|dbte|dc\-s|devi|dica|dmob|do(c|p)o|ds(12|\-d)|el(49|ai)|em(l2|ul)|er(ic|k0)|esl8|ez([4-7]0|os|wa|ze)|fetc|fly(\-|_)|g1 u|g560|gene|gf\-5|g\-mo|go(\.w|od)|gr(ad|un)|haie|hcit|hd\-(m|p|t)|hei\-|hi(pt|ta)|hp( i|ip)|hs\-c|ht(c(\-| |_|a|g|p|s|t)|tp)|hu(aw|tc)|i\-(20|go|ma)|i230|iac( |\-|\/)|ibro|idea|ig01|ikom|im1k|inno|ipaq|iris|ja(t|v)a|jbro|jemu|jigs|kddi|keji|kgt( |\/)|klon|kpt |kwc\-|kyo(c|k)|le(no|xi)|lg( g|\/(k|l|u)|50|54|\-[a-w])|libw|lynx|m1\-w|m3ga|m50\/|ma(te|ui|xo)|mc(01|21|ca)|m\-cr|me(rc|ri)|mi(o8|oa|ts)|mmef|mo(01|02|bi|de|do|t(\-| |o|v)|zz)|mt(50|p1|v )|mwbp|mywa|n10[0-2]|n20[2-3]|n30(0|2)|n50(0|2|5)|n7(0(0|1)|10)|ne((c|m)\-|on|tf|wf|wg|wt)|nok(6|i)|nzph|o2im|op(ti|wv)|oran|owg1|p800|pan(a|d|t)|pdxg|pg(13|\-([1-8]|c))|phil|pire|pl(ay|uc)|pn\-2|po(ck|rt|se)|prox|psio|pt\-g|qa\-a|qc(07|12|21|32|60|\-[2-7]|i\-)|qtek|r380|r600|raks|rim9|ro(ve|zo)|s55\/|sa(ge|ma|mm|ms|ny|va)|sc(01|h\-|oo|p\-)|sdk\/|se(c(\-|0|1)|47|mc|nd|ri)|sgh\-|shar|sie(\-|m)|sk\-0|sl(45|id)|sm(al|ar|b3|it|t5)|so(ft|ny)|sp(01|h\-|v\-|v )|sy(01|mb)|t2(18|50)|t6(00|10|18)|ta(gt|lk)|tcl\-|tdg\-|tel(i|m)|tim\-|t\-mo|to(pl|sh)|ts(70|m\-|m3|m5)|tx\-9|up(\.b|g1|si)|utst|v400|v750|veri|vi(rg|te)|vk(40|5[0-3]|\-v)|vm40|voda|vulc|vx(52|53|60|61|70|80|81|83|85|98)|w3c(\-| )|webc|whit|wi(g |nc|nw)|wmlb|wonu|x700|yas\-|your|zeto|zte\-/i.test(a.substr(0, 4))) check = true;
21		})(navigator.userAgent || navigator.vendor || window.opera);
22
23		return check;
24	}
25
26	function lrm_init() {
27		// var $formModal = $('.lrm-user-modal'),
28		// 	  $formLogin = $formModal.find('#lrm-login'),
29		// 	  $formSignup = $formModal.find('#lrm-signup'),
30		// 	  $formForgotPassword = $formModal.find('#lrm-reset-password'),
31		// 	  $formModalTab = $('.lrm-switcher'),
32		// 	  $tabLogin = $formModalTab.children('li').eq(0).children('a'),
33		// 	  $tabSignup = $formModalTab.children('li').eq(1).children('a'),
34		// 	  $forgotPasswordLink = $formLogin.find('.lrm-form-bottom-message a'),
35		// 	  $backToLoginLink = $formForgotPassword.find('.lrm-form-bottom-message a'),
36
37		var loader_html = '<span class="lrm-button-loader"> <svg version="1.1" id="L4" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" viewBox="0 0 100 40" enable-background="new 0 0 0 0" xml:space="preserve"> <circle fill="#ffffff" stroke="none" cx="30" cy="20" r="6"> <animate attributeName="opacity" dur="1s" values="0;1;0" repeatCount="indefinite" begin="0.1"/> </circle> <circle fill="#ffffff" stroke="none" cx="50" cy="20" r="6"> <animate attributeName="opacity" dur="1s" values="0;1;0" repeatCount="indefinite" begin="0.2"/> </circle> <circle fill="#ffffff" stroke="none" cx="70" cy="20" r="6"> <animate attributeName="opacity" dur="1s" values="0;1;0" repeatCount="indefinite" begin="0.3"/> </circle> </svg></span>';
38
39		$("html").addClass("html-has-lrm");
40		$("body").addClass("has-lrm");
41
42		$(document).on('lrm_show_signup', signup_selected);
43		$(document).on('lrm_show_register', signup_selected);
44
45		$(document).on('lrm_show_signin', login_selected);
46		$(document).on('lrm_show_login', login_selected);
47
48		setTimeout(function () {
49			if (LRM.selectors_mapping.login) {
50				$(LRM.selectors_mapping.login)
51					  .off("click")
52					  .on('click', function (event) {
53						  event.preventDefault();
54						  $(document).trigger('lrm_show_login', [event]);
55						  return false;
56					  });
57			}
58			if (LRM.selectors_mapping.register) {
59				$(LRM.selectors_mapping.register)
60					  .off("click")
61					  .on('click', function (event) {
62						  event.preventDefault();
63						  $(document).trigger('lrm_show_signup', [event]);
64						  return false;
65					  });
66			}
67		}, 300);
68
69		//$("form.cart").on('submit', signup_selected);
70
71		var handle_event = is_mobile_or_tablet() ? 'touchend' : 'click';
72
73		//open sign-up form
74		$(document).on('click', '.lrm-signup', signup_selected);
75		$(document).on(handle_event, '[class*="lrm-register"]', signup_selected);
76		$(document).on('click', '.lrm-switch-to--register', signup_selected);
77
78		//open login-form form
79		$(document).on('click', '.lrm-signin', login_selected);
80		$(document).on(handle_event, '[class*="lrm-login"]', login_selected);
81		$(document).on('click', '.lrm-switch-to--login', login_selected);
82
83		$(document).on('click', '.lrm-forgot-password,.lrm-login .lrm-form-message a,.lrm-switch-to--reset-password', function (event) {
84			event.preventDefault();
85			forgot_password_selected(event);
86		});
87
88		//close modal
89		$('.lrm-user-modal').on('click', function (event) {
90			if ($(event.target).is('.lrm-user-modal') || $(event.target).is('.lrm-close-form')) {
91				$(this).removeClass('is-visible');
92			}
93		});
94		//close modal when clicking the esc keyboard button
95		$(document).keyup(function (event) {
96			if (event.which == '27') {
97				$(".lrm-user-modal").removeClass('is-visible');
98			}
99		});
100
101		//switch from a tab to another
102		// $formModalTab.on('click', function (event) {
103		// 	event.preventDefault();
104		// 	( $(event.target).is($tabLogin) ) ? login_selected(event, true) : signup_selected(event, true);
105		// });
106
107		//hide or show password
108		$('.hide-password').on('click', function () {
109			var togglePass = $(this),
110				  passwordField = togglePass.parent().find('input');
111
112			('password' == passwordField.attr('type')) ? passwordField.attr('type', 'text') : passwordField.attr('type', 'password');
113
114			if ( togglePass.hasClass("hide-password--on") )  {
115				togglePass.attr( "title", togglePass.data("show") );
116				togglePass.removeClass("hide-password--on");
117			} else {
118				togglePass.attr( "title", togglePass.data("hide") );
119				togglePass.addClass("hide-password--on");
120			}
121			//focus and move cursor to the end of input field
122			passwordField.putCursorAtEnd();
123		});
124
125		//show forgot-password form
126		// $forgotPasswordLink.on('click', function (event) {
127		// 	event.preventDefault();
128		// 	forgot_password_selected(event);
129		// });
130		//
131		// //back to login from the forgot-password form
132		// $backToLoginLink.on('click', function (event) {
133		// 	event.preventDefault();
134		// 	login_selected(event, true);
135		// });
136
137		function login_selected(event, event_orig) {
138			// if (LRM.is_user_logged_in) {
139			// 	return true;
140			// }
141
142			/**
143			 * @since 1.34
144			 * this - clicked element
145			 */
146			$(document).triggerHandler("lrm/before_display/login", this, event);
147
148			var $formModal = $(event.target).closest(".lrm-main");
149
150			if (!$formModal.length) {
151				LRM.redirect_url = "";
152				if (!event_orig) {
153					var el = event.target ? event.target : this;
154				} else {
155					var el = event_orig.target;
156				}
157				if (el && $(el).hasClass("lrm-redirect")) {
158					LRM.redirect_url = $(el).attr("href");
159				}
160			}
161
162			if (!$formModal.length) {
163				$formModal = $(".lrm-user-modal");
164			}
165
166			// var $formModal = $('.lrm-user-modal'),
167			// 	  $formLogin = $formModal.find('.lrm-login'),
168			// 	  $formSignup = $formModal.find('.lrm-signup'),
169			// 	  $formForgotPassword = $formModal.find('.lrm-reset-password'),
170			// 	  $formModalTab = $('.lrm-switcher'),
171			// 	  $tabLogin = $formModalTab.children('li').eq(0).children('a'),
172			// 	  $tabSignup = $formModalTab.children('li').eq(1).children('a'),
173			// 	  $forgotPasswordLink = $formLogin.find('.lrm-form-bottom-message a'),
174			// 	  $backToLoginLink = $formForgotPassword.find('.lrm-form-bottom-message a'),
175			//
176			$formModal.addClass('is-visible');
177			$formModal.find('.lrm-signin-section').addClass('is-selected');
178			$formModal.find('.lrm-signup-section').removeClass('is-selected');
179			$formModal.find('.lrm-reset-password-section').removeClass('is-selected');
180			$formModal.find('.lrm-switcher').children('li').eq(0).children('a').addClass('selected');
181			$formModal.find('.lrm-switcher').children('li').eq(1).children('a').removeClass('selected');
182
183			setTimeout(function() {
184				if ( $(window).width() > 600 ) {
185					$formModal.find(".lrm-signin-section input[data-autofocus]").focus();
186				}
187			}, 100);
188
189			if (event) {
190				event.preventDefault();
191			}
192			return false;
193		}
194
195		function signup_selected(event, event_orig) {
196			// if (LRM.is_user_logged_in) {
197			// 	return true;
198			// }
199
200			/**
201			 * @since 1.34
202			 * this - clicked element
203			 */
204			$(document).triggerHandler("lrm/before_display/registration", this, event);
205
206			// $formModal.addClass('is-visible');
207			// $formLogin.removeClass('is-selected');
208			// $formSignup.addClass('is-selected');
209			// $formForgotPassword.removeClass('is-selected');
210			// $tabLogin.removeClass('selected');
211			// $tabSignup.addClass('selected');
212
213			var $formModal = $(event.target).closest(".lrm-main");
214
215
216			if (!$formModal.length) {
217				LRM.redirect_url = "";
218				if (!event_orig) {
219					var el = event.target ? event.target : this;
220				} else {
221					var el = event_orig.target;
222				}
223				if (el && $(el).hasClass("lrm-redirect")) {
224					LRM.redirect_url = $(el).attr("href");
225				}
226			}
227
228			if (!$formModal.length) {
229				$formModal = $(".lrm-user-modal");
230			}
231
232			$formModal.addClass('is-visible');
233			$formModal.find('.lrm-signin-section').removeClass('is-selected');
234			$formModal.find('.lrm-signup-section').addClass('is-selected');
235			$formModal.find('.lrm-reset-password-section').removeClass('is-selected');
236			$formModal.find('.lrm-switcher').children('li').eq(0).children('a').removeClass('selected');
237			$formModal.find('.lrm-switcher').children('li').eq(1).children('a').addClass('selected');
238
239			setTimeout(function() {
240				if ( $(window).width() > 600 ) {
241					$formModal.find(".lrm-signup-section input:first").focus();
242				}
243
244				$("#signup-password").trigger("keyup");
245			}, 100);
246
247			if (event) {
248				event.preventDefault();
249			}
250			return false;
251		}
252
253		function forgot_password_selected(event) {
254			// if (LRM.is_user_logged_in) {
255			// 	return true;
256			// }
257
258			/**
259			 * @since 1.34
260			 * this - clicked element
261			 */
262			$(document).triggerHandler("lrm/before_display/forgot_password", this, event);
263
264			var $formModal = $(event.target).closest(".lrm-main");
265
266			if (!$formModal.length) {
267				$formModal = $(".lrm-user-modal");
268			}
269
270			$formModal.addClass('is-visible');
271			$formModal.find('.lrm-signin-section').removeClass('is-selected');
272			$formModal.find('.lrm-signup-section').removeClass('is-selected');
273			$formModal.find('.lrm-reset-password-section').addClass('is-selected');
274
275			setTimeout(function() {
276				if ( $(window).width() > 600 ) {
277					$formModal.find(".lrm-reset-password-section input[data-autofocus]").focus();
278				}
279			}, 100);
280
281			if (event) {
282				event.preventDefault();
283			}
284
285			// $formLogin.removeClass('is-selected');
286			// $formSignup.removeClass('is-selected');
287			// $formForgotPassword.addClass('is-selected');
288			return false;
289		}
290
291		$(document).on('submit', '.lrm-form', lrm_submit_form);
292
293		function lrm_submit_form(event) {
294			if (LRM.is_customize_preview) {
295				alert("Not possible to submit form in Preview Mode!");
296				return;
297			}
298			var $form = $(event.target);
299
300			event.preventDefault();
301
302			if ( $form.hasClass("--is-submitting") ) {
303				return false;
304			}
305
306
307			if ($(document).triggerHandler('lrm/do_not_submit_form', $form)) {
308				return false;
309			}
310
311			// Fix for ACF PRO plugin
312			if ($form.data("action") == "registration" && $form.find("#acf-form-data").length > 0 && acf.validation.active) {
313				if ("yes" !== $form.data("lrm-acf-validated")) {
314					return;
315				}
316				// Reset validation flag
317				$form.data("lrm-acf-validated", "no");
318			}
319
320			$form.find(".has-error").removeClass("has-error")
321				  .next("span").removeClass("is-visible");
322
323			$form.find("button[type='submit']").prepend(loader_html);
324
325			$form.find(".lrm-form-message").html("");
326
327			$form.addClass("--is-submitting");
328
329
330			$.ajax({
331				type: 'POST',
332				dataType: 'json',
333				url: LRM.ajax_url,
334				data: $form.serialize(),
335				success: function (response) {
336					$form.find(".lrm-button-loader").remove();
337					$form.removeClass("--is-submitting");
338
339					if (response.data.message) {
340						if (!response.data.for) {
341							LRM_Form.set_message( $form, response.data.message, !response.success );
342							//$form.find(".lrm-form-message").html(response.data.message);
343
344							// if (!response.success) {
345							// 	$form.find(".lrm-form-message").addClass("lrm-is-error");
346							// }
347
348							$form.closest(".lrm-user-modal-container").animate({scrollTop: 80}, 400);
349						} else {
350							// Tweak in case this selector is Missing
351							if ( 0 === $form.find('input[name="' + response.data.for + '"]').length ) {
352								alert(response.data.message);
353							} else {
354								$form.find('input[name="' + response.data.for + '"]').addClass('has-error')
355									  .next('.lrm-error-message').html(response.data.message).addClass('is-visible');
356								$form.find(".lrm-form-message").removeClass("lrm-is-error").html("");
357
358							}
359						}
360					}
361
362					// $form.data("action") for get
363					$(document).triggerHandler('lrm/ajax_response', [response, $form, $form.data("action")]);
364
365					//console.log(response);
366
367					// If user Logged in After Login or Registration
368					// If Email Verify after Registration enabled - we skip this
369					if (response.success && response.data.logged_in) {
370						LRM.is_user_logged_in = true;
371						$(document).triggerHandler('lrm_user_logged_in', [response, $form, $form.data("action")]);
372
373						if ("reload" == response.data.action) {
374							 //window.location.reload();
375                            window.location.replace("https://www.foxlux.com.br/dashboard");
376						}
377					}
378
379					$(document).triggerHandler('lrm_pro/maybe_refresh_recaptcha');
380				},
381				error: function (jqXHR, textStatus, errorThrown) {
382					$form.find(".lrm-button-loader").remove();
383					$form.removeClass("--is-submitting");
384
385					alert("An error occurred, please contact with administrator... \n\rFor more details look at the console (F12 or Ctrl+Shift+I, Console tab)!");
386
387					if (window.console == undefined) {
388						return;
389					}
390					console.log('statusCode:', jqXHR.status);
391					console.log('errorThrown:', errorThrown);
392					console.log('responseText:', jqXHR.responseText);
393				}
394
395			});
396
397			return false;
398		}
399
400		/**
401		 * @since 1.51
402		 */
403		$( 'body' ).on( 'keyup', '#lrm-password1,#lrm-password2', function( event ) {
404			var passwordStrength = checkPasswordStrength(
405				  $( "#lrm-password1" ),         // First password field
406				  null,         // First password field
407				  $( "#lrm-password1" ).parent().parent().find(".lrm-pass-strength-result")           // Strength meter
408			);
409
410			if ( !passwordStrength || passwordStrength == 2 ) {
411				$(".pw-weak").show()
412				$(".pw-checkbox").attr("required", "required");
413			} else {
414				$(".pw-weak").hide()
415				$(".pw-checkbox").attr("required", false);
416			}
417		});
418
419		setTimeout(function () {
420			if ( $('#lrm-password1,#lrm-password2').length > 0 ) {
421				$('#lrm-password1,#lrm-password2').trigger('keyup');
422			}
423		}, 500);
424
425	}
426
427	// ajaxSetup is global, but we use it to ensure JSON is valid once returned.
428	$.ajaxSetup({
429		dataFilter: function (raw_response, dataType) {
430			// We only want to work with JSON
431			if ('json' !== dataType) {
432				return raw_response;
433			}
434
435			if (lrm_is_valid_json(raw_response)) {
436				return raw_response;
437			} else {
438				// Attempt to fix the malformed JSON
439				var maybe_valid_json = raw_response.match(/{"success.*}/);
440
441				if (null === maybe_valid_json) {
442					console.log('Unable to fix malformed JSON');
443				} else if (lrm_is_valid_json(maybe_valid_json[0])) {
444					console.log('Fixed malformed JSON. Original:');
445					console.log(raw_response);
446					raw_response = maybe_valid_json[0];
447				} else {
448					console.log('Unable to fix malformed JSON');
449				}
450			}
451
452			return raw_response;
453		}
454	});
455
456
457	function lrm_is_valid_json(raw_json) {
458		try {
459			var json = $.parseJSON(raw_json);
460
461			return (json && 'object' === typeof json);
462		} catch (e) {
463			return false;
464		}
465	}
466
467	window.LRM_Form = {
468		set_message: function($form, message_html, is_error) {
469			var $message = $form.find(".lrm-form-message");
470
471			// Tweak in case this selector is Missing
472			if ( 0 !== $message.length ) {
473				$message.html(message_html);
474			} else {
475				alert(message_html);
476			}
477
478			var modal_is_visible = $(".lrm-user-modal").hasClass('is-visible');
479
480			var element_to_scroll = modal_is_visible ? ".lrm-user-modal" : "html, body";
481
482			$(element_to_scroll).animate({
483				scrollTop: modal_is_visible ? 25 : $message.offset().top - 15
484			}, 1500);
485
486			if ( is_error ) {
487				$message.addClass("lrm-is-error");
488			} else {
489				$message.removeClass("lrm-is-error");
490			}
491		}
492	};
493
494	/**
495	 * https://code.tutsplus.com/articles/using-the-included-password-strength-meter-script-in-wordpress--wp-34736
496	 *
497	 * @param $pass1
498	 * @param $strengthResult
499	 * @returns {*}
500	 */
501	function checkPasswordStrength( $pass1, $pass2, $strengthResult ) {
502		LRM.loadPasswordMeter(function() {
503			var pass1 = $pass1.val();
504			if (!$pass2) {
505				var pass2 = pass1;
506			} else {
507				var pass2 = $pass2.val();
508			}
509
510			$strengthResult.removeClass('short bad good strong');
511
512			// Extend our blacklist array with those from the inputs & site data
513			var blacklistArray = ["querty", "password", "132", "123"].concat(wp.passwordStrength.userInputBlacklist())
514
515			// Get the password strength
516			var strength = wp.passwordStrength.meter(pass1, blacklistArray, pass2);
517
518			// Add the strength meter results
519			switch (strength) {
520
521				case 2:
522					$strengthResult.addClass('bad').html(LRM.l10n.password_is_bad);
523					break;
524
525				case 3:
526					$strengthResult.addClass('good').html(LRM.l10n.password_is_good);
527					break;
528
529				case 4:
530					$strengthResult.addClass('strong').html(LRM.l10n.password_is_strong);
531					break;
532
533				case 5:
534					if ($pass2) {
535						$strengthResult.addClass('short').html(LRM.l10n.passwords_is_mismatch);
536						break;
537					}
538
539				default:
540					$strengthResult.addClass('short').html(LRM.l10n.password_is_short);
541
542			}
543
544			//console.log( "Pass strength: ", strength );
545
546			return strength;
547		});
548	}
549
550	LRM.passwordMeterIsLoaded = false;
551	LRM.passwordMeterIsLoading = false;
552	LRM.loadPasswordMeter = function ( callback ) {
553		if ( LRM.passwordMeterIsLoaded ) {
554			callback();
555			return;
556		}
557		// From "wp-admin/js/password-strength-meter.min.js?ver=5.0.4"
558		window.wp=window.wp||{};var passwordStrength;!function(a){wp.passwordStrength={meter:function(b,c,d){if(a.isArray(c)||(c=[c.toString()]),b!=d&&d&&d.length>0)return 5;if("undefined"==typeof window.zxcvbn)return-1;var e=zxcvbn(b,c);return e.score},userInputBlacklist:function(){var b,c,d,e,f=[],g=[],h=["user_login","first_name","last_name","nickname","display_name","email","url","description","weblog_title","admin_email"];for(f.push(document.title),f.push(document.URL),c=h.length,b=0;b<c;b++)e=a("#"+h[b]),0!==e.length&&(f.push(e[0].defaultValue),f.push(e.val()));for(d=f.length,b=0;b<d;b++)f[b]&&(g=g.concat(f[b].replace(/\W/g," ").split(" ")));return g=a.grep(g,function(b,c){return!(""===b||4>b.length)&&a.inArray(b,g)===c})}},passwordStrength=wp.passwordStrength.meter}(jQuery);
559
560		LRM.passwordMeterIsLoading = true;
561
562		// Usage
563		$.cachedScript( LRM.password_zxcvbn_js_src ).done(function( script, textStatus ) {
564			LRM.passwordMeterIsLoaded = true;
565			callback();
566		});
567	}
568
569//});
570})(jQuery);
571
572
573//credits http://css-tricks.com/snippets/jquery/move-cursor-to-end-of-textarea-or-input/
574jQuery.fn.putCursorAtEnd = function () {
575	return this.each(function () {
576		// If this function exists...
577		if (this.setSelectionRange) {
578			// ... then use it (Doesn't work in IE)
579			// Double the length because Opera is inconsistent about whether a carriage return is one character or two. Sigh.
580			var len = jQuery(this).val().length * 2;
581			this.focus();
582			this.setSelectionRange(len, len);
583		} else {
584			// ... otherwise replace the contents with itself
585			// (Doesn't work in Google Chrome)
586			jQuery(this).val(jQuery(this).val());
587		}
588	});
589};
590
591/**
592 * @since 2.02
593 *
594 * @param url
595 * @param options
596 * @returns {*}
597 */
598jQuery.cachedScript = function( url, options ) {
599	// Allow user to set any option except for dataType, cache, and url
600	options = jQuery.extend( options || {}, {
601		dataType: "script",
602		cache: true,
603		url: url
604	});
605
606	// Use $.ajax() since it is more flexible than $.getScript
607	// Return the jqXHR object so we can chain callbacks
608	return jQuery.ajax( options );
609};

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.