1<!DOCTYPE html> 2<html lang='ru' xml:lang='ru' xmlns='http://www.w3.org/1999/xhtml'> 3<head> 4 <title>СÑаÑÑи</title> 5 <base href="https://chipinfo.pro/" /> 6 <meta name="viewport" content="width=device-width, initial-scale=0.6" /> 7 <meta https-equiv="content-type" content="text/html; charset=utf-8" /> 8 <meta name="description" content="СÑаÑÑи по ÑлекÑÑонике" /> 9 <meta name="keywords" content="ÑлекÑÑоника, ÑлекÑÑоÑÐµÑ Ð½Ð¸ÐºÐ°, компоненÑÑ, ÑлекÑÑоннÑе, база, ÑезиÑÑоÑÑ, конденÑаÑоÑÑ, ÑÑанзиÑÑоÑÑ, микÑоÑÑ ÐµÐ¼Ñ, ÑиÑиÑÑоÑÑ, диодÑ, ÑÑабилиÑÑонÑ, аналоги, ÑÑабилизаÑоÑÑ, микÑоконÑÑоллеÑÑ" /> 10 <meta property="og:title" content="ChipInfo" /> 11 <meta property="og:site_name" content="ChipInfo" /> 12 <meta property="og:description" content="The coolest electronics guide ChipInfo.pro" /> 13 <meta property="og:url" content="https://chipinfo.pro/"> 14 <meta property="og:type" content="website" /> 15 <meta name="yandex-tableau-widget" content="logo=https://chipinfo.pro/style/favicon.png, color=#f5f5f5" /> 16 <meta name="theme-color" content="#cccc"> 17 <meta name="csrf-token" content="Pe9wF9xfrAEwRBgoHKl2nnhRuzLB4dC42hNEB6Z3"> 18 <link rel="stylesheet" href="https://chipinfo.pro/style/style.css" /> 19 <link rel="stylesheet" href="https://chipinfo.pro/style/components.css" /> 20 <link rel="shortcut icon" href="https://chipinfo.pro/style/favicon.ico" type="image/vnd.microsoft.icon" /> 21 <link rel="icon" href="https://chipinfo.pro/style/favicon.ico" type="image/vnd.microsoft.icon" /> 22 <link rel="icon" href="https://chipinfo.pro/style/favicon.svg" type="image/svg+xml"> 23 <link rel="manifest" href="https://chipinfo.pro/manifest.json" /> 24 <link rel="dns-prefetch" href="https://mc.yandex.ru"> 25 <link rel="dns-prefetch" href="https://an.yandex.ru"> 26 <link rel="dns-prefetch" href="https://site.yandex.net"> 27 <link rel="dns-prefetch" href="https://vk.com"> 28
28<script type="text/javascript" src="https://vk.com/js/api/openapi.js?122"></script>
28 29
29<script type="text/javascript" src="https://chipinfo.pro/core/vanicom.min.js"></script>
29 30
30<script type="text/javascript" src="https://chipinfo.pro/core/core.js"></script>
30 31
31<script type="text/javascript" src="https://chipinfo.pro/core/debounce.js"></script>
31 32
32<script type="text/javascript" src="https://mc.yandex.ru/metrika/watch.js" async></script>
32<!-- ÐеÑÑика --> 33
33<script type="text/javascript" src="https://an.yandex.ru/system/context.js" async></script>
33<!-- Реклама --> 34 35
35<script type="text/javascript"> 36 var csrf_token = 'Pe9wF9xfrAEwRBgoHKl2nnhRuzLB4dC42hNEB6Z3'; 37 var appRoutes = { 38 base: 'https://chipinfo.pro/', 39 tags: { 40 materials: 'https://chipinfo.pro/api/tags/materials' 41 }, 42 auth: { 43 login: 'https://chipinfo.pro/login', 44 register: 'https://chipinfo.pro/register', 45 passwordEmail: 'https://chipinfo.pro/password/email', 46 passwordReset: 'https://chipinfo.pro/password/reset' 47 }, 48 }; 49 50 var ads_row_id = null; 51 var ya_block_id = null; 52 var warningBlockStyles = { display: 'block', position: 'fixed', width: '100%', left: '0px', bottom: '0px', zIndex: '1000', background: '#0d5c88', color: '#fff' }; 53 var warningInnerStyles = { width: '100%', padding: '10px 0', margin: '0 auto', textAlign: 'center', fontSize: '70%' }; 54 var adsBlockCommonStyles = { color: '#9A9A9A', margin: '0px auto', overflow: 'hidden' }; 55 var adsRowCommonStyles = { margin: '0px auto', display: 'flex', flexDirection: 'column', alignContent: 'center' }; 56 57 var getMainBlock = () => document.getElementsByClassName('main-content-container')[0]; 58 59 function loadAds(idForRender) { 60 window["yandexContextAsyncCallbacks"] = window["yandexContextAsyncCallbacks"] || []; 61 window["yandexContextAsyncCallbacks"].push(function() { 62 if ( window.innerWidth < 1000 ) { 63 Ya.Context.AdvManager.render({ blockId: "R-A-257534-2", renderTo: idForRender, async: true }); 64 } else if ( window.innerWidth < 1700 ) { 65 Ya.Context.AdvManager.render({ blockId: "R-A-257534-1", renderTo: idForRender, async: true }); 66 } else { 67 Ya.Context.AdvManager.render({ blockId: "R-A-257534-3", renderTo: idForRender, async: true }); 68 } 69 }); 70 }; 71 72 function appendStyles(node, stylesObj){ 73 var rulesToAppend = Object.keys(stylesObj); 74 forEach(rulesToAppend, (rule) => { 75 node.style[rule] = stylesObj[rule]; 76 }); 77 return node; 78 }; 79 80 function createAdsBlock(){ 81 if (ads_row_id) { 82 var adsNodeToDelete = document.getElementById(ads_row_id); 83 getMainBlock().removeChild(adsNodeToDelete); 84 } 85 var ya_block = document.createElement("div"); 86 var ads_block = appendStyles(document.createElement("div"), adsBlockCommonStyles); 87 var ads_row = appendStyles(document.createElement("div"), adsRowCommonStyles); 88 89 ya_block.id = getRandomString(10); 90 ads_row.id = getRandomString(10); 91 ads_row_id = ads_row.id; 92 ya_block_id = ya_block.id; 93 94 if ( main_width() <= 860 ){ 95 ads_row = appendStyles( 96 ads_row, { minWidth: '300px', maxWidth: '660px', margin: '0 20px', marginBottom: '50px', fontSize: '60%', wordBreak: 'break-all' } 97 ); 98 } else if ( main_width() <= 1400 ){ 99 ads_row = appendStyles(ads_row, { minWidth: '800px', maxWidth: '1000px', padding: '20px' }); 100 } else if ( main_width() <= 1760 ){ 101 ads_row = appendStyles(ads_row, { minWidth: '900px', maxWidth: '1100px', padding: '20px' }); 102 } else { 103 ads_row = appendStyles( 104 ads_row, { maxWidth: '240px', height: '75vh', position: 'fixed', left: (((main_width() - 1200)/2) - 254)/2 + 'px', bottom: '50px', justifyContent: 'end' } 105 ); 106 } 107 108 ads_block.appendChild(ya_block); 109 ads_row.appendChild(ads_block); 110 getMainBlock().appendChild(ads_row); 111 loadAds(ya_block_id); 112 }; 113 114 function createWarnBlock(innerText){ 115 var warning = appendStyles(document.createElement("div"), warningBlockStyles); 116 var warning_inner = appendStyles(document.createElement("div"), warningInnerStyles); 117 warning_inner.innerHTML = innerText; 118 warning.appendChild(warning_inner); 119 return warning; 120 }; 121 122 function initCopyButtons() { 123 var copyButtons = document.getElementsByClassName('copy-btn'); 124 if (copyButtons.length>0){ 125 console.log("CopyButtons found. Set their events."); 126 for (var i = 0; i < copyButtons.length; i++) { 127 copyButtons[i].addEventListener('click', function(eve) { 128 var eventTarget = getEventTarget(eve); 129 // УÑÑановка аÑÑибÑÑа ÑеÑез JS copyBtn.dataset.target = 'ID-ЦÐÐÐ' 130 // УÑÑановка аÑÑибÑÑа ÑеÑез HTML <span data-target="ID-ЦÐÐÐ"> 131 var copyTarget = document.getElementById(eventTarget.getAttribute('data-target')); 132 // createRange - func from Document Object Model Range, support most browsers beginning with IE9 133 var range = document.createRange(copyTarget); 134 // Select 135 range.selectNode(copyTarget); 136 window.getSelection().addRange(range); 137 try { // Try copy 138 var msg = 'unsuccessful'; 139 if (document.queryCommandSupported('copy')) { 140 // document.queryCommandSupported('copy') - ÑÑÑ Ð¿ÑовеÑÐºÑ Ð¼Ð¾Ð¶Ð½Ð¾ пÑопÑÑÑиÑÑ, Ñ.к. ÑÑо одна из ÑамÑÑ Ð¿Ð¾Ð´Ð´ÐµÑживаемÑÑ ÐºÐ¾Ð¼Ð°Ð½Ð´ 141 var successful = document.execCommand('copy'); 142 var msg = successful ? 'success' : msg; 143 } 144 console.log('Copy target was ' + msg); 145 } catch(err) { console.error('Oops, unable to copy'); } 146 // Deselect 147 window.getSelection().removeAllRanges(); 148 }); 149 } 150 } 151 } 152 153 document.addEventListener('DOMContentLoaded', function(){ 154 if (getCookie('siteTheme') === 'dark' || getLocalItem('theme') === 'dark') { 155 var themeSelector = document.getElementById('theme-selector'); 156 if (themeSelector) { // ÐÑÑÑ ÑÑÑаниÑÑ Ð½Ð° коÑоÑÑÑ Ð½ÐµÑ Ð¿Ð¾Ð´Ð²Ð°Ð»Ð°, напÑÐ¸Ð¼ÐµÑ 404-Ñ 157 themeSelector.getElementsByClassName('custom-radio')[0].classList.toggle('checked'); 158 } 159 setTheme('dark'); 160 } else { 161 setTheme('light'); 162 } 163 164 window.onscroll = function(){ 165 var o = window.pageYOffset||document.documentElement.scrollTop||document.body.scrollTop; 166 if ( o === null || o < 450 ) { document.getElementById("arrow-to-top").style.visibility = "hidden"; } 167 else { document.getElementById("arrow-to-top").style.visibility="visible"; } 168 }; 169 170 }); 171 172 // ÐкÑивиÑÑеÑÑÑ Ð¿Ð¾Ñле полной загÑÑзки ÑÑÑаниÑÑ, вклÑÑÐ°Ñ Ð²Ñе завиÑимоÑÑи, Ñакие как изобÑÐ°Ð¶ÐµÐ½Ð¸Ñ Ð¸ ÑÑили 173 window.onload = function(){ 174 initCopyButtons(); 175 176 var tabsBlocks = document.getElementsByClassName('tabs-container'); 177 if (tabsBlocks.length>0){ 178 console.log("Tabs conteiners found. Initiate."); 179 for (var i = 0; i < tabsBlocks.length; i++) { 180 var tabLinks = tabsBlocks[i].getElementsByClassName('tab-label'); 181 for (var ii = 0; ii < tabLinks.length; ii++) { 182 tabLinks[ii].addEventListener('click', function() { 183 tabsHandler(this, tabsBlocks[i]); 184 }); 185 } 186 } 187 } 188 189 var foldingLists = document.getElementsByClassName('folding-list-control'); 190 if (foldingLists.length>0){ 191 console.log("Folding lists found. Initiate."); 192 for (var i = 0; i < foldingLists.length; i++) { 193 foldingLists[i].addEventListener('click', function() { 194 interfaceHandlers.foldingListHandler(this, foldingLists[i]); 195 }); 196 } 197 } 198 199 var spoilersBlocks = document.getElementsByClassName('spoiler'); 200 if (spoilersBlocks.length>0){ 201 console.log("Folding lists found. Initiate."); 202 for (var i = 0; i < spoilersBlocks.length; i++) { 203 spoilersBlocks[i].addEventListener('click', function() { 204 interfaceHandlers.spoilersHandler(this, spoilersBlocks[i]); 205 }); 206 } 207 } 208 209 var multiselectBlocks = document.querySelectorAll(".multiselect_block"); 210 multiselectBlocks.forEach(parent => { 211 let label = parent.querySelector(".multiselect_box_label"); 212 let select = parent.querySelector(".multiselect_field"); 213 let text = label.innerHTML; 214 select.addEventListener("change", function(element) { 215 let selectedOptions = this.selectedOptions; 216 label.innerHTML = ""; 217 for (let option of selectedOptions) { 218 let button = document.createElement("button"); 219 button.type = "button"; 220 button.className = "btn_multiselect"; 221 button.textContent = option.value; 222 button.onclick = () => { 223 option.selected = false;
224 button.remove(); 225 if (!select.selectedOptions.length) label.innerHTML = text 226 }; 227 label.append(button); 228 } 229 }) 230 }) 231 232 var currentURL = document.location.href; 233 if (currentURL && (typeof(window) !== 'undefined') && currentURL.includes('#')) { 234 currentURL = currentURL.split('#')[0]; 235 window.history.replaceState({}, document.title, currentURL); 236 } 237 238 createAdsBlock(); 239 240 window.addEventListener('resize', debounce(createAdsBlock, 800, { 'debounceMaxWait': 1500 })); 241 }; 242</script>
242 243</head> 244<body> <div id="main-menu-background"> 245<div id="main-menu-block" class="no-select"> 246<div id="menu-items-container"> 247 <li class="menu-item icon"><a href="/" id="main-menu-homelink"><div class="main-menu-linkpics"> </div></a></li> 248 <li class="menu-item icon"><a href="/progs" id="main-menu-calclink"><div class="main-menu-linkpics"> </div></a></li> 249 <li class="menu-item icon"> 250 <a onclick="modalHandler('auth-modal');" id="main-menu-userlink"><div class="main-menu-linkpics"> </div></a> 251 </li> 252 <li class="menu-item"><a href="articles">Articles</a></li> 253 <li class="menu-item" onclick="menuHandler(event);"><a>Reference materials</a> 254 <ul class="main-lowmenu"> 255 <li><a href="infos/materials">ÐаÑамеÑÑÑ Ð¼Ð°ÑеÑиалов</a></li> 256 <li><a href="infos/physics">СпÑавоÑник ÑизиÑеÑÐºÐ¸Ñ Ð¿Ð°ÑамеÑÑов и велиÑин</a></li> 257 <li><a href="infos/protocols">ÐпиÑÐ°Ð½Ð¸Ñ Ð¿ÑоÑоколов</a></li> 258 <li><a href="infos/standards">СÑандаÑÑÑ</a></li> 259 <li><a href="infos/treatment">ХимиÑеÑÐºÐ°Ñ Ð¾Ð±ÑабоÑка повеÑÑ Ð½Ð¾ÑÑей</a></li> 260 <li><a href="infos/antennas">ÐнÑÐµÐ½Ð½Ñ Ð¸ ÑадиопеÑедаÑÑие ÑÑÑÑойÑÑва</a></li> 261 <li><a href="infos/electronics_design">ÐонÑÑÑÑиÑование ÑадиоÑлекÑÑоники</a></li> 262 <li><a href="books">Books</a></li> 263 </ul> 264 </li> 265 <li class="menu-item"><a href="schematic">Schematic</a></li> 266 <li class="menu-item" onclick="menuHandler(event);"><a>Radiocomponents</a> 267 <ul class="main-lowmenu"> 268 <li><a href="elements/acoustic">ÐкÑÑÑиÑеÑкие компоненÑÑ 269</a></li> 270 <li><a href="elements/capacitor">ÐонденÑаÑоÑÑ</a></li> 271 <li><a href="elements/vacuum_tube">РадиолампÑ</a></li> 272 <li><a href="elements/chip">ÐикÑоÑÑ ÐµÐ¼Ñ</a></li> 273 <li><a href="elements/resonator">РезонаÑоÑÑ</a></li> 274 <li><a href="elements/battery">ÐккÑмÑлÑÑоÑÑ</a></li> 275 <li><a href="elements/mcu">ÐикÑоконÑÑоллеÑÑ</a></li> 276 <li><a href="elements/transistor">ТÑанзиÑÑоÑÑ</a></li> 277 <li><a href="elements/diode">ÐиодÑ</a></li> 278 <li><a href="elements/rezistor">РезиÑÑоÑÑ</a></li> 279 </ul> 280 </li> 281</div> 282 283<div id="search-container"> 284 <div 285 class="ya-site-form ya-site-form_inited_no" 286 data-bem="{"action":"https://chipinfo.pro/find","arrow":false,"bg":"transparent","fontsize":14,"fg":"#000000","language":"ru","logo":"rb","publicname":"ÐоиÑк по ChipInfo.pro","suggest":false,"target":"_self","tld":"ru","type":3,"usebigdictionary":false,"searchid":2018356,"input_fg":"#000000","input_bg":"#dfdfdf","input_placeholder":"поиÑк по ÑайÑÑ...","input_placeholderColor":"#999999","input_borderColor":"#666666"}"> 287 <form action="https://yandex.ru/search/site/" method="get" target="_self" accept-charset="utf-8"> 288 <input type="hidden" name="searchid" value="2018356"/> 289 <input type="hidden" name="l10n" value="ru"/> 290 <input type="hidden" name="reqenc" value="utf-8"/> 291 <input type="search" name="text" value=""/> 292 <input type="submit" value="ÐайÑи"/> 293 </form> 294 </div> 295
295<script type="text/javascript">(function(w,d,c){var s=d.createElement('script'),h=d.getElementsByTagName('script')[0],e=d.documentElement;if((' '+e.className+' ').indexOf(' ya-page_js_yes ')===-1){e.className+=' ya-page_js_yes';}s.type='text/javascript';s.async=true;s.charset='utf-8';s.src=(d.location.protocol==='https:'?'https:':'http:')+'//site.yandex.net/v2.0/js/all.js';h.parentNode.insertBefore(s,h);(w[c]||(w[c]=[])).push(function(){Ya.Site.Form.init()})})(window,document,'yandex_site_callbacks');</script>
295 296</div> 297 298 299<div id="main-menu-mobile-icon" onclick="document.getElementById('menu-items-container').classList.toggle('mobile-show');"><span >≡</span></div> 300</div> 301 302</div> 303 304 <div class="main-content-container"> 305<div id="content-center-column"> 306 <h2>СпиÑок ÑÑаÑей по Ñазделам</h2> 307 308 <div class="post"> 309 <h3 class="section-caption"><a href="article/diy">DIY</a></h3> 310 <hr size="1px"/> 311 <a href="article/diy/simple_charger"> ÐÑаÑкий гайд по ÑÐ¾Ð·Ð´Ð°Ð½Ð¸Ñ Ð¿ÑимÑивного заÑÑдного ÑÑÑÑойÑÑва (powerbank) Ñвоими ÑÑками </a><br/> 312 <a href="article/diy/hakko_t12_soldering_station"> ÐÐ±Ð·Ð¾Ñ Ð¸ ÑÑавнение неÑколÑÐºÐ¸Ñ Ð²ÐµÑÑий паÑлÑнÑÑ ÑÑанÑий на Hakko T12 </a><br/> 313 <a href="article/diy/stepper_drivers_current"> УÑÑановка Ñока ÑаговÑÑ Ð´Ð²Ð¸Ð³Ð°Ñелей на дÑайвеÑÐ°Ñ Ñазного Ñипа </a><br/> 314 </div> 315 <div class="post"> 316 <h3 class="section-caption"><a href="article/medley">Разное</a></h3> 317 <hr size="1px"/> 318 <a href="article/medley/electrolytic_capacitor_removal"> СпоÑоб ÑÐ´Ð°Ð»ÐµÐ½Ð¸Ñ ÑлекÑÑолиÑиÑеÑÐºÐ¸Ñ ÐºÐ¾Ð½Ð´ÐµÐ½ÑаÑоÑов без пайки </a><br/> 319 <a href="article/medley/sound_recovery"> ÐÑо воÑÑÑановление ÑÑаÑÑÑ Ð·Ð°Ð¿Ð¸Ñей </a><br/> 320 <a href="article/medley/filler_compound"> ÐÑÐ±Ð¾Ñ Ð·Ð°Ð»Ð¸Ð²Ð¾Ñного компаÑнда Ð´Ð»Ñ Ð¿Ð»Ð°Ñ ÑабоÑаÑÑÐ¸Ñ Ð² ÑÑловиÑÑ ÐºÐ¾ÑмоÑа </a><br/> 321 <a href="article/medley/strength_of_pipe_and_rod"> СÑавнение пÑоÑноÑÑи ÑÑÑÐ±Ñ Ð¸ пÑÑÑка </a><br/> 322 </div> 323 <div class="post"> 324 <h3 class="section-caption"><a href="article/basics_of_circuitry">Цикл «ÐÑÐ½Ð¾Ð²Ñ ÑÑ ÐµÐ¼Ð¾ÑÐµÑ Ð½Ð¸ÐºÐ¸Â»</a></h3> 325 <hr size="1px"/> 326 <a href="article/basics_of_circuitry/blocking_capacitor"> ÐазнаÑение и ÑаÑÑÑÑ Ð±Ð»Ð¾ÐºÐ¸ÑовоÑного конденÑаÑоÑа </a><br/> 327 <a href="article/basics_of_circuitry/charge_allocation"> РаÑпÑеделение заÑÑдов по повеÑÑ Ð½Ð¾ÑÑи пÑоводников </a><br/> 328 <a href="article/basics_of_circuitry/mosfets_as_key"> ÐÑобенноÑÑи иÑполÑÐ·Ð¾Ð²Ð°Ð½Ð¸Ñ Ð¿Ð¾Ð»ÐµÐ²ÑÑ ÑÑанзиÑÑоÑов («MOSFET») в каÑеÑÑве ÑлекÑÑонного клÑÑа </a><br/> 329 <a href="article/basics_of_circuitry/pwm_filter"> ÐÑаÑкое введение в меÑÐ¾Ð´Ð¾Ð»Ð¾Ð³Ð¸Ñ ÑаÑÑÑÑа пÑоÑÑейÑÐ¸Ñ ÑилÑÑÑов Ð´Ð»Ñ Ð¨ÐÐ-Ñигналов </a><br/> 330 <a href="article/basics_of_circuitry/bipolar_cascades_comparison"> СÑавнение ÑвойÑÑв каÑкадов на биполÑÑнÑÑ ÑÑанзиÑÑоÑÐ°Ñ </a><br/> 331 <a href="article/basics_of_circuitry/bipolar_transistors_in_switching_mode"> Ð¡Ñ ÐµÐ¼Ñ Ð¸ пÑинÑÐ¸Ð¿Ñ Ð¸ÑполÑÐ·Ð¾Ð²Ð°Ð½Ð¸Ñ Ð±Ð¸Ð¿Ð¾Ð»ÑÑнÑÑ ÑÑанзиÑÑоÑов в клÑÑевом Ñежиме </a><br/> 332 <a href="article/basics_of_circuitry/current_measurement"> ÐпиÑание оÑновнÑÑ Ð¿ÑинÑипов и меÑодов измеÑÐµÐ½Ð¸Ñ Ñока в ÑÑ ÐµÐ¼Ð¾ÑÐµÑ Ð½Ð¸ÐºÐµ </a><br/> 333 </div> 334 <div class="post"> 335 <h3 class="section-caption"><a href="article/popular_science">ÐаÑÑно-попÑлÑÑное</a></h3> 336 <hr size="1px"/> 337 <a href="article/popular_science/about_the_higgs_particle"> Чем Ñак важна ÑаÑÑиÑа ХиггÑа? </a><br/> 338 <a href="article/popular_science/particle_decay"> ÐаÑа Ñлов о ÑаÑпаде и ÑÑабилÑноÑÑи ÑаÑÑÐ¸Ñ </a><br/> 339 <a href="article/popular_science/about_cosmological_constant"> ÐÑаÑÐºÐ°Ñ Ð¸ÑÑоÑÐ¸Ñ ÐºÐ¾ÑмологиÑеÑкой поÑÑоÑнной ÐÑмбда </a><br/> 340 <a href="article/popular_science/hours_and_minutes"> ÐоÑÐµÐ¼Ñ Ð² ÑаÑе 60 минÑÑ? </a><br/> 341 <a href="article/popular_science/the_unexplained_effectiveness_of_math"> ÐепоÑÑÐ¸Ð¶Ð¸Ð¼Ð°Ñ ÑÑÑекÑивноÑÑÑ Ð¼Ð°ÑемаÑики в еÑÑеÑÑвеннÑÑ Ð½Ð°ÑÐºÐ°Ñ </a><br/> 342 </div> 343 <div class="post"> 344 <h3 class="section-caption"><a href="article/paradoxes">
344ÐаÑадокÑÑ</a></h3> 345 <hr size="1px"/> 346 <a href="article/paradoxes/simpsons_paradox"> ÐаÑÐ°Ð´Ð¾ÐºÑ Ð¡Ð¸Ð¼Ð¿Ñона </a><br/> 347 </div> 348 </div> 349</div> 350 351 <div id="auth-modal" class="modal-container"> 352 <div class="modal-body"> 353 <div class="tabs-container"> 354 <div class="tab-header"> 355 <div class="tab-label active"><a name="login-tab">ÐÑ Ð¾Ð´</a></div> 356 </div> 357 <div class="tab active login-tab"> 358 <div id="loginForm"> 359 <div class="common-loginForm-errors error-div"></div> 360 <input type="hidden" name="_token" value="Pe9wF9xfrAEwRBgoHKl2nnhRuzLB4dC42hNEB6Z3"> <div class="controls-row"> 361 <label for="username">ÐÐ¼Ñ Ð¿Ð¾Ð»ÑзоваÑÐµÐ»Ñ <span class="hint">(username)</span></label> 362 <div class="half-column"> 363 <input type="text" class="form-control " name="username" value="" required autocomplete="username" autofocus> 364 <div class="username-loginForm-errors error-div"></div> 365 </div> 366 </div> 367 <div class="controls-row"> 368 <label for="password">Password</label> 369 <div class="half-column"> 370 <input type="password" class="form-control " name="password" required autocomplete="current-password"> 371 <div class="password-loginForm-errors error-div"></div> 372 </div> 373 </div> 374 <div class="controls-row"> 375 <div class="half-column"> 376 <div class="form-check"> 377 <input class="form-check-input" type="checkbox" name="remember"> 378 <label class="form-check-label" for="remember">ÐапомниÑÑ ÑеÑÑиÑ</label> 379 </div> 380 </div> 381 </div> 382 <div class="controls-row"> 383 <button onclick="formValidation('loginForm')" class="btn btn-primary">ÐойÑи</button> 384 <a class="btn btn-link" href="https://chipinfo.pro/password/reset">ÐабÑли паÑолÑ?</a> 385 </div> 386 </div> 387 </div> 388 389 390 <div class="shared-captcha-block" id="shared-captcha-block"> 391 <h3>ÐÑовеÑка</h3> 392 <div class="controls-row captcha-row"> 393 <div class="half-column"> 394 <div class="captcha-block"> 395 <img src="" alt="captcha" class="captcha-image" id="shared-captcha-img" data-loading="true"> 396 <button type="button" class="captcha-refresh" id="shared-captcha-refresh" title="ÐбновиÑÑ">↻</button> 397 </div> 398 </div> 399 <div class="half-column" style="flex-direction: column;"> 400 <div class="captcha-status" id="shared-captcha-status"></div> 401 <input type="text" class="form-control captcha-input" id="shared-captcha-input" name="captcha" required autocomplete="off" maxlength="6" placeholder="XXXXXX" style="text-transform: uppercase;"> 402 <div class="captcha-errors error-div" id="shared-captcha-errors"></div> 403 </div> 404 </div> 405 </div> 406 </div> 407 </div> 408</div>
409<script> 410(function() { 411 var captchaToken = 'f34a30f53c7f65783f07efc216d2192e'; 412 var captchaUrl = 'https://chipinfo.pro/captcha'; 413 var refreshCooldown = null; 414 415 function setCaptchaStatus(text, isError) { 416 var status = document.getElementById('shared-captcha-status'); 417 if (status) { 418 status.innerText = text || ''; 419 status.className = 'captcha-status' + (isError ? ' error' : ''); 420 } 421 } 422 423 function setRefreshDisabled(disabled, countdown) { 424 var btn = document.getElementById('shared-captcha-refresh'); 425 if (btn) { 426 btn.disabled = disabled; 427 if (countdown && countdown > 0) { 428 btn.innerText = countdown; 429 } else { 430 btn.innerHTML = '↻'; 431 } 432 } 433 } 434 435 function startCooldown(seconds) { 436 if (refreshCooldown) { 437 clearInterval(refreshCooldown); 438 } 439 440 var remaining = seconds; 441 setRefreshDisabled(true, remaining); 442 setCaptchaStatus('Ðбновление ÑеÑез ' + remaining + ' Ñек.', false); 443 444 refreshCooldown = setInterval(function() { 445 remaining--; 446 if (remaining <= 0) { 447 clearInterval(refreshCooldown); 448 refreshCooldown = null; 449 setRefreshDisabled(false, 0); 450 setCaptchaStatus('', false); 451 } else { 452 setRefreshDisabled(true, remaining); 453 setCaptchaStatus('Ðбновление ÑеÑез ' + remaining + ' Ñек.', false); 454 } 455 }, 1000); 456 } 457 458 // force - пÑинÑдиÑелÑное обновление (ÑбÑаÑÑÐ²Ð°ÐµÑ cooldown) 459 window.refreshSharedCaptcha = function(force) { 460 var img = document.getElementById('shared-captcha-img'); 461 if (!img) return; 462 463 // ÐÑи пÑинÑдиÑелÑном обновлении ÑбÑаÑÑваем cooldown 464 if (force && refreshCooldown) { 465 clearInterval(refreshCooldown); 466 refreshCooldown = null; 467 setRefreshDisabled(false, 0); 468 } 469 470 if (refreshCooldown) return; 471 472 setCaptchaStatus('ÐагÑÑзка...', false); 473 474 var xhr = new XMLHttpRequest(); 475 xhr.open('GET', captchaUrl + '?token=' + encodeURIComponent(captchaToken) + '&_=' + Date.now(), true); 476 xhr.responseType = 'blob'; 477 xhr.withCredentials = true; 478 479 xhr.onload = function() { 480 if (xhr.status === 200) { 481 var blob = xhr.response; 482 img.src = URL.createObjectURL(blob); 483 img.removeAttribute('data-loading'); 484 setCaptchaStatus('', false); 485 // ÐоÑле ÑÑпеÑной загÑÑзки запÑÑкаем cooldown 486 startCooldown(15); 487 } else if (xhr.status === 429) { 488 // Rate limit 489 try { 490 var reader = new FileReader(); 491 reader.onload = function() { 492 var json = JSON.parse(reader.result); 493 startCooldown(json.wait || 30); 494 }; 495 reader.readAsText(xhr.response); 496 } catch (e) { 497 startCooldown(15); 498 } 499 } else if (xhr.status === 403) { 500 setCaptchaStatus('ÐÑибка Ñокена. ÐеÑезагÑÑзиÑе ÑÑÑаниÑÑ.', true); 501 } else { 502 setCaptchaStatus('ÐÑибка загÑÑзки', true); 503 } 504 }; 505 506 xhr.onerror = function() { 507 setCaptchaStatus('ÐÑибка ÑеÑи', true); 508 }; 509 510 xhr.send(); 511 }; 512 513 // ÐбÑабоÑÑик Ð¾Ð±Ð½Ð¾Ð²Ð»ÐµÐ½Ð¸Ñ ÐºÐ°Ð¿Ñи 514 document.getElementById('shared-captcha-refresh').addEventListener('click', function() { 515 refreshSharedCaptcha(false); 516 }); 517 518 // ÐагÑÑжаем капÑÑ ÑÑÐ°Ð·Ñ 519 setTimeout(function() { 520 refreshSharedCaptcha(false); 521 }, 100); 522})(); 523 524var formValidation = function(form_type) { 525 var form_block = document.getElementById(form_type); 526 var inputs_to_validate = form_block.getElementsByTagName('input'); 527 var data_to_send = {}; 528 529 for (var i = 0; i < inputs_to_validate.length; i++) { 530 if (inputs_to_validate[i].type === 'checkbox') { 531 data_to_send[inputs_to_validate[i].name] = inputs_to_validate[i].checked; 532 } else { 533 var value = inputs_to_validate[i].value; 534 if (inputs_to_validate[i].name === 'captcha') { 535 value = value.toUpperCase(); 536 } 537 data_to_send[inputs_to_validate[i].name] = value; 538 } 539 } 540 541 // ÐобавлÑем знаÑение капÑи из обÑего Ð¿Ð¾Ð»Ñ 542 var sharedCaptchaInput = document.getElementById('shared-captcha-input'); 543 if (sharedCaptchaInput) { 544 data_to_send['captcha'] = sharedCaptchaInput.value.toUpperCase(); 545 } 546 547 // ÐбнÑлÑем ÑÑаÑÑе оÑибки 548 var errors_divs = form_block.getElementsByClassName('error-div'); 549 for (var i = 0; i < errors_divs.length; i++) { errors_divs[i].innerHTML = ''; } 550 // ÐÑиÑаем оÑибки капÑи 551 var captchaErrors = document.getElementById('shared-captcha-errors'); 552 if (captchaErrors) captchaErrors.innerHTML = ''; 553 554 var authUrlMap = { 555 'login': appRoutes.auth.login, 556 'register': appRoutes.auth.register, 557 'password/email': appRoutes.auth.passwordEmail, 558 'password/reset': appRoutes.auth.passwordReset 559 }; 560
561 makeRequest({ 562 url: authUrlMap[form_type] || (appRoutes.base + form_type), 563 type: 'POST', 564 callback: function (response) { 565 var res = responseHandler(response); 566 if (!res.success) { // оÑибки 567 // ÐÑиÑаем поле капÑи 568 var captchaInput = document.getElementById('shared-captcha-input'); 569 if (captchaInput) { captchaInput.value = ''; } 570 571 // ÐÑинÑдиÑелÑно обновлÑем капÑÑ (код в ÑеÑÑии Ñже ÑбÑоÑен пÑи валидаÑии) 572 refreshSharedCaptcha(true); 573 574 forEach(Object.keys(res.data), function(key){ 575 var new_error = document.createElement('div'); 576 new_error.innerText = res.data[key]; 577 578 // ÐÑибки капÑи показÑваем в оÑделÑном блоке 579 if (key === 'captcha') { 580 var captchaErrors = document.getElementById('shared-captcha-errors'); 581 if (captchaErrors) { 582 captchaErrors.appendChild(new_error); 583 } 584 } else { 585 var errorContainer = form_block.getElementsByClassName(key+'-'+form_type+'-errors')[0]; 586 if (!errorContainer) { 587 errorContainer = form_block.getElementsByClassName('common-'+form_type+'-errors')[0]; 588 } 589 if (errorContainer) { 590 errorContainer.appendChild(new_error); 591 } 592 } 593 }); 594 } else { 595 if (form_type === 'registerForm') { 596 window.location = 'messages/successRegister'; 597 } else { 598 window.location = '/'; 599 } 600 } 601 }, 602 data: JSON.stringify(data_to_send) 603 }); 604} 605</script>
605 606 607 <div id="footer"> 608 <div id="footer-container"> 609 <div id="footer-contacts"> 610 <a href="mailto:contact@chipinfo.pro"><span class="social-icons mail-icon">@</span> E-mail</a> 611 <a href="https://t.me/electrochatic" alt="Ð§Ð°Ñ ChipInfo.pro в Telergam"><span class="social-icons telegram-icon"> </span> Telegram</a> 612 </div> 613 <div class="radio-container" id="theme-selector" >Theme: <div class="custom-radio" onclick="changeThemeHandler(this, 'changeTheme');"> 614 <div class="radio-on-title">Light</div> 615 <div class="radio-state-marker no-select"><div class="radio-punkt"> </div></div> 616 <div class="radio-off-title">Dark</div> 617</div> 618</div> 619</div> 620 621<br/><br/> 622 623<!-- Metrika -->
624<script type="text/javascript"> 625(function(w,c) { 626 (w[c] = w[c] || []).push(function() { 627 try { w.yaCounter19901995 = new Ya.Metrika({ id:19901995, webvisor:true, clickmap:true, trackLinks:true, accurateTrackBounce:false }); } catch(e) { } 628 }); })(window, "yandex_metrika_callbacks"); 629</script>
629 630<noscript><div><img src="//mc.yandex.ru/watch/19901995" style="position:absolute; left:-9999px;" alt="" /></div></noscript> 631<!-- Metrika --> 632</div> 633 634<div id="arrow-to-top" class="no-select" onclick="window.scrollTo({ top:0, behavior:'smooth' });"> ˆ </div> 635</body> 636</html>
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.