Wikipedysta:Persino/Gadget-DodatkiSkrypt.js

Z Wikibooks, biblioteki wolnych podręczników.

Uwaga: aby zobaczyć zmiany po opublikowaniu, może zajść potrzeba wyczyszczenia pamięci podręcznej przeglądarki.

  • Firefox / Safari: Przytrzymaj Shift podczas klikania Odśwież bieżącą stronę, lub naciśnij klawisze Ctrl+F5, lub Ctrl+R (⌘-R na komputerze Mac)
  • Google Chrome: Naciśnij Ctrl-Shift-R (⌘-Shift-R na komputerze Mac)
  • Internet Explorer / Edge: Przytrzymaj Ctrl, jednocześnie klikając Odśwież, lub naciśnij klawisze Ctrl+F5
  • Opera: Naciśnij klawisze Ctrl+F5.
(function(mw,$){
/*Uzyskanie dostępu do tablicy - przestrzeni: DodatkiSkrypt, z innej strony .js*/
var DodatkiSkrypt_zmienna_z_MediaWiki_Wikibooks=window['Common'];

/*Przestrzeń nazw: DodatkiSkrypt, zdefiniowanym za pomocą tablicy*/
var DodatkiSkrypt=new Array();
/*Sprawdza, czy użytkownik ma własną zmienną DodatkiSkrypt*/
DodatkiSkrypt.IsMediaWikiDodatkiSkrypt=function(){return ((DodatkiSkrypt_zmienna_z_MediaWiki_Wikibooks)?true:false);};
/*Funkcja zwraca zmienną DodatkiSkrypt ze strony MediaWiki:DodatkiSkrypt.js*/
DodatkiSkrypt.MediaWikiDodatkiSkrypt=function(){return (DodatkiSkrypt.IsMediaWikiDodatkiSkrypt()?DodatkiSkrypt_zmienna_z_MediaWiki_Wikibooks:DodatkiSkrypt);}
/*Funkcja zwraca tablicę DodatkiSkrypt użytkownika, jeżeli taką posiada, w przeciwnym wypadku zwraca undefined*/
DodatkiSkrypt.UserDodatkiSkrypt=function(){return (DodatkiSkrypt.IsMediaWikiDodatkiSkrypt()?DodatkiSkrypt:undefined);}
/*Funkcja zwraca DodatkiSkrypt z tej strony*/
DodatkiSkrypt.NoweDodatkiSkrypt=function(){return DodatkiSkrypt;}
/*Funkcja zwraca DodatkiSkrypt ze strony MediaWiki:DodatkiSkrypt.js, jeżeli użytkownik posiada własne DodatkiSkrypt w jego pliku DodatkiSkrypt, w przeciwnym wypadku zwraca undefined*/
DodatkiSkrypt.StareDodatkiSkrypt=function(){return DodatkiSkrypt_zmienna_z_MediaWiki_Wikibooks;}

DodatkiSkrypt.PodTablicaDodatkiSkrypt=function(mediawiki_ewentualnie_user,nazwa){
	if(mediawiki_ewentualnie_user){
		var DodatkiSkrypt_nowe=DodatkiSkrypt.NoweDodatkiSkrypt();
		return (DodatkiSkrypt_nowe?DodatkiSkrypt_nowe[nazwa]:undefined)||DodatkiSkrypt_nowe;
	}else{
		var DodatkiSkrypt_stare=DodatkiSkrypt.StareDodatkiSkrypt();
		return (DodatkiSkrypt_stare?DodatkiSkrypt_stare[nazwa]:undefined)||DodatkiSkrypt_stare;
	}
};
/**/
/*Liczba wątków do zliczenia*/
var muteks_generowane_liczby=undefined;
DodatkiSkrypt.LicznikGenerowanychKorutyn=function(liczba_watkow,muteks_bez_generatora){
	this._length=((liczba_watkow!==undefined)?liczba_watkow:0);
	this.lengthPlus=((liczba_watkow!==undefined)?liczba_watkow:0);
	this.lengthMinus=0;
	var muteks_generowane_liczby=undefined;
	this._pobierzMuteks=function(){
		if(!muteks_generowane_liczby){muteks_generowane_liczby=new DodatkiSkrypt.Muteks();};
		return muteks_generowane_liczby;
	}
	/**/
	this._wygeneruj=function(liczba_watkow){
		this._length+=liczba_watkow;
		this.lengthPlus+=liczba_watkow;
	}
	this._zwolnij=function(){
		this._length-=1;
		this.lengthMinus+=1;	
	}
	this.wygeneruj=function(liczba){
		var zmienna_this=this;
		return zmienna_this._pobierzMuteks()[muteks_bez_generatora?"_zablokuj":"zablokuj"]().then(function(){
			zmienna_this._wygeneruj(liczba);
			muteks_generowane_liczby.odblokuj();
			return Promise.resolve();
		});
	}
	this.zwolnij=function(liczba){
		var zmienna_this=this;
		return zmienna_this._pobierzMuteks()[muteks_bez_generatora?"_zablokuj":"zablokuj"]().then(function(){
			zmienna_this._zwolnij();
			muteks_generowane_liczby.odblokuj();
			return Promise.resolve();
		});
	}
	this.length=function(liczba){
		var zmienna_this=this;
		return zmienna_this._pobierzMuteks()[muteks_bez_generatora?"_zablokuj":"zablokuj"]().then(function(){
			var length=zmienna_this._length;
			muteks_generowane_liczby.odblokuj();
			return Promise.resolve(length);
		});
	}
}
/**/
var generowane_muteksy=new DodatkiSkrypt.LicznikGenerowanychKorutyn(0,true);
DodatkiSkrypt.Muteks=function(){
    var poprzednie_promise=Promise.resolve();
    var stop=false;
    this._zablokuj = function(czy_generator) {
    	this.odblokuj=function(){
    		stop=false;
    	};
    	if(czy_generator){var generator=generowane_muteksy.wygeneruj(1);}
    	var promise=Promise.all([poprzednie_promise,generator]).then(function(){
    		return new Promise(function(resolve,reject){
    			function Czekaj(){
    				if(!stop){
    					if(czy_generator){var generator=generowane_muteksy.zwolnij();};
    					Promise.all([generator]).then(function(){
	    					stop=true;
    						resolve();
    					});
    				}else{
    					setTimeout(Czekaj,0);
    				}
    			};
    			Czekaj();
    		});
    	});
    	poprzednie_promise=promise;
    	return promise;
    };
}
DodatkiSkrypt.Muteks.prototype.zablokuj=function(ktory){
	return this._zablokuj(true);
}
/**/
var generowane_korutyny=new DodatkiSkrypt.LicznikGenerowanychKorutyn();
/**/
var FunDodatek=function(obj,__FUNKCJA_PROMISE,a,b,c,d,e,f,g,h,i,j,k){
	//return $(document).DodatkiSkryptSetTimeOut(function(){return Promise.resolve();},args[1]).then(function(){
	var promise=generowane_korutyny.wygeneruj(1);
	var wynik=obj[__FUNKCJA_PROMISE](a,b,c,d,e,f,g,h,i,j,k);
	return Promise.allSettled([promise,wynik]).then(function(){
		var generator=generowane_korutyny.zwolnij();
		return Promise.all([generator]).then(function(){return wynik;});
	});
}
var tab_promise_fun=["then","catch","finally"];
for(var p in tab_promise_fun){
	var __FUNKCJA_PROMISE=tab_promise_fun[p];
	(function(__FUNKCJA_PROMISE){
		var __DODATKI_FUNKCJA_PROMISE=__FUNKCJA_PROMISE.charAt(0).toUpperCase() + __FUNKCJA_PROMISE.slice(1);
		Promise.prototype["DodatkiSkrypt"+__DODATKI_FUNKCJA_PROMISE]=Promise.prototype["DodatkiSkrypt"+__DODATKI_FUNKCJA_PROMISE]=function(a,b,c,d,e,f,g,h,i,j,k){
			return FunDodatek(this,__FUNKCJA_PROMISE,a,b,c,d,e,f,g,h,i,j,k);
		}
	})(__FUNKCJA_PROMISE);
}
var FunPromiseAll=function(tabela_promise,jaka){
	var promise_gen=generowane_korutyny.wygeneruj(1);
	return Promise.all(promise_gen).then(function(){
		return Promise[jaka](tabela_promise).then(function(data){
			var promise_zw=generowane_korutyny.zwolnij();
			return Promise.all([promise_zw]).then(function(){
				return Promise.resolve(data);
			});
		}).catch(function(data){
			var promise_zw=generowane_korutyny.zwolnij();
			return Promise.all([promise_zw]).then(function(){
				return Promise.reject(data);
			});
		});
	});
}
var tab_promise_all=["all","allSettled"];
for(var p in tab_promise_all){
	var __FUNKCJA_PROMISE_ALL=tab_promise_all[p];
	(function(__FUNKCJA_PROMISE_ALL){
		var __FUNKCJA_PROMISE_ALLFUN=__FUNKCJA_PROMISE_ALL.charAt(0).toUpperCase() + __FUNKCJA_PROMISE_ALL.slice(1);
		Promise["DodatkiSkrypt"+__FUNKCJA_PROMISE_ALLFUN]=function(tabela_promise){
			return FunPromiseAll(tabela_promise,__FUNKCJA_PROMISE_ALL);
		}
	})(__FUNKCJA_PROMISE_ALL);
}
var func=function(obj){
	var tab_func=["then","catch","done"];
	for(var p in tab_func){
		var __FUNC=tab_func[p];
		(function(__FUNC){
			var __DODATKI_FUNC=__FUNC.charAt(0).toUpperCase() + __FUNC.slice(1);
				obj["DodatkiSkrypt"+__DODATKI_FUNC]=function(a,b,c,d,e,f,g,h,i,j,k){
				return FunDodatek(obj,__FUNC,a,b,c,d,e,f,g,h,i,j,k);
			}
		})(__FUNC);
	}
    return obj;
}
$.fn._promise=$.fn.promise;
$.fn.__promise=function(type,target){
	var tab_promise=$.fn._promise(type,target);
	var obj=new Object();
	for(var p in tab_promise){
		(function(tab_promise,p){
			obj[p]=function(a,b,c,d,e,f,g,h,i,j,k){
				var obj2=tab_promise[p](a,b,c,d,e,f,g,h,i,j,k);
				return func(obj2);
			};
		})(tab_promise,p);
	}
	return func(obj);
}
$.fn.promise=$.fn.__promise;$.fn.__promise=undefined;
/**/
$._Deferred=$.Deferred;
$.__Deferred=function(beforeStart){
	var tab_promise=$._Deferred(beforeStart);
	var obj=new Object();
	for(var p in tab_promise){
		(function(tab_promise,p){
			obj[p]=function(a,b,c,d,e,f,g,h,i,j,k){
				var obj2=tab_promise[p](a,b,c,d,e,f,g,h,i,j,k);
				return func(obj2);
			};
		})(tab_promise,p);
	}
	return func(obj);
}
$.Deferred=$.__Deferred;$.__Deferred=undefined;
/**/
/**/
var muteks_user_option=new DodatkiSkrypt.Muteks();
/**/
			
//importScript(MediaWikiGadgetPrefix+"SHA1.js");
/**/
DodatkiSkrypt.UruchomPobraneSkrypty=function(strona,projekt,jezyk){
	var params = {
		origin:"*",
    	action: "query",
    	prop: "revisions",
    	titles: strona,
    	rvprop: "content",
	    rvslots: "main",
    	formatversion: "2",
    	format: "json"
	};
	var url=window.location.protocol+"//"+((jezyk||mw.config.get('wgContentLanguage')).toLowerCase())+"."+((projekt||mw.config.get('wgSiteName')).toLowerCase())+".org/w/api.php";
	var promise_sha1=$.ajax({
		url:url,
		data:params,
		dataType:'json',
	});
	return promise_sha1.DodatkiSkryptThen(function(response){
   		var pages = response.query.pages;
   		var tekst="";
        for (var p in pages) {
        	var revisions=pages[p].revisions;
        	var title=pages[p].title;
        	var js=/\.[Jj][Ss]$/g.test(title);
        	var css=/\.[Cc][Ss][Ss]$/g.test(title);
        	if(js || css){
        		for(var s in revisions){
        			var tekst_strona=revisions[s].slots.main.content
            		tekst=tekst+((tekst!="")?";":"")+((js)?(tekst_strona):("mw.util.addCSS(\""+(tekst_strona.replace(/\n/g," ").replace(/"/g,"\\\""))+"\")"));
        		}
        	}
        }
        var wynik=new Function(tekst);
        return Promise.resolve(wynik());
	}).DodatkiSkryptCatch(function(response){return Promise.reject(response)});
};
DodatkiSkrypt.UruchomPobranePliki=function(element_skrypty,projekt,jezyk){
	var jezyk=(jezyk||mw.config.get('wgContentLanguage')).toLowerCase();
	var projekt=(projekt||mw.config.get('wgSiteName')).toLowerCase();
	var skrypty=new Array();
	if(!Array.isArray(element_skrypty)){element_skrypty=new Array(element_skrypty);}
	for(var i=0;i<element_skrypty.length;++i){
		var skrypt=element_skrypty[i];
		var status=mw.loader.getState(skrypt);
		var czy_jest=(status=="ready");
		if(!czy_jest){
			skrypty.push(skrypt);
		}
	}
	if(skrypty.length==0){return Promise.resolve();};
	return mw.loader.getScript(window.location.protocol+"//"+jezyk+"."+projekt+".org/w/load.php?lang=pl&modules="+encodeURIComponent(skrypty.join("|")));
}
var MediaWikiGadgetPrefix="User:Persino/"
var promise_sha1=(((window.CryptoJS)&&(window.CryptoJS.SHA1))?(Promise.resolve()):(DodatkiSkrypt.UruchomPobraneSkrypty(MediaWikiGadgetPrefix+"SHA1.js")));
var CryptoJSSHA1=function(klucz){
	return promise_sha1.DodatkiSkryptThen(function(data){
		var klucz_sha1=CryptoJS.SHA1(klucz).toString();
		return Promise.resolve(klucz_sha1);
	}).DodatkiSkryptCatch(function(data){return Promise.reject(data)});
}
DodatkiSkrypt.DodatkiSkryptUserOption=new Array();
DodatkiSkrypt.DodatkiSkryptUserOption.get=function(klucz,prefix,czy_nie_escape){
	return $(document).DodatkiSkryptReady(function(){
		return CryptoJSSHA1(((prefix)?(prefix+"-"):"")+klucz).DodatkiSkryptThen(function(data){
			var klucz="userjs-dodatkiskrypt-"+data;
			if(mw.user.options.exists(klucz)){
				var wynik=mw.user.options.get(klucz);
				wynik=(wynik!==null)?((!czy_nie_escape)?unescape(wynik):wynik):null;
				return Promise.resolve(wynik);
			}else{
				return Promise.resolve(null);
			}
		}).DodatkiSkryptCatch(function(data){return Promise.reject(data)});
	},null,muteks_user_option);
}
DodatkiSkrypt.DodatkiSkryptUserOption.set=function(klucz,wartosc,prefix,czy_nie_escape,tab_save_option){
	return $(document).DodatkiSkryptReady(function(){
		return CryptoJSSHA1(((prefix)?(prefix+"-"):"")+klucz).DodatkiSkryptThen(function(data){
			var klucz_cookie="dodatkiskrypt-"+data;
			var klucz="userjs-"+klucz_cookie;
			mw.cookie.set(klucz_cookie,null,{secure:true,path:"/",});
			wartosc=(wartosc!==null)?((!czy_nie_escape)?escape(wartosc):wartosc):null;
			var promise_set=mw.user.options.set(klucz,wartosc);
			if(!tab_save_option){
				var api=new mw.Api();
				return api.saveOption(klucz,wartosc).then(function(data){
					return Promise.resolve(promise_set);
				});
			}else{
				tab_save_option[klucz]=wartosc;
				return Promise.resolve(promise_set);
			}
		}).DodatkiSkryptCatch(function(data){return Promise.reject(data)});
	},null,muteks_user_option);
}
var muteks_user_option_all=new DodatkiSkrypt.Muteks()
DodatkiSkrypt.DodatkiSkryptUserOption.getAll=function(klucz,prefix){
	return $(document).DodatkiSkryptReady(function(){
		var ile_cookie=DodatkiSkrypt.DodatkiSkryptUserOption.get(klucz+"-ile",prefix);
		return ile_cookie.then(function(ile_cookie){
			var ile=((ile_cookie)?(parseInt(ile_cookie)||0):0);
			if(ile==0){
				return DodatkiSkrypt.DodatkiSkryptUserOption.get(klucz,prefix,true).then(function(cookie){
					return (cookie!==null)?unescape(cookie):null;
				});
			}else{
				var cookie="";
				var tab_promise_cookie=new Array();
				for(i=0;i<ile;++i){
					tab_promise_cookie.push(DodatkiSkrypt.DodatkiSkryptUserOption.get(klucz+"-numer-"+i,prefix,true));
				}
				if(tab_promise_cookie.length==0){return null;};
				return Promise.all(tab_promise_cookie).then(function(data){
					var cookie="";
					for(var i=0;i<data.length;++i){
						cookie_numer=data[i];
						if(cookie_numer==null){return Promise.resolve(null);};
						cookie+=((cookie_numer)?cookie_numer:"");
					}
					return unescape(cookie);
				});
			}
		});
	},null,muteks_user_option_all);
}
DodatkiSkrypt.DodatkiSkryptUserOption.setAllNull=function(klucz,prefix){
	return $(document).DodatkiSkryptReady(function(){
		var ile_cookie=DodatkiSkrypt.DodatkiSkryptUserOption.get(klucz+"-ile",prefix);
		return ile_cookie.then(function(ile_cookie){
			var tab_save_option=new Array();
			var tab_promise_cookie=new Array();
			tab_promise_cookie.push(DodatkiSkrypt.DodatkiSkryptUserOption.set(klucz+"-ile",null,prefix,true,tab_save_option));
			var ile=((ile_cookie)?(parseInt(ile_cookie)||0):0);
			if(ile==0){
				tab_promise_cookie.push(DodatkiSkrypt.DodatkiSkryptUserOption.set(klucz,null,prefix,true,tab_save_option));
			}else{
				for(i=0;i<ile;++i){
					tab_promise_cookie.push(DodatkiSkrypt.DodatkiSkryptUserOption.set(klucz+"-numer-"+i,null,prefix,true,tab_save_option));
				}
			}
			return Promise.all(tab_promise_cookie).DodatkiSkryptThen(function(){
				var api=new mw.Api();
				return api.saveOptions(tab_save_option).DodatkiSkryptThen(function(data){
					return Promise.resolve();
				});
			});
		});
	},null,muteks_user_option_all);
}
var tab_save_all_option=undefined;
var tak_tab_save_all_option=true;
var muteks_user_options_muteks=new DodatkiSkrypt.Muteks();
var ZapiszUstawienia=function(tab_save_option){
	$(document).DodatkiSkryptReady(function(){
		if(!tab_save_all_option){tab_save_all_option=new Array();};
		for(var p in tab_save_option){
			tab_save_all_option[p]=tab_save_option[p];
		}
	},null,muteks_user_options_muteks);
	/**/
	if(tak_tab_save_all_option){
		tak_tab_save_all_option=false;
		$(document).DodatkiSkryptSetInterval(function(){
			return $(document).DodatkiSkryptReady(function(){
				try{
					var czy_jest_jakis_element=false;
					for(var p in tab_save_all_option){
						czy_jest_jakis_element=true;
						break;
					}
					if(!czy_jest_jakis_element){return;}
					var api=new mw.Api();
					return api.saveOptions(tab_save_all_option).then(function(data){
						tab_save_all_option=new Array();
						console.log(data);
						return Promise.resolve("Załadowano ustawienia!");
					});
				}catch(error){
					return Promise.reject(null);
				}
			},null,muteks_user_options_muteks);
		},30000,false);
	}
}
DodatkiSkrypt.DodatkiSkryptUserOption.setAll=function(klucz,wartosc,opcje){
	return $(document).DodatkiSkryptReady(function(){
		/**/
		var nowe_cookie=escape(wartosc);
		var ile_max=65530;
		if(nowe_cookie.length<=ile_max){return DodatkiSkrypt.DodatkiSkryptUserOption.set(klucz,nowe_cookie,opcje,true);}
		/**/
		var re=new RegExp("^(.{1,"+ile_max+"})","g");
		var tab_promise_cookie=new Array();
		var tab_save_option=new Array();
		for(var ile=0;;++ile){
			var cookie=nowe_cookie.match(re);
			cookie=((cookie)?(cookie.toString()):"");
			if((ile==0)&&(cookie=="")){
				tab_promise_cookie.push(DodatkiSkrypt.DodatkiSkryptUserOption.set(klucz,"",opcje,true,tab_save_option));
				break;
			}
			nowe_cookie=nowe_cookie.replace(re,"");
			tab_promise_cookie.push(DodatkiSkrypt.DodatkiSkryptUserOption.set(klucz+"-numer-"+ile,cookie,opcje,true,tab_save_option));
			if(nowe_cookie==""){
				tab_promise_cookie.push(DodatkiSkrypt.DodatkiSkryptUserOption.set(klucz+"-ile",ile+1,opcje,true,tab_save_option));
				break;
			}
		}
		return Promise.all(tab_promise_cookie).DodatkiSkryptThen(function(){
			ZapiszUstawienia(tab_save_option);
		});
	},null,muteks_user_option_all);
}
var wersja="wersja-0.5";
var czas_integer=(new Date()).getTime();
DodatkiSkrypt.CzyPrzekroczonoAktualnyCzasBazy=function(){
	var promise_time=DodatkiSkrypt.DodatkiSkryptUserOption.get("Czas","PobierzStrona");
	return promise_time.DodatkiSkryptThen(function(data){
		if(data===null){
			return DodatkiSkrypt.DodatkiSkryptUserOption.set("Czas",Object(czas_integer).toString(),"PobierzStrona").DodatkiSkryptThen(function(){
				return false;
			});
		}else{
			if(parseInt(data)+(7*24*60*60*1000)<=czas_integer){
				return DodatkiSkrypt.DodatkiSkryptUserOption.set("Czas",Object(czas_integer).toString(),"PobierzStrona").DodatkiSkryptThen(function(){
					return true;
				});
			}
			return Promise.resolve(false);
		}
	});
};
var promise_time_dane=undefined;
DodatkiSkrypt.DodatkiSkryptUserOption.PobierzDaneStron=function(url,params,__FUNKCJA){
	var klucz="";
	Object.keys(params).forEach(function(key){klucz += ((klucz!="")?"&":"") + key + "=" + params[key];});
	klucz=wersja+"-Serwer:"+url+"?"+klucz;
	if(!promise_time_dane){
		promise_time_dane=DodatkiSkrypt.CzyPrzekroczonoAktualnyCzasBazy();
	}
	return promise_time_dane.DodatkiSkryptThen(function(czy_czas){
		var promise_dane=Promise.resolve();
		if(czy_czas){
			promise_dane=DodatkiSkrypt.DodatkiSkryptUserOption.setAllNull(klucz,"PobierzStrona");
		}
		return promise_dane.DodatkiSkryptThen(function(){
			var mw_menu_boksy=DodatkiSkrypt.DodatkiSkryptUserOption.getAll(klucz,"PobierzStrona");
			return mw_menu_boksy.DodatkiSkryptThen(function(data){
				if(data===null){
					var wynik_fun=(__FUNKCJA)?(__FUNKCJA):(function(url,params){
						try{
							return $.post({
								url:url,
								data:params,
								dataType:'json',
							});
						}catch(error){
							return Promise.reject(null);
						}
					});
					var wynik=wynik_fun(url,params);
					if(wynik!==null){
						setTimeout(function(){
							Promise.all([wynik]).DodatkiSkryptThen(function(wynik_data){
								const jsonText = JSON.stringify(wynik_data[0]);
								DodatkiSkrypt.DodatkiSkryptUserOption.setAll(klucz,jsonText,"PobierzStrona");
							}).DodatkiSkryptCatch(function(wynik_data){});
						},30000);
						console.log("Zapisuję ściągnęty plik JSON strony: "+(params.titles||params.title||"")+".");
					}
					return wynik;
				}else{
					var wynik=JSON.parse(data);
					console.log("Odczytuję zapisywany plik JSON strony: "+(params.titles||params.title||"")+".")
					return wynik;
				}
			});
		});
	});
}
var muteks_ready=new DodatkiSkrypt.Muteks();
$.fn.DodatkiSkryptReady=function(__FUNKCJA,generowane_korutyny_2,muteks_ready_2){
	//var __generowane_korutyny=(generowane_korutyny_2)?generowane_korutyny_2:generowane_korutyny;
	var __muteks_ready=(muteks_ready_2)?muteks_ready_2:muteks_ready;
			
	var promise1=__muteks_ready.zablokuj();
	var promise2=generowane_korutyny.wygeneruj(1);
	var promise3=((generowane_korutyny_2)?(generowane_korutyny_2.wygeneruj(1)):(null));
				
	return Promise.allSettled([promise1,promise2,promise3]).then(function(data){
		var promise;
		try{
			promise=__FUNKCJA();
		}catch(error){
			console.log("$.fn.DodatkiSkryptReady",error);
			var generator1=generowane_korutyny.zwolnij();
			if(generowane_korutyny_2){var generator2=generowane_korutyny_2.zwolnij();};
			__muteks_ready.odblokuj();
			return Promise.all([generator1,generator2]).then(function(){return Promise.reject();});
		}
		return Promise.allSettled([promise]).then(function(data){
			var generator1=generowane_korutyny.zwolnij();
			if(generowane_korutyny_2){var generator2=generowane_korutyny_2.zwolnij();};
			__muteks_ready.odblokuj();
			return Promise.all([generator1,generator2]).then(function(){return promise;});
		});
	});
}
$.fn.DodatkiSkryptPromise=function(__FUNCTION,generator_promise){
	var promise1=generowane_korutyny.wygeneruj(1);
	var promise2=((generator_promise)?(generator_promise.wygeneruj(1)):(null));
	return Promise.all([promise1,promise2]).then(function(){
		return new Promise(function(resolve,reject){
			try{
				__FUNCTION(resolve,reject);
			}catch(error){
				console.log("$.fn.DodatkiSkryptPromise",error);
				var generator1=generowane_korutyny.zwolnij();
				if(generator_promise){var generator2=generator_promise.zwolnij();};
				return Promise.all([generator1,generator2]).then(function(){reject();});
			}
		}).then(function(data){
			var generator1=generowane_korutyny.zwolnij();
			if(generator_promise){var generator2=generator_promise.zwolnij();};
			return Promise.all([generator1,generator2]).then(function(){return Promise.resolve(data);});
		}).catch(function(data){
			var generator1=generowane_korutyny.zwolnij();
			if(generator_promise){var generator2=generator_promise.zwolnij();};
			return Promise.all([generator1,generator2]).then(function(){return Promise.reject(data);});
		});
	});
}
$.fn.DodatkiSkryptSettledPromise=function(__FUNCTION,generator_promise){
	return $(document).DodatkiSkryptPromise(function(resolve,reject){
		var wynik=__FUNCTION();
		Promise.allSettled([wynik]).then(function(data){
			resolve(data);
		});
	},generator_promise);
}
$.fn.DodatkiSkryptSetTimeOut=function(__FUNCTION,czas,args1,args2,args3,args4,args5,args6,args7,args8,args9,args10){
	return $(document).DodatkiSkryptPromise(function(resolve,reject){
		setTimeout(function(){
			var wynik=__FUNCTION(args1,args2,args3,args4,args5,args6,args7,args8,args9,args10);
			Promise.all([wynik]).then(function(data){
				resolve(data[0]);
			}).catch(function(data){
				reject(data[0]);
			});
		},(czas||0));
	});
}
$.fn.DodatkiSkryptSetInterval=function(funkcja,delay,jak,args1,args2,args3,args4,args5,args6,args7,args8,args9,args10){
	var __funkcja=function(){
		return $(document).DodatkiSkryptSettledPromise(function(){
			return funkcja(args1,args2,args3,args4,args5,args6,args7,args8,args9,args10);
		});
	}
	if(jak){
		__funkcja();
	}
	setInterval(__funkcja,delay);
}
$.fn.DodatkiSkryptBefore=function(element){
	return $(this).before(element).prev();
}
$.fn.DodatkiSkryptAppend=function(element){
	return $(this).append(element).children().last();
}
$.fn.DodatkiSkryptCloneNode=function(tak){
	var str=$(this);
	for(var i=0;i<str.length;++i){
		var kopia=str[i].cloneNode((tak===undefined)?true:tak);
		str[i].outerHTML=kopia.outerHTML;
	}
	return str;
}
DodatkiSkrypt.requireFile=function(script){
    var scripts=mw.loader.moduleRegistry[script].script;
    if(!scripts){return;}
	var main=scripts.main;
    if(/^[^\/]*$/g.test(main)){
    	main="";
    }else{
    	main=main.replace(/[\/][^\/]*$/g,"");
	}
    function requireFun(file){
    	if(main!=""){
    		file=main+"/"+file;
    		file=file.replace(/\/\.\//g,"/");
	    }else{
    		file=file.replace(/^\.\//g,"");
    	}
		while(true){
			var tab_s=file.match(/\/[^\/]*\/\.\.\//g);
			if(tab_s==null){break;}
			if(tab_s.length>0){
				file=file.replace(tab_s[0].toString(),"/");
			}else{break;}
		}
    	console.log("Ładuję plik modułu: "+file);
	    return mw.loader.moduleRegistry[script].script.files[file];
    }
    function plikMain(file){
    	if(file==null){
    		var main=mw.loader.moduleRegistry[script].script.main;
    		if(/^[^\/]*$/g.test(main)){
    		    file="./"+main;
    		}else{
    		    file="."+(main.match(/\/[^\/]*$/g).toString());
    		}
    	}
    	return file;
    }
    function require(file){
    	file=plikMain(file);
    	if((/^\.\//g.test(file))||(/^\.\.\//g.test(file))){
    		var ob=requireFun(file);
	    	if(typeof(ob) == "function"){
    			console.log("Typ danych: function");
    			var module=new Array();var exports=new Array();
    			var c=ob(require,module,exports);
    			return module.exports;
    		}
	    	console.log("Typ danych: "+typeof(ob));
    		return ob;
    	}
    	var element_modul=file;
	    console.log("Inny moduł: "+file);
    	var script=mw.loader.moduleRegistry[element_modul].script;
    	if(script){
    		var main=mw.loader.moduleRegistry[element_modul].script.main;
    		if(main){
    		    var plik;
    		    if(/^[^\/]*$/g.test(main)){
    			    plik="./"+main;
	    		}else{
    				plik="."+(main.match(/\/[^\/]*$/g).toString());
    			}
    			return this_zmienne.requireFile(element_modul)(plik);
    		}
		}else{
    		mw.loader.load(element_modul);
    	}
	}
    return require;
}
/**/
DodatkiSkrypt.CzekanieFinalizacjiWszystkichKorutyn=function(generowane_korutyny_parametr,muteks){
	return new Promise(function(resolve,reject){
		function Czekaj(){
			return Promise.all([generowane_korutyny_parametr.length()]).then(function(data){
				var generowane_korutyny_parametr_length=data[0];
				if(generowane_korutyny_parametr_length==0){
					resolve();
				}else{
					setTimeout(Czekaj,300);
				}
			});
		}
		Czekaj();
	});
}
DodatkiSkrypt.CzekanieFinalizacjiMateriiWszystkichFunkcji=function(czy_korutyny, czy_muteksy,__FUNKCJA_START,__FUNKCJA_KONTINUUM,__FUNKCJA_KONIEC){
	return new Promise(function(resolve,reject){
		if(__FUNKCJA_START){__FUNKCJA_START();};
		function Czekaj(){
			var tab=undefined;
			if(__FUNKCJA_KONTINUUM){tab=__FUNKCJA_KONTINUUM();};
			return generowane_korutyny.length().then(function(generowane_korutyny_length){
				return generowane_muteksy.length().then(function(generowane_muteksy_length){
					if(tab){
						console.log("Liczba procent ukończonych wątków: "+((parseInt(tab[0]*1000))/1000)+"%. Liczba procent zwolnionych muteksów: "+((parseInt(tab[1]*1000))/1000)+"%. Liczba nieukończonych wątków: "+generowane_korutyny_length+". Liczba niezwolnionych muteksów: "+generowane_muteksy_length+".")
					}
					if((((!czy_korutyny)||(generowane_korutyny_length==0))&&((!czy_muteksy)||(generowane_muteksy_length==0)))&&(tab)&&(tab[0]==100)&&(tab[1]==100)){
						if(__FUNKCJA_KONIEC){__FUNKCJA_KONIEC();}
						resolve();
						return;
					}else{
						setTimeout(function(){Czekaj();},300);
					}
				});
			});
		}
		Czekaj();
	});
};
DodatkiSkrypt.Progress=function(){
	var c=document.createElement('div');
	c.setAttribute("id","pasek_postępu")
	c.setAttribute('style','line-height:1.2em;margin-top:-2px;margin-left:-2px;position:fixed;width:374px;height:14px;border:1px solid #eaecf0;box-sizing:border-box;padding:0 5px;background-color:white;display:flex;flex-direction:row;box-sizing:border-box;');
	var label=document.createElement('div');
	label.innerHTML="<span style=\"color:blue;\">Wątki: </span>";
	label.setAttribute('style','position:relative;font-size:11px;line-height:1.0em;padding-right:5px;padding-left:0px;height:100%;box-sizing:border-box;white-space:nowrap;width:79px;flex:1 0 79px;');
	
	var span=document.createElement('span');
	span.innerHTML="0%";
	var span_0=label.appendChild(span);
	
	c.appendChild(label);
	var progress=document.createElement('progress');
	progress.innerHTML="0%";
	progress.style.display="block";
	progress.setAttribute('id','file1')
	progress.setAttribute('style','width:93px;height:100%;box-sizing:border-box;flex:1 0 93px;');
	progress.setAttribute("max","100");
	progress.setAttribute('value',"0");
	var element_body_progress_1=c.appendChild(progress);
	
	var label=document.createElement('div');
	label.innerHTML="<span style=\"color:blue;\">Blokady: </span>";
	label.setAttribute('style','position:relative;font-size:11px;line-height:1.0em;padding-right:5px;padding-left:5px;height:100%;box-sizing:border-box;white-space:nowrap;width:96px;flex:1 0 96px;');
	
	var span=document.createElement('span');
	span.innerHTML="0%";
	var span_1=label.appendChild(span);
	
	c.appendChild(label);
	var progress=document.createElement('progress');
	progress.innerHTML="0%";
	progress.setAttribute('id','file2')
	progress.setAttribute('style','width:93px;height:100%;box-sizing:border-box;flex:1 0 93px;')
	progress.setAttribute("max","100");
	progress.setAttribute('value',"0");
	var element_body_progress_2=c.appendChild(progress);
	
	function PozycjaXY(){
		c.style.top=(/*window.scrollY+*/document.documentElement.clientHeight-parseFloat(c.style.height))+"px";
		c.style.left=(/*window.scrollX+*/document.documentElement.clientWidth-parseFloat(c.style.width))+"px";
	}
	c.style.zIndex="2000";
	document.querySelector('body').appendChild(c);
	PozycjaXY();
	$(window).on('scroll',PozycjaXY);
	$(window).on('resize',PozycjaXY);
	return new Array(element_body_progress_1,element_body_progress_2,span_0,span_1);
}
DodatkiSkrypt.DaneProgress=function(arr){
  	arr[0].setAttribute("value","0");
    arr[1].setAttribute("value","0");
                                  
    var dodatnie_0=generowane_korutyny.lengthPlus;
    var ujemne_0=generowane_korutyny.lengthMinus;
                                       
   var dodatnie_1=generowane_muteksy.lengthPlus;
   var ujemne_1=generowane_muteksy.lengthMinus;
                                            	
   var postep_0=((dodatnie_0>0)?((ujemne_0/dodatnie_0)*100):0);
   var postep_1=((dodatnie_1>0)?((ujemne_1/dodatnie_1)*100):0);
        
   arr[0].setAttribute("value",postep_0);
   arr[1].setAttribute("value",postep_1);
   arr[2].innerHTML=(parseInt(postep_0*1000)/1000)+"%";
   arr[3].innerHTML=(parseInt(postep_1*1000)/1000)+"%";
   return [postep_0,postep_1];
}
var arr;
DodatkiSkrypt.CzekanieFinalizacjiMateriiWszystkichFunkcji(true,true,function(){
		arr=DodatkiSkrypt.Progress();
		DodatkiSkrypt.DaneProgress(arr);
	},function(){
		return DodatkiSkrypt.DaneProgress(arr);
	},function(){
		DodatkiSkrypt.DaneProgress(arr);
		setTimeout(function(){
			var node_postep=document.getElementById('pasek_postępu');
			$(node_postep).remove();
		},2000);
	}
);
/**********************************************************************************************************************************************************/
/*Funkcja zdarzeń odrejestrowania i rejestrowania*/
EventTarget.prototype._listeners = EventTarget.prototype._listeners||{};

/*Funkcja własna zdarzeń*/
EventTarget.prototype._addEventListener = EventTarget.prototype._addEventListener||EventTarget.prototype.addEventListener;
EventTarget.prototype._removeEventListener = EventTarget.prototype._removeEventListener||EventTarget.prototype.removeEventListener;

EventTarget.prototype.addEventListener = function(type, func, useCapture) {
	useCapture=((typeof useCapture == "boolean")?useCapture:false);
	
    if (typeof type !== 'undefined' && typeof func !== 'undefined' && type && func) {

        this._listeners[type] = this._listeners[type] ? this._listeners[type] : new Array();

        this._listeners[type].push({
            func: func,
            capture: useCapture
        });
        this._addEventListener(type, func, useCapture);
    }
}
EventTarget.prototype.removeEventListener = function(type, func, useCapture) {
	useCapture=((typeof useCapture == "boolean")?useCapture:false);
	
    if (typeof type !== 'undefined' && typeof func !== 'undefined' && type && func) {
        if (Array.isArray(this._listeners[type])) {

            this._listeners[type] = this._listeners[type].filter(function(event){
                return ((event.func != func) || (event.capture != useCapture));
            });

        }
        this._removeEventListener(type, func, useCapture);
    }
}

EventTarget.prototype.getEventListeners = function(type) {
    return type ? this._listeners[type] || [] : this._listeners || {};
}
EventTarget.prototype.copyEventListenersFrom = function(element) {
    var eventsTypes=element.getEventListeners();
    for(var eventType in eventsTypes){
        eventsTypes[eventType].forEach(function(event){
            this.addEventListener(eventType, event.func, event.capture);
        });
    };
}
EventTarget.prototype.removeEventType=function(type){
	var eventType = this.getEventListeners(type);
	eventType.forEach(function(event){
		this.removeEventListener(type, event.func, event.capture);
	});
}
/*Koniec funkcji zdarzeń*/
DodatkiSkrypt.Zdarzenia=new Array();
DodatkiSkrypt.Zdarzenia.ZdarzeniaJavaScript=function(css,zdarzenie,funkcja_zdarzen_1,funkcja_zdarzen_2,nowe_DodatkiSkrypt,stare_DodatkiSkrypt,tylko_odrejestruj,__FUNKCJA){
	/*
	css - adres html obiektu,
	zdarzenie - zdarzenie jak click,
	funkcja_zdarzen_1 - nazwa pierwszej funkcji zdarzeń w starej przestrzeni DodatkiSkrypt lub nowej, jak StickyXY,
	funkcja_zdarzen_2 - nazwa drugiej funkcji zdarzeń w starej przestrzeni DodatkiSkrypt lub nowej, jak StickyXY,
	nowe_DodatkiSkrypt	- nowa zmienna tablicy, gdy go podano, gdy nie podano jej, to przyjmuje wartość: DodatkiSkrypt,
	stare_DodatkiSkrypt - stara zmienna tablicy, gdy go podano, gdy nie podano jej, to przyjmuje wartość: DodatkiSkrypt_zmienna_z_MediaWiki_Wikibooks,
	tylko_odrejestruj - czy tylko zdarzenie ma odrejestrować w starej przestrzeni: stare_DodatkiSkrypt, zwykle: DodatkiSkrypt_zmienna_z_MediaWiki_Wikibooks.
	*/
	/*Ustalenie nowej tablicy, zwykle DodatkiSkrypt*/
	nowe_DodatkiSkrypt=nowe_DodatkiSkrypt||DodatkiSkrypt;
	/*Ustalenie starej tablicy, zwykle stare DodatkiSkrypt*/
	stare_DodatkiSkrypt=stare_DodatkiSkrypt||DodatkiSkrypt_zmienna_z_MediaWiki_Wikibooks;
		
	var tab_zd={
		 'hover':new Array('mouseenter','mouseleave')
	};
		
	function ElementZdarzenia(element){
		if((element)&&(zdarzenie)&&((funkcja_zdarzen_1||funkcja_zdarzen_2))){
			/*Odrejestrowanie zdarzeń przy pomocy funkcji nazwie: funkcja_zdarzen_1 i ewentualnie funkcja_zdarzen_2, ale ze starej przestrzeni DodatkiSkrypt, jak: DodatkiSkrypt.StickyXY*/
    		if((stare_DodatkiSkrypt)&&((funkcja_zdarzen_1&&stare_DodatkiSkrypt[funkcja_zdarzen_1])||(funkcja_zdarzen_2&&stare_DodatkiSkrypt[funkcja_zdarzen_2]))){
    			var element_zd=tab_zd[zdarzenie]
    			if(element_zd){
    				if(element_zd[0])$(element).off(element_zd[0],funkcja_zdarzen_1?stare_DodatkiSkrypt[funkcja_zdarzen_1]:undefined);
    				if(element_zd[1])$(element).off(element_zd[1],funkcja_zdarzen_2?stare_DodatkiSkrypt[funkcja_zdarzen_2]:undefined);
    			}else{
    				$(element).off(zdarzenie,funkcja_zdarzen_1?stare_DodatkiSkrypt[funkcja_zdarzen_1]:undefined);
    			}
    		}
    		if((!tylko_odrejestruj)&&(nowe_DodatkiSkrypt)&&((funkcja_zdarzen_1&&nowe_DodatkiSkrypt[funkcja_zdarzen_1])||(funkcja_zdarzen_2&&nowe_DodatkiSkrypt[funkcja_zdarzen_2]))){
   				/*Rejestrowanie zdarzeń, używając funkcji: funkcja_zdarzen_1 i ewentualnie funkcja_zdarzen_2, ale z nowej przestrzeni DodatkiSkrypt, jak DodatkiSkrypt.StikcyXY*/
   				if(tab_zd[zdarzenie]){
	   				$(element)[zdarzenie](funkcja_zdarzen_1?nowe_DodatkiSkrypt[funkcja_zdarzen_1]:undefined,funkcja_zdarzen_2?nowe_DodatkiSkrypt[funkcja_zdarzen_2]:undefined);
   				}else{
   					$(element).on(zdarzenie, funkcja_zdarzen_1?nowe_DodatkiSkrypt[funkcja_zdarzen_1]:undefined);
   				}
   			}
    	}
	}
			
	$(css).each(function(i,element){
		if(__FUNKCJA){var wynik=__FUNKCJA(i,element);if(wynik){return;};}
		/*Odrejestrowanie i zarejestrowanie zdarzeń*/
		ElementZdarzenia(element);
    });
}
	
/*Definicje dodatkowych zdarzeń do DodatkiSkrypt.StickyXY i DodatkiSkrypt.OptimalXY*/
DodatkiSkrypt.Zdarzenia.ZdarzeniaJavaScriptDodatkoweFunkcyjneXY=function(css,fun_zdarz,z_mouse,nowe_DodatkiSkrypt,stare_DodatkiSkrypt,tylko_odrejestruj,__FUNKCJA){
	/*Zdarzenia dodatkowe - odrejestrowanie wcześniejszych zdarzeń i rejestrowanie następnych*/
	var tab_transition={'start':true,'run':true,'cancel':true,'end':true};
	var tab_przegladarki={'':true,'webkit':true,'moz':true,'o':true};
	for(var a in tab_transition){
   		for(var b in tab_przegladarki){
   			var zdarzenie=b+'transition'+a;
   			DodatkiSkrypt.Zdarzenia.ZdarzeniaJavaScript(css,zdarzenie,fun_zdarz,undefined,nowe_DodatkiSkrypt,stare_DodatkiSkrypt,tylko_odrejestruj,__FUNKCJA);
   		}
	}
	if(z_mouse){
		DodatkiSkrypt.Zdarzenia.ZdarzeniaJavaScript(css,"hover",fun_zdarz,fun_zdarz,nowe_DodatkiSkrypt,stare_DodatkiSkrypt,tylko_odrejestruj,__FUNKCJA);
	}
};
/*Koniec dodatkowych zdarzeń*/
/**********************************************************************************************************************************************************/
/*Kodowanie ciągów: HREF i WIKI, i ich odkodowanie*/
DodatkiSkrypt.Szereg=new Array();
DodatkiSkrypt.Szereg.Kodowanie=new Array();
DodatkiSkrypt.Szereg.Kodowanie.EncodeWiki=function(parametr){
	parametr=parametr.replace(/[_\s]+/g,"_");
	return parametr;
}
DodatkiSkrypt.Szereg.Kodowanie.DecodeWiki=function(parametr){
	parametr=parametr.replace(/[_\s]+/g," ");
	return parametr;
}
DodatkiSkrypt.Szereg.Kodowanie.IsEncodedHtml=function(parametr,encode,encode_real){
	var czy_dobrze=(((encode_real)&&(parametr.match(new RegExp("^[\\w\\s.,\\/#!$\\^&\\*;:{}=\\-_`~()]*$","g"))))
		                      ||((encode)&&(parametr.match(new RegExp("^[^%]*$","g"))))
		                      ||((((!encode_real)||((encode_real)&&(parametr.match(new RegExp("^[\\w\\s.,\\/#!$%\\^&\\*;:{}=\\-_`~()]*$","g")))))
		                       	      &&parametr.match(/%[0-9A-F]{2}/g))
		                              &&(!parametr.match(/%$/g))
		                              &&(!parametr.match(/%.$/g))
		                              &&(!parametr.match(/%[^0-9A-F]./g))
		                              &&(!parametr.match(/%.[^0-9A-F]/g))
		                          )
		                );
		return czy_dobrze;
}
DodatkiSkrypt.Szereg.Kodowanie.EncodeHtml=function(parametr,encode,encode_real){
	if(parametr===null){return null;}
	if(DodatkiSkrypt.Szereg.Kodowanie.IsEncodedHtml(parametr,((encode!==undefined)?encode:true),encode_real)){return this.EncodeWiki(parametr);}
	return encodeURIComponent(DodatkiSkrypt.Szereg.Kodowanie.EncodeWiki(parametr));
}
DodatkiSkrypt.Szereg.Kodowanie.DecodeHtml=function(parametr,spacje,encode,encode_real){
	if(parametr===null){return null;}
	if(DodatkiSkrypt.Szereg.Kodowanie.IsEncodedHtml(parametr,((encode!==undefined)?encode:false),encode_real)){
		if(spacje){
			return DodatkiSkrypt.Szereg.Kodowanie.DecodeWiki(decodeURIComponent(parametr));
		}else{
			return DodatkiSkrypt.Szereg.Kodowanie.EncodeWiki(decodeURIComponent(parametr));
		}
	}
	if(spacje){
	    return DodatkiSkrypt.Szereg.Kodowanie.DecodeWiki(parametr);
	}else{
		return DodatkiSkrypt.Szereg.Kodowanie.EncodeWiki(parametr);
	}
}
	
/*Funkcje dopasowania do wzorów bez znaków specjalnych, nieroźróżnianie wielkożści liter, wzorów tablicy*/
DodatkiSkrypt.Szereg.Norma=new Array();
DodatkiSkrypt.Szereg.Norma.BezZnakowychSpecjalnychElementowychWIndywiduum=function(ciag){
	return ciag.replace(/([\\\+\*\.\(\)\{\}\[\]\/\,\|\?\^\$])/g,"\\$1");
}
DodatkiSkrypt.Szereg.Norma.AutomicznyWedleWielkosciLiterIOznaczeniaWolnychMiejsc=function(ciag){
	var __replace=function(s){
	   	var maly=s.toLowerCase();var duzy=s.toUpperCase();
	   	if(maly!=duzy){
	   		return "["+duzy+maly+"]";
	   	}
	   	return s;
	}
	return "^[\\s_]*"+(ciag.replace(/^[\s_]*/g,"").replace(/[\s_]*$/g,"")).replace(/(.)/g,__replace).replace(/[\s_]+/g,"[\\s_]+")+"[\\s_]*$";
}
DodatkiSkrypt.Szereg.Norma.DopasowanieSchematuDoNormTablicy=function(tablica,ciag){
	var dopasowanie=true;
	for(var p in tablica){
		var wzor=DodatkiSkrypt.Szereg.Norma.AutomicznyWedleWielkosciLiterIOznaczeniaWolnychMiejsc(tablica[p]);
		var re=new RegExp(wzor);
		dopasowanie=dopasowanie && re.test(ciag);
		if(!dopasowanie){return dopasowanie;}
	}
	return dopasowanie;
}
DodatkiSkrypt.Szereg.Napis=new Array();
DodatkiSkrypt.Szereg.Napis.UrojoneStrony=function(href){
	href=DodatkiSkrypt.Szereg.Kodowanie.DecodeHtml(href,true);
	var parametry=href.match(/^\/w\/index\.php\?([^&=]*=.*)$/g)||href.match(/^\/wiki\/.*\?([^&=]*=.*)$/g);
	var czy_edit=false;
	if(parametry){
		czy_edit=/^action=edit$/g.test(parametry)||/^.*&action=edit$/g.test(parametry)||/^.*&action=edit&.*$/g.test(parametry);
	}
	
	href=href.replace(/^\/w\/index\.php\?title=([^&]*).*$/g,"$1");
	href=href.replace(/^\/wiki\//g,"");
	
	return {
		"href":href,
		"edit":((czy_edit)?true:false),
	};
}
DodatkiSkrypt.Szereg.Napis.OdWielkiejPierwszaLiteraTekstu=function(tekst){
	return tekst.charAt(0).toUpperCase() + tekst.slice(1);
}
DodatkiSkrypt.Szereg.Napis.UsuwanieApostrofowe=function(tekst){
	while((/'''([^'].*)'''/g.test(tekst))||(/''([^'].*)''/g.test(tekst))){
		tekst=tekst.replace(/'''([^'].*)'''/g,"$1");
		tekst=tekst.replace(/''([^'].*)''/g,"$1")
	}
	return tekst;
}
DodatkiSkrypt.Szereg.Napis.UsuwanieBezbarwnychZnakowych=function(tekst){
	tekst=tekst.replace(/^\s*/g,"").replace(/\s*$/g,"").replace(/\s+/g," ");
	return tekst;
}
DodatkiSkrypt.Szereg.Napis.UsuwanieArtykularnychZnakowych=function(tekst){
	tekst=tekst.replace(/^[\s_]*/g,"").replace(/[\s_]*$/g,"").replace(/[\s_]+/g,"_");
	return tekst;
}
DodatkiSkrypt.Szereg.Napis.ZamienianieKodoweStronyNaOdpowiednieZnaki=function(tekst){
	return tekst.replace(/&#(\d+);/g,function(s){
		var znak=String.fromCharCode(Number(s));
		return znak;
	});
}
DodatkiSkrypt.Szereg.Napis.NapisWprowadzeniaLinkuStrony=function(tekst){
	tekst=tekst.replace(/^([\s_]*#)/g,"");
	return tekst;
}
DodatkiSkrypt.Szereg.Napis.PoprawianieNazwyIdLubHref=function(tekst,czy_href){
	if(czy_href){
		tekst=DodatkiSkrypt.Szereg.Napis.NapisWprowadzeniaLinkuStrony(tekst);
	}
	tekst=DodatkiSkrypt.Szereg.Napis.TransformacjaTekstu(tekst);
	return tekst;
}
DodatkiSkrypt.Szereg.Napis.IndeksowanieZnacznikowe=function(tekst){
	return tekst.replace(/^([^#]*)#(.*)$/g,function(a,b,c){
		b=DodatkiSkrypt.Szereg.Napis.TransformacjaTekstu(b);
		c=DodatkiSkrypt.Szereg.Napis.TransformacjaTekstu(c);
		return (DodatkiSkrypt.Szereg.Napis.UsuwanieArtykularnychZnakowych(b)+"#"+DodatkiSkrypt.Szereg.Napis.UsuwanieArtykularnychZnakowych(c));
	});
}
DodatkiSkrypt.Szereg.Napis.TransformacjaTekstu=function(tekst){
	tekst=DodatkiSkrypt.Szereg.Napis.ZamienianieKodoweStronyNaOdpowiednieZnaki(tekst);
	tekst=tekst.replace(/&amp;/g,"&").replace(/&nbsp;/g,"_").replace(/^[_\s]*/g,"").replace(/[_\s]*$/g,"").replace(/[_\s]+/g,"_");
	return tekst;
}
DodatkiSkrypt.Szereg.Napis.PoprawianieAlternatywnychNazwStrony=function(strona_hash,element_strona_hash){
	var title_2;
	if(element_strona_hash===undefined){
	    var strona_title_hash=strona_hash.replace(/^([^#]*)#(.*)$/g,"$2").replace(/&nbsp;/g,"_");
	    if(!DodatkiSkrypt.Szereg.Napis.CzyHref(strona_hash)){
	    	strona_title_hash=strona_title_hash.match(/([^\/]+)$/g).toString();
	    }
	    title_2=DodatkiSkrypt.Szereg.Napis.TransformacjaTekstu(strona_title_hash);
	}else{
	    var strona_title_hash=element_strona_hash.replace(/&nbsp;/g,"_");
		title_2=DodatkiSkrypt.Szereg.Napis.TransformacjaTekstu(strona_title_hash);
	}
	return title_2;
}
DodatkiSkrypt.Szereg.Napis.SubTitle=function(strona_hash){
	var re=/^([^#]*)#(.*)$/g;
	if(re.test(strona_hash)){
		strona_hash=strona_hash.replace(/^([^#]*)#(.*)$/g,"$2");
	}else{
		strona_hash=strona_hash.match(/[^\/]+$/g).toString();
	}
	strona_hash=DodatkiSkrypt.Szereg.Napis.TransformacjaTekstu(strona_hash);
	return strona_hash;
}
DodatkiSkrypt.Szereg.Napis.PoprawianieNazwStronyNaZeSpacjami=function(tekst){
	return tekst.replace(/[_\s]+/g," ");
}
DodatkiSkrypt.Szereg.Napis.PoprawianieNazwStronyNaBezSpacji=function(tekst){
	return tekst.replace(/[_\s]+/g,"_");
}
DodatkiSkrypt.Szereg.Napis.CzyHref=function(tekst){
	var re=/^([^#]*)#(.*)$/g;
	return re.test(tekst);
}
/*Funkcje, któa liczby poziom nagłówka rzczywisty i realny*/
DodatkiSkrypt.Szereg.HNumer=new Array();
DodatkiSkrypt.Szereg.HNumer.LiczonyHNumer=function(){
	var tab=new Array();
	var h_numer_zapamietane=undefined;
	return function(h_numer,h_numer_nowe){
		if(h_numer==0){
			if(tab.length>0){
				var tabs=tab[tab.length-1];
				var h_numer_poprz=tabs[0];var ostatnie_poprz=tabs[1];
				return ostatnie_poprz;
			};
			return null;
		}else if(h_numer<0){
			h_numer=Math.abs(h_numer);
		};
		var ostatnie;
		var max_h_numer=undefined;var min_h_numer=undefined;
		
		var ostatnie_max;var ostatnie_min;var ostatnie_ost;var ostatnie_ost_prawda=true;
		for(var i=tab.length-1;i>=0;--i){
			var unpacktab=tab[i];
			var h_numer_pos=unpacktab[0];var ostatnie_pos=unpacktab[1];
			if(ostatnie_ost_prawda){
				if(h_numer_pos==h_numer){
					ostatnie_ost=ostatnie_pos;
					break;
				};
				ostatnie_ost_prawda=undefined;
			};
			if((h_numer>h_numer_pos)&&((max_h_numer|| 0)<h_numer_pos)){
				if((h_numer_pos || 0)<=(max_h_numer || h_numer)){
					ostatnie_max=ostatnie_pos;
					max_h_numer=h_numer_pos;
				};
			};
		};
		if(ostatnie_ost){
			ostatnie=ostatnie_ost;
		}else{
			ostatnie=(ostatnie_max || 0)+1;
		};
		var h_numer_poprz=undefined;var ostatnie_poprz=undefined;
		if(tab.length>0){
			var unpack=tab[tab.length-1];
			h_numer_poprz=unpack[0];ostatnie_poprz=unpack[1];
		};
		if(ostatnie>(ostatnie_poprz || 0)+1){
			ostatnie=(ostatnie_poprz || 0)+1;
		};
		tab.push([h_numer,ostatnie]);
		if(h_numer_nowe){
			var roznica=h_numer_nowe-ostatnie;
			if(roznica==0){
				return ostatnie;
			};
			var tab2={};
			for(var p in tab){
				var tabs=tab[p];
				var name=tabs[0];var value=tabs[1];
				tab2[p]=[name,value+roznica,];
			};
			tab=tab2;
			return h_numer_nowe;
		};
		return ostatnie;
	};
}
DodatkiSkrypt.Szereg.HNumer.PoziomNapisuWprowadzeniaTekstu=function(hparent){
	var h=hparent.tagName.toUpperCase();
	if(!/^H\d+$/g.test(h)){return null;}
	var h_numer=undefined;
	var h_klasa=hparent.classList;
	for(var xx=0;xx<h_klasa.length;++xx){
		var klasa_pojedynca=h_klasa[xx];
		var czy_pasuje_klasa=klasa_pojedynca.match(/^mw\-hnumber\-\d+$/g);//Szablon HNumer
		if(czy_pasuje_klasa){
			var h_numer2=parseInt(czy_pasuje_klasa.toString().replace(/^mw\-hnumber\-/g,""));
			if(!isNaN(h_numer2)){
				if(h_numer2>6){
					h_numer=h_numer2;
				}
			}
			break;
		}
	}
	if(h_numer===undefined){
		h_numer=h.replace(/^[^\d]+/g,"");
		h_numer=parseInt(h_numer);
		h_numer=((!isNaN(h_numer))?h_numer:null);
	}
	return h_numer;
}
/*Funkcja czekająca na wątki asynchroniczne, zdefiniowane za pomocą obiektu new DodatkiSkrypt.GenerowaneObiekty lub za pomocą innej funkcji, i ewentualnie czekająca na zerowanie liczby wątków*/
DodatkiSkrypt.Szereg.CzyElementHTMLJestUkrytyPrzezSiebieLubPrzezRodzica=function(id){
	var display=window.getComputedStyle(id, null).getPropertyValue("display");
	if(display=="none"){return true;}
	var parents=$(id).parents('*');
	for(var i=0;i<parents.length;++i){
		var display=window.getComputedStyle(parents[i], null).getPropertyValue("display");
		if(display=="none"){return true;}
	}
	return false;
}
DodatkiSkrypt.Szereg.Styl=new Array();
DodatkiSkrypt.Szereg.Styl.PrzeniesienieStyloweHTMLNaStartStronyParsera=function(){
	var mw_parser_output=$("#mw-content-text .mw-parser-output");
	if(mw_parser_output.length==0){return;}
	mw_parser_output.each(function(i,element){
		var style=$(element).find('style');
    	if((style!==null)&&(style.length>0)){
    		for(var i=0;i<style.length;++i){
    			var Href=function(styl){
    				var dublikat=styl.getAttribute('data-mw-deduplicate');
    				if(dublikat){
    					if(/^\s*$/g.test(dublikat)){return null;}
    					return dublikat;
    				}
    				return null;
	    		}
    			var duplikat=Href(style[i]);
    			var tak=false;
    			for(var s=0;s<i;++s){
    				var duplikat2=Href(style[s]);
    				if(duplikat2==duplikat){
    					tak=true;
    					break;
    				}
    			}
    			if(!tak){
    				var element_style=style[i].parentNode.removeChild(style[i]);
    				element.insertBefore(element_style,element.firstChild);
    			}else{
    				var element_style=style[i].parentNode.removeChild(style[i]);
    			}
    		}
    	}
    });
}
DodatkiSkrypt.Szereg.Styl.UsuwanieStyloweHTML=function(tekst){
	var div=document.createElement('div');
	div.innerHTML=tekst;
	$(div).find('style').each(function(i,element){
		element.outerHTML="";
	});
	return div.innerHTML;
}
DodatkiSkrypt.Szereg.Styl.UsuwanieZnacznikaNowejLinii=function(tekst){
	var div=document.createElement('div');
	div.innerHTML=tekst;
	var br_element=$(div).find('br, hr');
	$(br_element).each(function(i,element){
		element.outerHTML=" ";
	});
	return div.innerHTML;
}
DodatkiSkrypt.Szereg.Styl.UsuwanieZnacznikoweHTML=function(tekst,czy_podkresniki){
	var div=document.createElement('div');
	div.innerHTML=DodatkiSkrypt.Szereg.Styl.UsuwanieZnacznikaNowejLinii(tekst);
	var kod_bez_znacznikow=div.textContent.replace(/\n/g," ").replace(/^[_\s]*/g,"").replace(/[_\s]*$/g,"");
	if(!czy_podkresniki){
		kod_bez_znacznikow=kod_bez_znacznikow.replace(/&nbsp;/g,"_").replace(/&#32;/g,"_").replace(/[_\s]+/g,"_");
	}else{
		kod_bez_znacznikow=kod_bez_znacznikow.replace(/&nbsp;/g," ").replace(/&#32;/g," ").replace(/[_\s]+/g," ");
	}
	kod_bez_znacznikow=kod_bez_znacznikow.replace(/&#(\d+);/g,function(s,s1){
		return String.fromCharCode(s1);
	});
	return kod_bez_znacznikow;
}
DodatkiSkrypt.Szereg.Styl.UsuwanieZnacznikoweHTMLBezModyfikacjiTekstu=function(tekst){
	var div=document.createElement('div');
	div.innerHTML=DodatkiSkrypt.Szereg.Styl.UsuwanieZnacznikaNowejLinii(tekst);
	$(div).children("*").each(function(i,element){
		var display=$(element).css("display");
		if(display=="none"){
			element.outerHTML="";
		}
	});
	return div.textContent;
}
DodatkiSkrypt.Szereg.Styl.UsuwanieZnacznikoweLinkuHTML=function(tekst){
	var div=document.createElement('div');
	div.innerHTML=tekst;
	$(div).find('a').each(function(i,element){
		element.outerHTML=element.innerHTML;	
	});
	var tekst=div.innerHTML;
	tekst=tekst.replace(/^\s*/g,"").replace(/\s*$/g,"").replace(/\s+/g," ");
	return tekst;
}
DodatkiSkrypt.Szereg.Styl.WstawianieTekstuZnacznikaMwParserOutput=function(tekst){
	var div=document.createElement('div');
	div.innerHTML=tekst;
	var str_tekst_zawartosc=$(div).children('div.mw-parser-output').first();
	if(str_tekst_zawartosc.length>0){
		return str_tekst_zawartosc[0].innerHTML;
	}
	return null;
}
DodatkiSkrypt.Szereg.ZmienianieKodoweZnakoweSpecjalnePrzedOdpowiednieZnaki=function(tekst,wielokrotne_spacje){
	tekst=tekst.replace(/&#(\d+);/g,function(kod){
		return String.fromCharCode(kod);
	}).replace(/\n/g," ").replace(new RegExp(String.fromCharCode(8203),"g"),"").replace(new RegExp(String.fromCharCode(160),"g")," ").replace(/&amp;/g,"&").replace(/&nbsp;/g," ").replace(/&lt;/g,"<").replace(/&gt;/g,">").replace(/(%s+)/g,function(s){
		if(!wielokrotne_spacje){
			return " ".repeat(s.length);
		}
		return " ";
	}).trim();
	return tekst;
}
DodatkiSkrypt.Szereg.Styl.PoprawMianoNazwyStrony=function(tekst){
	return tekst.replace(/^[\s_]*/g,"").replace(/[\s_]*$/g,"").replace(/[\s_]+/g,"_");
}
DodatkiSkrypt.Szereg.Styl.PoprawIdZnacznika=function(id){
	id=id.replace(/^[_\s]*/g,"").replace(/[_\s]*$/g,"").replace(/&nbsp;/g,"_").replace(/&#32;/g,"_").replace(/[\s_]+/g,"_");
	return id;
}
DodatkiSkrypt.Szereg.Styl.SpecjalneKodyWiki=function(tekst){
	var tab_znak={
		"<":"{{Mniejszy}}",
		">":"{{Większy}}",
		"=":"{{=}}",
		"|":"{{!}}",
		"{":"{{(}}",
		"}":"{{)}}",
		"[":"{{!(}}",
		"]":"{{)!}}",
	};
	return tekst.replace(/(.)/g,function(s){return (tab_znak[s]||s);});
}
DodatkiSkrypt.Szereg.Zmienne=new Array();
DodatkiSkrypt.Szereg.Zmienne["CzekajNaPojedyńcząZmienną"]=function(zmienna,element){
	//var czas=0;
	return $(document).DodatkiSkryptPromise(function(resolve,reject){
		function Czekaj(){
			if((zmienna)&&(zmienna[element])){
				resolve();	
			}else{
	//			if(czas>1000*60){
	//				reject();
	//			}else{
					//czas+=100;
					setTimeout(Czekaj,0);
	//			}
			}
		}
		Czekaj();
	});
};
DodatkiSkrypt.Szereg.Zmienne["CzekajNaZbiórZmiennych"]=function(zmienna,tab){
	var tab_promise=new Array();
	for(var p in tab){
		tab_promise.push(DodatkiSkrypt.Szereg.Zmienne["CzekajNaPojedyńcząZmienną"](zmienna,tab[p]));
	}
	return Promise.all(tab_promise);
}
DodatkiSkrypt.Szereg.Zmienne.CzyObietnica=function(value){
	return !!((value)&&(typeof(value)=="object")&&(value.then)&&(typeof(value.then)==='function')&&(value.constructor.name === 'Promise'));
}
DodatkiSkrypt.Szereg.Html=new Array();
DodatkiSkrypt.Szereg.Html.IteratorDzieciPoElemencieHtml=function(element,czy_elementy){
	var element_kolejny=undefined;
	return function(){
		if(element_kolejny===null){return null;};
		if(!element_kolejny){
			element_kolejny=(!czy_elementy)?(element.firstChild):(element.firstElementChild);
			return element_kolejny;
		}else{
			element_kolejny=(!czy_elementy)?(element_kolejny.nextSibling):(element_kolejny.nextElementSibling);
			return element_kolejny;
		}
	}
}
DodatkiSkrypt.Szereg.Html.IteratorPrzodkowyPoElemencieHtml=function(element,czy_elementy){
	var iter_child=undefined;
	var dziecko=false;
	var iter=DodatkiSkrypt.Szereg.Html.IteratorDzieciPoElemencieHtml(element,czy_elementy);
	return function(){
		var iter_main=function(){
			var elements=iter();
			if(!elements){return null;};
			dziecko=true;
			iter_child=DodatkiSkrypt.Szereg.Html.IteratorPrzodkowyPoElemencieHtml(elements,czy_elementy);
			return elements;
		}
		if(!dziecko){
			return iter_main();
		}else{
			var elements2=iter_child();
			if(!elements2){
				dziecko=false;
				var elements3=iter_main();
				return elements3;
			}else{
				return elements2;
			}
		}
	};
};
DodatkiSkrypt.Szereg.Tekst=new Array();
DodatkiSkrypt.Szereg.Tekst.Decode=function(tekst){
	var tab_str={
		'&quot;':"\"",
		'&amp;':"&",
		'&lt;':"<",
		"&gt;":">",
	};
	tekst=tekst.replace(/(&[^&;]+;)/g,function(str){
		return tab_str[str]||str;
	});
	return tekst;
}

/********/
//var DodatkiSkrypt=DodatkiSkrypt ||new Array();
DodatkiSkrypt.Api=new Array();
DodatkiSkrypt.Api.PotrzebneFunkcje=new Array();
DodatkiSkrypt.Api.PotrzebneFunkcje.PotrzebnyNumerZapytania=function(wikikod){
    var div=document.createElement('div');
    div.innerHTML=wikikod;
  
    var hn=$(div).children(".hn")[0];
    if(!hn){return;}
    var classlist=hn.classList;
    var c=undefined;
    for(var s=0;s<classlist.length;++s){
    	if(/^hn_\d+$/g.test(classlist[s])){
    		c=classlist[s].replace(/^hn_/g,"");
    		c=parseInt(c);
    		if(isNaN(c)){return undefined;}
    		return new Array(c,hn);
    	}
    }
    return undefined;
};
/*Funkcja generująca kolejkę strumieni new mw.Api();*/
DodatkiSkrypt.Api.CzekajNaZadaniaApi=function(){
	var generator=new DodatkiSkrypt.LicznikGenerowanychKorutyn();
	var category_fun=undefined;
	var muteks_kategoria=new DodatkiSkrypt.Muteks();
	var muteks_api=new DodatkiSkrypt.Muteks();
	
	this.ZadaniaApi=function(params,token,dodaj_kategorie,numer,opakuj_kategorie,przytnij_tekst,czy_ignorowac_bledy,czy_ignorowac_bledy_lua,czy_zapisywac_wyniki){
		var ileLoad=function(){
			return new Promise(function(resolve,reject){
				function Czekaj(){
					$(document).DodatkiSkryptReady(function(){
						generator._wygeneruj(1);
						var liczba_wywolan_api=generator._length;
						if(liczba_wywolan_api<3000){
							resolve();
						}else{
							setTimeout(Czekaj,0);
						}
					},null,muteks_api);
				}
				Czekaj();
			});
		}
		var loadStrona=function(){
			var czy_kategorie=((!token)&&(dodaj_kategorie)&&(params.action)&&(params.action=="parse"));
						
			var opakowanie_kategorii=((czy_kategorie)?(((opakuj_kategorie)?("{{"+"OpakujKategorieZeSortowaniem|"):"")+((przytnij_tekst)?("{{"+"PrzytnijTekst|"+params.text+"}}"):(params.text))+((opakuj_kategorie)?("}}"):"")):params.text);
			var numer_int=parseInt(numer);
			params.text=(((czy_kategorie)&&(!isNaN(numer_int))&&(params.text))?("<div class=\"hn hn_"+numer_int+"\">\n"+opakowanie_kategorii+"\n</div>"):(opakowanie_kategorii));
			params.prop=(((czy_kategorie)&&(params.prop))?(params.prop+"|categories"):params.prop);
			if(czy_kategorie){
				console.log("Ładuję wikikod na stronie o nazwie: "+(params.title||"brak nazwy")+"...");
				console.log("Kod rozwijany: "+params.text+".");
			}
			var PobierzDaneStron=function(params){
				if((!czy_zapisywac_wyniki)||(!czy_kategorie)){
					try{
						return (new mw.Api()).post(params);
					}catch(error){
						return Promise.reject(null);
					}
				}else{
					return DodatkiSkrypt.DodatkiSkryptUserOption.PobierzDaneStron((params.title||"brak nazwy"),params,function(){
						try{
							return (new mw.Api()).post(params);
						}catch(error){
							return Promise.reject(null);
						}
					});
				}
			}
			function OperujNaSerwerze(token,params){
				try{
					return (new mw.Api()).postWithToken(token,params);
				}catch(error){
					return Promise.reject(null);
				}
			}
			return ((token)?(OperujNaSerwerze(token,params)):(PobierzDaneStron(params))).DodatkiSkryptThen(function(data){
				if(czy_kategorie){
					/**/
					$(document).DodatkiSkryptReady(function(){
						if(!category_fun){
							category_fun=new DodatkiSkrypt.Kategorie.ListaKategoriiStrony();
							category_fun.PobierzKategorieStrony();
						}
						category_fun.AnalizaKategorii(data);
					},null,muteks_kategoria);
					/**/
					var strony_z_bledami_skryptow=false;
					var categories=data.parse.categories;
					for(var c=0;c<categories.length>0;++c){
						var cattab=categories[c];
						var cat=cattab["*"].replace(/^[\s_]*/g,"").replace(/[\s_]*$/g,"").replace(/[\s_]+/g," ");
						if(cat=="Strony z błędami skryptów"){
							strony_z_bledami_skryptow=true;
						}
					}

					var zawartosc=data.parse.text['*'];
					var div_kontener=document.createElement('div');
					div_kontener.innerHTML=zawartosc;
					$(div_kontener).find('.ext-discussiontools-emptystate').remove();
										
					var mw_parser_output=$(div_kontener).children('.mw-parser-output').first();
					var tab_hn;
					if(mw_parser_output.length>0){
						tab_hn=DodatkiSkrypt.Api.PotrzebneFunkcje.PotrzebnyNumerZapytania(mw_parser_output[0].innerHTML);
					}else{
						tab_hn=DodatkiSkrypt.Api.PotrzebneFunkcje.PotrzebnyNumerZapytania(div_kontener.innerHTML);
					}
					var div;
					if(tab_hn!==undefined){
						var length=tab_hn[0];
						data.parse.text.number=length;
						div=tab_hn[1];
					}else{
						data.parse.text.number=0;
						if(mw_parser_output.length>0){
							div=mw_parser_output[0];
						}else{
							div=div_kontener;
						}		
					}
					$(div).children('section.mf-section-0:only-child').each(function(i,element){
						element.outerHTML=element.innerHTML;
					});
					$(div).children('p:only-child').each(function(i,element){
						element.outerHTML=element.innerHTML;
					});
									
					var selflink=((czy_ignorowac_bledy)?false:($(div).find('> a.mw-selflink.selflink:only-child, > .ocwkzks > .obkwk > a.mw-selflink.selflink:only-child')));
										
					var str_fun_scribunto_error=$(div).find('.scribunto-error');
					
					div.innerHTML=div.innerHTML.replace(/<!--.*-->/g,"");	
					
					if((strony_z_bledami_skryptow)||(str_fun_scribunto_error.length>0)||((selflink)&&(selflink.length>0))){
						console.log("---------------------------------------")
						console.log("Strona bazowa: "+data.parse.title+".");
						console.log("Wywołanie: "+params.text+".");
						if(str_fun_scribunto_error.length>0){
							console.log("Liczba błędów skryptów Lua na stronie: "+str_fun_scribunto_error.length+".");
						}
						if(selflink.length>0){
							console.log("Liczba wywołań szablonów, które nie istnieją: "+selflink.length+".");
						}
						console.log("Uzyskano wygenerowaną zawartość zapytania: "+div.innerHTML+".");
						console.log("Numer wywołania: "+data.parse.text.number+".");
  	 					console.log('+++++++++++++++++++++++++++++++++++++++');
					}
					data.parse.text['*']=((((czy_ignorowac_bledy_lua)||((!strony_z_bledami_skryptow)&&(str_fun_scribunto_error.length==0)))&&((!selflink)||(selflink.length==0)))?(div.innerHTML.trim()):null);
				}
				$(document).DodatkiSkryptReady(function(){
					generator._zwolnij();
				},null,muteks_api);
				return Promise.resolve(data);
			}).DodatkiSkryptCatch(function(data){
				if(!data){
					return;
				}else if(czy_kategorie){
					console.log("---------------------------------------");
					console.log("Uzyskano wyjątek zapytania, oto jego parametry:");
					console.log("Strona bazowa: "+params.title+".");
					console.log("Wywołanie: "+params.text+".");
					console.log("Wygenerowana zawartość zapytania: "+data+".");
					if((czy_kategorie)&&(typeof numer=="number")&&(params.text)){
						console.log("Numer wywołania: "+numer+".");
					}
					console.log("+++++++++++++++++++++++++++++++++++++++")
				}
				$(document).DodatkiSkryptReady(function(){
					generator._zwolnij();
				},null,muteks_api);
				return Promise.reject(data);
			});
		}
		return Promise.all([ileLoad()]).DodatkiSkryptThen(function(data){
			return loadStrona();
		}).DodatkiSkryptCatch(function(data){return Promise.reject();});
	}
};
DodatkiSkrypt.api=new DodatkiSkrypt.Api.CzekajNaZadaniaApi();
/*********/
/*Moduł JavaScript modułu Nazw zdefiniowanych poprzez język Lua*/
DodatkiSkrypt.Scribunto=new Array();
DodatkiSkrypt.Scribunto.ApiLua=function(wikikod,aktualna_strona){
	return DodatkiSkrypt.api.ZadaniaApi({
		action: 'expandtemplates',
		format: 'json',
		prop: 'wikitext',
		title: aktualna_strona||mw.config.get('wgPageName'),
		text: wikikod,
		smaxage:600,
		maxage:600,
		maxlag:600,
	}).DodatkiSkryptThen(function(data){
		return Promise.resolve(data.expandtemplates.wikitext);
	}).DodatkiSkryptCatch(function(data){return Promise.reject();});
}
DodatkiSkrypt.Scribunto.ApiLuaParse=function(wikikod){
	return DodatkiSkrypt.api.ZadaniaApi({
		action: 'parse',
		format: 'json',
		prop: 'text|categories',
		title: mw.config.get('wgPageName'),
		text: wikikod,
		disabletoc: true,
		disablelimitreport: true,
		disablestylededuplication: true,
		contentmodel: 'wikitext',
		smaxage:600,
		maxage:600,
		maxlag:600,
	}).DodatkiSkryptThen(function(data){
		return Promise.resolve(data);
	}).DodatkiSkryptCatch(function(data){return Promise.reject(data);});
}
var OgolneApiNazwy=function(funkcja,nazwa,klucz_projektu,kod_jezyka,kod_projektu,parametry){
	nazwa=(nazwa?(DodatkiSkrypt.Szereg.Styl.SpecjalneKodyWiki(nazwa)):nazwa);
	klucz_projektu=(klucz_projektu?(DodatkiSkrypt.Szereg.Styl.SpecjalneKodyWiki(klucz_projektu)):klucz_projektu);
	kod_jezyka=(kod_jezyka?(DodatkiSkrypt.Szereg.Styl.SpecjalneKodyWiki(kod_jezyka)):kod_jezyka);
	kod_projektu=(kod_projektu?(DodatkiSkrypt.Szereg.Styl.SpecjalneKodyWiki(kod_projektu)):kod_projektu);
	return DodatkiSkrypt.Scribunto.ApiLua("{{"+funkcja+"|nazwa="+nazwa+((klucz_projektu)?("|klucz projektu="+klucz_projektu):"")+((kod_jezyka)?("|kod języka="+kod_jezyka):"")+((kod_projektu)?("|kod projektu="+kod_projektu):"")+((parametry)?("|"+parametry):"")+"|bez dodatkowych sprawdzeń=tak}}");
}
var nazwy_tab_fun={
	"NAZWAPRZESTRZENI":true,
	"PRZEDMIOTOWAPRZESTRZEŃ":true,
	"PRZESTRZEŃDYSKUSJI":true,
	"NAZWASTRONY":true,
	"BAZOWANAZWASTRONY":true,
	"PEŁNANAZWASTRONY":true,
	"PEŁNABAZOWANAZWASTRONY":true,
	"PRZEDMIOTOWABAZOWANAZWASTRONY":true,
	"BAZOWANAZWASTRONYDYSKUSJI":true,
	"PRZEDMIOTOWANAZWASTRONY":true,
	"NAZWASTRONYDYSKUSJI":true,
	"NAZWAKSIĄŻKI":true,
	"PEŁNANAZWAKSIĄŻKI":true,
	"NAZWAARTYKUŁUKSIĄŻKI":true,
	"NAZWAARTYKUŁUKSIĄŻKI2":true,
	"PEŁNANAZWAARTYKUŁUKSIĄŻKI":true,
	"NAZWAPRZESTRZENIKSIĄŻKI":true,
	"PEŁNANAZWAPRZESTRZENIKSIĄŻKI":true,
	"NAZWASUBSTRONY":true,
	"SUBNAZWAKSIĄŻKI":true,
	"NAZWAKORZENIASTRONY":true,
	"PEŁNANAZWAKORZENIASTRONY":true
};
DodatkiSkrypt.Scribunto.Nazwy=new Array();
for(var FUNKCJA in nazwy_tab_fun){
	(function(FUNKCJA){
		DodatkiSkrypt.Scribunto.Nazwy[FUNKCJA]=function(nazwa,klucz_projektu,kod_jezyka,kod_projektu){
			return OgolneApiNazwy(FUNKCJA,nazwa,klucz_projektu,kod_jezyka,kod_projektu,null);
		}
	})(FUNKCJA);
}
var NpLubNpDane=function(funkcja,nazwa,klucz_projektu,kod_jezyka,kod_projektu,id,przedmiotowa,dyskusja,kanoniczna,z_myslnikami_dolnymi,wyswietlana,nazwij_projektem,nazwij_dyskusja_projektu,istnieje,wynik_bledu_nietekstowy){
	var parametry=((id)?"id=tak":null);
	parametry=((przedmiotowa)?((parametry)?(parametry+"|"):"")+"przedmiotowa=tak":parametry);
	parametry=((dyskusja)?((parametry)?(parametry+"|"):"")+"dyskusja=tak":parametry);
	parametry=((kanoniczna)?((parametry)?(parametry+"|"):"")+"kanoniczna=tak":parametry);
	parametry=((z_myslnikami_dolnymi)?((parametry)?(parametry+"|"):"")+"z myślnikami dolnymi=tak":parametry);
	parametry=((wyswietlana)?((parametry)?(parametry+"|"):"")+"wyświetlana=tak":parametry);
	parametry=((nazwij_projektem)?((parametry)?(parametry+"|"):"")+"nazwij projektem=tak":parametry);
	parametry=((nazwij_dyskusja_projektu)?((parametry)?(parametry+"|"):"")+"nazwij dyskusją projektu=tak":parametry);
	parametry=((istnieje)?((parametry)?(parametry+"|"):"")+"istnieje=tak":parametry);
	parametry=((wynik_bledu_nietekstowy)?((parametry)?(parametry+"|"):"")+"wynik błędu nietekstowy=tak":parametry);
	/**/
	nazwa=(nazwa?(DodatkiSkrypt.Szereg.Styl.SpecjalneKodyWiki(nazwa)):nazwa);
	klucz_projektu=(klucz_projektu?(DodatkiSkrypt.Szereg.Styl.SpecjalneKodyWiki(klucz_projektu)):klucz_projektu);
	kod_jezyka=(kod_jezyka?(DodatkiSkrypt.Szereg.Styl.SpecjalneKodyWiki(kod_jezyka)):kod_jezyka);
	kod_projektu=(kod_projektu?(DodatkiSkrypt.Szereg.Styl.SpecjalneKodyWiki(kod_projektu)):kod_projektu);
	/**/
	return OgolneApiNazwy(funkcja,nazwa,klucz_projektu,kod_jezyka,kod_projektu,parametry);
}
DodatkiSkrypt.Scribunto.Nazwy.Np=function(args){
	return NpLubNpDane("Np",args.nazwa,null,null,null,args.id,args.przedmiotowa,args.dyskusja,args.kanoniczna,args["z myslnikami dolnymi"],args["wyświetlana"],args["nazwij projektem"],args["nazwij dyskusja projektu"],args.istnieje,args["wynik błedu nietekstowy"]);
}
DodatkiSkrypt.Scribunto.Nazwy.NpDane=function(args){
	return NpLubNpDane("NpDane",args.nazwa,args["klucz projektu"],args["kod języka"],args["kod projektu"],args.id,args.przedmiotowa,args.dyskusja,args.kanoniczna,args["z myslnikami dolnymi"],args["wyświetlana"],args["nazwij projektem"],args["nazwij dyskusja projektu"],args.istnieje,args["wynik błedu nietekstowy"]);
}
DodatkiSkrypt.Scribunto.Techniczne=new Array();
DodatkiSkrypt.Scribunto.Techniczne.PrzekierowanieDoStrony=function(artykul){
	return DodatkiSkrypt.Scribunto.ApiLua("{{"+"#invoke:Techniczne|PrzekierowanieDoStrony|"+DodatkiSkrypt.Szereg.Styl.SpecjalneKodyWiki(artykul)+"|wyspecjalizowana=tak"+"}}");
}
DodatkiSkrypt.Scribunto.Szablon=new Array();
DodatkiSkrypt.Scribunto.Szablon.PrzetworzonyTylkoLinkURL=function(strona,nazwa,klucz_projektu,kod_jezyka,kod_projektu){
	/**/
	strona=(strona?(DodatkiSkrypt.Szereg.Styl.SpecjalneKodyWiki(strona)):strona);
	klucz_projektu=(klucz_projektu?(DodatkiSkrypt.Szereg.Styl.SpecjalneKodyWiki(klucz_projektu)):klucz_projektu);
	kod_jezyka=(kod_jezyka?(DodatkiSkrypt.Szereg.Styl.SpecjalneKodyWiki(kod_jezyka)):kod_jezyka);
	kod_projektu=(kod_projektu?(DodatkiSkrypt.Szereg.Styl.SpecjalneKodyWiki(kod_projektu)):kod_projektu);
	/**/
	return DodatkiSkrypt.Scribunto.ApiLuaParse("{{"+"LinkURL|strona="+strona+((klucz_projektu)?("|klucz projektu="+klucz_projektu):"")+((kod_jezyka)?("|kod języka="+kod_jezyka):"")+((kod_projektu)?("|kod projektu="+kod_projektu):"")+"|bez dodatkowych sprawdzeń=tak|bez znaczników=tak|bez przetwarzania=|analiza=tak"+"}}");
}
var muteks_czy_stronasubst=new DodatkiSkrypt.Muteks();
DodatkiSkrypt.Scribunto.StronicowyParser=new Array()
DodatkiSkrypt.Scribunto.StronicowyParser.CzyStronaSubst=function(aktualna_strona){
	return $(document).DodatkiSkryptReady(function(){
		var promise;
		if(aktualna_strona){
			promise=Promise.resolve(aktualna_strona);
		}else{
			promise=DodatkiSkrypt.Szereg.Zmienne["CzekajNaZbiórZmiennych"](DodatkiSkrypt.Info,new Array("page")).DodatkiSkryptThen(function(){
				return Promise.resolve(DodatkiSkrypt.Info.page.fullname);
			});
		}
		return promise.DodatkiSkryptThen(function(aktualna_strona){
			return DodatkiSkrypt.DodatkiSkryptUserOption.get("CzyStronaSubst-Strona:"+aktualna_strona,"StronicowyParser").DodatkiSkryptThen(function(data){
				if(data!==null){
					return Promise.resolve(data);
				}else{
					return DodatkiSkrypt.Scribunto.ApiLua('{{'+'#invoke:StronicowyParser|CzyStronaSubst'+'}}',aktualna_strona).DodatkiSkryptThen(function(data){
						return DodatkiSkrypt.DodatkiSkryptUserOption.set("CzyStronaSubst-Strona:"+aktualna_strona,data,"StronicowyParser").DodatkiSkryptThen(function(){
							return Promise.resolve(data);
						});
					});
				}
			});
		});
	},null,muteks_czy_stronasubst);
}
/********/
//ar DodatkiSkrypt=DodatkiSkrypt ||new Array();
DodatkiSkrypt.Info=new Array();
DodatkiSkrypt.Info.PageInfoInit=function(){
	function NazwyFullNameNazwaPrzestrzeni(){
		var action_submit=$(':root > body.action-submit.ns-10, :root > body.action-submit.ns-828');
		if((action_submit==null)||(action_submit.length==0)){
			var fullname =  Promise.resolve(mw.config.get('wgPageName'));
			var namespacenumber = Promise.resolve(mw.config.get('wgNamespaceNumber'));
			return Promise.all([fullname,namespacenumber]);
		}else{
   			var strona_selector=document.querySelector('#mw-previewheader ~ .mw-message-box-warning a');
   			if(strona_selector){
   	   	    	var href=strona_selector.getAttribute('href');
   	   	    	var strona=href?(DodatkiSkrypt.Szereg.Kodowanie.DecodeHtml(href,true).replace(/\/wiki\//g,"")):href;
   	   			if((strona!==null)&&(!/^[_\s]*$/g.test(strona))&&(!/#/g.test(strona))){
   	   				try{
   	   					var fullname=DodatkiSkrypt.Scribunto.Nazwy["PEŁNANAZWASTRONY"](strona);
   	   					var nazwa_przestrzeni=DodatkiSkrypt.Scribunto.Nazwy.NAZWAPRZESTRZENI(strona);
   	   					return Promise.all([fullname,nazwa_przestrzeni]).then(function(data){
   							return DodatkiSkrypt.Scribunto.Nazwy.Np({nazwa:data[1],id:"tak"}).then(function(id){
   								var namespacenumber=Promise.resolve(parseInt(id)||0);
   								return Promise.all([fullname,namespacenumber]);
   							});
   	   					});
   					}
   					catch(error){
   						console.log("Wykryłem błąd...",error);
   						var fullname = Promise.resolve(strona);
						var namespacenumber = Promise.resolve(0);
						return Promise.all([fullname,namespacenumber]);
   					}
   	   			}else{
   	   				var fullname =  Promise.resolve(mw.config.get('wgPageName'));
					var namespacenumber = Promise.resolve(mw.config.get('wgNamespaceNumber'));
					return Promise.all([fullname,namespacenumber]);
   	   			}
   			}else{
   	   				var fullname =  Promise.resolve(mw.config.get('wgPageName'));
					var namespacenumber = Promise.resolve(mw.config.get('wgNamespaceNumber'));
					return Promise.all([fullname,namespacenumber]);
   			}
		}
	}
	return NazwyFullNameNazwaPrzestrzeni().then(function(data){
		var zmienne_this=new Array();	
		zmienne_this.fullname=data[0];zmienne_this.namespacenumber=data[1];
		zmienne_this.fullname=DodatkiSkrypt.Szereg.Kodowanie.DecodeWiki(zmienne_this.fullname);
		//zmienne_this.fullname=zmienne_this.fullname.replace(/[\s_]+/g,"_");
		if(zmienne_this.namespacenumber !== 0){
   			var name_re=/^[^:\/]*:/g;
   			zmienne_this.pagename=zmienne_this.fullname.replace(name_re,'');
   			var namespace_re=/^[^:\/]*/g;
   			zmienne_this.namespace=zmienne_this.fullname.match(namespace_re).toString();
		}else{
   			zmienne_this.pagename=zmienne_this.fullname;
   			zmienne_this.namespace="";
		}
		if(zmienne_this.namespacenumber === 0 || zmienne_this.namespacenumber === 104) {
        		/*0=(main),104=Wikijunior*/   	
   	    		var re=/^[^\/]*/g;
				zmienne_this.bookname = zmienne_this.pagename.match(re).toString();
				zmienne_this.book=zmienne_this.bookname;
				re=/^[^\/]*\//g;
				zmienne_this.articlename=re.test(zmienne_this.pagename)?zmienne_this.pagename.replace(re,''):"";
		}else{
   			if(zmienne_this.namespacenumber == 4){
   	  			/*4=Wikibooks, przestrzeń nazw: Wikibooks, i niby-przestrzeń nazwy Wikibooks:Brudnopis/*/
   	  			var re=/^Brudnopis\/[^\/]*\/[^\/]*/g;
   	  			zmienne_this.bookname = zmienne_this.pagename.match(re);
   	  			if(zmienne_this.bookname === null){
   	  				/*Przestrzeń nazw:Wikibooks*/
   	  				zmienne_this.bookname=zmienne_this.pagename;
   	  				zmienne_this.book=zmienne_this.bookname;
   	  		   		var re=/^[^\/]*\//g;
		        	zmienne_this.articlename=re.test(zmienne_this.pagename)?zmienne_this.pagename.replace(re,''):"";
   	  			}else{
   	  				/*Niby-przestrzeń nazw:Wikibooks:Brudnopis/*/
   	  				var re=/\/[^\/]*$/g;
   	  				zmienne_this.bookname=zmienne_this.bookname.toString();
		        	i=zmienne_this.bookname.search(re);
		        	zmienne_this.book=zmienne_this.bookname.slice(i+1);
   	  				re=/^Brudnopis\/[^\/]*\/[^\/]*\//g;
		        	zmienne_this.articlename=re.test(zmienne_this.pagename)?zmienne_this.pagename.replace(re,''):"";
   	  			}
   			}else{
   				if(zmienne_this.namespacenumber == 2){
   					/*2=Wikipedysta, przestrzeń nazw: Wikipedysta:<nazwa użytkownika>:*/
   					var re=/\.(js|css)$/g;
   					if(! zmienne_this.pagename.match(re)){
   						/*Strony niebędce oprogramowaniem interfejsu wiki na stronie użytkownika.*/
   						var re=/^[^\/]*\/[^\/]*/g;
   						zmienne_this.bookname = zmienne_this.pagename.match(re);
   						if(zmienne_this.bookname === null){
   							/*Przestrzeń nazw: Wikipedysta:*/
   							zmienne_this.bookname=zmienne_this.pagename;
   							zmienne_this.book=zmienne_this.bookname;
		                	zmienne_this.articlename="";
   						}else{
   							/*Przestrzeń nazw: Wikipedysta:<nazwa użytkownika>:*/
   					    	var re=/\/[^\/]*$/g;
   					    	zmienne_this.bookname=zmienne_this.bookname.toString();
		                	i=zmienne_this.bookname.search(re);
		                	zmienne_this.book=zmienne_this.bookname.slice(i+1);
   							re=/^[^\/]*\/[^\/]*\//g;
		                	zmienne_this.articlename=re.test(zmienne_this.pagename)?zmienne_this.pagename.replace(re,''):"";
   						}
   					}else{
   						/*Strony oprogramowania interfejsu wiki interjesu wiki*/
   						var re=/^[^\/]*/g;
   						zmienne_this.bookname = zmienne_this.pagename.match(re).toString();
   						zmienne_this.book=zmienne_this.bookname;
   						re=/^[^\/]*\//g;
		        		zmienne_this.articlename=re.test(zmienne_this.pagename)?zmienne_this.pagename.replace(re,''):"";
   					}
   				}else{
   					/*Pozostałe przestrzenie nazw*/
   					var re=/^[^\/]*/g;
   					zmienne_this.bookname = zmienne_this.pagename.match(re).toString();
   					zmienne_this.book=zmienne_this.bookname;
   					re=/^[^\/]*\//g;
		        	zmienne_this.articlename=re.test(zmienne_this.pagename)?zmienne_this.pagename.replace(re,''):"";
   				}
   			}
		}
		var re=/\/[^\/]*$/g;
		var i = zmienne_this.pagename.search(re);
		zmienne_this.subpagename = (i!=-1)?zmienne_this.pagename.slice(i + 1):zmienne_this.bookname;
		zmienne_this.fullbookname = (zmienne_this.namespacenumber===0)?zmienne_this.bookname:zmienne_this.namespace+":"+zmienne_this.bookname;
		if ( /^[Hh][Tt][Tt][Pp][Ss]?:\/\/pl.wikibooks.org\/w\/index.php\?/g.test( document.URL ) ) {
    		var re = /[\&\?]diff=[^\&]*/g;
    		zmienne_this.diff = document.URL.match(re);
    		if(zmienne_this.diff === null ){
      			zmienne_this.diff = null;
    		}else{
      			zmienne_this.diff = zmienne_this.diff[0].slice(6, zmienne_this.diff[0].length);
    		}
      
    		re = /[\&\?]oldid=[^\&]*/g;
    		zmienne_this.oldid = document.URL.match(re);
    		if ( zmienne_this.oldid === null ) { 
      			zmienne_this.oldid = null;
    		} else {
      			zmienne_this.oldid = zmienne_this.oldid[0].slice(7, zmienne_this.oldid[0].length);
    		}
      
    		re = /[\&\?]action=[^\&]*/g;
    		zmienne_this.action = document.URL.match(re);
    		if ( zmienne_this.action === null ) { 
      			zmienne_this.action = null;
    		} else {
      			zmienne_this.action = zmienne_this.action[0].slice(8, zmienne_this.action[0].length);
    		}
		} else {
    		zmienne_this.diff = null;
    		zmienne_this.action = null;
    		zmienne_this.oldid = null;
		}
		return Promise.resolve(zmienne_this);
	});
}
DodatkiSkrypt.Info.page=undefined;
DodatkiSkrypt.Info.PageInfoInit().then(function(data){DodatkiSkrypt.Info.page=data;});
/********/
//var DodatkiSkrypt=DodatkiSkrypt ||new Array();
DodatkiSkrypt.Ciemny=new Array();
DodatkiSkrypt.Ciemny.TrybCiemnyIJasny=function(rodzic){
	var tryb_jasny_lub_ciemny=(((rodzic==document)||(rodzic==null))?$('#mw-content-text .mw-parser-output'):$(rodzic)).find('.uruchom_tryb_jasny, .uruchom_tryb_ciemny');
	if((tryb_jasny_lub_ciemny!==null)&&(tryb_jasny_lub_ciemny.length>0)){
		DodatkiSkrypt.Ciemny.UruchomTrybCiemnyJasny=function(){
			var element=this;
			function Tryb(){
				var klasy=element.classList;
				for(var s=0;s<klasy.length;++s){
					if(/^tryb_/g.test(klasy[s])){
						var tryb=klasy[s].replace(/^tryb_/g,"");
						var element_tryb=(((rodzic==document)||(rodzic==null))?$('#mw-content-text .mw-parser-output'):$(rodzic)).find('.tryb_ciemny.tryb_'+tryb);
						if((element_tryb!==null)&&(element_tryb.length>0)){
							if($(element_tryb).hasClass('ciemny')){
							    $(element_tryb).removeClass('ciemny')
							}else{
							    $(element_tryb).addClass('ciemny');
							}
						}
					}
				}
			}
			if($(element).hasClass("uruchom_tryb_ciemny")){
				Tryb();
				$(element).removeClass("uruchom_tryb_ciemny");
				$(element).addClass("uruchom_tryb_jasny");
				var a_element_str=$(element).find('a');
				var a_element=a_element_str[0];
				a_element.setAttribute('href',"#tryb_jasny");
				a_element.innerHTML="Tryb jasny";
			}else if($(element).hasClass("uruchom_tryb_jasny")){
				Tryb();
				$(element).removeClass("uruchom_tryb_jasny");
				$(element).addClass("uruchom_tryb_ciemny");
				var a_element_str=$(element).find('a');
				var a_element=a_element_str[0];
				a_element.setAttribute('href',"#tryb_ciemny");
				a_element.innerHTML="Tryb ciemny";
			}
		}
		for(var i=0;i<tryb_jasny_lub_ciemny.length;++i){
			var element=tryb_jasny_lub_ciemny[i];
			DodatkiSkrypt.Zdarzenia.ZdarzeniaJavaScript(element,"click",'UruchomTrybCiemnyJasny',null,DodatkiSkrypt.PodTablicaDodatkiSkrypt(true,'Ciemny'),DodatkiSkrypt.PodTablicaDodatkiSkrypt(false,'Ciemny'));
		}
	}
}
$(function(){DodatkiSkrypt.Ciemny.TrybCiemnyIJasny(document);});
/*******/
//var DodatkiSkrypt=DodatkiSkrypt ||new Array();
DodatkiSkrypt.Kategorie=new Array();
DodatkiSkrypt.Kategorie.StworzTabliceKategoriiZCatLinks=function(){
	var tabcat=new Array();
	var catlinks=document.querySelector("#bodyContent > #catlinks.catlinks:not(.catlinks-allhidden)");
	if(catlinks){
		var a=catlinks.getElementsByTagName('a');
		if((a!==null)&&(a.length>0)){
  			var re_category_1=new RegExp("^\\/wiki\\/\\s*(.*)$","g");
  			var re_category_2=new RegExp("^\\/w\\/index\\.php\\?\\s*title\\s*=\\s*([^&]*).*$","g");
			for(var i=0;i<a.length;++i){
				var href=a[i].getAttribute('href');
				href=DodatkiSkrypt.Szereg.Kodowanie.DecodeHtml(href,true);
				var czy_href_1=re_category_1.test(href);
				var czy_href_2=re_category_2.test(href);
				if(czy_href_1){
					href=href.replace(re_category_1,"$1");
				}else if(czy_href_2){
					href=href.replace(re_category_2,"$1");
				}
				if((czy_href_1)||(czy_href_2)){
					if(/^[Kk][Aa][Tt][Ee][Gg][Oo][Rr][Ii][Aa]:/g.test(href)){
						href=href.replace(/^[Kk][Aa][Tt][Ee][Gg][Oo][Rr][Ii][Aa]:/g,"");
						tabcat[DodatkiSkrypt.Szereg.Kodowanie.DecodeWiki(href)]=true;
					}
				}
			}
		}
	}
	return tabcat;
}
DodatkiSkrypt.Kategorie.StworzTabliceKategoriiStrony=function(strona){
	var tab=new Array();
	return DodatkiSkrypt.api.ZadaniaApi({
		action: 'query',
		format: 'json',
		prop: 'categories',
		titles: strona
	}).DodatkiSkryptThen(function(data){
		var pages = data.query.pages;
		for(var p in pages){
			pages[ p ].categories.forEach(function(cat){
				tab[DodatkiSkrypt.Szereg.Kodowanie.DecodeWiki(cat.title.replace(/^[Kk][Aa][Tt][Ee][Gg][Oo][Rr][Ii][Aa]:/g,""))]=true;
			});
		}
		return Promise.resolve(tab);
	}).catch(function(){return Promise.reject();});
};
DodatkiSkrypt.Kategorie.StworzTabliceKategoriiIKluczyZDanychWikikodu=function(data){
	var categories=data.parse.categories;
	var tab_kategoria=new Array();
	for(var i=0;i<categories.length;++i){
	    var kat=DodatkiSkrypt.Szereg.Kodowanie.DecodeWiki(categories[i]["*"]);
	    var sortkey=categories[i]["sortkey"];
	    var tak=true;
	    for(var j=0;j<tab_kategoria.length;++j){
	    	var kat_w_tablicy=tab_kategoria[kat];
	    	if(kat_w_tablicy!=undefined){
	    		tak=false;
	    		break;
	    	}
	    }
	    if(tak){
	    	tab_kategoria[kat]=sortkey||"";
	    }
	}
	return tab_kategoria;
}
DodatkiSkrypt.Kategorie.TworzTabliceCzasteczekKlucza=function(href,klucz){
	var czasteczka_href=DodatkiSkrypt.DodatkiSkryptUserOption.getAll(href,(klucz||"CzłonkowieKategorii:"));
	return czasteczka_href.DodatkiSkryptThen(function(czasteczka_href){
		if(!czasteczka_href){return null;}
		var tab_cookie=new Array();
		var tab_strona_do_kat=czasteczka_href.split("||");
		for(var i=0;i<tab_strona_do_kat.length;++i){
			var rozdziel_cookie=tab_strona_do_kat[i].split("|");
			tab_cookie.push(new Array(rozdziel_cookie[0],rozdziel_cookie[1]));
		}
		return tab_cookie;
	});
}
DodatkiSkrypt.Kategorie.StworzCookieDlaKategoriiStrony=function(data,klucz){		
	klucz=klucz||"CzłonkowieKategorii:";
	var tabcat=DodatkiSkrypt.Kategorie.StworzTabliceKategoriiIKluczyZDanychWikikodu(data);
	var catlinks=DodatkiSkrypt.Kategorie.StworzTabliceKategoriiZCatLinks();
	var tab_kat=new Array();
	var fullname=DodatkiSkrypt.Szereg.Kodowanie.DecodeWiki(DodatkiSkrypt.Info.page.fullname);
	for(var p in tabcat){
			
		(function(p){
			var m="Kategoria:"+p;
			tab_kat[tab_kat.length]=m;
				
			var strona_do_kat=DodatkiSkrypt.DodatkiSkryptUserOption.getAll(m,klucz);
			strona_do_kat.DodatkiSkryptThen(function(strona_do_kat){
				var tab_strona_do_kat=((strona_do_kat)?(strona_do_kat.split("||")):(new Array()));
				var tak=true;
				for(var i=0;i<tab_strona_do_kat.length;++i){
					if(tab_strona_do_kat[i].match(/^[^|]*/g).toString()==fullname){
						tak=false;
						break;
					}
				}
				if(tak){
					var key=tabcat[p];
					tab_strona_do_kat[tab_strona_do_kat.length]=fullname+((typeof key == "string")?((key!="")?("|"+key):""):"");
					var wartosc=tab_strona_do_kat.join('||');
					DodatkiSkrypt.DodatkiSkryptUserOption.setAll(m,wartosc,klucz);
				}
			});
		})(p);
	}
	for(var p in catlinks){tab_kat.push("Kategoria:"+p);};
		
	var dane=DodatkiSkrypt.DodatkiSkryptUserOption.getAll(fullname,"CzłonkowieStron");
	dane.then(function(dane){
		var tab_dane=((dane)?(dane.split('|')):(new Array()));
		
		for(var i=0;i<tab_dane.length;++i){
			(function(i){
				var kategoria=tab_dane[i];
				var kategoria_bez_prefiksu=kategoria.replace(/^[Kk][Aa][Tt][Ee][Gg][Oo][Rr][Ii][Aa]:/g,"");
				var tak=((!tabcat[kategoria_bez_prefiksu])&&(!catlinks[kategoria_bez_prefiksu]));
				if(tak){
					var tab_strona_do_kat=DodatkiSkrypt.Kategorie.TworzTabliceCzasteczekKlucza(kategoria,klucz);
					tab_strona_do_kat.DodatkiSkryptThen(function(tab_strona_do_kat){
						if(tab_strona_do_kat!==null){
							for(var j=0;j<tab_strona_do_kat.length;){
								strona=tab_strona_do_kat[j];
								if(strona[0]==fullname){
									tab_strona_do_kat.splice(j,1);
								}else{	
									++j;
								}	
							}
							var str="";
							for(var k=0;k<tab_strona_do_kat.length;++k){
								str=((str!="")?("||"):"")+tab_strona_do_kat[k][0]+(((!tab_strona_do_kat[k][1])||(tab_strona_do_kat[k][1]!=""))?("|"+tab_strona_do_kat[k][1]):"");
							}
							DodatkiSkrypt.DodatkiSkryptUserOption.setAll(kategoria,str,klucz);
						}
					});
				}
			})(i);
		}
	});
}
DodatkiSkrypt.Kategorie.ListaKategoriiStrony=function(){
	var tab_cat;
	this.PobierzKategorieStrony=function(){
		tab_cat=DodatkiSkrypt.Kategorie.StworzTabliceKategoriiZCatLinks();
	}
	this.AnalizaKategorii=function(data){
	    var categories=data.parse.categories;
	    if(categories.length>0){
	        var bodycontent=document.querySelector('#bodyContent');
	    	var czy_catlinks=document.querySelector('#bodyContent > #catlinks.catlinks-allhidden');
	    	var czy_catlinks_nieukryte=document.querySelector("#bodyContent > #catlinks.catlinks:not(.catlinks-allhidden)");
	    	if(!czy_catlinks_nieukryte){
	    		var catlinks=document.createElement('div');
	    		catlinks.setAttribute('id',"catlinks");
	    		catlinks.setAttribute("class","catlinks");
	    		catlinks.setAttribute("data-mw","interface")
	    		if(czy_catlinks){
	    			czy_catlinks.outerHTML=catlinks.outerHTML;
	    		}else{
	    			bodycontent.appendChild(catlinks);
	    		}
			}
			var catlinks=document.querySelector("#bodyContent > #catlinks.catlinks");
			if(catlinks){
	    		var catlinks_normal=document.querySelector("#bodyContent > #catlinks.catlinks #mw-normal-catlinks");
	        	var catlinks_hidden=document.querySelector("#bodyContent > #catlinks.catlinks #mw-hidden-catlinks");
	    		for(var l=0;l<categories.length;++l){
	    			var cattab=categories[l];
	    			var cat=cattab["*"].replace(/^[\s_]*/g,"").replace(/[\s_]*$/g,"").replace(/[\s_]+/g," ");
	    			if(!tab_cat[cat]){
	    				tab_cat[cat]=true;
	    				var a=document.createElement('a');
	    				a.href="/wiki/Kategoria:"+DodatkiSkrypt.Szereg.Kodowanie.EncodeHtml(cat);
	    				a.innerHTML=cat;
	    				if((cattab["missing"]!=null)&&(cattab["missing"]=="")){
                    		a.classList.add('new');
                    		a.setAttribute('title',"Kategoria:"+cat+" (strona nie istnieje)");
                    	}else{
                    	    a.setAttribute('title',"Kategoria:"+cat);
                    	}
	    				var li=document.createElement('li');
	    				li.innerHTML=a.outerHTML;
	    				function DodajDoCatlinksBrakujacePozycjeUl(catlinks_normal_hidden){
	    					var ul=catlinks_normal_hidden.querySelector('ul');
	    					if(!ul){
	    						var ul_tw=document.createElement('ul');
	    						if((catlinks_normal_hidden.lastChild)&&($(catlinks_normal_hidden.lastChild).hasClass('noprint'))){
	    							ul=catlinks_normal_hidden.insertBefore(ul_tw,catlinks_normal_hidden.lastChild);
	    							var noprint=catlinks_normal_hidden.removeChild(catlinks_normal_hidden.lastChild);
	    							var li_noprint=document.createElement('li');
	    							li_noprint.setAttribute('class',"noprint");
	    							for(var node of noprint.childNodes){
	    								li_noprint.appendChild(node);
	    							}
	    							ul.appendChild(li_noprint);
	    						}else{
	    							ul=catlinks_normal_hidden.appendChild(ul_tw);
	    						}
	    					}
	    					if((ul.previousSibling)&&($(ul.previousSibling).hasClass('noprint'))){
	    						catlinks_normal_hidden.removeChild(ul.previousSibling);
	    					}
	    					return ul;
	    				}
	    				function DodajPozycjeLiDoUl(catlinks_normal_hidden,li){
	    					var ul=catlinks_normal_hidden.querySelector('ul');
	    					if((ul.lastChild)&&($(ul.lastChild).hasClass('noprint'))){
	    						ul.insertBefore(li,ul.lastChild)
	    					}else{
	    						ul.appendChild(li);
	    					}
	    				}
	    				if((cattab["hidden"]!=null)&&(cattab["hidden"]=="")){
	    					if(!catlinks_hidden){
	    						var catlinks_hidden_div=document.createElement('div');
		    					catlinks_hidden_div.setAttribute("id","mw-hidden-catlinks");
		    					catlinks_hidden_div.setAttribute("class","mw-hidden-catlinks mw-hidden-cats-user-shown");
	    						catlinks_hidden_div.innerHTML="Ukryta kategoria: <ul></ul>";
	    						var catlinkihtml=document.querySelector("#bodyContent .catlinks");
	    						catlinks_hidden=catlinkihtml.appendChild(catlinks_hidden_div);
	    					}
	    					var ul=DodajDoCatlinksBrakujacePozycjeUl(catlinks_hidden);
	    					DodajPozycjeLiDoUl(catlinks_hidden,li);
	    				}else{
		    				if(!catlinks_normal){
			    				var catlinks_normal_div=document.createElement('div');
			    				catlinks_normal_div.setAttribute("id","mw-normal-catlinks");
	    						catlinks_normal_div.setAttribute("class","mw-normal-catlinks");
	    						var a=document.createElement('a');
	    						a.setAttribute('href',"/wiki/Specjalna:Kategorie");
	    						a.setAttribute('title',"Specjalna:Kategorie");
	    						a.innerHTML="Kategoria";
		    					catlinks_normal_div.appendChild(a);
			    				catlinks_normal_div.innerHTML=catlinks_normal_div.innerHTML+":";
		    					var ul=document.createElement('ul');
	    						catlinks_normal_div.appendChild(ul);
	    						if(catlinks.firstChild){
	    							catlinks_normal=catlinks.insertBefore(catlinks_normal_div,catlinks.firstChild);
	    						}else{
	    							catlinks_normal=catlinks.appendChild(catlinks_normal_div);
	    						}
	    					}
	    					var ul=DodajDoCatlinksBrakujacePozycjeUl(catlinks_normal);
	    					DodajPozycjeLiDoUl(catlinks_normal,li)
		    			}
		    		}
	    		}
	    		var action_view=document.querySelector('body.action-view');
	    		if(action_view){
	    			DodatkiSkrypt.Kategorie.StworzCookieDlaKategoriiStrony(data,null);
	    		}
	    	}
		}else{
			var action_view=document.querySelector('body.action-view');
	    	if(action_view){
	    		DodatkiSkrypt.Kategorie.StworzCookieDlaKategoriiStrony(data,null);
	    	}
		}
	}
}
/*******/
//var DodatkiSkrypt=DodatkiSkrypt ||new Array();
DodatkiSkrypt.Aktualizacja=new Array();
DodatkiSkrypt.Aktualizacja.AktualizacjaStron=function(fullname,kategoria_pozycji){
	var fullname=((!fullname)?(DodatkiSkrypt.Info.page.fullname.replace(/[_\s]+/g," ")):fullname);
	var tabcat=undefined;
	var kategoria_pozycji=((!kategoria_pozycji)?('Strony z błędami skryptów'/*'Kategorie'*/):kategoria_pozycji);
	var prefix_kategorii_pozycji="Kategoria:";
	var muteks_aktualizacja_stron=new DodatkiSkrypt.Muteks();
	var strona_aktualna=undefined;
	var strona_aktualna_powtarzanie=undefined;
    this.PustaEdycjaStrony=function(title){
		var params={
			action: 'edit',
			title: title,
			appendtext: '',
			nocreate: true,
			format: 'json',
			smaxage: 600,
			maxage: 600,
			prop: 'info|revisions',
		};
		return DodatkiSkrypt.api.ZadaniaApi(params,'csrf').DodatkiSkryptThen(function(data){console.log("Udało się zaaktualizować stronę: "+title);return Promise.resolve();}).DodatkiSkryptCatch(function(data){console.log("Nie udało się zaaktualizować strony: "+title,"Kod błędu: "+data);return Promise.reject();});
	};
	this.OdswiezanieStrony=function(title){
		return DodatkiSkrypt.api.ZadaniaApi({
			action: 'purge',
			titles: title,
			format: 'json',
			smaxage: 600,
			maxage: 600,
			prop: 'info|revisions',
		}).DodatkiSkryptThen(function(data){console.log("Udało się odświeżyć stronę: "+title);return Promise.resolve();}).DodatkiSkryptCatch(function(data){console.log("Nie udało się odświeżyć strony: "+title,"Kod błędu: "+data);return Promise.reject();});
	};
	this.PustaEdycjaIOdswiezanieStrony=function(title){
		var zmienna_this=this;
		return zmienna_this.PustaEdycjaStrony(title).DodatkiSkryptThen(function(){
			return zmienna_this.OdswiezanieStrony(title).DodatkiSkryptThen(function(){return Promise.resolve();}).DodatkiSkryptCatch(function(){return Promise.reject();});
		}).DodatkiSkryptCatch(function(){return Promise.reject();});;
	};
	this.AktualizacjaCzlonkowKategorii=function(kategoria){
		var tab_promise=new Array();
		var this_zmienne=this;
		var czy_tak=null;
		return DodatkiSkrypt.api.ZadaniaApi({
			action: 'query',
			list: 'categorymembers',
			cmtitle: kategoria,
			cmtype: 'file|page|subcat',
			cmlimit: 500,
			format: 'json',
			smaxage: 600,
			maxage: 600,
		}).DodatkiSkryptThen(function(data){
			var tab_promise=new Array();
			var category = data.query.categorymembers;
			for (var cat in category){
				var title=category[cat].title;
				if(title==fullname){
					$(document).DodatkiSkryptReady(function(data){
						if((!strona_aktualna)||(strona_aktualna_powtarzanie)){
							tabcat=tabcat||DodatkiSkrypt.Kategorie.StworzTabliceKategoriiZCatLinks();
							var czy_istnieje_blad=tabcat[kategoria_pozycji];
							if(czy_istnieje_blad){
								czy_tak=true;
								tab_promise.push(this_zmienne.PustaEdycjaIOdswiezanieStrony(title));
								tabcat=undefined;
							}
							strona_aktualna=true;
						}
					},null,muteks_aktualizacja_stron);
				}else{
					czy_tak=true;
					tab_promise.push(this_zmienne.PustaEdycjaIOdswiezanieStrony(title));
				}
			}
			return Promise.all(tab_promise).DodatkiSkryptThen(function(){return Promise.resolve(czy_tak);}).DodatkiSkryptCatch(function(){return Promise.reject(czy_tak);});
		}).DodatkiSkryptCatch(function(data){return Promise.reject();});
	};
	this.AktualizacjaAktualnejStrony=function(){
		var czy_tak=null;
		var wlasciwe=document.querySelector(":root > body:not(.ns-special)");
		if(wlasciwe!==null){
			var aktualizacja_strony=document.querySelector('#mw-content-text .mw-parser-output .mw-aktualizacja-strony');
			if(aktualizacja_strony!==null){
				var this_zmienne=this;
				return $(document).DodatkiSkryptReady(function(data){
					tabcat=tabcat||DodatkiSkrypt.Kategorie.StworzTabliceKategoriiZCatLinks();
					if(tabcat[kategoria_pozycji]){czy_tak=true;tabcat=undefined;}
					var promise=this_zmienne.PustaEdycjaIOdswiezanieStrony(fullname);
					strona_aktualna=true;
					return promise.DodatkiSkryptThen(function(){return Promise.resolve(czy_tak);}).DodatkiSkryptCatch(function(){return Promise.reject(czy_tak);});
				},null,muteks_aktualizacja_stron);
			}else{
				var this_zmienne=this;
				return $(document).DodatkiSkryptReady(function(data){
					if(!strona_aktualna){
						tabcat=tabcat||DodatkiSkrypt.Kategorie.StworzTabliceKategoriiZCatLinks();
						var promise;
						if(tabcat[kategoria_pozycji]){
							promise=this_zmienne.PustaEdycjaIOdswiezanieStrony(fullname);
							czy_tak=true;
							tabcat=undefined;
							strona_aktualna=true;
							return promise.DodatkiSkryptThen(function(){return Promise.resolve(czy_tak);}).DodatkiSkryptCatch(function(){return Promise.reject(czy_tak);});
						}else{
							strona_aktualna=true;
							return Promise.resolve(czy_tak);
						}
					}
					return Promise.resolve(czy_tak);
				},null,muteks_aktualizacja_stron);
			}
		}
		return Promise.resolve(czy_tak);
	};
	this.PowtarzanieAktualizacji=function(){
		strona_aktualna_powtarzanie=true;
		var aktualizacja_strony_nie_powtarzanie=document.querySelector('#mw-content-text .mw-parser-output .aktualizacja_strony_nie_powtarzanie');
		if(!aktualizacja_strony_nie_powtarzanie){
			var this_zmienne=this;
			var pelna_nazwa_pozycji=prefix_kategorii_pozycji+kategoria_pozycji;
			$(document).DodatkiSkryptSetInterval(function(){
				const promise1=this_zmienne.PustaEdycjaIOdswiezanieStrony(pelna_nazwa_pozycji);
				const promise2=this_zmienne.AktualizacjaCzlonkowKategorii(pelna_nazwa_pozycji);
				return Promise.all([promise1,promise2]).DodatkiSkryptThen(function(dane){
					var czy_tak=dane[1];
					if(czy_tak){
						return this_zmienne.PustaEdycjaIOdswiezanieStrony(pelna_nazwa_pozycji);
					}
				}).DodatkiSkryptCatch(function(){return Promise.reject();});
			}, 1000*10*60);
		}
	};
	this.AktualizacjaStronyAktualnejIStronyKategorii=function(){
		var this_zmienna=this;
   		var pelna_nazwa_pozycji=prefix_kategorii_pozycji+kategoria_pozycji;
		if(pelna_nazwa_pozycji!=fullname){
			const promise1=this_zmienna.PustaEdycjaIOdswiezanieStrony(pelna_nazwa_pozycji);
			const promise2=this_zmienna.AktualizacjaAktualnejStrony();
			const promise3=this_zmienna.AktualizacjaCzlonkowKategorii(pelna_nazwa_pozycji);
			return Promise.all([promise1,promise2,promise3]).DodatkiSkryptThen(function(dane){
				var czy_tak=dane[1]||dane[2];
				if(czy_tak){
					return this_zmienna.PustaEdycjaIOdswiezanieStrony(pelna_nazwa_pozycji);
				}
			}).DodatkiSkryptCatch(function(){});
		}else{
			const promise1=this_zmienna.PustaEdycjaIOdswiezanieStrony(pelna_nazwa_pozycji);
			const promise2=this_zmienna.AktualizacjaCzlonkowKategorii(pelna_nazwa_pozycji);
			return Promise.all([promise1,promise2]).DodatkiSkryptThen(function(dane){
				var czy_tak=dane[1];
				if(czy_tak){
					return this_zmienna.PustaEdycjaIOdswiezanieStrony(pelna_nazwa_pozycji);
				}
			}).DodatkiSkryptCatch(function(){});
		}
	};
};
DodatkiSkrypt.Szereg.Zmienne["CzekajNaZbiórZmiennych"](DodatkiSkrypt.Info,new Array("page")).DodatkiSkryptThen(function(){
	DodatkiSkrypt.aktualizacja=new DodatkiSkrypt.Aktualizacja.AktualizacjaStron();
	var promise=DodatkiSkrypt.aktualizacja.AktualizacjaStronyAktualnejIStronyKategorii();
	return Promise.all([promise]).DodatkiSkryptThen(function(){
		return DodatkiSkrypt.aktualizacja.PowtarzanieAktualizacji();
	});
}).DodatkiSkryptCatch(function(){});

/*******/
/** Collapsible tables *********************************************************
	*
	*  Description: Allows tables to be collapsed, showing only the header. See
	*               [[en:Wikipedia:NavFrame]].
	*  Maintainers: [[User:R. Koot]]
**/
DodatkiSkrypt.Nawigacja=new Array();

var autoCollapse = 2;
var collapseCaption = "ukryj";
var expandCaption = "pokaż";

var muteks_table=new DodatkiSkrypt.Muteks();
var muteks_table_collapseTable=new DodatkiSkrypt.Muteks();
DodatkiSkrypt.Nawigacja.collapseTable=function( tableIndex,nieusuwanie_cookie,czy_nie_pokazac_element_bez_cookie)
{
	return $(document).DodatkiSkryptReady(function(){
    	return DodatkiSkrypt.Szereg.Zmienne["CzekajNaZbiórZmiennych"](DodatkiSkrypt.Info,new Array("page")).DodatkiSkryptThen(function(){
			var Button = document.getElementById( "collapseButton" + tableIndex );
    		var Table = document.getElementById( "collapsibleTable" + tableIndex );

    		if ( !Table || !Button ) {
        		return false;
    		}

			var strona=DodatkiSkrypt.Info.page.fullname;
			var mw_menu_boksy=DodatkiSkrypt.DodatkiSkryptUserOption.get('mw-menu-nawigacja-table-strona:'+strona+"-numer:"+tableIndex,"Nawigacja-Pudełka");
			var mw_menu_automat=DodatkiSkrypt.DodatkiSkryptUserOption.get('mw-menu-nawigacja-table-automat-strona:'+strona+"-numer:"+tableIndex,"Nawigacja-Pudełka");
			return Promise.all([mw_menu_boksy,mw_menu_automat]).DodatkiSkryptThen(function(data){
				var mw_menu_boksy=data[0];var mw_menu_automat=data[1];
				var czy_ukryc=undefined;
				if((mw_menu_boksy)&&(mw_menu_boksy!="")){
					if(!nieusuwanie_cookie){
						DodatkiSkrypt.DodatkiSkryptUserOption.set('mw-menu-nawigacja-table-strona:'+strona+"-numer:"+tableIndex,"","Nawigacja-Pudełka");
						czy_ukryc=true;
						Table.setAttribute("expand-table","false");
					}else{
						czy_ukryc=false;
						Table.setAttribute("expand-table","true");
					}
				}else if((typeof(czy_nie_pokazac_element_bez_cookie)=="boolean")&&((!mw_menu_automat)||(mw_menu_automat==""))){
					DodatkiSkrypt.DodatkiSkryptUserOption.set('mw-menu-nawigacja-table-automat-strona:'+strona+"-numer:"+tableIndex,"true","Nawigacja-Pudełka");
					if(czy_nie_pokazac_element_bez_cookie){
						czy_ukryc=true;
						Table.setAttribute("expand-table","false");
						DodatkiSkrypt.DodatkiSkryptUserOption.set('mw-menu-nawigacja-table-strona:'+strona+"-numer:"+tableIndex,"","Nawigacja-Pudełka");
					}else{
						czy_ukryc=false;
						Table.setAttribute("expand-table","true");
						DodatkiSkrypt.DodatkiSkryptUserOption.set('mw-menu-nawigacja-table-strona:'+strona+"-numer:"+tableIndex,"true","Nawigacja-Pudełka");
					}
				}else{
					if(!nieusuwanie_cookie){
						DodatkiSkrypt.DodatkiSkryptUserOption.set('mw-menu-nawigacja-table-strona:'+strona+"-numer:"+tableIndex,"true","Nawigacja-Pudełka");
						czy_ukryc=false;
						Table.setAttribute("expand-table","true");
					}else{
						czy_ukryc=true;
						Table.setAttribute("expand-table","false");
					}
				}
    			var Rows = Table.rows;

    			if ( czy_ukryc ) {
        			for ( var i = 1; i < Rows.length; i++ ) {
            			Rows[i].style.display = "none";
        			}
        			Button.firstChild.data = expandCaption;
    			} else {
        			for ( var i = 1; i < Rows.length; i++ ) {
            			Rows[i].style.display = Rows[0].style.display;
        			}
        			Button.firstChild.data = collapseCaption;
    			}
			});
    	});
	},null,muteks_table_collapseTable);
}

DodatkiSkrypt.Nawigacja.createCollapseButtons=function()
{
	$(document).DodatkiSkryptReady(function(){
    	return DodatkiSkrypt.Szereg.Zmienne["CzekajNaZbiórZmiennych"](DodatkiSkrypt.Info,new Array("page")).DodatkiSkryptThen(function(){
    		var strona=DodatkiSkrypt.Info.page.fullname;
    		var tableIndex = 0;
    		var NavigationBoxes = new Object();
    		var Tables = $('#mw-content-text .mw-parser-output').find( "table" );

			var tab_promise=new Array();
			var muteks_boksy_temp=new DodatkiSkrypt.Muteks();
    		for ( var i = 0; i < Tables.length; i++ ) {
    			(function(i){
    			  tab_promise.push($(document).DodatkiSkryptReady(function(){
        			if ( $(Tables[i]).hasClass( "collapsible" ) ) {

            			/* only add button and increment count if there is a header row to work with */
            			var HeaderRow = Tables[i].getElementsByTagName( "tr" )[0];
            			if (!HeaderRow) return;
            			var Header = HeaderRow.getElementsByTagName( "th" )[0];
            			if (!Header) return;

            			NavigationBoxes[ tableIndex ] = Tables[i];
            			Tables[i].setAttribute( "id", "collapsibleTable" + tableIndex );

          					var mw_menu_boksy=DodatkiSkrypt.DodatkiSkryptUserOption.get('mw-menu-nawigacja-table-strona:'+strona+"-numer:"+tableIndex,"Nawigacja-Pudełka");
          					return mw_menu_boksy.DodatkiSkryptThen(function(mw_menu_boksy){
            					var komunikat=undefined;
								if((mw_menu_boksy)&&(mw_menu_boksy!="")){
									komunikat=collapseCaption;
								}else{
									komunikat=expandCaption;
								}

            					var Button     = document.createElement( "span" );
            					var ButtonLink = document.createElement( "a" );
            					var ButtonText = document.createTextNode( komunikat/*collapseCaption */);

            					Button.style.styleFloat = "right";
            					Button.style.cssFloat = "right";
            					Button.style.fontWeight = "normal";
            					Button.style.textAlign = "right";
            					Button.style.width = "6em";

            					ButtonLink.style.color = Header.style.color;
            					ButtonLink.setAttribute( "id", "collapseButton" + tableIndex );
            					ButtonLink.setAttribute( "href", "javascript:window.DodatkiSkrypt.Nawigacja.collapseTable(" + tableIndex + ");" );
            					ButtonLink.appendChild( ButtonText );

            					Button.appendChild( document.createTextNode( "[" ) );
            					Button.appendChild( ButtonLink );
            					Button.appendChild( document.createTextNode( "]" ) );
           
            					$(Header.childNodes[0]).has('a#collapseButton' + tableIndex).each(function(i,element){
            						$(element).remove();
            					});
           
            					Header.insertBefore( Button, Header.childNodes[0]);
            
            					tableIndex++;
          					});
        				}
          			},null,muteks_boksy_temp));
        		})(i);
    		}
			tab_promise.push($(document).DodatkiSkryptReady(function(){
    			for ( var i = 0;  i < tableIndex; i++ ) {
        			var czy_ukryc=($(NavigationBoxes[i]).hasClass( "collapsed" ) || ( tableIndex >= autoCollapse && $(NavigationBoxes[i]).hasClass( "autocollapse" )));
            		tab_promise.push(DodatkiSkrypt.Nawigacja.collapseTable( i, true,czy_ukryc));
        			var czy_inner=$(NavigationBoxes[i]).hasClass( "innercollapse" );
        			if(czy_inner){
            			var element = NavigationBoxes[i];
            			while (element = element.parentNode) {
                			var czy_outer=$(element).hasClass( "outercollapse" );
                			if(czy_outer){
                    			tab_promise.push(DodatkiSkrypt.Nawigacja.collapseTable ( i,true,czy_ukryc));
                    			break;
                			}
            			}
        			}
    			}
			},null,muteks_boksy_temp));
			return Promise.all(tab_promise);
    	});
	},null,muteks_table);
}

DodatkiSkrypt.Nawigacja.createCollapseButtons();


/** Dynamic Navigation Bars (experimental) *************************************
*
*  Description: See [[Wikipedia:NavFrame]].
*  Maintainers: UNMAINTAINED
*/

// set up the words in your language
var NavigationBarHide = '[' + collapseCaption + ']';
var NavigationBarShow = '[' + expandCaption + ']';

var muteks_div=new DodatkiSkrypt.Muteks();
var muteks_div_toggleNavigationBar=new DodatkiSkrypt.Muteks();
// shows and hides content and picture (if available) of navigation bars
// Parameters:
//     indexNavigationBar: the index of navigation bar to be toggled
DodatkiSkrypt.Nawigacja.toggleNavigationBar=function(indexNavigationBar,nieusuwanie_cookie,czy_pokazac_element_bez_cookie)
{
	return $(document).DodatkiSkryptReady(function(){
    	return DodatkiSkrypt.Szereg.Zmienne["CzekajNaZbiórZmiennych"](DodatkiSkrypt.Info,new Array("page")).DodatkiSkryptThen(function(){
    		var NavToggle = document.getElementById("NavToggle" + indexNavigationBar);
			var NavFrame = document.getElementById("NavFrame" + indexNavigationBar);

    		if (!NavFrame || !NavToggle) {
        		return false;
			}

			var strona=DodatkiSkrypt.Info.page.fullname;
			var mw_menu_boksy=DodatkiSkrypt.DodatkiSkryptUserOption.get('mw-menu-nawigacja-div-strona:'+strona+"-numer:"+indexNavigationBar,"Nawigacja-Pudełka");
			var mw_menu_automat=DodatkiSkrypt.DodatkiSkryptUserOption.get('mw-menu-nawigacja-div-automat-strona:'+strona+"-numer:"+indexNavigationBar,"Nawigacja-Pudełka");
			return Promise.all([mw_menu_boksy,mw_menu_automat]).DodatkiSkryptThen(function(data){
				var mw_menu_boksy=data[0];var mw_menu_automat=data[1];
				var czy_ukryc=undefined;
				if((mw_menu_boksy)&&(mw_menu_boksy!="")){
					if(!nieusuwanie_cookie){
						DodatkiSkrypt.DodatkiSkryptUserOption.set('mw-menu-nawigacja-div-strona:'+strona+"-numer:"+indexNavigationBar,"","Nawigacja-Pudełka");
						czy_ukryc=true;
						NavFrame.setAttribute("expand-div","false");
					}else{
						czy_ukryc=false;
						NavFrame.setAttribute("expand-div","true");
					}
				}else if((typeof(czy_pokazac_element_bez_cookie)=="boolean")&&((!mw_menu_automat)||(mw_menu_automat==""))){
					DodatkiSkrypt.DodatkiSkryptUserOption.set('mw-menu-nawigacja-div-automat-strona:'+strona+"-numer:"+indexNavigationBar,"true","Nawigacja-Pudełka");
					if(czy_pokazac_element_bez_cookie){
						czy_ukryc=true;
						NavFrame.setAttribute("expand-div","true");
						DodatkiSkrypt.DodatkiSkryptUserOption.set('mw-menu-nawigacja-div-strona:'+strona+"-numer:"+indexNavigationBar,"","Nawigacja-Pudełka");
					}else{
						czy_ukryc=false;
						NavFrame.setAttribute("expand-div","false");
						DodatkiSkrypt.DodatkiSkryptUserOption.set('mw-menu-nawigacja-div-strona:'+strona+"-numer:"+indexNavigationBar,"true","Nawigacja-Pudełka");
					}
				}else{
					if(!nieusuwanie_cookie){
						DodatkiSkrypt.DodatkiSkryptUserOption.set('mw-menu-nawigacja-div-strona:'+strona+"-numer:"+indexNavigationBar,"true","Nawigacja-Pudełka");
						czy_ukryc=false;
						NavFrame.setAttribute("expand-div","true");
					}else{
						czy_ukryc=true;
						NavFrame.setAttribute("expand-div","false");
					}
				}
				// if shown now
    			if (czy_ukryc) {
        			for (var NavChild = NavFrame.firstChild; NavChild != null; NavChild = NavChild.nextSibling) {
            			if ( $(NavChild).hasClass( 'NavPic' ) ) {
                			NavChild.style.display = 'none';
            			}
            			if ( $(NavChild).hasClass( 'NavContent') ) {
                			NavChild.style.display = 'none';
	            		}
    	    		}
    				NavToggle.firstChild.data = NavigationBarShow;

    				// if hidden now
    			} else{
        			for (var NavChild = NavFrame.firstChild; NavChild != null; NavChild = NavChild.nextSibling) {
            			if ($(NavChild).hasClass( 'NavPic')) {
                			NavChild.style.display = 'block';
            			}
    	        		if ($(NavChild).hasClass( 'NavContent')) {
        	        		NavChild.style.display = 'block';
            			}
        			}
        			NavToggle.firstChild.data = NavigationBarHide;
    			}
			});
    	});
	},null,muteks_div_toggleNavigationBar);
}

// adds show/hide-button to navigation bars
DodatkiSkrypt.Nawigacja.createNavigationBarToggleButton=function()
{
	return $(document).DodatkiSkryptReady(function(){
    	return DodatkiSkrypt.Szereg.Zmienne["CzekajNaZbiórZmiennych"](DodatkiSkrypt.Info,new Array("page")).DodatkiSkryptThen(function(){
    		var strona=DodatkiSkrypt.Info.page.fullname;
    		/**/
			var indexNavigationBar = 0;
    		// iterate over all < div >-elements 
    		var muteks_div_temp=new DodatkiSkrypt.Muteks();
    		var tab_promise=new Array();
    		var divs = $('#mw-content-text .mw-parser-output').find("div");
    		for (var i = 0; NavFrame = divs[i]; i++) {
        		// if found a navigation bar
        		(function(i,NavFrame){
        			tab_promise.push($(document).DodatkiSkryptReady(function(){
        				if ($(NavFrame).hasClass( "NavFrame")) {

            				indexNavigationBar++;
	        				var NavToggle = document.createElement("a");
    	    				NavToggle.className = 'NavToggle';
        					NavToggle.setAttribute('id', 'NavToggle' + indexNavigationBar);
            				NavToggle.setAttribute('href', 'javascript:window.DodatkiSkrypt.Nawigacja.toggleNavigationBar(' + indexNavigationBar + ');');

	        				var isCollapsed = $(NavFrame).hasClass( "collapsed" );
    	    			/*
        					* Check if any children are already hidden.  This loop is here for backwards compatibility:
        					* the old way of making NavFrames start out collapsed was to manually add style="display:none"
	            			* to all the NavPic/NavContent elements.  Since this was bad for accessibility (no way to make
    	        			* the content visible without JavaScript support), the new recommended way is to add the class
        	    			* "collapsed" to the NavFrame itself, just like with collapsible tables.
            			*/
	        				for (var NavChild = NavFrame.firstChild; NavChild != null && !isCollapsed; NavChild = NavChild.nextSibling) {
    	        				if ( $(NavChild).hasClass( 'NavPic' ) || $(NavChild).hasClass( 'NavContent' ) ) {
        	        				if ( NavChild.style.display == 'none' ) {
            	        				isCollapsed = true;
                	    			}	
	            				}
    	    				}
        					/*if (isCollapsed) {
            					for (var NavChild = NavFrame.firstChild; NavChild != null; NavChild = NavChild.nextSibling) {
                					if ( $(NavChild).hasClass( 'NavPic' ) || $(NavChild).hasClass( 'NavContent' ) ) {
                    					NavChild.style.display = 'none';
	                				}
    	        				}
        					}*/
        			
        					var mw_menu_boksy=DodatkiSkrypt.DodatkiSkryptUserOption.get('mw-menu-nawigacja-div-strona:'+strona+"-numer:"+indexNavigationBar,"Nawigacja-Pudełka");
        					return mw_menu_boksy.DodatkiSkryptThen(function(mw_menu_boksy){
            					var komunikat=undefined;
								if((mw_menu_boksy)&&(mw_menu_boksy!="")){
									komunikat=NavigationBarHide;
								}else{
									komunikat=isCollapsed?NavigationBarShow:NavigationBarHide;
								}
        			
	        					var NavToggleText = document.createTextNode(komunikat);
            
    	    					NavToggle.appendChild(NavToggleText);
					
        						// Find the NavHead and attach the toggle link (Must be this complicated because Moz's firstChild handling is borked)
            					for(var j=0; j < NavFrame.childNodes.length; j++) {
                					if ($(NavFrame.childNodes[j]).hasClass( "NavHead")) {
            		
                						$(NavFrame.childNodes[j]).children('a.NavToggle#NavToggle' + indexNavigationBar).each(function(i,element){
            								$(element).remove();
	            						});
            
    	                				NavFrame.childNodes[j].appendChild(NavToggle);
        	        				}
            					}
            					NavFrame.setAttribute('id', 'NavFrame' + indexNavigationBar);
            					/**/
            					DodatkiSkrypt.Nawigacja.toggleNavigationBar(indexNavigationBar,true,isCollapsed);
            					//indexNavigationBar++;
        					});
        				};
        			},null,muteks_div_temp));
        		})(i,NavFrame);
    		}
    		return Promise.all(tab_promise);
    	});
	},null,muteks_div);
}

DodatkiSkrypt.Nawigacja.createNavigationBarToggleButton();
/*******/
// Wyszukiwanie Google na stronach podręczników
DodatkiSkrypt.Google=new Array();
var googleSearchInitialized=false;
DodatkiSkrypt.Google.insertGoogleSearch=function() {
	var namespacenumber = DodatkiSkrypt.Info.page.namespacenumber;
	var fullbookname=DodatkiSkrypt.Info.page.fullbookname;
	var bookname=DodatkiSkrypt.Info.page.bookname;
	var diff_brudnopis=/^Brudnopis\/[^\/]*\/[^\/]*$/g;
	var diff_user=/^[^\/]*\/[^\/]*$/g;
	var wikijunior_mainpage="Strona_główna";
	if (((namespacenumber !== 0)  && (namespacenumber != 104) && ( namespacenumber != 4) && (namespacenumber != 2))  
	    || ((namespacenumber == 104) && (bookname == wikijunior_mainpage)) 
	    || ((namespacenumber == 4) && (! diff_brudnopis.test(bookname)))
	    || ((namespacenumber == 2) && (! diff_user.test(bookname)))
	    || googleSearchInitialized
	) {
		return;
	}
	googleSearchInitialized = true;
	/*start*/	
	/*Uzyskanie, przed którym ma wstawić link "Szukaj w podręczniku" w lewej nawigacji*/
	var tab_ul = $('#p-tb ul');
	if(!tab_ul){return;}
	var ul=tab_ul[0];
    if(!ul){return;}
	/*koniec*/
	var link = document.createElement('a');
    var site="pl.wikibooks.org/wiki/";
    
    var fullbooknameURI=encodeURIComponent(fullbookname.replace(/[\s_]+/g," "));
    
    var google = "https://www.google.com/custom?sa=Google+Search&domains="+site+"&sitesearch="+site+"&q=%22PAGE%22"
    
	link.href = google.replace(/PAGE/g, fullbooknameURI);
	link.appendChild(document.createTextNode("Szukaj w podręczniku"));

	var li = document.createElement('li');
	li.id = "google-trick-search";

	li.appendChild(link);
	
	$(ul).children('li#google-trick-search').each(function(i,element){
    	$(element).remove();
    });

	ul.insertBefore(li, ul.firstChild);
}
DodatkiSkrypt.Szereg.Zmienne["CzekajNaZbiórZmiennych"](DodatkiSkrypt.Info,new Array("page")).DodatkiSkryptThen(function(){
	googleSearchInitialized = false;
	$(DodatkiSkrypt.Google.insertGoogleSearch);
});

/*******/
/*Funkcje w przestrzeni nazw DodatkiSkrypt*/
DodatkiSkrypt.Boksy=new Array();
DodatkiSkrypt.Boksy.NapisWprowadzeniaTekstu=function(){
/* Skrypt odpowiedzialny za wyświetlanie szablonu Nagłówek [[Szablon:Nagłówek]] */
    function SzablonNapisWprowadzeniaTekstu(jak_wstawiac){
    	var strona_start=((jak_wstawiac)?($('body.action-view, body.action-submit').find('#mw-content-text .mw-parser-output .strona_start')):($('body.action-view, body.action-submit').find('#mw-content-text .mw-parser-output')));
    	strona_start.each(function(i,element){
    		var mojnaglowek=$(element).find('.mójNagłówek');
    		var naglowki_inne=$(element).find('.strona_start').find(mojnaglowek);
    		if(naglowki_inne.length==0){
    			var stopka=mojnaglowek.find('.mojaStopka');
    			if(stopka.length==0){
    				var moja_stopka=jak_wstawiac?$(element).find('.strona').first().find(' > .mojaStopka').first():$('#content .mojaStopka');
    				moja_stopka.each(function(i,element){
    					if(jak_wstawiac){
    						var stopka=element.cloneNode(true);
    						mojnaglowek.find(' > div:first-child').append(stopka);
    						$(element).remove();
    					}else{
    						var czy_w_przestrzeni_tekstu=$('body.action-view, body.action-submit').find('#mw-content-text .mw-parser-output').find(element);
    						if(czy_w_przestrzeni_tekstu.length==0){
    							var stopka=element.cloneNode(true);
    							mojnaglowek.find(' > div:first-child').append(stopka);
    							$(element).remove();
    						}
    					}
    				});
    			}
    		}
    	});
		strona_start.each(function(i,element){
			var hideAll1 = $(element).find('.mójNagłówekUkryj');
			var hideAll2=$(element).find('.strona_start').find(hideAll1);
			var czy_hideAll=((hideAll1.length>0)&&(hideAll1.length-hideAll2.length>0));
			var noFooter = false;
			var footers = 0;
			$(element).find('div').each(function(k,el){;
				var str=$(element).find('.strona_start').find(el);
				if(str.length==0){
					if($(el).hasClass('mojaStopka')){
						footers++;
					}else if ((czy_hideAll) && ($(el).hasClass('mójNagłówek'))) {
						$(el).css('display',"none");
						noFooter=true;
					}
				}
			});
			if (noFooter){return;}
			if(footers==1){
				$(element).find('.mójNagłówek').each(function(i,element_naglowek){
					var czy_naglowek=$(element).find('.strona_start').find(element_naglowek)
					if(czy_naglowek.length==0){
						var s0=$(element_naglowek).find('.mojaStopka0');var s1=$(element_naglowek).find('.mojaStopka1');
						var s01=$(element).find('.strona_start').find(s0);var s11=$(element).find('.strona_start').find(s1);
						if((s01.length==0)&&(s11.length==0)){
							var czy_s0=((s01.length==0)?(s0.length>0):false);var czy_s1=((s11.length==0)?(s1.length>0):false);
							var str_element=jak_wstawiac?($(element).find('> div > .główna_strona > .strona_środkowa > .strona > div > .ciało_kontener > .ciało_strona')):($(element));
							if(str_element.length>0){
								var zawartosc=str_element[0].cloneNode(true);
								$(zawartosc).find('.strona_start').remove();
								if((czy_s1)||((!czy_s0)&&(zawartosc.innerHTML.length>8000))){
									$(element).find('.mojaStopka').each(function(i,element_stopka){
										var stopka=$(element).find('.strona_start').find(element_stopka);
										if(stopka.length==0){
											var moja_stopka=$(element).find('.mójNagłówek').find('.mojaStopka');
											var nie_w_strona_start_moja_stopka=$(element).find('.strona_start').find(moja_stopka);
											if((moja_stopka.length>0)&&(nie_w_strona_start_moja_stopka.length==0)){
												var stopka=moja_stopka[0].cloneNode(true);
												if(jak_wstawiac){
													$(element).find('.strona > div').first().append(stopka);
												}else{
													if($('body.action-view').length>0){
														var rodzic=$('body.action-view #mw-content-text .mw-parser-output').parent().first();
														if(rodzic.find('> .printfooter').length>0){
															rodzic.find('> .printfooter').first().before(stopka);
														}else{
															rodzic.append(stopka);
														}
													}
													$('body.action-submit #mw-content-text .mw-parser-output').parent().first().append(stopka);
												}
											}
										}
									});
								}
							}
						}
					}
				});
			}	
		});
	};
	SzablonNapisWprowadzeniaTekstu(true);
	SzablonNapisWprowadzeniaTekstu(false);
};
/* Koniec skryptu odpowiedzialnego za wyświetlanie szablonu Nagłówek [[Szablon:Nagłówek]] */

$(DodatkiSkrypt.Boksy.NapisWprowadzeniaTekstu);


/*Funkcja do liczenia szerokościm mapska przewijania w pionowego, wtedy x_box_right=="y", lub poziomego, wtedy inny parametr inny niż dla paska pionowego*/
DodatkiSkrypt.Boksy.PobieranieFormatuPaskaPrzewijaniaOkienka=function(x_box_right){
    var div = $('<div style="width:50px;height:50px;overflow:hidden;position:absolute;top:-200px;left:-200px;"><div style="'+((x_box_right=="y")?"height":"width")+':100px;"></div></div>'); 
    $('body').append(div); 
    var w1 = $('div', div)["inner"+((x_box_right=="y")?"Width":"Height")](); 
    div.css('overflow-'+(x_box_right||"y"), 'scroll'); 
    var w2 = $('div', div)["inner"+((x_box_right=="y")?"Width":"Height")](); 
    $(div).remove(); 
    return (w1 - w2); 
}

/*Funkcje do obsługi pasków przewijania*/
DodatkiSkrypt.Boksy.ScrollBarOverflow=function(){
	$('*.mw-overflow-x, *.mw-overflow-y').each(function(i,element_g){
			/*start overflow*/
		function ScrollBarOverflow(){
			var comp=window.getComputedStyle(element_g, null);
		
			var display=comp.getPropertyValue("display");
			if(display=="none"){return;}
		
			var overflow_x=$(element_g).hasClass('mw-overflow-x');
			if(overflow_x){
				var overflowX=comp.getPropertyValue("overflow-x");
				if((overflowX)&&(overflowX=="auto")){
					element_g.classList.remove("mw-scrollbar-overflow-x");
					const hasHorizontalScrollbar = element_g.scrollWidth > element_g.clientWidth; // true lub false
					if(hasHorizontalScrollbar){
						element_g.classList.add("mw-scrollbar-overflow-x");
					}
				}
			}
			var overflow_y=$(element_g).hasClass('mw-overflow-y');
			if(overflow_y){
				var overflowY=comp.getPropertyValue("overflow-y");
				if((overflowY)&&(overflowY=="auto")){
					element_g.classList.remove("mw-scrollbar-overflow-y");
					const hasVerticalScrollbar = element_g.scrollHeight > element_g.clientHeight; // true lub false
					if(hasVerticalScrollbar){
						element_g.classList.add("mw-scrollbar-overflow-y");
					}
				}
			}
			/*koniec overflow*/
		}
		ScrollBarOverflow();
		var config = {
			childList:true,
			characterData: true,
		};
		var newObserver = new MutationObserver(function(records, observer){
			observer.disconnect();
			ScrollBarOverflow();
			newObserver.observe(element_g, config);
		});
		newObserver.observe(element_g, config);
	});
}
$(DodatkiSkrypt.Boksy.ScrollBarOverflow);
DodatkiSkrypt.Boksy.MwWidthXY=function(){
	$('.mw-width-x').each(function(i,element_g){
		function ScrollResize(){
			element_g.style.width="unset";
			element_g.style.boxSizing="border-box";
			var margin_left=parseInt(window.getComputedStyle(element_g, null).getPropertyValue("margin-left"));
			var margin_right=parseInt(window.getComputedStyle(element_g, null).getPropertyValue("margin-right"));
			element_g.style.width=(element_g.scrollWidth-margin_left-margin_right)+"px";
		}
		ScrollResize();
		var config = {
			childList:true,
			characterData: true,
		};
		var newObserver = new MutationObserver(function(records, observer){
			observer.disconnect();
			ScrollResize();
			newObserver.observe(element_g, config);
		});
		newObserver.observe(element_g, config);
	});
}
$(DodatkiSkrypt.Boksy.MwWidthXY);
DodatkiSkrypt.Boksy.IsBlankElement=function(element){
	var tekst=element.innerHTML.replace(/\n/g,"").replace(/<!--.*-->/g,"");
	var czy_blank=/^\s*$/g.test(tekst);
	return czy_blank;
}
DodatkiSkrypt.Boksy.IsOnlyWhiteSpaceElement=function(element){
	var element2=document.createElement('div');
	element2.innerHTML=element.innerHTML;
	element2.innerHTML=element2.innerHTML.replace(/&nbsp;/g," ").replace(/&#32;/g," ");
	var czy_whitespace=DodatkiSkrypt.Boksy.IsBlankElement(element2);
	return czy_whitespace;
}
DodatkiSkrypt.Boksy.IsBlank=function(){
	$(".is-blank").each(function(i,element){
		function IsBlank(){
			var czy_blank=DodatkiSkrypt.Boksy.IsBlankElement(element);
			if(czy_blank){ element.classList.add("blank");}else{element.classList.remove("blank");}
		}
		IsBlank();
		var config = {
			childList:true,
			characterData: true,
		};
		var newObserver = new MutationObserver(function(records, observer){
			observer.disconnect();
			IsBlank();
			newObserver.observe(element, config);
		});
		newObserver.observe(element, config);
	});
}
$(DodatkiSkrypt.Boksy.IsBlank);
DodatkiSkrypt.Boksy.IsOnlyWhiteSpace=function(){
	$('.is-only-whitespace').each(function(i,element){
		function IsOnlyWhiteSpace(){
			var czy_whitespace=DodatkiSkrypt.Boksy.IsOnlyWhiteSpaceElement(element);
			if(czy_whitespace){
					element.classList.add('only-whitespace');
				}else{
					element.classList.remove('only-whitespace');
				}
		}
		IsOnlyWhiteSpace();
		var config = {
			childList:true,
			characterData: true,
		};
		var newObserver = new MutationObserver(function(records, observer){
			observer.disconnect();
			IsOnlyWhiteSpace();
			newObserver.observe(element, config);
		});
		newObserver.observe(element, config);	
	});
}
$(DodatkiSkrypt.Boksy.IsOnlyWhiteSpace);
DodatkiSkrypt.Boksy.IsFirstChild=function(){
	function ParserClass(){
		$('.is-first-child').each(function(i,element){
			var parser=$(element).parent().children('.is-first-child');
			var p=0;
			var klasa=undefined;
			var classlist=element.classList;
			for(var s=0;s<classlist.length;++s){
				if(/^parser-(.*)$/g.test(classlist[s])){
					klasa=classlist[s].replace(/^parser-/g,"");
				}
			}
			if(!klasa){return;}
			for(var i=0;i<parser.length;++i){
				if(i==p){
					if(($(parser[i]).hasClass('blank'))||(!$(parser[i]).hasClass(klasa))||(!$(parser[i]).hasClass("parser-"+klasa))){
						++p;
					}
				}
				if(($(parser[i]).hasClass('is-first-child'))&&($(parser[i]).hasClass(klasa))&&($(parser[i]).hasClass("parser-"+klasa))){
					if(i==p){
						$(parser[i]).addClass('first-child');
					}else{
						$(parser[i]).removeClass('first-child');
					}
				}
			}
		});
	}
	ParserClass();
	var config = {
		childList:true,
	};
	$(".is-last-child").parent().each(function(i,element){
		var newObserver = new MutationObserver(function(records, observer){
			observer.disconnect();
			ParserClass();
			newObserver.observe(element, config);
		});
		newObserver.observe(element, config);
	});
}
$(DodatkiSkrypt.Boksy.IsFirstChild);
DodatkiSkrypt.Boksy.IsLastChild=function(){
	function ParserClass(){
		$('.is-last-child').each(function(i,element){
			var parser=$(element).parent().children('.is-last-child');
			var p=parser.length-1;
			var klasa=undefined;
			var classlist=element.classList;
			for(var s=0;s<classlist.length;++s){
				if(/^parser-(.*)$/g.test(classlist[s])){
					klasa=classlist[s].replace(/^parser-/g,"");
				}
			}
			if(!klasa){return;}
			for(var i=parser.length-1;i>=0;--i){
				if(i==p){
					if(($(parser[i]).hasClass('blank'))||(!$(parser[i]).hasClass(klasa))||(!$(parser[i]).hasClass("parser-"+klasa))){
						--p;
					}
				}
				if(($(parser[i]).hasClass('is-last-child'))&&($(parser[i]).hasClass(klasa))&&($(parser[i]).hasClass("parser-"+klasa))){
					if(i==p){
						$(parser[i]).addClass('last-child');
					}else{
						$(parser[i]).removeClass('last-child');
					}
				}
			}
		});
	}
	ParserClass();
	var config = {
		childList:true,
	};
	$(".is-last-child").parent().each(function(i,element){
		var newObserver = new MutationObserver(function(records, observer){
			observer.disconnect();
			ParserClass();
			newObserver.observe(element, config);
		});
		newObserver.observe(element, config);
	});
}
$(DodatkiSkrypt.Boksy.IsLastChild);
/*Uruchamianie funkcji DodatkiSkrypt.Boksy.ScrollBarOverflow*/
	
/*Uruchamianie zdarzeń dla elementu Window, używając funkcji DodatkiSkrypt.Boksy.ScrollBarOverflow*/
$(function(){
	/*Zdarzenia*/
	DodatkiSkrypt.Zdarzenia.ZdarzeniaJavaScript(window,'scroll', 'ScrollBarOverflow',null,DodatkiSkrypt.PodTablicaDodatkiSkrypt(true,'Boksy'),DodatkiSkrypt.PodTablicaDodatkiSkrypt(false,'Boksy'));
	DodatkiSkrypt.Zdarzenia.ZdarzeniaJavaScript(window,'resize', 'ScrollBarOverflow',null,DodatkiSkrypt.PodTablicaDodatkiSkrypt(true,'Boksy'),DodatkiSkrypt.PodTablicaDodatkiSkrypt(false,'Boksy'));
	DodatkiSkrypt.Zdarzenia.ZdarzeniaJavaScript(window,'scroll', 'MwWidthXY',null,DodatkiSkrypt.PodTablicaDodatkiSkrypt(true,'Boksy'),DodatkiSkrypt.PodTablicaDodatkiSkrypt(false,'Boksy'));
	DodatkiSkrypt.Zdarzenia.ZdarzeniaJavaScript(window,'resize', 'MwWidthXY',null,DodatkiSkrypt.PodTablicaDodatkiSkrypt(true,'Boksy'),DodatkiSkrypt.PodTablicaDodatkiSkrypt(false,'Boksy'));
});
DodatkiSkrypt.Boksy.DanePozycjiWszyskichLiniiPrzewijaniaZFormatuOkienka=function(){
	var pozycje_paskow;
	this.ZerujZebraneDane=function(){
		pozycje_paskow=new Array();
	}	
	this.ZbierzPozycje=function(element_g){
		var comp=window.getComputedStyle(element_g, null);
		//var overflow=comp.getPropertyValue("overflow");
		var overflow_x=comp.getPropertyValue("overflow-x");
		var overflow_y=comp.getPropertyValue("overflow-y");
		if((overflow_x=="auto")||(overflow_x=="scroll")||(overflow_y=="auto")||(overflow_y=="scroll")){
			  pozycje_paskow.push(new Array(element_g,element_g.scrollTop,element_g.scrollLeft));
		}
		$(element_g).find('*').each(function(i,element){
			var comp=window.getComputedStyle(element, null);
			//var overflow=comp.getPropertyValue("overflow");
			var overflow_x=comp.getPropertyValue("overflow-x");
			var overflow_y=comp.getPropertyValue("overflow-y");
			if((overflow_x=="auto")||(overflow_x=="scroll")||(overflow_y=="auto")||(overflow_y=="scroll")){
			  	pozycje_paskow.push(new Array(element,element.scrollTop,element.scrollLeft));
			}
		});
	}
	this.UstawPozycje=function(){
		for(var i in pozycje_paskow){
			var element_tab=pozycje_paskow[i];
			var element=element_tab[0];
			element.scrollTop=element_tab[1];
			element.scrollLeft=element_tab[2];
		}
	}
}

var muteks_boksy=new DodatkiSkrypt.Muteks();
/*Funkcja symulująca właściwości position:sticky, wszędzie tam, gdzie nie można go użyć.*/
DodatkiSkrypt.Boksy.StickyXY=function(event,element,generowane_korutyny_2){
	return $(document).DodatkiSkryptReady(function(){
		$('#mw-content-text .mw-parser-output').find('*.mw-sticky-x, *.mw-sticky-y').each(function(i,element_g){
			var comp=window.getComputedStyle(element_g, null);
		
			function FunStickyXY(height,top,bottom,width_box,left_box,right_box,x_box,x_box_right){
			
				var pasek=new DodatkiSkrypt.Boksy.DanePozycjiWszyskichLiniiPrzewijaniaZFormatuOkienka();
				pasek.ZerujZebraneDane();
				pasek.ZbierzPozycje(element_g);
		
				
				var height_sticky=0;
				$('html.client-js.vector-sticky-header-enabled body.skin-vector-search-vue.vector-sticky-header-visible div.vector-sticky-header, html.client-js body.skin-timeless #mw-header-container ~ #mw-header-hack').each(function(i,el){
					var rect_sticky=el.getBoundingClientRect();
					height_sticky=parseInt(rect_sticky[height]+rect_sticky[top]);
				});
				var StickyXYTopOld=$(element_g).data('stickyXYOld-'+top);var StickyXYBottomOld=$(element_g).data('stickyXYOld-'+bottom);
			
				if(StickyXYTopOld===undefined){
					var topold_war=parseFloat(element_g.style[top]);
					$(element_g).data('stickyXYOld-'+top,((!isNaN(topold_war))?topold_war:0));
				}
				if(StickyXYBottomOld===undefined){
					var bottomold_war=parseFloat(element_g.style[bottom]);
					$(element_g).data('stickyXYOld-'+bottom,((!isNaN(bottomold_war))?bottomold_war:0));
				}
				var topold=$(element_g).data('stickyXYOld-'+top)+height_sticky+5;
			
				var margintop=parseFloat(comp.getPropertyValue("margin-"+top));
				margintop=((!isNaN(margintop))?margintop:0);
			
				var marginbottom=parseFloat(comp.getPropertyValue("margin-"+bottom));
				marginbottom=((!isNaN(marginbottom))?marginbottom:0);
			
				var przodek_height=undefined;
			
				element_g.style[height]="auto";
				element_g.style["max"+(height.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="none";
				element_g.style[top]="auto";
				element_g.style[bottom]="auto";
				
				if(width_box!=null){
					element_g.style[width_box]="auto";
					element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="none";
					element_g.style[left_box]="auto";
					element_g.style[right_box]="0";
					$(element_g).find('.mw-not-overflow-'+x_box+'.mw-overflow-'+x_box).each(function(i,element){
						element.style[width_box]="auto";
						element.classList.remove('mw-scrollbar-overflow-x');
						element.classList.remove('mw-scrollbar-overflow-y');
					});
				}
				/**/
			
				var parents_node_fun=$(element_g).parents('.mw-parent-node').first();
				if((parents_node_fun==null)||(parents_node_fun.length==0)){return;}
			
				var width_rodzic=null;
				var rodzic_element=undefined;
				var comp_rodz;
			
				parents_node_fun.each(function(i,element){
					comp_rodz=window.getComputedStyle(element,null);
					przodek_height=parseFloat(comp_rodz.getPropertyValue([height]));
					width_rodzic=width_box?parseFloat(comp_rodz.getPropertyValue([width_box])):null;
					rodzic_element=element;
				});
			
				var height_box_real=parseFloat(comp.getPropertyValue(height));
				var rect_dziecko=element_g.getBoundingClientRect();	
			
				var wys=document.documentElement["client"+(height.replace(/^(.)/g,function(s){return s.toUpperCase();}))];
			
				var rect_rodzic;
				parents_node_fun.each(function(i,element){
					rect_rodzic=element.getBoundingClientRect();
				});
			
				var top_ab=rect_rodzic[top];
				var bottom_ab=(wys-rect_rodzic[bottom]);
			
			
				var maxheight=Math.min(przodek_height,wys-((rect_rodzic[top]>=0)?(rect_rodzic[top]):(0))-((bottom_ab>=0)?(bottom_ab):(0)))-(((top_ab<=0)?(topold):(Math.max(0,topold-top_ab)))+((bottom_ab<=0)?($(element_g).data('stickyXYOld-'+bottom)+5):(Math.max(0,$(element_g).data('stickyXYOld-'+bottom)+5-bottom_ab)))+marginbottom+margintop);
			
				element_g.style["max"+(height.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(((maxheight>=0)?maxheight:0)*(height_box_real/rect_dziecko[height]))+"px";
			
				element_g.style[height]="100%";
			
				var top_obj=(((top_ab>=0)?0:(-top_ab)))+((top_ab<=0)?(topold):(Math.max(0,topold-top_ab)));
			
				element_g.style[top]=top_obj+"px";
				element_g.style[bottom]="auto";
			
				if(width_box!=null){
					element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="none";
				
					rodzic_element.style.position="static";
					rodzic_element.style.overflow="hidden";
					var width_box_real=parseFloat(comp.getPropertyValue(width_box));
					var rect_dziecko=element_g.getBoundingClientRect();
					if(parseInt(width_box_real)>parseInt(rect_dziecko[width_box])){
						if(width_box=="width"){
							element_g.classList.remove('mw-scrollbar-overflow-x');
						}else{
							element_g.classList.remove('mw-scrollbar-overflow-y');
						}
						if(rect_dziecko[width_box]>width_rodzic){
							if(width_box=="width"){
								element_g.classList.add('mw-scrollbar-overflow-x');
							}else{
								element_g.classList.add('mw-scrollbar-overflow-y');
							}
						}
						var width_box_real=parseFloat(comp.getPropertyValue(width_box));
					
						var margin_all=parseFloat(comp.getPropertyValue("margin-"+left_box))+parseFloat(comp.getPropertyValue("margin-"+right_box));
						margin_all+=parseFloat(comp_rodz.getPropertyValue("padding-"+left_box))+parseFloat(comp_rodz.getPropertyValue("padding-"+right_box));
						var dlugosc=(width_rodzic-margin_all);
						dlugosc=((dlugosc>=0)?dlugosc:0);
					
					
						element_g.style.whiteSpace="nowrap";
						element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(dlugosc*(width_box_real/rect_dziecko[width_box]))+"px";
						element_g.style[width_box]=width_box_real+"px";
					
						DodatkiSkrypt.Boksy.ScrollBarOverflow();
						$(element_g).find('.mw-overflow-'+x_box+'.mw-not-overflow-'+x_box+'.mw-scrollbar-overflow-'+x_box).each(function(i,element){
							var comp_element=window.getComputedStyle(element, null)
							element.style[width_box]=(element["scroll"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]+DodatkiSkrypt.Boksy.PobieranieFormatuPaskaPrzewijaniaOkienka(x_box_right)+parseFloat	(comp_element.getPropertyValue('padding-'+left_box))+parseFloat(comp_element.getPropertyValue('padding-'+right_box)))+"px";
							element.classList.remove('mw-scrollbar-overflow-'+x_box);
						});
					
						element_g.style.whiteSpace="normal";
						element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="none";
						element_g.style[width_box]="auto";
					
						var rect_dziecko=element_g.getBoundingClientRect();
						var width_box_real=parseFloat(comp.getPropertyValue(width_box));
						element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(dlugosc*(width_box_real/rect_dziecko[width_box]))+"px";
						element_g.style[width_box]=width_box_real+"px";
					
						element_g.style[left_box]="0";
						element_g.style[right_box]="auto";
						rodzic_element.style.position="relative";
					}else{
						element_g.style.whiteSpace="nowrap";
						var szerokosc_box=rect_dziecko[width_box];
						element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(szerokosc_box)+"px";
						element_g.style[width_box]=(szerokosc_box)+"px";
				
						DodatkiSkrypt.Boksy.ScrollBarOverflow();
						$(element_g).find('.mw-overflow-'+x_box+'.mw-not-overflow-'+x_box+'.mw-scrollbar-overflow-'+x_box).each(function(i,element){
							var comp_element=window.getComputedStyle(element, null);
							element.style[width_box]=(element["scroll"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]+DodatkiSkrypt.Boksy.PobieranieFormatuPaskaPrzewijaniaOkienka(x_box_right)+parseFloat	(comp_element.getPropertyValue('padding-'+left_box))+parseFloat(comp_element.getPropertyValue('padding-'+right_box)))+"px";
							element.classList.remove('mw-scrollbar-overflow-'+x_box);
						});
					
						element_g.style.whiteSpace="normal";
						element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="none";
						element_g.style[width_box]="auto";
						var rect_dziecko=element_g.getBoundingClientRect();	
						var szerokosc_box=rect_dziecko[width_box];
						element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(szerokosc_box)+"px";
						element_g.style[width_box]=(szerokosc_box)+"px";
					
						var szerokosc=rect_dziecko[width_box]+parseFloat(comp.getPropertyValue("margin-"+left_box))+parseFloat(comp.getPropertyValue("margin-"+right_box));
						if(parseInt(szerokosc)>parseInt(width_rodzic)){
							element_g.style[right_box]="0";
							element_g.style[left_box]="auto";
							rodzic_element.style.overflow="visible";
						}else{
							element_g.style[left_box]="0";
							element_g.style[right_box]="auto";
							rodzic_element.style.position="relative";
						}
					}
				}
				element_g.style[height]="auto";
				element_g.style[height]=(element_g["offset"+(height.replace(/^(.)/g,function(s){return s.toUpperCase();}))])+"px";
				DodatkiSkrypt.Boksy.ScrollBarOverflow();
				pasek.UstawPozycje();
			}	
		
			element_g.classList.add('mw-sticky-js');
		
			var display=comp.getPropertyValue("display");
			if(display=="none"){return;}
		
			var visibility=comp.getPropertyValue("visibility");
			if(visibility=="hidden"){return;}
		
			var position=comp.getPropertyValue("position");
			if(position!="absolute"){return;}
		
			var sticky_x=$(element_g).hasClass('mw-sticky-x');
			var sticky_y=$(element_g).hasClass('mw-sticky-y');
			if((sticky_x)&&(!sticky_y)){
				var str=$(element_g).parents('.strona_górna, .strona_dolna').first();
				if(str.hasClass('strona_dolna')){
					FunStickyXY("width","left","right","height","top","bottom","y","x");
				}else if(str.hasClass('strona_górna')){
					FunStickyXY("width","left","right","height","bottom","top","y","x");
				}
			}else if((!sticky_x)&&(sticky_y)){
				var str=$(element_g).parents('.strona_prawa, .strona_lewa').first();
				if(str.hasClass('strona_prawa')){
					FunStickyXY("height","top","bottom","width","left","right","x","y");
				}else if(str.hasClass('strona_lewa')){
					FunStickyXY("height","top","bottom","width","right","left","x","y");
				}
			}else if((sticky_x)&&(sticky_y)){
				FunStickyXY("width","left","right",null);
				FunStickyXY("height","top","bottom",null);
			}
		});
		return Promise.resolve();
	},generowane_korutyny_2,muteks_boksy);
}
/*Uruchamianie funkcji DodatkiSkrypt StickyXY*/
$(document).DodatkiSkryptSettledPromise(function(){
	DodatkiSkrypt.Boksy.StickyXY();
});
$(document).DodatkiSkryptSettledPromise(function(){
	var element=$('body').first();
	if(element.length==0){return;}
	var config = {
		//childList:true,
		//characterData: true,
		attributes:true,
		//subtree: true,
		attributeFilter: ["class"]
	};
	var element_body=element[0];
	var newObserver = new MutationObserver(function(records, observer){
		observer.disconnect();
		DodatkiSkrypt.Boksy.StickyXY();
		$(document).DodatkiSkryptReady(function(){
			newObserver.observe(element_body, config);
		},null,muteks_boksy);
	});
	newObserver.observe(element_body, config);
});
DodatkiSkrypt.Boksy.FunkcjaBoksowyMuteks=function(__FUNKCJA,...args){
	return $(document).DodatkiSkryptReady(function(){
		return __FUNKCJA(...args);
	},null,muteks_boksy);
}
/*Uruchamianie zdarzeń dla elementu Window, używając funkcji DodatkiSkrypt.Boksy.StickyXY*/
$(document).DodatkiSkryptReady(function(){
	/*Zdarzenia*/
	DodatkiSkrypt.Zdarzenia.ZdarzeniaJavaScript(window,'scroll', 'StickyXY',null,DodatkiSkrypt.PodTablicaDodatkiSkrypt(true,'Boksy'),DodatkiSkrypt.PodTablicaDodatkiSkrypt(false,'Boksy'));
	DodatkiSkrypt.Zdarzenia.ZdarzeniaJavaScript(window,'resize', 'StickyXY',null,DodatkiSkrypt.PodTablicaDodatkiSkrypt(true,'Boksy'),DodatkiSkrypt.PodTablicaDodatkiSkrypt(false,'Boksy'));
});

/*Funkcja do ustawiania maksymalnego rozmiaru dziecka, względem rodzica, przy position:absolute*/
DodatkiSkrypt.Boksy.OptimalXY=function(){
	return $(document).DodatkiSkryptReady(function(){
		$('#mw-content-text .mw-parser-output').find('*.mw-optimal-x, *.mw-optimal-y').each(function(i,element_g){
				
	    	var comp=window.getComputedStyle(element_g, null);		
	    
			function FunOptimalXY(width,left,right){
			
				var pasek=new DodatkiSkrypt.Boksy.DanePozycjiWszyskichLiniiPrzewijaniaZFormatuOkienka();
				pasek.ZerujZebraneDane();
				pasek.ZbierzPozycje(element_g);

			
				var width_rodzic=null;
				var rodzic_node;
				var comp_rodz;
			
				$(element_g).parents('.mw-parent-node').first().each(function(i,element){
					comp_rodz=window.getComputedStyle(element,null);
					width_rodzic=parseFloat(comp_rodz.getPropertyValue([width]));
					rodzic_node=element;
				});
			
				if((width_rodzic!=null)&&(!isNaN(width_rodzic))){
					element_g.style["max"+(width.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="none";
								
					var width_box_real=parseFloat(comp.getPropertyValue(width));
					var rect_dziecko=element_g.getBoundingClientRect();
				
					if(width=="width"){
						element_g.classList.remove('mw-scrollbar-overflow-x');
					}else{
						element_g.classList.remove('mw-scrollbar-overflow-y');
					}
					if(parseInt(width_box_real)>parseInt(rect_dziecko[width])){
						var rect_dziecko=element_g.getBoundingClientRect();
						if(rect_dziecko[width]>width_rodzic){
							if(width=="width"){
								element_g.classList.add('mw-scrollbar-overflow-x');
							}else{
								element_g.classList.add('mw-scrollbar-overflow-y');
							}
						}
			    		var width_box_real=parseFloat(comp.getPropertyValue(width));
			    
						var margin_all=parseFloat(comp.getPropertyValue("margin-"+left))+parseFloat(comp.getPropertyValue("margin-"+right));
						margin_all+=parseFloat(comp_rodz.getPropertyValue("padding-"+left))+parseFloat(comp_rodz.getPropertyValue("padding-"+right));
						var dlugosc=(width_rodzic-margin_all);
						dlugosc=((dlugosc>=0)?dlugosc:0);
						element_g.style["max"+(width.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(dlugosc*(width_box_real/rect_dziecko[width]))+"px";
					}else{
						element_g.style["max"+(width.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(rect_dziecko[width])+"px";
					}
					var str=$(element_g).parents('.strona_prawa, .strona_lewa, .strona_górna, .strona_dolna').first();
					if(!str.hasClass('strona_start-nawigacja_boksy')){
						var rect_dziecko=element_g.getBoundingClientRect();
						var szerokosc=rect_dziecko[width]+parseFloat(comp.getPropertyValue("margin-"+left))+parseFloat(comp.getPropertyValue("margin-"+right));
						if(parseInt(szerokosc)>parseInt(width_rodzic)){
							str.css('position','static');
						}else{
							str.css('position','relative');
						}
					}
				}
				pasek.UstawPozycje();
			};
		
			element_g.classList.add('mw-optimal-js');
		

			var display=comp.getPropertyValue("display");
			if(display=="none"){return;}
		
			var visibility=comp.getPropertyValue("visibility");
			if(visibility=="hidden"){return;}
		
			var position=comp.getPropertyValue("position");
			if(position!="absolute"){return;}
		
			var optimal_x=$(element_g).hasClass('mw-optimal-x');
			var optimal_y=$(element_g).hasClass('mw-optimal-y');
		
			if(optimal_x){
				FunOptimalXY("width","left","right");
			}
			if(optimal_y){
				FunOptimalXY("height","top","bottom");
			}
		});
		return Promise.resolve();
	},null,muteks_boksy);
}

/*Uruchamianie funkcji DodatkiSkrypt.Boksy.OptimalXY*/
$(document).DodatkiSkryptSettledPromise(function(){
	DodatkiSkrypt.Boksy.OptimalXY();
});
	
/*Uruchamianie zdarzeń dla elementu Window, używając funkcji OptimalXY*/
$(document).DodatkiSkryptReady(function(){
	/*Zdarzenia*/
	DodatkiSkrypt.Zdarzenia.ZdarzeniaJavaScript(window,"scroll",'OptimalXY',null,DodatkiSkrypt.PodTablicaDodatkiSkrypt(true,'Boksy'),DodatkiSkrypt.PodTablicaDodatkiSkrypt(false,'Boksy'));
	DodatkiSkrypt.Zdarzenia.ZdarzeniaJavaScript(window,"resize",'OptimalXY',null,DodatkiSkrypt.PodTablicaDodatkiSkrypt(true,'Boksy'),DodatkiSkrypt.PodTablicaDodatkiSkrypt(false,'Boksy'));
});
	
/*Spis treści TOC z paskiem nawigacji, usuwa pasek przewijania poziomy lub pionowy, albo powiększa bezpaskową szerokość, by jego linie tekstu zawartości możliwie nie załamywały się, by nie przechodziły do następnej linii, jeśli to możliwe*/
DodatkiSkrypt.Boksy.NotOverflowXY=function(){
		
	function UsunieciePaskaOverflowXY(css,width_box,left,right,x_box){
		var css_str=$(css);
		if(css_str.length==0){return;};
			
		var width_paska=DodatkiSkrypt.Boksy.PobieranieFormatuPaskaPrzewijaniaOkienka(x_box);
		css_str.each(function(i,element){
			/**/
			var sticky_xy=$(element).parents('.mw-sticky-x, .mw-sticky-y, .mw-optimal-x, .mw-optimal-y').parents('.mw-parent-node.strona_prawa, .mw-parent-node.strona_lewa, .mw-parent-node.strona_górna, .mw-parent-node.strona_dolna').parents('.strona_start');
			if(sticky_xy.length!=0){return;}
			/**/
			var pasek=new DodatkiSkrypt.Boksy.DanePozycjiWszyskichLiniiPrzewijaniaZFormatuOkienka();
			pasek.ZerujZebraneDane();
			pasek.ZbierzPozycje(element);
				
			var comp=window.getComputedStyle(element, null);
			var paddingleft=parseFloat(comp.getPropertyValue("padding-"+left));
			var paddingright=parseFloat(comp.getPropertyValue("padding-"+right));
			element.style[width_box]="auto";
			var whitespace=element.style.whiteSpace;
			element.style.whiteSpace="nowrap";
			/**/
			var czy_overflow_x_box=$(element).hasClass('mw-scrollbar-overflow-'+x_box);
			element.style[width_box]=(element["scroll"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]+((czy_overflow_x_box)?(width_paska+paddingleft+paddingright):0))+"px";
			/**/
			element.style.whiteSpace=((whitespace)&&(whitespace!=""))?whitespace:"normal";
				
			pasek.UstawPozycje();
		});
	}
	function WysokoscOverFlowXY(css,top_str,height_str,width_str){
		$(css).each(function(i,element){
			/**/
			var sticky_xy=$(element).parents('.mw-sticky-x, .mw-sticky-y, .mw-optimal-x, .mw-optimal-y').parents('.mw-parent-node.strona_prawa, .mw-parent-node.strona_lewa, .mw-parent-node.strona_górna, .mw-parent-node.strona_dolna').parents('.strona_start');
			if(sticky_xy.length!=0){return;}
			/**/
			var display=window.getComputedStyle(element, null).getPropertyValue("display");
			if(display=="none"){return;}
				/**/
			var pasek=new DodatkiSkrypt.Boksy.DanePozycjiWszyskichLiniiPrzewijaniaZFormatuOkienka();
			pasek.ZerujZebraneDane();
			pasek.ZbierzPozycje(element);
			element.style["max"+(height_str.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="100%";
			element.style[height_str]="auto";
			element.style[width_str]="auto";
			var rect=element.getBoundingClientRect();
			var top=rect[top_str];
			var height=rect[height_str];
			var wys=document.documentElement["client"+(height_str.replace(/^(.)/g,function(s){return s.toUpperCase();}))];
			var nadwyzka_height=top+height-wys;
			var height2=height-((nadwyzka_height>=0)?(nadwyzka_height+5):0);
			element.style[height_str]=((height2>=0)?height2:0)+"px";
			pasek.UstawPozycje();
		});
	}
	return $(document).DodatkiSkryptReady(function(){
		var css='#mw-content-text .mw-parser-output .mw-overflow-x.mw-not-overflow-x:not(.mw-not-overflow-y)';
		UsunieciePaskaOverflowXY(css,"width","left","right","y");
		var css='#mw-content-text .mw-parser-output .mw-overflow-y.mw-not-overflow-y:not(.mw-not-overflow-x)';
		UsunieciePaskaOverflowXY(css,"height","top","bottom","x");
		
		var css='#mw-content-text .mw-parser-output div.toclimit.mw-control-y';
		WysokoscOverFlowXY(css,"top","height","width");
		var css='#mw-content-text .mw-parser-output div.toclimit.mw-control-x';
		WysokoscOverFlowXY(css,"left","width","height");
		
		DodatkiSkrypt.Boksy.ScrollBarOverflow();
		
		var css='#mw-content-text .mw-parser-output .mw-overflow-x.mw-not-overflow-x:not(.mw-not-overflow-y)';
		UsunieciePaskaOverflowXY(css,"width","left","right","y");
		var css='#mw-content-text .mw-parser-output .mw-overflow-y.mw-not-overflow-y:not(.mw-not-overflow-x)';
		UsunieciePaskaOverflowXY(css,"height","top","bottom","x");
		
		DodatkiSkrypt.Boksy.ScrollBarOverflow();/*Usunięcie klas pasków przewijania, jeżeli znikły*/
			/**/
		return Promise.resolve();
	},null,muteks_boksy);
}
$(document).DodatkiSkryptSettledPromise(function(){
	DodatkiSkrypt.Boksy.NotOverflowXY();
});
	
/*Uruchamianie zdarzeń dla elementu spisu treści, innych niż obsługiwane przez StickyXY, używając funkcji NotOverflowXY*/
$(document).DodatkiSkryptReady(function(){
	/*Zdarzenia*/
	function __FUNKCJA(i,element){
		var sticky_xy=$(element).parents('.mw-sticky-x, .mw-sticky-y, .mw-optimal-x, .mw-optimal-y').parents('.mw-parent-node.strona_prawa, .mw-parent-node.strona_lewa, .mw-parent-node.strona_górna, .mw-parent-node.strona_dolna').parents('.strona_start');
		if(sticky_xy.length!=0){return true;}
	}
	var css='#mw-content-text .mw-parser-output .mw-overflow-x.mw-not-overflow-x:not(.mw-not-overflow-y)';
	DodatkiSkrypt.Zdarzenia.ZdarzeniaJavaScript(css,"hover",'NotOverflowXY','NotOverflowXY',DodatkiSkrypt.PodTablicaDodatkiSkrypt(true,'Boksy'),DodatkiSkrypt.PodTablicaDodatkiSkrypt(false,'Boksy'),null,__FUNKCJA);
		
	var css='#mw-content-text .mw-parser-output .mw-overflow-y.mw-not-overflow-y:not(.mw-not-overflow-x)';
	DodatkiSkrypt.Zdarzenia.ZdarzeniaJavaScript(css,"hover",'NotOverflowXY','NotOverflowXY',DodatkiSkrypt.PodTablicaDodatkiSkrypt(true,'Boksy'),DodatkiSkrypt.PodTablicaDodatkiSkrypt(false,'Boksy'),null,__FUNKCJA);
		
	DodatkiSkrypt.Zdarzenia.ZdarzeniaJavaScript(window,"scroll",'NotOverflowXY',null,DodatkiSkrypt.PodTablicaDodatkiSkrypt(true,'Boksy'),DodatkiSkrypt.PodTablicaDodatkiSkrypt(false,'Boksy'),null,__FUNKCJA);
	DodatkiSkrypt.Zdarzenia.ZdarzeniaJavaScript(window,"resize",'NotOverflowXY',null,DodatkiSkrypt.PodTablicaDodatkiSkrypt(true,'Boksy'),DodatkiSkrypt.PodTablicaDodatkiSkrypt(false,'Boksy'),null,__FUNKCJA);
});
/*Definicja dodatkowych funkcji, niż standardowe, w href w linkach rozwijanej tabeli TABLE lub ramki DIV, jeśli ona generuje zwiększenie rozmiarów, aby w rodzicu pojawił się pasek przewijania, z dodatkowymi opcjami generowanej przez arkusz stylów CSS*/
DodatkiSkrypt.Boksy.RamkiTableIDiv=function(obiekt,id_tabeli_lub_ramki,id_nazwa_a,fun_obiektu,tab_el){
	$(obiekt).each(function(i,element_f){
		var id=element_f.getAttribute("id")
		i=i+((tab_el=="Table")?0:1);
		if((id)&&(id==(id_tabeli_lub_ramki+i))){
		    var collapsebutton=$(element_f).find('a#'+id_nazwa_a+i);
		    if((collapsebutton!==null)&&(collapsebutton.length>0)){
				$('#mw-content-text .mw-parser-output').find(element_f).find('a#'+id_nazwa_a+i).each(function(j,element_g){
					var href=element_g.getAttribute('href');
					if((href!=null)&&(href!="")){
						var col="[\\s;\\(\\,]*javascript:"+fun_obiektu.replace(/\./g,"\\.").replace(/([\(\)])/g,"\\$1")+"\\s*\\(\\s*"+i+"\\s*\\)[\\s;\\)\\,]*";
						var re_frame = new RegExp(col,'g');
				
						var re_javascript=new RegExp("^[\\s;]*javascript:","g");
						if((re_javascript.test(href))&&(re_frame.test(href))){
							function DodajSkryptJavaScript(fun){
								function Re(fun){
									var re=new RegExp("javascript:"+fun.replace(/\./g,"\\.").replace(/([\(\)])/g,"\\$1")+"\\s*\\(\\s*\\)",'g');
									return re;
								}
								var href_nowe=element_g.getAttribute('href');
									
								var re=Re("DodatkiSkrypt."+fun);
								if(re.test(href_nowe)){
									element_g.setAttribute('href',href_nowe.replace(re,""));
									href_nowe=element_g.getAttribute('href');
								};
									
								re=Re("window.DodatkiSkrypt.Boksy."+tab_el+"."+fun);
								if(!re.test(href_nowe)){
									element_g.setAttribute('href',href_nowe.replace(/[;\s]*$/g,"")+';javascript:window.DodatkiSkrypt.Boksy.'+tab_el+"."+fun+"()");
								}
							}
							DodajSkryptJavaScript('OperacjeBoksy');
						}
					}
				});
		    }
		}
	});
}
/*Koniec dodatkowych funkcji*/
   
DodatkiSkrypt.Boksy.Table=new Array(); 
DodatkiSkrypt.Boksy.Table.OperacjeBoksy=function(){
	$(document).DodatkiSkryptReady(function(){
		DodatkiSkrypt.Boksy.ScrollBarOverflow();
		DodatkiSkrypt.Boksy.StickyXY();
		DodatkiSkrypt.Boksy.OptimalXY();
		DodatkiSkrypt.Boksy.NotOverflowXY();
		DodatkiSkrypt.Boksy.MwWidthXY();
	},null,muteks_table_collapseTable);
}
DodatkiSkrypt.Boksy.Div=new Array(); 
DodatkiSkrypt.Boksy.Div.OperacjeBoksy=function(){
	$(document).DodatkiSkryptReady(function(){
		DodatkiSkrypt.Boksy.ScrollBarOverflow();
		DodatkiSkrypt.Boksy.StickyXY();
		DodatkiSkrypt.Boksy.OptimalXY();
		DodatkiSkrypt.Boksy.NotOverflowXY();
		DodatkiSkrypt.Boksy.MwWidthXY();
	},null,muteks_div_toggleNavigationBar);
}
/*Uruchamianie dodatkowych funkcji dla tabel TABLE i ramek DIV nawigacyjnych.*/
$(document).DodatkiSkryptReady(function(){
    /*Dla menu rozwijanego tabeli TABLE zdefiniowanej na stronie MediaWiki:DodatkiSkrypt.js*/
	DodatkiSkrypt.Boksy.RamkiTableIDiv("table.collapsible",'collapsibleTable','collapseButton','window.DodatkiSkrypt.Nawigacja.collapseTable',"Table");
	/**/
	DodatkiSkrypt.Boksy.Table.OperacjeBoksy();
	/**/
},null,muteks_table);
/**/
$(document).DodatkiSkryptReady(function(){
    /*Dla menu rozwijanej ramki DIV zdefiniowanej na stronie MediaWiki:DodatkiSkrypt.js*/
	DodatkiSkrypt.Boksy.RamkiTableIDiv("div.NavFrame",'NavFrame','NavToggle','window.DodatkiSkrypt.Nawigacja.toggleNavigationBar',"Div");
	/**/
	DodatkiSkrypt.Boksy.Div.OperacjeBoksy();
	/**/
/*Koniec uruchamiania*/
},null,muteks_div);

/*Uruchamianie dodatkowych zdarzeń*/
$(document).DodatkiSkryptReady(function(){
	/*Funkcje zdarzeń*/
	DodatkiSkrypt.Zdarzenia.ZdarzeniaJavaScriptDodatkoweFunkcyjneXY("*.mw-sticky-x, *.mw-sticky-y",'StickyXY',true,DodatkiSkrypt.PodTablicaDodatkiSkrypt(true,'Boksy'),DodatkiSkrypt.PodTablicaDodatkiSkrypt(false,'Boksy'));
	DodatkiSkrypt.Zdarzenia.ZdarzeniaJavaScriptDodatkoweFunkcyjneXY('*.mw-optimal-x, *.mw-optimal-y','OptimalXY',true,DodatkiSkrypt.PodTablicaDodatkiSkrypt(true,'Boksy'),DodatkiSkrypt.PodTablicaDodatkiSkrypt(false,'Boksy'));
	DodatkiSkrypt.Zdarzenia.ZdarzeniaJavaScriptDodatkoweFunkcyjneXY("body.skin-vector-search-vue .vector-sticky-header",'StickyXY',false,DodatkiSkrypt.PodTablicaDodatkiSkrypt(true,'Boksy'),DodatkiSkrypt.PodTablicaDodatkiSkrypt(false,'Boksy'));
});
/*Koniec uruchamiania dodatkowych zdarzeń*/
/*******/
DodatkiSkrypt.Strona=new Array();
DodatkiSkrypt.Strona.VectorTOC=function(){
	return $('#mw-panel-toc.vector-toc-landmark > .vector-pinned-container > .vector-toc, #vector-page-titlebar-toc > .vector-dropdown-content  > .vector-unpinned-container > .vector-toc, #vector-sticky-header-toc > .vector-dropdown-content  > .vector-unpinned-container > .vector-toc');
}
DodatkiSkrypt.Strona.CzyJestUruchomioneVectorTOC=function(elements,czy_numerowac){
	
	var toc_nowy_vector=$('body.skin-vector.skin-vector-search-vue');
	if((toc_nowy_vector==null)||(toc_nowy_vector.length==0)){return false;}
	
	if(!elements){
		var sidebartoc=DodatkiSkrypt.Strona.VectorTOC();
		if((sidebartoc!==null)&&(sidebartoc.length>0)){return true;}
	}
		
	if(!czy_numerowac){return false;}
	
	var rodzic=$('body:not(.ns-6) #mw-content-text .mw-parser-output, body.ns-6 #mw-content-text');
	
	var toc_stary_vector=rodzic.find('.toc, .toc_spis, .toc_wykaz');
	var style_lub_link=rodzic.children('style, link');
	var wszystkie_dzieci=rodzic.children();
	/**/
	var strona_start_jedyne_dziecko=$('#mw-content-text .mw-parser-output > .strona_start:only-child');
	var strona_start=$('#mw-content-text .mw-parser-output  .strona_start');
	var action_view_i_submit=document.querySelector('body.action-view:not(.ns-special), body.action-submit');
	if(action_view_i_submit){
		if(((strona_start_jedyne_dziecko!==null)&&(strona_start_jedyne_dziecko.length>0))
		     ||((strona_start===null)||(strona_start.length==0))
		     ||((strona_start!==null)&&(style_lub_link!==null)&&(wszystkie_dzieci!==null)&&(strona_start.length==1)&&(wszystkie_dzieci.length-style_lub_link.length==1))
		  ){
			if((toc_stary_vector)&&(toc_stary_vector.length>0)){
				var w_strona_start=toc_stary_vector.parents('.strona_start');
				if((w_strona_start!==null)&&(w_strona_start.length>0)){
					return false;
				}else{
					if((toc_stary_vector!==null)&&(toc_stary_vector.length>0)){
						return false;
					}else{
						return true;
					}
				}
			}else{return true;}
		}else if((strona_start!==null)&&(strona_start.length>0)){
			var pole=$('#mw-content-text .mw-parser-output').find('h1,h2,h3,h4,h5,h6');
			function NaglowkiNiektorePozaStronaStart(){
				if(elements){return false;}
				for(var i=0;i<pole.length;++i){
					var s=strona_start.find(pole[i]);
					if((s===null)||(s.length==0)){
						return true;
					}
				}
				return false;
			}
			if(NaglowkiNiektorePozaStronaStart()){
				if((toc_stary_vector)&&(toc_stary_vector.length>0)){
					for(var i=0;i<toc_stary_vector.length;++i){
						var strona_start=$(toc_stary_vector[i]).parents('.strona_start');
						if((strona_start===null)||(strona_start.length==0)){
							return false;
						}
					}
					return true;
				}else{
					return true;
				}
			}else{
				if((strona_start!==null)&&(strona_start.length==1)){
					if((toc_stary_vector)&&(toc_stary_vector.length>0)){
						for(var i=0;i<toc_stary_vector.length;++i){
							var toc=strona_start.find(toc_stary_vector[i]);
							if((toc!==null)&&(toc.length>0)){
								return false;
							}
						}
						return true;
					}else{
						return true;
					}
				}else{
					return false;		
				}	
			}
		}
	}
}
DodatkiSkrypt.Strona.ListaNodeTOC=function(elements,czy_numerowac){
	var rodzic=$('body:not(.ns-6) #mw-content-text .mw-parser-output, body.ns-6 #mw-content-text');
	var toc_stary_vector;
	var zaaktualizowany=$('.rodzic_szablon_subst_js');
	var TOCStaryVector=function(__toc_stary_vector){
		if(!toc_stary_vector){
			if(__toc_stary_vector){
				toc_stary_vector=new Array();
			}else{
				return toc_stary_vector;
			}
		}
		for(var i=0;i<__toc_stary_vector.length;++i){
			toc_stary_vector.push(__toc_stary_vector[i]);
		}
	}
	if((zaaktualizowany!==null)&&(zaaktualizowany.length>0)){
		var rodzic_szablon_subst_js=$('.rodzic_szablon_subst_js:not(.szablon_subst_js_zanalizowany)');
		if((rodzic_szablon_subst_js===null)||(rodzic_szablon_subst_js.length==0)){
			var __toc_stary_vector=rodzic.find('.toc:not(.toc_ukończony), .toc_spis:not(.toc_ukończony)');
			TOCStaryVector(__toc_stary_vector);
			/**/
			var toc_stary_vector_ukonczony=rodzic.find('.toc.toc_ukończony, .toc_spis.toc_ukończony');
			TOCStaryVector(rodzic.find('.toc, .toc_spis').not(toc_stary_vector_ukonczony));
		}else{
			toc_stary_vector=rodzic.find('.toc, .toc_spis');
		}
	}else{
		toc_stary_vector=rodzic.find('.toc, .toc_spis');
	}
	
	var czy_sidebartoc=DodatkiSkrypt.Strona.CzyJestUruchomioneVectorTOC(elements,czy_numerowac);
	var toc_nowy_vector=((czy_sidebartoc)?(DodatkiSkrypt.Strona.VectorTOC()):undefined);
	this.CzyJestVectorTOC=function(){
		return (((toc_nowy_vector)&&(toc_nowy_vector.length>0))?true:false);
	}
	this.CzyJestTOC=function(){
		return (((toc_stary_vector)&&(toc_stary_vector.length>0))?true:false);
	}
	this.CzySideBarToc=function(elem){
		if(toc_nowy_vector){
			for(var i=0;i<toc_nowy_vector.length;++i){
				if(elem==toc_nowy_vector[i]){
					return true;
				}
			}
		}
		return false;
	}
	if(this.CzyJestVectorTOC()){
		this.toc=new Array();for(var i=0;i<toc_stary_vector.length;++i){this.toc.push(toc_stary_vector[i]);};
		for(var i=0;i<toc_nowy_vector.length;++i){this.toc.push(toc_nowy_vector[i]);};
	}else{
		this.toc=new Array();for(var i=0;i<toc_stary_vector.length;++i){this.toc.push(toc_stary_vector[i]);};
	}
}
DodatkiSkrypt.Strona.PrzeIndeksowanieWszystkichTOC=function(element,czy_numerowac,numer_takiego_samego_linku_w_toc,toc_linku){
	var toc_fun=new DodatkiSkrypt.Strona.ListaNodeTOC(element,czy_numerowac);
	
	var rodzic=((element)?element:(document.querySelector("body:not(.ns-6) #mw-content-text .mw-parser-output, body.ns-6 #mw-content-text")));
	if((toc_fun.toc!==null)&&(toc_fun.toc.length>0)){
		for(var d=0;d<toc_fun.toc.length;++d){
			var toc=toc_fun.toc[d];
			var czy_side_bar_toc=toc_fun.CzySideBarToc(toc);
			if(!czy_side_bar_toc){
				var potomek=$(rodzic).find(toc);
				if((potomek===null)||(potomek.length==0)){
					continue;
				}
			}
			/**/
			var cialo_strona_start;
			if(czy_side_bar_toc){
				cialo_strona_start=$(document);
			}else{
				cialo_strona_start=$(toc).parents('.strona_start').first().find('.ciało_strona');
			}
			var cialo_strona_start_podstrona_start=cialo_strona_start.find('.strona_start .ciało_strona');
			var headline=cialo_strona_start.find('.mw-headline');
			/**/
			var tab_headline=new Array();
			for(var i=0;i<headline.length;++i){
				var el_headline=headline[i];
				var czy_w_strona_start=cialo_strona_start_podstrona_start.find(el_headline);
				if(czy_w_strona_start.length>0){continue};
				var text=el_headline.innerHTML;
				text=DodatkiSkrypt.Szereg.Styl.UsuwanieZnacznikoweHTML(DodatkiSkrypt.Szereg.Styl.UsuwanieStyloweHTML(text));
				if(!tab_headline[text]){tab_headline[text]=new Array();}
				tab_headline[text][tab_headline[text].length]=el_headline;
			}
			/**/
			var a=$(toc).find('a');
			var tab_a=new Array();
			if((a!==null)&&(a.length>0)){
				for(var p=0;p<a.length;++p){
					var element_a=a[p];
					var poczatek=element_a.parentNode.getAttribute('id');
					if(poczatek=='toc-mw-content-text'){continue;}
					var element_toctext;
					var text;
					if(czy_side_bar_toc){
						element_toctext=element_a.querySelector('.vector-toc-text');
						var num=element_toctext.querySelector('.vector-toc-numb');
						if(!num){continue;}
						text=element_toctext.innerHTML.replace(new RegExp(DodatkiSkrypt.Szereg.Norma.BezZnakowychSpecjalnychElementowychWIndywiduum(num.outerHTML),"g"),"");
					}else{
						element_toctext=element_a.querySelector('.toctext');
						text=element_toctext.innerHTML;
					}
					text=DodatkiSkrypt.Szereg.Styl.UsuwanieZnacznikoweHTML(DodatkiSkrypt.Szereg.Styl.UsuwanieStyloweHTML(text));
					if(!tab_a[text]){tab_a[text]=new Array();}
					var length_a=tab_a[text].length;
					tab_a[text][length_a]=element_a;
					if(tab_headline[text]){
						var el_headline=tab_headline[text][length_a];
						if(el_headline){
							var attribut_id=el_headline.getAttribute('id');
							attribut_id=DodatkiSkrypt.Szereg.Kodowanie.DecodeHtml(attribut_id);
							element_a.setAttribute('href',DodatkiSkrypt.Szereg.Kodowanie.EncodeHtml("#"+attribut_id));
						}
					}
				}
			}
		}
	}
}
DodatkiSkrypt.Strona.IndeksowanieNapisuWprowadzeniaTekstu=function(){
	var element=$("body:not(.ns-6) #mw-content-text .mw-parser-output, body.ns-6 #mw-content-text");
	var headline=element.find('.mw-headline');
	if((headline!==null)&&(headline.length>0)){
		var tab_headline=new Array();
		for(var i=0;i<headline.length;++i){
			var el=headline[i];
			var id0=DodatkiSkrypt.Szereg.Styl.UsuwanieZnacznikoweHTML(DodatkiSkrypt.Szereg.Styl.UsuwanieStyloweHTML(el.innerHTML));
			/**/
			tab_headline[id0]=(tab_headline[id0]||0)+1;
			/**/
			var span=null;
			if((el.parentNode!==null)&&(el.parentNode.tagName.toUpperCase().match(/^H\d+$/g))){
				span=el.parentNode.querySelector('span.numeracja');
				if(span===null){
					span=el.parentNode.querySelector('span');
				}else{
					span=span.nextElementSibling;
				}
			}
			function IdNazwa(id0){
				el.setAttribute('id',id0);
				if((span!==null)&&(span!=el)){
					var id1=DodatkiSkrypt.Szereg.Kodowanie.EncodeHtml(id0,false,true).replace(/%/g,".");
					if(id0!=id1){
						span.setAttribute('id',DodatkiSkrypt.Szereg.Kodowanie.EncodeHtml(id0,false,true).replace(/%/g,"."));
					}
				}
			}
			var c=tab_headline[id0]||1;
			if(c==1){IdNazwa(id0);}else{IdNazwa(id0+"_"+c);}
		}
	}
}
DodatkiSkrypt.Strona.NaprawianieNapisuWprowadzeniaTekstu=function(element,czy_numerowac){
	var rodzic=$('body:not(.ns-6) #mw-content-text .mw-parser-output, body.ns-6 #mw-content-text');
	if((rodzic==null)||(rodzic.length==0)){return;}
	if(element){
		if(element!=document){
			rodzic=rodzic.find(element);
			if((rodzic==null)||(rodzic.length==0)){return;}
		}
	}
	var h=rodzic.find("h1, h2, h3, h4, h5, h6");
	if((h!==null)&&(h.length>0)){
		var czy_indeksuj=undefined;
		for(var i=0;i<h.length;++i){
			var element_h=h[i];
			var h_toc=rodzic.find('.toc, .toc_spis').find(element_h);
			if((h_toc!==null)&&(h_toc.length>0)){continue;}
			var headline=element_h.querySelector(".mw-headline");
			if(headline===null){
				var tekst_bez_stylow=DodatkiSkrypt.Szereg.Styl.UsuwanieStyloweHTML(element_h.innerHTML);
				var id=DodatkiSkrypt.Szereg.Styl.UsuwanieZnacznikoweHTML(tekst_bez_stylow);
				var tekst=DodatkiSkrypt.Szereg.Styl.UsuwanieZnacznikoweHTMLBezModyfikacjiTekstu(tekst_bez_stylow);
				var nowe_id=DodatkiSkrypt.Szereg.Kodowanie.EncodeHtml(id,false,true).replace(/%/g,".");
				var element_span_przed=((id!=nowe_id)?(mw.html.element("span",{id:nowe_id},"")):"");
				var element_span=mw.html.element("span",{class:"mw-headline",id:id},tekst);
				console.log(element_span_przed+element_span);
				var h_id=element_h.getAttribute("id");
				var element_nowe_h=mw.html.element(element_h.tagName,((h_id)?{id:h_id}:null),new mw.html.Raw(element_span_przed+element_span));
				element_h.outerHTML=element_nowe_h;
				czy_indeksuj=true;
			}
		}
		if(czy_indeksuj){
			DodatkiSkrypt.Strona.IndeksowanieNapisuWprowadzeniaTekstu();
			DodatkiSkrypt.Strona.PrzeIndeksowanieWszystkichTOC(rodzic[0],czy_numerowac);
		}
	}
}
DodatkiSkrypt.Strona.AktualizowanieSpisuMateriiStrony=function(elements,tabs,strona_hash,tablica_przednaglowkowa_html,stronasubst_tablica_alternatywnych_nazw,stronasubst_tablica_tych_samych,stronasubst_tablica_rozdzialow,czy_numerowac,stronasubst_latex,stronasubst_mathml,czy_szablon_subst){
	console.log("Rozpatrywana strona do uzpełniania spisu treści: "+strona_hash+".");
	/**/
	var toc_fun=new DodatkiSkrypt.Strona.ListaNodeTOC(elements,czy_numerowac);
	/**/
	if((toc_fun.toc!==null)&&(toc_fun.toc.length>0)){
		/**/
		var element_strona_hash=stronasubst_tablica_alternatywnych_nazw[strona_hash];
	                    	        			
	    var title_2=DodatkiSkrypt.Szereg.Napis.PoprawianieAlternatywnychNazwStrony(strona_hash,element_strona_hash);
	    var title2=DodatkiSkrypt.Szereg.Napis.PoprawianieNazwStronyNaZeSpacjami(title_2);
	    var title2_href=DodatkiSkrypt.Szereg.Napis.PoprawianieNazwStronyNaBezSpacji(title_2);
		/**/
		var subtitle=DodatkiSkrypt.Szereg.Napis.SubTitle(strona_hash)
			
		if(czy_szablon_subst){
			if(elements===undefined){
				elements=new Array();
				elements[0]=document.querySelector("body:not(.ns-6) #mw-content-text .mw-parser-output, body.ns-6 #mw-content-text");
			}
		}
			
		for(var q in elements){
			var element=elements[q];
			var powtorka=1;
			var vv=0;
			var numer_artykulu;
			for(var e=0;e<tabs.length;++e){
				if(tabs[e]==strona_hash){
					if(q==vv){
						numer_artykulu=e;
						var subtabe;
						for(var ee=0;ee<e;++ee){
							subtabe=DodatkiSkrypt.Szereg.Napis.SubTitle(tabs[ee]);
							if(subtabe==subtitle){
								++powtorka;
							}
						}
						break;
					}
					++vv;
				}
			}
			var strona_start;
			var strona_start_s=$('.strona_start');
			for(var i=0;i<strona_start_s.length;++i){
				if(strona_start_s[i]==element){
					strona_start=$(element);
					break;
				}
			}
	        if(!strona_start){
	        	strona_start=$(element).parents(".strona_start");
	        }
	               	
	        var ile_stronasubst_tablica_tych_samych=0;
	        for(var gg=0;gg<numer_artykulu;++gg){
	            var element_stronasubst_tablica_tych_samych=stronasubst_tablica_tych_samych[gg];
	            if(element_stronasubst_tablica_tych_samych!=null){
	                 var element_stronasubst_tablica_tych_samych_title=element_stronasubst_tablica_tych_samych[title2];
	                 ile_stronasubst_tablica_tych_samych+=((element_stronasubst_tablica_tych_samych_title!=null)?element_stronasubst_tablica_tych_samych_title:0);
	            }
	        }
	    	var ile_powtorek=powtorka+ile_stronasubst_tablica_tych_samych;
			/**/

			var num=new Array("numer");
			var headline=$(element).find(".mw-headline");
			if((headline!==null)&&(headline.length>0)){
				var HNumer=DodatkiSkrypt.Szereg.HNumer.LiczonyHNumer();
				var len=headline.length;
				var naglowek="";
				var naglowek2="";
				var liczba_ulozenia_w_menu_spisu_tresci=1;
						
				for (var k=0;k<len;++k){
					var element2=headline[k];
						
					if((strona_start===null)||(strona_start.length==0)){
						var czy_naglowek_wewnatrz_strony=$('.strona_start .ciało_strona').find(element2);
						if((czy_naglowek_wewnatrz_strony!==null)&&(czy_naglowek_wewnatrz_strony.length>0)){
							continue;
						}
					}else{
						var strona_start2=$('.strona_start .ciało_strona').find(element2).parents('.strona_start');
						if(strona_start[0]!=strona_start2[0]){continue;}
					}
					var hparent=element2.parentNode;
					if(hparent!==null){
						var h=hparent.tagName.toUpperCase();
						if(h.match(/^H\d+$/g)){
							var nag2=element2.getAttribute('id');
							if(nag2!==null){
								nag2=DodatkiSkrypt.Szereg.Styl.PoprawIdZnacznika(DodatkiSkrypt.Szereg.Styl.UsuwanieStyloweHTML(nag2));
								var nag_poczatkowe=DodatkiSkrypt.Szereg.Styl.UsuwanieStyloweHTML(element2.innerHTML);
								//nag_poczatkowe=nag_poczatkowe.replace(/^([^#]*)#(.*)$/g,"$2");
								var nag=DodatkiSkrypt.Szereg.Styl.UsuwanieZnacznikoweHTML(nag_poczatkowe,true)
								if(stronasubst_latex){
									nag_poczatkowe=DodatkiSkrypt.Szereg.Styl.UsuwanieZnacznikoweHTML(nag_poczatkowe,true);
								}else{
									nag_poczatkowe=DodatkiSkrypt.Szereg.Styl.UsuwanieZnacznikoweLinkuHTML(nag_poczatkowe,true);
									var div=document.createElement('div');
									div.innerHTML=nag_poczatkowe;
									$(div).find('*').each((i,element)=>{
										element.removeAttribute('id');
									})
									nag_poczatkowe=div.innerHTML;
								}
								if(stronasubst_tablica_tych_samych[numer_artykulu]==null){
									stronasubst_tablica_tych_samych[numer_artykulu]=new Array();
									stronasubst_tablica_tych_samych[numer_artykulu][nag]=1;
								}else{
									if(stronasubst_tablica_tych_samych[numer_artykulu][nag]!=null){
										stronasubst_tablica_tych_samych[numer_artykulu][nag]+=1;
									}else{
										stronasubst_tablica_tych_samych[numer_artykulu][nag]=1;
									}
								}
								var h_numer=DodatkiSkrypt.Szereg.HNumer.PoziomNapisuWprowadzeniaTekstu(hparent);
								h_numer=HNumer(h_numer);
								
                    			if(k==0){
                    				num.push(1);
                    				if(toc_fun.CzyJestTOC()){
                    					var w_a="<span class=\"tocnumber\">"+num.join('.')+"</span><span class=\"toctext"+((stronasubst_mathml)?" mathml":"")+"\">"+nag_poczatkowe+"</span>";
                    					naglowek+="<ul><li><a href=\""+DodatkiSkrypt.Szereg.Kodowanie.EncodeHtml("#"+nag2)+"\">"+w_a+"</a>";
                    				}
                    				if(toc_fun.CzyJestVectorTOC()){
                    					var w_a="<div class=\"vector-toc-text"+((stronasubst_mathml)?" mathml":"")+"\"><span class=\"vector-toc-numb\">"+num.join('.')+"</span>"+nag_poczatkowe+"</div>";
                    					naglowek2+="<ul><li id=\"toc-"+nag2+"\" class=\"vector-toc-list-item\"><a class=\"vector-toc-link\" href=\""+DodatkiSkrypt.Szereg.Kodowanie.EncodeHtml("#"+nag2)+"\">"+w_a+"</a>";
                    				}
                    			}else{
                    				if(h_numer==liczba_ulozenia_w_menu_spisu_tresci){
                    					num[num.length-1]+=1;
                    					if(toc_fun.CzyJestTOC()){
                    						var w_a="<span class=\"tocnumber\">"+num.join('.')+"</span><span class=\"toctext"+((stronasubst_mathml)?" mathml":"")+"\">"+nag_poczatkowe+"</span>";
                    						naglowek+="</li><li><a href=\""+DodatkiSkrypt.Szereg.Kodowanie.EncodeHtml("#"+nag2)+"\">"+w_a+"</a>";
                    					}
                    					if(toc_fun.CzyJestVectorTOC()){
                    					    var w_a="<div class=\"vector-toc-text"+((stronasubst_mathml)?" mathml":"")+"\"><span class=\"vector-toc-numb\">"+num.join('.')+"</span>"+nag_poczatkowe+"</div>";
                    						naglowek2+="</li><li id=\"toc-"+nag2+"\" class=\"vector-toc-list-item\"><a class=\"vector-toc-link\"  href=\""+DodatkiSkrypt.Szereg.Kodowanie.EncodeHtml("#"+nag2)+"\">"+w_a+"</a>";
                    					}
                					}else{
                						if(h_numer>liczba_ulozenia_w_menu_spisu_tresci){
                							num.push(1);
                							if(toc_fun.CzyJestTOC()){
                								var w_a="<span class=\"tocnumber\">"+num.join('.')+"</span><span class=\"toctext"+((stronasubst_mathml)?" mathml":"")+"\">"+nag_poczatkowe+"</span>";
                    							naglowek+="<ul><li><a href=\""+DodatkiSkrypt.Szereg.Kodowanie.EncodeHtml("#"+nag2)+"\">"+w_a+"</a>";
                							}
                							if(toc_fun.CzyJestVectorTOC()){
                    							var w_a="<div class=\"vector-toc-text"+((stronasubst_mathml)?" mathml":"")+"\"><span class=\"vector-toc-numb\">"+num.join('.')+"</span>"+nag_poczatkowe+"</div>";
                    							naglowek2+="<ul><li id=\"toc-"+nag2+"\" class=\"vector-toc-list-item\"><a class=\"vector-toc-link\"  href=\""+DodatkiSkrypt.Szereg.Kodowanie.EncodeHtml("#"+nag2)+"\">"+w_a+"</a>";
                    						}
                    						liczba_ulozenia_w_menu_spisu_tresci=h_numer;
                						}else{
                							if(h_numer<liczba_ulozenia_w_menu_spisu_tresci){
                								num.splice(num.length-liczba_ulozenia_w_menu_spisu_tresci+h_numer,liczba_ulozenia_w_menu_spisu_tresci-h_numer);
                								num[num.length-1]+=1;
                								if(toc_fun.CzyJestTOC()){
                									var w_a="<span class=\"tocnumber\">"+num.join('.')+"</span><span class=\"toctext"+((stronasubst_mathml)?" mathml":"")+"\">"+nag_poczatkowe+"</span>";
                    								naglowek+=('</li></ul>'.repeat(liczba_ulozenia_w_menu_spisu_tresci-h_numer))+"</li><li><a href=\""+DodatkiSkrypt.Szereg.Kodowanie.EncodeHtml("#"+nag2)+"\">"+w_a+"</a>";
                								}
                								if(toc_fun.CzyJestVectorTOC()){
                    								var w_a="<div class=\"vector-toc-text"+((stronasubst_mathml)?" mathml":"")+"\"><span class=\"vector-toc-numb\">"+num.join('.')+"</span>"+nag_poczatkowe+"</div>";
                    								naglowek2+=('</li></ul>'.repeat(liczba_ulozenia_w_menu_spisu_tresci-h_numer))+"</li><li id=\"toc-"+nag2+"\" class=\"vector-toc-list-item\"><a class=\"vector-toc-link\" href=\""+DodatkiSkrypt.Szereg.Kodowanie.EncodeHtml("#"+nag2)+"\">"+w_a+"</a>";
                    							}
                    							liczba_ulozenia_w_menu_spisu_tresci=h_numer;
                							}
                						}
                					}
                				}
                			}
                    	}
					}
				}
				
				if(((naglowek!=null)&&(naglowek!=""))||((naglowek2!=null)&&(naglowek2!=""))){
	                naglowek+=(((naglowek)&&(naglowek!=""))?('</li></ul>'.repeat(liczba_ulozenia_w_menu_spisu_tresci)):"");
	            	naglowek2+=(((naglowek2)&&(naglowek2!=""))?('</li></ul>'.repeat(liczba_ulozenia_w_menu_spisu_tresci)):"");
	                
	                function UzupelnijSideBarTOC(rodzic){
	                	console.log("TYTAN2")
	                	var li=$(rodzic).find('ul > li');
	                	if((li==null)||(li.length==0)){return;}
	                	console.log("TYTAN3")
	                	for(var i=0;i<li.length;++i){
	                		var ul_dziecko=$(li[i]).children('ul').find('*');
	                		if((ul_dziecko!==null)&&(ul_dziecko.length>0)){
	                			li[i].classList.add('vector-toc-list-item-expanded');
	                		}
	                	}
	                	li=$(rodzic).find(' > ul > li:first-child');
	                	console.log(li,rodzic)
	                	if((li===null)||(li.length==0)){return;}
	                	console.log("TYTAN4")
	                	var ul=$(rodzic).find(' > ul');
	                	
	                	ul[0].setAttribute('class','vector-toc-contents');
	                	if(li[0].getAttribute('id')!="toc-mw-content-text"){
	                		var li=document.createElement('li');
	                		li.setAttribute('id',"toc-mw-content-text");
	                		li.setAttribute('class','vector-toc-list-item');
	                		var a=document.createElement('a');
	                		a.setAttribute('href','#top-page');
	                		a.setAttribute('class','vector-toc-link');
	                		var div=document.createElement('div');
	                		div.setAttribute('class','vector-toc-text');
	                		div.innerHTML="Początek";
	                		a.appendChild(div);
	                		li.appendChild(a);
	                		li=ul[0].insertBefore(li,ul[0].firstChild);
	                	}
	                	var a=$(rodzic).find('li#toc-mw-content-text ~ li a.vector-toc-link');
	                	if((a==null)||(a.length==0)){return;}
	                	console.log("TYTAN5")
	                	for(var i=0;i<a.length;++i){
	                		var ul=$(a[i]).siblings('ul');
	                		var href=a[i].getAttribute('href').replace(/^#/g,"");
	                		if((ul!==null)&&(ul.length>0)){
	                			ul[0].setAttribute('class','vector-toc-list')
	                			ul[0].setAttribute('id','toc-'+href+'-sublist')
	                			continue;
	                		}
	                		ul=document.createElement('ul');
	                		ul.setAttribute('class','vector-toc-list');
	                		ul.setAttribute('id','toc-'+href+'-sublist')
	                		a[i].parentNode.appendChild(ul);
	                	}
	                	a=$(rodzic).find('li#toc-mw-content-text ~ li > a.vector-toc-link');
	                	if((a==null)||(a.length==0)){return;}
	                	console.log("TYTAN6")
	                	for(var i=0;i<a.length;++i){
	                		var ul=$(a[i]).siblings('ul');
	                		var href=a[i].getAttribute('href').replace(/^#/g,"");
	                		if((ul!==null)&&(ul.length>0)){
	                			var child=$(ul[0]).children();
	                			if((child==null)||(child.length==0)){continue;}
	                		    var buttons=$(a[i]).siblings('button');
	                		    if((buttons!==null)&&(buttons.length>0)){continue;}
	                		    button=document.createElement('button');
	                		    button.setAttribute('aria-controls','toc-'+href+'-sublist')
	                		    button.setAttribute('class','cdx-button cdx-button--weight-quiet cdx-button--icon-only vector-toc-toggle');
	                		    button.setAttribute('aria-expanded','true');
	                		    var span_button_1=document.createElement('span');
	                		    span_button_1.setAttribute('class','vector-icon vector-icon--x-small mw-ui-icon-wikimedia-expand');
	                		    button.appendChild(span_button_1);
	                		    var span_button_2=document.createElement('span');
	                		    span_button_2.innerHTML="Przełącz podsekcję "+href.replace(/[_\s]+/g," ");
	                		    button.appendChild(span_button_2);
	                		    a[i].parentNode.insertBefore(button,ul[0]);
	                			continue;
	                		}
	                	}
	                }
	                
	                for(var b=0;b<toc_fun.toc.length;++b){
	                    if(!czy_szablon_subst){
	                    	var czy_side_bar_toc=toc_fun.CzySideBarToc(toc_fun.toc[b]);
	                    	var ile=ile_powtorek;
	                    	var a2=$(toc_fun.toc[b]).find('a');
	                    	if((a2!==null)&&(a2.length>0)){
	                    	    for(var y=0;y<a2.length;++y){
	                    	    	function CzyTitleNaglowek(){
	                    	    		var element_a2=a2[y];
		                    	        var href2=DodatkiSkrypt.Szereg.Kodowanie.DecodeHtml(element_a2.getAttribute('href'));
		                    	        if(href2!==null){
	    	                	        	href2=DodatkiSkrypt.Szereg.Napis.PoprawianieNazwyIdLubHref(href2,true);
	    	                	        	var tocnumber;var toctext_wartosc;
	    	                	        	if(czy_side_bar_toc){
	    	                	        		tocnumber=element_a2.querySelector('.vector-toc-numb');
	    	                	        		if(!tocnumber){return true;}
												toctext_wartosc=element_a2.querySelector('.vector-toc-text').innerHTML.replace(new RegExp(DodatkiSkrypt.Szereg.Norma.BezZnakowychSpecjalnychElementowychWIndywiduum(tocnumber.outerHTML),"g"),"");
	    	                	        	}else{
	        	            	        		tocnumber=element_a2.querySelector('.tocnumber');
	            	        	        		toctext_wartosc=element_a2.querySelector('.toctext').innerHTML;
	    	                	        	}
	                	    	        	if((tocnumber!==null)&&(toctext_wartosc!==null)){
		                    	        		var element_toctext=DodatkiSkrypt.Szereg.Styl.UsuwanieZnacznikoweHTML(DodatkiSkrypt.Szereg.Styl.UsuwanieStyloweHTML(toctext_wartosc),true);
	                    	        		   	//var element_tocnumber=tocnumber;//.innerHTML.replace(/^[_\s]*/g,"").replace(/[_\s]*$/g,"");
		                    	        		var tab=stronasubst_tablica_rozdzialow[element_toctext];
	    	                	        		if((tab!=null)&&(tab.length>0)){
	        	            	        		   	for(var m in tab){
	            	        	        		   		if(tab[m]==tocnumber){
	                	    	        		   			return true;
	                    		        		   		}
	                    		        		   	}
	                    	    	    		}
	                    	        		}
	                    	        	}
	                    	        	return false;
		                    	    }
		                    	    if(CzyTitleNaglowek()){continue;}
		                    	    var parent=a2[y].parentNode;
	    	                	    if((parent!==null)&&(parent.tagName.toUpperCase()=="LI")){
	        	            	        var href=DodatkiSkrypt.Szereg.Kodowanie.DecodeHtml(a2[y].getAttribute('href'));
	            	        	        if(href!==null){
	                	    	        	href=DodatkiSkrypt.Szereg.Napis.PoprawianieNazwyIdLubHref(href,true);
	                    		        	/**/
	                    		        	var dodatek=0;
	                    	    	    	var czy_naglowki=false;
	                    	        		for(var ff in stronasubst_tablica_rozdzialow){czy_naglowki=true;break;}
	                    	        		if(czy_naglowki){
	                    	        			for(var ss=0;ss<y;++ss){
	                    	        				var element_a2=a2[ss];
	                    	        		   		var href2=DodatkiSkrypt.Szereg.Kodowanie.DecodeHtml(element_a2.getAttribute('href'));
	                    	        		   		if(href2!==null){
	                    	        		   			href2=DodatkiSkrypt.Szereg.Napis.PoprawianieNazwyIdLubHref(href2,true);
	                    	        		   			var tocnumber;var toctext_wartosc;
	    	                	        				if(czy_side_bar_toc){
	    	                	        					tocnumber=element_a2.querySelector('.vector-toc-numb');
															if(!tocnumber){continue;}
															toctext_wartosc=element_a2.querySelector('.vector-toc-text').innerHTML.replace(new RegExp(DodatkiSkrypt.Szereg.Norma.BezZnakowychSpecjalnychElementowychWIndywiduum(tocnumber.outerHTML),"g"),"");
	    	                	        				}else{
	        	            	        					tocnumber=element_a2.querySelector('.tocnumber');
	            	        	        					toctext_wartosc=element_a2.querySelector('.toctext').innerHTML;
	    	                	        				}
	                    	        		   			if((tocnumber!==null)&&(toctext_wartosc!==null)){
	                    	        		   				var element_toctext=DodatkiSkrypt.Szereg.Styl.UsuwanieZnacznikoweHTML(DodatkiSkrypt.Szereg.Styl.UsuwanieStyloweHTML(toctext_wartosc),true);
	                    	        		   				//var element_tocnumber=tocnumber;//.innerHTML.replace(/^[_\s]*/g,"").replace(/[_\s]*$/g,"");
	                    	        		   			    var tab=stronasubst_tablica_rozdzialow[element_toctext];
	                    	        		   		    	if((tab!=null)&&(tab.length>0)){
	                    	        		   					for(var m in tab){
	                    	        		   						if(tab[m]==tocnumber){
	                    	        		   							var ile2=ile+dodatek;
	                    	        		   							if(href2==(title2_href+((ile2>1)?("_"+ile2):""))){
	                    	        		   								dodatek+=1;
	                    	        		   							}
	                    	        		   						}
	                    	        		   					}
	                    	        		   		    	}
	                    	        		   			}
	                    	        		   		}
	                    	        			}
	                    	        		}
	                    	        		ile+=dodatek;
	                    	        		//DodatkiSkrypt.Strona.IndeksowanieNapisuWprowadzeniaTekstu();
	                    	        		//var strona_start_element=(((strona_start)&&(strona_start.length>0))?strona_start:$(document.querySelector("#mw-content-text .mw-parser-output")|| document));
	                    	        		//ile=DodatkiSkrypt.Strona.PrzeIndeksowanieWszystkichTOC(strona_start_element,czy_numerowac,ile,toc_fun.toc[b]);
	                    	        		var CalkowiteHref=function(title2_href,ile){
	                    	        			for(var i=1;i<=ile;++i){
	                    	        				var czy_href=tablica_przednaglowkowa_html[title2_href+((i>1)?("_"+i):"")]
	                    	        				if(czy_href){++ile;};
	                    	        			}
	                    	        			return (title2_href+((ile>1)?("_"+ile):""));
	                    	        		}
	                    	        		if(href==CalkowiteHref(title2_href,ile)){
	                    	        			var tab_naglowki=new Array(naglowek,naglowek2);
	                    	        			for(var dd=0;dd<tab_naglowki.length;++dd){
	                    	        				var naglowek=tab_naglowki[dd];
	                    	        				if((naglowek!="")&&(((dd==0)&&(!toc_fun.CzySideBarToc(toc_fun.toc[b])))||((dd==1)&&(toc_fun.CzySideBarToc(toc_fun.toc[b]))))){
	                    	        					var div=document.createElement('div');
	                    	        					div.innerHTML=naglowek;
	                    	        					var ul=parent.querySelector('ul');
	                    	        					if(ul!==null){
	                    	        						var element_li=ul.querySelector('li');
	                    	        						function WsadzDoSpisuTresciTOC(){
	                    	        				    		var ul_jeden=div.querySelector('ul');
	                    	        							var lis=ul_jeden.getElementsByTagName('li');
	                    	        							var element_li_przed=element_li;
	                    	        							for(var ff=lis.length-1;ff>=0;--ff){
	                    	        								var element_lis=lis[ff];
	                    	        								if(element_lis.parentNode==ul_jeden){
	                    	        				       				element_li_przed=ul.insertBefore(element_lis,element_li_przed);
	                    	        								}
	                    	        							}
	                    	        						}
	                    	        						if(element_li!==null){
		                    	        						 WsadzDoSpisuTresciTOC();
	                    	        						}else{
	                    	        				    		 parent.removeChild(ul);
	                    	        				    		 parent.appendChild(div.querySelector('ul'));
	                    	        						}
	                    	        					}else{
	                    	        						parent.appendChild(div.querySelector('ul'));
	                    	        					}
	                    	        				}
	                    	        			}
	                    	        			if(toc_fun.CzySideBarToc(toc_fun.toc[b])){
	                    	        				console.log("TYTAN1")
	                    	        				UzupelnijSideBarTOC(toc_fun.toc[b]);
	                    	        			}
	                    	        			break;
	                    	        		}
	            	        	        }
	                	    	    }
	                    	    }
	                    	}
	                    }else{
	                    	if(!toc_fun.CzySideBarToc(toc_fun.toc[b])){
	                    		if((strona_start!==null)&&(strona_start.length>0)){
	                    			var czy_toc=strona_start.find(toc_fun.toc[b]);
	                    			if((czy_toc===null)||(czy_toc.length==0)){continue;}
	                    			var strona_start2=$(toc_fun.toc[b]).parents('.strona_start');
	                    			if(strona_start2[0]!=strona_start[0]){continue;}
	                    		}else{
	                    			var toc_strona_start=$(toc_fun.toc[b]).parents('.strona_start');
	                    			if((toc_strona_start!==null)&&(toc_strona_start.length>0)){continue;}
	                    		}
	                    		
	                    		toc_fun.toc[b].classList.add('toc_ukończony');
	                    		
	                    		var ul=toc_fun.toc[b].querySelector("ul");
	                    		var div=document.createElement('div');
	                    		div.innerHTML=naglowek;
	                    		$(ul).parent().each((i,rodzic)=>{
									rodzic.replaceChild(div.querySelector("ul"),ul);
								});

	                    	}else{ 
	                    		var nav=document.createElement('nav');
	                    		nav.setAttribute('id','mw-panel-toc');
	                    		nav.setAttribute('class','vector-toc');
	                    		nav.setAttribute('role','navigation');
	                    		nav.setAttribute('aria-labelledby','vector-toc-label');
	                    		nav.setAttribute('data-event-name','ui.vector-toc');
	                    		var div=document.createElement('div');
	                    		div.setAttribute('id','vector-toc-label');
	                    		div.setAttribute('class','vector-toc-header');
	                    		var p=document.createElement('p');
	                    		p.setAttribute('class','vector-toc-title');
	                    		var zawartosc=document.createTextNode(" Zawartość ")
	                    		p.appendChild(zawartosc);
	                    		
	                    		var button=document.createElement('div');
	                    		button.setAttribute('class','vector-toc-uncollapse-button');
	                    		button.innerHTML='przenieś do paska bocznego';
	                    		p.appendChild(button);
	                    		var button2=document.createElement('button');
	                    		button2.setAttribute('class','vector-toc-collapse-button');
	                    		var ukryj=document.createTextNode(" ukryj ")
	                    		button2.appendChild(ukryj);
	                    		p.appendChild(button2);
	                    		
	                    		div.appendChild(p)
	                    		nav.appendChild(div);
	                    		var div2=document.createElement('div');
	                    		div2.innerHTML=naglowek2;
	                    		nav.appendChild(div2.querySelector('ul'));
	                    		toc_fun.toc[b].innerHTML="";
	                    		toc_fun.toc[b].appendChild(nav);
	                    		toc_fun.toc[b].classList.add('sidebar_obecny');
	                    		UzupelnijSideBarTOC(toc_fun.toc[b]);
	                    	}
	                    }
	                }
				}
			}
		}
	}
	if((toc_fun.toc!==null)&&(toc_fun.toc.length>0)){
		for(var w=0;w<toc_fun.toc.length;++w){
			var li=$(toc_fun.toc[w]).find('li');
			var poziom;
            var section=1;
            var toc_section;var toc_level;var toc_section_wzor;var toc_level_wzor;
            if(toc_fun.CzySideBarToc(toc_fun.toc[w])){
            	toc_section="vector-toc-section";toc_level="vector-toc-level";
            	toc_section_wzor="vector-toc-section-\\d+";toc_level_wzor="vector-toc-level-\\d+";
            }else{
            	toc_section="tocsection";toc_level="toclevel";
            	toc_section_wzor="tocsection-\\d+";toc_level_wzor="toclevel-\\d+";
            }
            if((li!==null)&&(li.length>0)){
            	for(var z=0;z<li.length;++z){
            		var element_li=li[z];
            		if((element_li.tagName.toUpperCase()=="LI")
            			&&(element_li.parentNode!==null)
            				&&(element_li.parentNode.tagName.toUpperCase()=="UL")
            					&&(element_li.parentNode.parentNode!==null)
            						&&(element_li.parentNode.parentNode.tagName.toUpperCase()=="LI")
            		){
            			var parent=element_li.parentNode.parentNode;
            			var klasa=parent.getAttribute('class');
            			if(klasa!==null){
            				var klasy=parent.classList;
            				poziom=undefined;
            				for(var m in klasy){
            					var poziom_pasujacy=klasy[m].match(new RegExp("^"+toc_level_wzor+"$","g"));
            					if(poziom_pasujacy!==null){
            						poziom=parseInt(poziom_pasujacy.toString().match(/\d+$/).toString())+1;
            						break;
            					}
            				}
            				poziom=((poziom!==undefined)?poziom:1);
            			}else{poziom=1;}
            		}else{poziom=1;}
            		var klasa=element_li.getAttribute('class');
            		if(klasa!==null){
            			var czy_section=klasa.match(new RegExp(toc_section_wzor));
            			if(czy_section!==null){
            				klasa=klasa.replace(new RegExp(toc_section_wzor,"g"),toc_section+"-"+section);
            				element_li.setAttribute('class',klasa);
            			}else{
            				element_li.classList.add(toc_section+"-"+section);
            			}
            			var czy_level=klasa.match(new RegExp(toc_level_wzor,"g"));
            			if(czy_level!==null){
            				klasa=element_li.getAttribute('class');
            				if(klasa!==null){
            					klasa=klasa.replace(new RegExp(toc_level_wzor,"g"),toc_level+"-"+poziom);
            					element_li.setAttribute('class',klasa);
            				}
            			}else{
            				element_li.classList.add(toc_level+"-"+poziom);
            			}
            		}else{
            			element_li.setAttribute('class',toc_level+"-"+poziom+" "+toc_section+"-"+section)
            		}
            		section=section+1;
            	}
			}
        }
        //Poczatek ustalania num
        for(var w=0;w<toc_fun.toc.length;++w){
        	var tocnumer;
            if(toc_fun.CzySideBarToc(toc_fun.toc[w])){
            	tocnumber=$(toc_fun.toc[w]).find('.vector-toc-numb');
				if(!tocnumber){continue;}
            }else{
            	tocnumber=$(toc_fun.toc[w]).find('.tocnumber');
            }
            if((tocnumber!==null)&&(tocnumber.length>0)){
            	var ostatnie=undefined;
            	for(var hh=0;hh<tocnumber.length;++hh){
            		var element_tocnumber=tocnumber[hh];
            		var zawartosc=element_tocnumber.innerHTML;
            		if(zawartosc.match(/^numer\./g)){
            			if(ostatnie!=undefined){
            				element_tocnumber.innerHTML=zawartosc.replace(/^numer\./g,ostatnie+".");
            			}else{
            				element_tocnumber.innerHTML=zawartosc.replace(/^numer\./g,"");
            			}
            		}else{
            			ostatnie=zawartosc;
            		}
            	}	
            }
       }
       //Koniec ustalania num
	}
}
DodatkiSkrypt.Strona.ZamienianieNazwyLinkuSpisuMateriiTOC=function(hn_element,czy_numerowac,stronasubst_latex){
	var id_stara_nazwa=hn_element.getAttribute('id');
	if(id_stara_nazwa===null){console.log("Nie znalazłem id element nagłówka.");return;}
	var nowa_nazwa=DodatkiSkrypt.Szereg.Styl.UsuwanieStyloweHTML(hn_element.innerHTML);
	if(stronasubst_latex){
		nowa_nazwa=DodatkiSkrypt.Szereg.Styl.UsuwanieZnacznikoweHTML(DodatkiSkrypt.Szereg.Styl.UsuwanieStyloweHTML(nowa_nazwa),true);
	}else{
		nowa_nazwa=DodatkiSkrypt.Szereg.Styl.UsuwanieZnacznikoweLinkuHTML(DodatkiSkrypt.Szereg.Styl.UsuwanieStyloweHTML(nowa_nazwa));
	}
	
	var rodzic=undefined;
	var tab_rodzic=$(hn_element).parents(".strona_start");
	
	if((tab_rodzic!==null)&&(tab_rodzic.length>0)){
		rodzic=tab_rodzic[0];
	}
	
	var toc_fun=new DodatkiSkrypt.Strona.ListaNodeTOC(rodzic,czy_numerowac);
	
	if((toc_fun.toc!==null)&&(toc_fun.toc.length>0)){
		for(var w=0;w<toc_fun.toc.length;++w){
			var toc=toc_fun.toc[w];
			var czy_side_bar_toc=toc_fun.CzySideBarToc(toc);
			if((!czy_side_bar_toc)&&(rodzic)){
				var potomek=$(rodzic).find(toc);
				if((potomek===null)||(potomek.length==0)){
					continue;
				}
			}
			var a=$(toc).find('a');
			if((a!==null)&&(a.length>0)){
				for(var p=0;p<a.length;++p){
					var element_a=a[p];
					var poczatek=element_a.parentNode.getAttribute('id')
					if(poczatek=='toc-mw-content-text'){continue;}
					
					var innerhref=DodatkiSkrypt.Szereg.Styl.UsuwanieStyloweHTML(DodatkiSkrypt.Szereg.Kodowanie.DecodeHtml(a[p].getAttribute('href'),false).replace(/^#/g,""));
					if(innerhref==id_stara_nazwa){
						var toctext;
						if(czy_side_bar_toc){
							toctext=a[p].querySelector('.vector-toc-text');
						}else{
							toctext=a[p].querySelector('.toctext');
						}
						if(toctext!==null){
							if(czy_side_bar_toc){
								var num=toctext.querySelector('.vector-toc-numb');
								if(!num){continue;}
								toctext.innerHTML=num.outerHTML+nowa_nazwa;
							}else{
								toctext.innerHTML=nowa_nazwa;
							}
						}
						break;
					}
				}
			}
		}
	}
	DodatkiSkrypt.Strona.IndeksowanieNapisuWprowadzeniaTekstu();
	DodatkiSkrypt.Strona.PrzeIndeksowanieWszystkichTOC(rodzic,czy_numerowac);
}
DodatkiSkrypt.Strona.ZamienianeAdresoweLinkoweReferencjiByByłyWskazywalneDoStronyAktualnej=function(element,title,titles){
	var a=$(element).find('a');
	if((a!==null)&&(a.length>0)){
	    var lena=a.length;
	    for(var i=0;i<lena;++i){
	        var element_a=a[i];
		    var href=DodatkiSkrypt.Szereg.Kodowanie.DecodeHtml(element_a.getAttribute('href'));
		    if(href!==null){
		    	var re=/^[^\?]+\?[^&]+=[^&]*&?/g;
		    	if(!re.test(href)){
					var re2=/#/g;
					var s=href.search(re2);
					if(s!=-1){
						var re=/^\/wiki\//g;
						if(re.test(href)){
							var href2=href.substring(6,s);
							href2=href2.replace(/^[_\s]*/g,"").replace(/[_\s]*$/g,"").replace(/[_\s]+/g,"_");
							for(var p=0;p<titles.length;++p){
								var strona_bez_hash=titles[p].replace(/^([^#]*)#(.*)$/g,"$1");
								var strona=strona_bez_hash.replace(/^[_\s]*/g,"").replace(/[_\s]*$/g,"").replace(/[_\s]+/g,"_");
								if(href2==strona){
									var href3=href.replace(/^[^#]*/g,"");
									element_a.setAttribute('href',DodatkiSkrypt.Szereg.Kodowanie.EncodeHtml(href3));
									element_a.setAttribute("title","");
									element_a.setAttribute("old_href",href);
								}
							}
						}
						if(s==0){
								element_a.setAttribute("old_href","/wiki/"+title+href);
						}
					}else{
						var re=/^\/wiki\//g;
						if(re.test(href)){
						    var hrefs=href.replace(re,"");
						    hrefs=hrefs.replace(/^[_\s]*/g,"").replace(/[_\s]*$/g,"").replace(/[_\s]+/g,"_");
							for(var p=0;p<titles.length;++p){
								var strona_bez_hash=titles[p].replace(/^([^#]*)#(.*)$/g,"$1");
								var strona=strona_bez_hash.replace(/^[_\s]*/g,"").replace(/[_\s]*$/g,"").replace(/[_\s]+/g,"_");
						    	if(hrefs==strona){
						    		var hrefs2=hrefs.replace(/^[^\/]*\//g,"");
						    		element_a.setAttribute('href',DodatkiSkrypt.Szereg.Kodowanie.EncodeHtml('#'+hrefs2));
						    		element_a.setAttribute("title","");
						    		element_a.setAttribute("old_href",href);
						    	}
						    }
						}
					}
				}
		    }
		}
	}
}
DodatkiSkrypt.Strona.ZmienianieNazwReferencjiNaNazwyProjektuPodrecznika=function(rodzic){
	if(!rodzic){
		var $rodzic=$('body:not(.ns-6) #mw-content-text .mw-parser-output, body.ns-6 #mw-content-text');
		if(($rodzic==null)||($rodzic.length==0)){return;}
		rodzic=$rodzic[0];
	}
	var a=$(rodzic).find('a');
	if((a!==null)&&(a.length>0)){
		var bookname=DodatkiSkrypt.Info.page.bookname.replace(/[\s_]+/g," ");
		var re_str=DodatkiSkrypt.Szereg.Norma.BezZnakowychSpecjalnychElementowychWIndywiduum(bookname);
		re_str=re_str.replace(/^(.)/g,function(s){
			return "["+s.toLowerCase()+s.toUpperCase()+"]";
		})
		re_str="^"+re_str+"\\/";
		var re=new RegExp(re_str);
		
		for(var i=0;i<a.length;++i){
			var element_a=a[i];
			var parents=$(element_a).parents('.mw-other-articles');
			if((parents!==null)&&(parents.length>0)){continue;}
			var nazwa=element_a.innerHTML.replace(/[\s_]+/g," ");
			var href=element_a.getAttribute('href');
			var strona=href?DodatkiSkrypt.Szereg.Kodowanie.DecodeHtml(href,true).replace(/^\/wiki\//g,""):href;
			if((strona)&&(nazwa==strona)&&(re.test(nazwa))){
				nazwa=nazwa.replace(re,"");
				element_a.innerHTML=nazwa;
			}
		}
	}
}
DodatkiSkrypt.Strona.PoprawianieNapisoweNumeruWprowadzeniaTekstu=function(element_analizowany){
	var parent=element_analizowany.parentNode;
	var headline=parent.querySelector('.mw-headline');
	var h_numer_tag=headline.parentNode;
	var h_numer=DodatkiSkrypt.Szereg.HNumer.PoziomNapisuWprowadzeniaTekstu(h_numer_tag);
	if(h_numer===null){return;}
	var headline_element=element_analizowany.getElementsByClassName('mw-headline');
	if((headline_element!==null)&&(headline_element.length>0)){
		var HNumer=DodatkiSkrypt.Szereg.HNumer.LiczonyHNumer();
		var h_numer_old=h_numer;
		var tab_headline_element=new Array();
		for (var i=0;i<headline_element.length;++i){tab_headline_element[i]=headline_element[i];}
		for(var i=0;i<tab_headline_element.length;++i){
			var h_element=tab_headline_element[i].parentNode;
			var h_numer_element=DodatkiSkrypt.Szereg.HNumer.PoziomNapisuWprowadzeniaTekstu(h_element);
			var h_numer=HNumer(h_numer_element)+h_numer_old;
			if(h_numer_element!=h_numer){
				var outerHTML=h_element.outerHTML;
				outerHTML=outerHTML.replace(/^<[Hh]\d+/g,"<H"+((h_numer<=6)?h_numer:6));
				outerHTML=outerHTML.replace(/<\/[Hh]\d+>$/g,"</H"+((h_numer<=6)?h_numer:6)+">");
				h_element.outerHTML=outerHTML;
				h_element.classList.remove('mw-hnumber-'+h_numer_element);
				if(h_numer>6){
					h_element.classList.add('mw-hnumber-'+h_numer);
				}
			}
		}
	}
}
/******/
/*Program do obsługi szablonu StronaStart i jego pokrewnych książkowych*/
DodatkiSkrypt.StronaStart=new Array();
var NumerBaza=function(element_baza){
	var __str=$('#mw-content-text .mw-parser-output').find('.strona_start .strona_środkowa');
	for(var p=0;p<__str.length;++p){
		var str=$(__str[p]).find('> .menu > div > .menu_boks');
		for(var i=0;i<str.length;++i){
			if(element_baza==str[i]){
				return i;
			}
		};
	}
	return null;
}
var toc_stronastart_muteks=new DodatkiSkrypt.Muteks();
var generowane_watki_2=new DodatkiSkrypt.LicznikGenerowanychKorutyn();
var tab_funkcja=new Array();
DodatkiSkrypt.StronaStart.DodatkowaInformacjaTekst=function(){
	var przycisk=mw.html.element('div',{class:'menu_boks',style:'margin:0 0.3125rem 0 0;padding:0 0.3125rem;background-color:blue;color:white;float:left;width:auto;height:1.25rem;border: solid #aaa 1px;text-align:center;position:relative;right:0;top:0;'},new mw.html.Raw(mw.html.element('span',{class:'spis_treści',style:'display:none;'},new mw.html.Raw('Spis treści'))+mw.html.element('span',{class:'boksy',style:'display:inline'},new mw.html.Raw('Boksy'))+mw.html.element('span',{class:'nic',style:'display:none;'},new mw.html.Raw('Nic'))));
	var menu='[[Wikibooks:Prawa autorskie|Prawa autorskie]]{{•}} [[Wikibooks:Informacje prawne|Informacje prawne]]{{•}} [[Pomoc:Tworzenie podręcznika|Tworzenie podręcznika]]{{•}} [[Pomoc:Edycja kodu|Edycja kodu]]{{•}} [[Pomoc:Jak edytować artykuły|Jak edytować artykuły]]';
	var tekst=mw.html.element('div',{style:'border: solid #aaa 1px;padding:0.3125rem 0.625rem 0.25rem 0.3125rem;margin-bottom:0.1875rem',class:'fonty_rodzina_sans fonty_główna_kolumna'},new mw.html.Raw(przycisk+mw.html.element('div',{style:'margin-top:0.0625rem'},new mw.html.Raw(menu))+'{{DivClear}}'));
	return tekst;
}
DodatkiSkrypt.StronaStart.DodatkowaInformacjaStronaStart=function(){
	var str=$('#mw-content-text .mw-parser-output').find('.strona_start .strona_środkowa > .menu');
	if(str.length>0){
		var tekst=DodatkiSkrypt.StronaStart.DodatkowaInformacjaTekst();
		return DodatkiSkrypt.Scribunto.ApiLuaParse(tekst).DodatkiSkryptThen(function(data){
			var tekst=DodatkiSkrypt.Szereg.Styl.WstawianieTekstuZnacznikaMwParserOutput(data.parse.text["*"]);
			for(var i=0;i<str.length;++i){
				str[i].innerHTML=tekst;
			}
			return Promise.resolve();
		});
	}
	return Promise.reject();
}
DodatkiSkrypt.StronaStart.DodawanieFunkcjiDoStronaStart=function(element){
	$(document).DodatkiSkryptReady(function(){
		tab_funkcja.push(element);
	},null,toc_stronastart_muteks);
}
DodatkiSkrypt.StronaStart.CzyNieukrytyLubNiepustyElement=function(element){
	return (($(element).css('visibility')=="visible")&&($(element).children('div:not(:empty)').length>0));
}
DodatkiSkrypt.StronaStart.NawigacjaStronicowa=function(nie_przycisk,__FUNKCJA){
	var promise=$(document).DodatkiSkryptReady(function(){
		var Nawigacja=function(element,strona,czy_przeciwnie){
			function DodatkoweFunkcje(){
				$(document).DodatkiSkryptReady(function(){
					for(var funkcja of tab_funkcja){
						funkcja();
					}
				},null,toc_stronastart_muteks);
			}
			var SpisBoksyAnaliza=function(){
				DodatkoweFunkcje();
				$(document).DodatkiSkryptReady(function(){
					DodatkiSkrypt.Boksy.ScrollBarOverflow(null,null,generowane_watki_2);
				},generowane_watki_2);
				$(document).DodatkiSkryptReady(function(){
					DodatkiSkrypt.Boksy.OptimalXY(null,null,generowane_watki_2);
				},generowane_watki_2);
			}
			var SpisPokazBoksyUkryj=function(element,numer){
				$($(element).closest('.strona_start').find('.strona_lewa, .strona_prawa')[numer]).find('.nawigacja_boksy, .nawigacja_spis').each(function(i,element){
	    			var str=$(element).closest('.strona_prawa, .strona_lewa').first();
	    			str.css('position','relative');
					str.addClass('strona_start-nawigacja_spis');
					str.removeClass('strona_start-nawigacja_boksy');
	    		});
	    		$($(element).closest('.strona_start').find('.strona_lewa, .strona_prawa')[numer]).find('.nawigacja_boksy').each(function(i,element){
	    			$(element).css('visibility',"hidden");
	    			$(element).attr('mw-menu-boks',"false");
	    		});
	    		$($(element).closest('.strona_start').find('.strona_lewa, .strona_prawa')[numer]).find('.nawigacja_spis').each(function(i,element){
	    			$(element).css('visibility',"visible");
	    			$(element).attr('mw-menu-boks',"true");
	    		});
	    		SpisBoksyAnaliza();
			}
			var SpisUkryjBoksyPokaz=function(element,numer){
				$($(element).closest('.strona_start').find('.strona_lewa, .strona_prawa')[numer]).find('.nawigacja_boksy, .nawigacja_spis').each(function(i,element){
					var str=$(element).closest('.strona_prawa, .strona_lewa').first();
	    			str.css('position','static');
					str.addClass('strona_start-nawigacja_boksy');
					str.removeClass('strona_start-nawigacja_spis');
				});
		  		$($(element).closest('.strona_start').find('.strona_lewa, .strona_prawa')[numer]).find('.nawigacja_spis').each(function(i,element){
	    			$(element).css('visibility',"hidden");
	    			$(element).attr('mw-menu-boks',"false");
	    		});
	    		$($(element).closest('.strona_start').find('.strona_lewa, .strona_prawa')[numer]).find('.nawigacja_boksy').each(function(i,element){
	    			$(element).css('visibility',"visible");
	    			$(element).attr('mw-menu-boks',"true");
	    		});
	    		SpisBoksyAnaliza();
			}
			var SpisUkryjBoksyUkryj=function(element,numer){
				$($(element).closest('.strona_start').find('.strona_lewa, .strona_prawa')[numer]).find('.nawigacja_boksy, .nawigacja_spis').each(function(i,element){
					$(element).css('visibility',"hidden");
					$(element).attr('mw-menu-boks',"false");
					var str=$(element).closest('.strona_prawa, .strona_lewa').first();
	    			str.css('position','relative');
					str.removeClass('strona_start-nawigacja_boksy');
					str.removeClass('strona_start-nawigacja_spis');
				});
	    		SpisBoksyAnaliza();
			}
			var numer=1-NumerBaza(element);
			$(element).attr('mw-menu-boks-order',numer);
			var mw_menu_boksy=DodatkiSkrypt.DodatkiSkryptUserOption.get('mw-menu-boks-strona:'+strona+"-numer:"+numer,"Nawigacja-StronaStart");
			return mw_menu_boksy.DodatkiSkryptThen(function(mw_menu_boksy){
				var menu_boks_zmienna="0";
				var czy_usr=false;
				if((mw_menu_boksy)&&(mw_menu_boksy!="")){
					menu_boks_zmienna=parseInt(mw_menu_boksy);
					menu_boks_zmienna=Object(isNaN(menu_boks_zmienna)?"0":menu_boks_zmienna).toString();
				}else{
					menu_boks_zmienna=$($(element).closest('.strona_start').find('.nawigacja_boksy, .nawigacja_spis').closest('.strona_lewa, .strona_prawa')[numer]).attr('mw-menu-numer-boks');
					if(!menu_boks_zmienna){
						menu_boks_zmienna="0";
					}
					czy_usr=true;
				}
				var licznik=(parseInt(menu_boks_zmienna)+(czy_przeciwnie?1:0))%3;
				var tab=[
					['spis_treści','nawigacja_spis',SpisPokazBoksyUkryj],
					['boksy','nawigacja_boksy',SpisUkryjBoksyPokaz],
					['nic',null,SpisUkryjBoksyUkryj],
				];
				var str_element=$(element).children();
				var menu=function(licznik){
					for(var i=licznik;i<str_element.length;++i){
						if(i+1==tab.length){return i;}
						var element_pos=str_element[i];
						var czy_niepusty=($($(element_pos).closest('.strona_start').find('.strona_lewa, .strona_prawa')[numer]).find('.'+tab[i][1]).children('div:not(:empty)').length>0);
						if(czy_niepusty){
							return i;
						}
					}
				}
				/**/
				var menu_i=menu(licznik);
				var menu_p=menu(menu_i+1);
				menu_p=((menu_p!=undefined)?menu_p:0);
				/**/
				menu_boks_zmienna=Object(menu_i).toString();
				/**/
				$($(element).closest('.strona_start').find('.nawigacja_boksy, .nawigacja_spis').closest('.strona_lewa, .strona_prawa')[numer]).attr('mw-menu-numer-boks',menu_boks_zmienna);
				if((czy_przeciwnie)||(czy_usr)){
					DodatkiSkrypt.DodatkiSkryptUserOption.set('mw-menu-boks-strona:'+strona+"-numer:"+numer,menu_boks_zmienna,"Nawigacja-StronaStart");
				}
				/**/
				var str_element=$(element).children();
				str_element.each(function(i,element){	
                     if(menu_p==i){
                       	$(element).css('display',"block");
                     }else{
                       	$(element).css('display',"none");
                     }
				});
				tab[menu_i][2](str_element[menu_i],numer);
				if(__FUNKCJA){__FUNKCJA();}
			});
		}
		return DodatkiSkrypt.Szereg.Zmienne["CzekajNaZbiórZmiennych"](DodatkiSkrypt.Info,new Array("page")).DodatkiSkryptThen(function(){
			var strona=DodatkiSkrypt.Info.page.fullname;
			$('#mw-content-text .mw-parser-output').find('.strona_start .strona_środkowa > .menu > div > .menu_boks').each(function(i,element){
				Nawigacja(element,strona,false);
			});
			var elements=$('#mw-content-text .mw-parser-output').find('.strona_start .strona_środkowa > .menu > div > .menu_boks');
			elements.closest('.menu').show();
			if(!nie_przycisk){
				DodatkiSkrypt.StronaStart.StronaStartZdarzeniePrzycisku=function(){
					var id=this;
					$(document).DodatkiSkryptReady(function(){
						$(id).parents('#mw-content-text .mw-parser-output .strona_start').first().find('.strona_środkowa > .menu > div > .menu_boks').each(function(i,element){
							Nawigacja(element,strona,true);
						});
					},null,toc_stronastart_muteks);
				}
				if(DodatkiSkrypt.StronaStart.StronaStartZdarzeniePrzycisku){
					DodatkiSkrypt.Zdarzenia.ZdarzeniaJavaScript(elements,'click','StronaStartZdarzeniePrzycisku',null,DodatkiSkrypt.PodTablicaDodatkiSkrypt(true,'StronaStart'),DodatkiSkrypt.PodTablicaDodatkiSkrypt(false,'StronaStart'));
				}
			}
			return Promise.resolve(DodatkiSkrypt);
		}).catch(function(){return Promise.reject(DodatkiSkrypt);});
	},null,toc_stronastart_muteks);
	var promise2=DodatkiSkrypt.CzekanieFinalizacjiWszystkichKorutyn(generowane_watki_2,toc_stronastart_muteks);
	return Promise.all([promise,promise2]);
}
$(document).DodatkiSkryptReady(function(){
	return DodatkiSkrypt.StronaStart.DodatkowaInformacjaStronaStart().DodatkiSkryptThen(function(){
		return DodatkiSkrypt.StronaStart.NawigacjaStronicowa(false);
	}).DodatkiSkryptCatch(function(){});
}/*,generowane_watki_2*/);
DodatkiSkrypt.StronaStart.UstawianieStronySzablonuStronicowego=function(__FUNCTION){
	var promise1=DodatkiSkrypt.Boksy.FunkcjaBoksowyMuteks(function(){__FUNCTION();});
	var promise2=DodatkiSkrypt.Boksy.StickyXY();
	return Promise.all([promise1,promise2]);
	//var promise2=DodatkiSkrypt.CzekajNaZakaczenieWatkow(generowane_watki_2,toc_stronastart_muteks);
	//return Promise.all([promise,promise2]);
}
/*Funkcja do kolorowania na czarno i w sposób pogrubiony napisu czcionki linki w spisie treści w szablonie stronicowym otwierającym po prawej, lwej, górnej lub dolnej, stronie*/
DodatkiSkrypt.StronaStart.ZaznaczTOCStronaStart=function(event){
	var strona_start_elements=$('.strona_start');
	var parser_element=document.querySelector('.mw-parser-output');
	if(parser_element){
		var height_sticky=0;
		$('html.client-js.vector-sticky-header-enabled body.skin-vector-search-vue.vector-sticky-header-visible div.vector-sticky-header, html.client-js body.skin-timeless #mw-header-container ~ #mw-header-hack').each(function(i,el){
				var rect_sticky=el.getBoundingClientRect();
				height_sticky=parseInt(rect_sticky.height+rect_sticky.top);
		});
		var parser_rect=parser_element.getBoundingClientRect();
		var tak_sticky=false;
		for(var p=0;p<strona_start_elements.length;++p){
			var strona_start_element=strona_start_elements[p];
			var zawartosc_element=$(strona_start_element).find('> div > .główna_strona > .strona_środkowa > .strona > div > .ciało_kontener > .ciało_strona');
			var h_element_str=zawartosc_element.find('h1, h2, h3, h4, h5, h6').find('.mw-headline');
			var strony_element=$(strona_start_element).find('.główna_strona').find('.strona_prawa .mw-sticky-y, .strona_lewa .mw-sticky-y, .strona_górna .mw-sticky-x, .strona_dolna .mw-sticky-x');
			for(var s=0;s<strony_element.length;++s){
				var a_element=$(strony_element[s]).find('.kontener_spis_treści > table.spis_treści > tbody > tr:last-child > td > div li a, .pierwsza_strona_spis_treści > table.spis_treści > tbody > tr:last-child > td > div li a, .strona_spisu_treści > .toc_wykaz a');
				a_element.removeClass('zaznaczone');
				var tab_a_element=new Array();
				for(var i=0;i<a_element.length;++i){
					var a_element_temp=a_element[i];
					var href=a_element_temp.getAttribute('href');
					if(href===null){continue;}
					href=DodatkiSkrypt.Szereg.Kodowanie.DecodeHtml(href,false);
					var id_href=href.replace(/^\s*#\s*/g,"").replace(/^[\s_]*/g,"").replace(/[\s_]*$/g,"").replace(/[\s_]+/g,"_");
					tab_a_element[id_href]=a_element_temp;
				}
				var tak_przerwij=false;
				for(var d=0;d<h_element_str.length;++d){
					var h_element=h_element_str[d];
					var rect_el_h=h_element.getBoundingClientRect();
					if((rect_el_h.bottom>=height_sticky)&&(rect_el_h.top>=parser_rect.top)){
						var id=h_element.getAttribute('id');
						if(id===null){continue;}
						id=DodatkiSkrypt.Szereg.Kodowanie.DecodeHtml(id,false);
						id=id.replace(/^[\s_]*/g,"").replace(/[\s_]*$/g,"").replace(/[\s_]+/g,"_");
						//for(var y=0;y<a_element.length;++y){
						var a_element_temp=tab_a_element[id];
						if(a_element_temp===undefined){continue;}
						var czy_ukryty=DodatkiSkrypt.Szereg.CzyElementHTMLJestUkrytyPrzezSiebieLubPrzezRodzica(a_element_temp);
						if(!czy_ukryty){
							//var href=a_element_temp.getAttribute('href');
							//href=DodatkiSkrypt.Szereg.Kodowanie.DecodeHtml(href,false);
							function ElementTOC(element_myszki){
								if(!element_myszki){return null;}
								var element_myszki_a=$(element_myszki.target).closest('a');
								if(element_myszki_a.length==0){return null;}
								var href_mysz=element_myszki_a[0].getAttribute('href');
								var id_href_mysz=href_mysz.replace(/^\s*#\s*/g,"").replace(/^[\s_]*/g,"").replace(/[\s_]*$/g,"").replace(/[\s_]+/g,"_");
								if(id==id_href_mysz){return true;}
								return false;
							}
							var czy_href_toc=((event)?(ElementTOC(event)):null);
							if((czy_href_toc==null)||(czy_href_toc)){
								$(a_element_temp).addClass('zaznaczone');
								tak_przerwij=true;
								tak_sticky=true;
								break;
							}
						}
					}
				}
				if((!tak_przerwij)&&(h_element_str.length>0)){
					var h_element=h_element_str[h_element_str.length-1];
					var id=h_element.getAttribute('id');
					if(id===null){continue;}
					id=DodatkiSkrypt.Szereg.Kodowanie.DecodeHtml(id,false);
					id=id.replace(/^[\s_]*/g,"").replace(/[\s_]*$/g,"").replace(/[\s_]+/g,"_");
					a_element_temp=tab_a_element[id];
					if(a_element_temp===undefined){continue;}
					$(a_element_temp).addClass('zaznaczone');
					tak_sticky=true;
				}
				tak_przerwij=false;
			}
		}
		//if(tak_sticky){
		//	DodatkiSkrypt.Boksy.StickyXY();
		//}
	}
}
/**/
var scrollclickmuteks=new DodatkiSkrypt.Muteks();
var __event=undefined;
/**/
DodatkiSkrypt.StronaStart.UstawScrollTop=function(){
	return $(document).DodatkiSkryptReady(function(){
		return $(document).DodatkiSkryptReady(function(){
			var height_sticky=0;
			$('html.client-js.vector-sticky-header-enabled body.skin-vector-search-vue.vector-sticky-header-visible div.vector-sticky-header, html.client-js body.skin-timeless #mw-header-container ~ #mw-header-hack').each(function(i,el){
				var rect_sticky=el.getBoundingClientRect();
				height_sticky=parseInt(rect_sticky.height+rect_sticky.top);
			});
			var parser_element=document.querySelector('.mw-parser-output');
			if(parser_element){
				var h_element_str=$(parser_element).find('h1, h2, h3, h4, h5, h6').find('.mw-headline');
				for(var i=0;i<h_element_str.length;++i){
					var element=h_element_str[i];
					var rect_element=element.getBoundingClientRect();
					if(rect_element.top>=height_sticky){
						window.scrollTop=rect_element.top+window.scrollY-height_sticky;
						break;
					}
				}
			}
		},null,muteks_boksy);
	},null,scrollclickmuteks);
}
DodatkiSkrypt.StronaStart.UstawScrollSpisRzeczy=function(){
	return $(document).DodatkiSkryptReady(function(){
		return $(document).DodatkiSkryptReady(function(){
			$('.zaznaczone').each(function(i,element_zaznaczone){
				$(element_zaznaczone).parents('strona_spisu_treści, .toc_wykaz, .pierwsza_strona, .toc_spis').each(function(i,element_spis_tresci){
					var rect_element_zaznaczone=element_zaznaczone.getBoundingClientRect();
					var rect_element_spis_tresci=element_spis_tresci.getBoundingClientRect();
					var odleglosc=rect_element_zaznaczone.bottom-rect_element_spis_tresci.top-rect_element_spis_tresci.height;
					if(odleglosc>=0){
						element_spis_tresci.scrollTop=element_spis_tresci.scrollTop+odleglosc;
					}else if(rect_element_zaznaczone.top<rect_element_spis_tresci.top){
						//element_spis_tresci.scrollTop=element_spis_tresci.scrollTop+rect_element_zaznaczone.top-rect_element_spis_tresci.top;
					};
				});
			});
		},null,muteks_boksy);
	},null,scrollclickmuteks);
}
DodatkiSkrypt.StronaStart.ZaznaczScrollTOCStronaStart=function(){
	return $(document).DodatkiSkryptReady(function(){
		return $(document).DodatkiSkryptReady(function(){
			return $(document).DodatkiSkryptSetTimeOut(function(){
				var event=undefined;
				if(__event){
					event=__event;
					__event=undefined;
				}
				return DodatkiSkrypt.StronaStart.ZaznaczTOCStronaStart(event);
			},25);
		},null,muteks_boksy).DodatkiSkryptThen(function(){
			return DodatkiSkrypt.Boksy.StickyXY();
		});	
	},null,scrollclickmuteks);
}
DodatkiSkrypt.StronaStart.ZaznaczClickTOCStronaStart=function(event){
	var promise1=$(document).DodatkiSkryptReady(function(){
		return $(document).DodatkiSkryptReady(function(){
			return $(document).DodatkiSkryptSetTimeOut(function(){
				__event=event;
				return DodatkiSkrypt.StronaStart.ZaznaczTOCStronaStart(__event);
			},25);
		},null,muteks_boksy).DodatkiSkryptThen(function(){
			return DodatkiSkrypt.Boksy.StickyXY();
		});
	},null,scrollclickmuteks);
	/**/
}
DodatkiSkrypt.StronaStart.PreZaznaczTOCStronaStart=function(){
	$(document).DodatkiSkryptReady(function(){
		return $(document).DodatkiSkryptReady(function(){
			return $(document).DodatkiSkryptSetTimeOut(function(){
				return DodatkiSkrypt.StronaStart.ZaznaczTOCStronaStart();
			},25);
		},null,muteks_boksy).DodatkiSkryptThen(function(){
			return DodatkiSkrypt.Boksy.StickyXY();
		});	
	},null,scrollclickmuteks);
}
$(document).DodatkiSkryptReady(function(){
	/**/
	DodatkiSkrypt.StronaStart.UstawScrollTop();
	DodatkiSkrypt.StronaStart.PreZaznaczTOCStronaStart();
	DodatkiSkrypt.StronaStart.UstawScrollSpisRzeczy();
	/**/
	$(document).DodatkiSkryptReady(function(){
		$('.strona_prawa > .mw-sticky-y ').find('.pierwsza_strona_spis_treści, .kontener_spis_treści').find('> table.spis_treści > tbody > tr:first-child > th:first-child > span > a').each(function(i,element){
			var href=element.getAttribute('href');
			href=href+";javascript:window.DodatkiSkrypt.StronaStart.PreZaznaczTOCStronaStart()";
			element.setAttribute('href',href);

		});
	},null,muteks_table);
	/**/
	DodatkiSkrypt.Zdarzenia.ZdarzeniaJavaScript(window,"scroll",'ZaznaczScrollTOCStronaStart',null,DodatkiSkrypt.PodTablicaDodatkiSkrypt(true,'StronaStart'),DodatkiSkrypt.PodTablicaDodatkiSkrypt(false,'StronaStart'));
	DodatkiSkrypt.Zdarzenia.ZdarzeniaJavaScript(window,"resize",'ZaznaczScrollTOCStronaStart',null,DodatkiSkrypt.PodTablicaDodatkiSkrypt(true,'StronaStart'),DodatkiSkrypt.PodTablicaDodatkiSkrypt(false,'StronaStart'));
	
	$('.strona_start').find('.główna_strona').find('.strona_prawa .mw-sticky-y, .strona_lewa .mw-sticky-y, .strona_górna .mw-sticky-x, .strona_dolna .mw-sticky-x').find('.kontener_spis_treści > table.spis_treści > tbody > tr:last-child > td > div, .pierwsza_strona_spis_treści > table.spis_treści > tbody > tr:last-child > td > div, .strona_spisu_treści > .toc_wykaz').each(function(i,element){
		DodatkiSkrypt.Zdarzenia.ZdarzeniaJavaScript(element,"click",'UstawScrollTop',null,DodatkiSkrypt.PodTablicaDodatkiSkrypt(true,'StronaStart'),DodatkiSkrypt.PodTablicaDodatkiSkrypt(false,'StronaStart'));
		DodatkiSkrypt.Zdarzenia.ZdarzeniaJavaScript(element,"click",'ZaznaczClickTOCStronaStart',null,DodatkiSkrypt.PodTablicaDodatkiSkrypt(true,'StronaStart'),DodatkiSkrypt.PodTablicaDodatkiSkrypt(false,'StronaStart'));
		DodatkiSkrypt.Zdarzenia.ZdarzeniaJavaScript(element,"click",'UstawScrollSpisRzeczy',null,DodatkiSkrypt.PodTablicaDodatkiSkrypt(true,'StronaStart'),DodatkiSkrypt.PodTablicaDodatkiSkrypt(false,'StronaStart'));
	});
});
/******/
DodatkiSkrypt.muteks_analiza_stron=new DodatkiSkrypt.Muteks();
$(document).DodatkiSkryptReady(function(){
	var tab_promise=new Array();
	tab_promise.push(DodatkiSkrypt.Szereg.Zmienne["CzekajNaZbiórZmiennych"](DodatkiSkrypt.Info,new Array("page")).DodatkiSkryptThen(function(){
		var fullname=DodatkiSkrypt.Info.page.fullname;
		DodatkiSkrypt.Scribunto.Techniczne.PrzekierowanieDoStrony(fullname).DodatkiSkryptThen(function(strona){
			if(strona==""){
				DodatkiSkrypt.Strona.ZmienianieNazwReferencjiNaNazwyProjektuPodrecznika();
			}
		});
	}).DodatkiSkryptCatch(function(){}));
	/**/
	tab_promise.push(DodatkiSkrypt.Strona.IndeksowanieNapisuWprowadzeniaTekstu());
	tab_promise.push(DodatkiSkrypt.Strona.PrzeIndeksowanieWszystkichTOC(document,true));
	tab_promise.push(DodatkiSkrypt.Strona.NaprawianieNapisuWprowadzeniaTekstu(document,true));
	tab_promise.push(DodatkiSkrypt.Szereg.Styl.PrzeniesienieStyloweHTMLNaStartStronyParsera());
	return Promise.allSettled(tab_promise);
},null,DodatkiSkrypt.muteks_analiza_stron);
/******/
window.DodatkiSkrypt=DodatkiSkrypt;
})(mediaWiki,jQuery);