1(function () { 2 'use strict'; 3 4 if (window.WebasystZvonokLoaderStarted) { 5 return; 6 } 7 window.WebasystZvonokLoaderStarted = true; 8 9 var script = document.currentScript; 10 var src = script && script.src ? String(script.src) : ''; 11 var marker = '/wa-plugins/sms/reg_zvonok/js/zvonok-loader.js'; 12 var pos = src.indexOf(marker); 13 if (pos < 0) { 14 return; 15 } 16 17 var base = src.substring(0, pos) + '/wa-plugins/sms/reg_zvonok/'; 18 var query = '?v=1.0.1'; 19 var queryPos = src.indexOf('?'); 20 if (queryPos >= 0) { 21 query = src.substring(queryPos); 22 } 23 24 function addCss(url) { 25 if (document.querySelector('link[data-zvonok-auth-css],link[href="' + url + '"]')) { 26 return; 27 } 28 var link = document.createElement('link'); 29 link.rel = 'stylesheet'; 30 link.href = url; 31 link.setAttribute('data-zvonok-auth-css', '1'); 32 document.head.appendChild(link); 33 } 34 35 function addScript(url, markerName, done) { 36 var selector = 'script[' + markerName + '],script[src="' + url + '"]'; 37 var existing = document.querySelector(selector); 38 if (existing) { 39 if (done) { 40 if (existing.getAttribute('data-loaded') === '1' || existing.readyState === 'complete') { 41 done(); 42 } else { 43 existing.addEventListener('load', done, {once: true}); 44 } 45 } 46 return; 47 } 48 49 var node = document.createElement('script'); 50 node.src = url; 51 node.async = false; 52 node.setAttribute(markerName, '1'); 53 node.addEventListener('load', function () { 54 node.setAttribute('data-loaded', '1'); 55 if (done) { 56 done(); 57 } 58 }, {once: true}); 59 document.head.appendChild(node); 60 } 61 62 function loadAuto() { 63 if (window.WebasystZvonokAutoLoaded) { 64 return; 65 } 66 addScript(base + 'js/zvonok-auth-auto.js' + query, 'data-zvonok-auth-auto'); 67 } 68 69 addCss(base + 'css/zvonok-auth.css' + query); 70 71 if (window.WebasystZvonokAuth) { 72 loadAuto(); 73 } else { 74 addScript(base + 'js/zvonok-auth.js' + query, 'data-zvonok-auth-core', loadAuto); 75 } 76})();
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.