browsermob-proxy2 0.1.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -0,0 +1,60 @@
1
+ require 'childprocess'
2
+ require 'socket'
3
+
4
+ module BrowserMob
5
+ module Proxy
6
+
7
+ class Server
8
+ attr_reader :port
9
+
10
+ def initialize(path, opts = {})
11
+ unless File.exist?(path)
12
+ raise Errno::ENOENT, path
13
+ end
14
+
15
+ unless File.executable?(path)
16
+ raise Errno::EACCES, "not executable: #{path}"
17
+ end
18
+
19
+ @path = path
20
+ @port = Integer(opts[:port] || 8080)
21
+
22
+ @process = ChildProcess.new(path, "--port", port.to_s)
23
+ @process.io.inherit! if opts[:log]
24
+ end
25
+
26
+ def start
27
+ @process.start
28
+ sleep 0.1 until listening?
29
+
30
+ pid = Process.pid
31
+ at_exit { stop if Process.pid == pid }
32
+
33
+ self
34
+ end
35
+
36
+ def url
37
+ "http://localhost:#{port}"
38
+ end
39
+
40
+ def create_proxy
41
+ Client.from url
42
+ end
43
+
44
+ def stop
45
+ @process.stop if @process.alive?
46
+ end
47
+
48
+ private
49
+
50
+
51
+ def listening?
52
+ TCPSocket.new("127.0.0.1", port).close
53
+ true
54
+ rescue
55
+ false
56
+ end
57
+ end # Server
58
+
59
+ end # Proxy
60
+ end # BrowserMob
@@ -0,0 +1,5 @@
1
+ module BrowserMob
2
+ module Proxy
3
+ VERSION = "0.1.0"
4
+ end
5
+ end
@@ -0,0 +1,70 @@
1
+ require 'selenium/webdriver/support'
2
+
3
+ module BrowserMob
4
+ module Proxy
5
+
6
+ #
7
+ # WebDriver event listener that assumes the following:
8
+ #
9
+ # driver.get - new HAR
10
+ # driver.click - new page
11
+ # driver.navigate.back - new page
12
+ # driver.navigate.forward - new page
13
+ #
14
+
15
+ class WebDriverListener < Selenium::WebDriver::Support::AbstractEventListener
16
+ attr_reader :hars
17
+
18
+ def initialize(client, opts = {})
19
+ @client = client
20
+ @hars = []
21
+
22
+ @new_har_opts = {}
23
+ @new_har_opts[:capture_headers] = true if opts[:capture_headers]
24
+ end
25
+
26
+ def reset
27
+ @hars.clear
28
+ end
29
+
30
+ def before_navigate_to(url, driver)
31
+ save_har unless @hars.empty? # first request
32
+ @client.new_har("navigate-to-#{url}", @new_har_opts)
33
+ end
34
+
35
+ def before_navigate_back(driver = nil)
36
+ name = "navigate-back"
37
+ name << "-from-#{driver.current_url}" if driver
38
+
39
+ @client.new_page name
40
+ end
41
+
42
+ def before_navigate_forward(driver = nil)
43
+ name = "navigate-forward"
44
+ name << "-from-#{driver.current_url}" if driver
45
+
46
+ @client.new_page name
47
+ end
48
+
49
+ def before_click(element, driver)
50
+ name = "click-element-#{identifier_for element}"
51
+ @client.new_page name
52
+ end
53
+
54
+ def before_quit(driver)
55
+ save_har
56
+ end
57
+
58
+ private
59
+
60
+ def save_har
61
+ @hars << @client.har
62
+ end
63
+
64
+ def identifier_for(element)
65
+ # can be ovverriden to provide more meaningful info
66
+ element.ref
67
+ end
68
+ end
69
+ end
70
+ end
@@ -0,0 +1,29 @@
1
+ require 'spec_helper'
2
+
3
+ describe "Proxy + WebDriverListener" do
4
+ let(:proxy) { new_proxy }
5
+ let(:listener) { BrowserMob::Proxy::WebDriverListener.new(proxy) }
6
+
7
+ let(:driver) { Selenium::WebDriver.for :firefox, :profile => profile, :listener => listener }
8
+ let(:wait) { Selenium::WebDriver::Wait.new }
9
+
10
+ let(:profile) {
11
+ pr = Selenium::WebDriver::Firefox::Profile.new
12
+ pr.proxy = proxy.selenium_proxy
13
+
14
+ pr
15
+ }
16
+
17
+ after { proxy.close }
18
+
19
+ it "should record events" do
20
+ driver.get url_for("1.html")
21
+ driver.find_element(:link_text => "2").click
22
+ driver.quit
23
+
24
+ hars = listener.hars
25
+ hars.size.should == 1
26
+
27
+ hars.first.pages.size.should == 2
28
+ end
29
+ end
@@ -0,0 +1,72 @@
1
+ require 'spec_helper'
2
+
3
+ describe "Proxy + WebDriver" do
4
+ let(:driver) { Selenium::WebDriver.for :firefox, :profile => profile }
5
+ let(:proxy) { new_proxy }
6
+
7
+ let(:profile) {
8
+ pr = Selenium::WebDriver::Firefox::Profile.new
9
+ pr.proxy = proxy.selenium_proxy
10
+
11
+ pr
12
+ }
13
+
14
+ after {
15
+ driver.quit
16
+ proxy.close
17
+ }
18
+
19
+ it "should fetch a HAR" do
20
+ proxy.new_har("1")
21
+ driver.get url_for("1.html")
22
+
23
+ proxy.new_page "2"
24
+ driver.get url_for("2.html")
25
+
26
+ har = proxy.har
27
+
28
+ har.should be_kind_of(HAR::Archive)
29
+ har.pages.size.should == 2
30
+ end
31
+
32
+ it "should fetch a HAR and capture headers" do
33
+ proxy.new_har("2", :capture_headers => true)
34
+
35
+ driver.get url_for("2.html")
36
+
37
+ entry = proxy.har.entries.first
38
+ entry.should_not be_nil
39
+
40
+ entry.request.headers.should_not be_empty
41
+ end
42
+
43
+ it "should set whitelist and blacklist" do
44
+ proxy.whitelist(/example\.com/, 201)
45
+ proxy.blacklist(/bad\.com/, 404)
46
+ end
47
+
48
+ it "should set headers" do
49
+ proxy.headers('Content-Type' => "text/html")
50
+ end
51
+
52
+ it "should set limits" do
53
+ proxy.limit(:downstream_kbps => 100, :upstream_kbps => 100, :latency => 2)
54
+ end
55
+
56
+ it "should replace domain name lookups" do
57
+ proxy.add_host('www.example.com', '0.0.0.0')
58
+ port = BrowserMob::Proxy::SpecHelper.httpd.port
59
+ driver.get "www.example.com:#{port}/1.html"
60
+ p driver.find_element(:xpath => '//body').text
61
+ driver.find_element(:id,"header").text.should == "BrowserMob-Proxy test page"
62
+ end
63
+
64
+ it "should replace domain name lookups" do
65
+ proxy.rewrite(/(.*)\/1.html/, "$1/2.html")
66
+ port = BrowserMob::Proxy::SpecHelper.httpd.port
67
+ driver.get url_for("1.html")
68
+ p driver.find_element(:xpath => '//body').text
69
+ driver.find_element(:id,"header").text.should == "A second test"
70
+ end
71
+
72
+ end
@@ -0,0 +1,11 @@
1
+ <!DOCTYPE html>
2
+ <html>
3
+ <head>
4
+ <meta charset="utf-8">
5
+ <title>1</title>
6
+ </head>
7
+ <body>
8
+ <h1 id='header'>BrowserMob-Proxy test page</h1>
9
+ <a href="2.html">2</a>
10
+ </body>
11
+ </html>
@@ -0,0 +1,10 @@
1
+ <!DOCTYPE html>
2
+ <html>
3
+ <head>
4
+ <meta charset="utf-8">
5
+ <title>2</title>
6
+ </head>
7
+ <body>
8
+ <h1 id="header">A second test</h1>
9
+ </body>
10
+ </html>
@@ -0,0 +1,10 @@
1
+ <!DOCTYPE html>
2
+ <html>
3
+ <head>
4
+ <meta charset="utf-8">
5
+ <title>Page Title</title>
6
+ </head>
7
+ <body>
8
+
9
+ </body>
10
+ </html>
@@ -0,0 +1,612 @@
1
+ {
2
+ "log":{
3
+ "version":"1.1",
4
+ "creator":{
5
+ "name":"Firebug",
6
+ "version":"1.5X.0b8"
7
+ },
8
+ "browser":{
9
+ "name":"Firefox",
10
+ "version":"3.6b6pre"
11
+ },
12
+ "pages":[{
13
+ "startedDateTime":"2010-01-02T14:51:01.186+01:00",
14
+ "id":"page_62143",
15
+ "title":"Google",
16
+ "pageTimings":{
17
+ "onContentLoad":90,
18
+ "onLoad":245
19
+ }
20
+ }
21
+ ],
22
+ "entries":[{
23
+ "pageref":"page_62143",
24
+ "startedDateTime":"2010-01-02T14:51:01.186+01:00",
25
+ "time":63,
26
+ "request":{
27
+ "method":"GET",
28
+ "url":"http://www.google.cz/",
29
+ "httpVersion":"HTTP/1.1",
30
+ "cookies":[{
31
+ "name":"PREF",
32
+ "value":"ID"
33
+ },
34
+ {
35
+ "name":"NID",
36
+ "value":"29"
37
+ }
38
+ ],
39
+ "headers":[{
40
+ "name":"Host",
41
+ "value":"www.google.cz"
42
+ },
43
+ {
44
+ "name":"User-Agent",
45
+ "value":"Mozilla/5.0 (Windows; U; Windows NT 6.0; en-US; rv:1.9.2b6pre) Gecko/20091230 Namoroka/3.6b6pre (.NET CLR 3.5.30729)"
46
+ },
47
+ {
48
+ "name":"Accept",
49
+ "value":"text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8"
50
+ },
51
+ {
52
+ "name":"Accept-Language",
53
+ "value":"en-us,en;q=0.5"
54
+ },
55
+ {
56
+ "name":"Accept-Encoding",
57
+ "value":"gzip,deflate"
58
+ },
59
+ {
60
+ "name":"Accept-Charset",
61
+ "value":"ISO-8859-1,utf-8;q=0.7,*;q=0.7"
62
+ },
63
+ {
64
+ "name":"Keep-Alive",
65
+ "value":"115"
66
+ },
67
+ {
68
+ "name":"Connection",
69
+ "value":"keep-alive"
70
+ },
71
+ {
72
+ "name":"Cookie",
73
+ "value":"PREF=ID=580ec4c5a3534337:U=37a8fcc41ff49f78:TM=1260796678:LM=1260796682:S=9BgbomVM6pcnfah0; NID=29=OHyg2zMZl4IpG8C4a-Z5itM3gCXOuBPogGpTPVFPNsdpmIHJWX78ymRL_gqptvhr_IQrP319GQ1fxlKUsqaIokpxasPIIDq5ijatDmYiyamnCfJz8rXyNvt5GPjCJp2I"
74
+ }
75
+ ],
76
+ "queryString":[],
77
+ "headersSize":632,
78
+ "bodySize":-1
79
+ },
80
+ "response":{
81
+ "status":200,
82
+ "statusText":"OK",
83
+ "httpVersion":"HTTP/1.1",
84
+ "cookies":[],
85
+ "headers":[{
86
+ "name":"Date",
87
+ "value":"Sat, 02 Jan 2010 13:51:06 GMT"
88
+ },
89
+ {
90
+ "name":"Expires",
91
+ "value":"-1"
92
+ },
93
+ {
94
+ "name":"Cache-Control",
95
+ "value":"private, max-age=0"
96
+ },
97
+ {
98
+ "name":"Content-Type",
99
+ "value":"text/html; charset=UTF-8"
100
+ },
101
+ {
102
+ "name":"Content-Encoding",
103
+ "value":"gzip"
104
+ },
105
+ {
106
+ "name":"Server",
107
+ "value":"gws"
108
+ },
109
+ {
110
+ "name":"Content-Length",
111
+ "value":"3694"
112
+ },
113
+ {
114
+ "name":"X-XSS-Protection",
115
+ "value":"0"
116
+ }
117
+ ],
118
+ "content":{
119
+ "size":8564,
120
+ "mimeType":"text/html",
121
+ "text":"<!doctype html><html onmousemove=\"google&&google.fade&&google.fade()\"><head><meta http-equiv=\"content-type\" content=\"text/html; charset=UTF-8\"><title>Google</title><script>window.google={kEI:\"Sk8_S5PhGNT4_AbC2-HhBQ\",kEXPI:\"17259,18167,23129\",kCSI:{e:\"17259,18167,23129\",ei:\"Sk8_S5PhGNT4_AbC2-HhBQ\"},kHL:\"cs\",time:function(){return(new Date).getTime()},log:function(b,d,c){var a=new Image,e=google,g=e.lc,f=e.li;a.onerror=(a.onload=(a.onabort=function(){delete g[f]}));g[f]=a;c=c||\"/gen_204?atyp=i&ct=\"+b+\"&cad=\"+d+\"&zx=\"+google.time();a.src=c;e.li=f+1},lc:[],li:0};\u000awindow.google.sn=\"webhp\";window.google.timers={load:{t:{start:(new Date).getTime()}}};try{}catch(u){}window.google.jsrt_kill=1;\u000avar _gjwl=location;function _gjuc(){var e=_gjwl.href.indexOf(\"#\");if(e>=0){var a=_gjwl.href.substring(e);if(a.indexOf(\"&q=\")>0||a.indexOf(\"#q=\")>=0){a=a.substring(1);if(a.indexOf(\"#\")==-1){for(var c=0;c<a.length;){var d=c;if(a.charAt(d)==\"&\")++d;var b=a.indexOf(\"&\",d);if(b==-1)b=a.length;var f=a.substring(d,b);if(f.indexOf(\"fp=\")==0){a=a.substring(0,c)+a.substring(b,a.length);b=c}else if(f==\"cad=h\")return 0;c=b}_gjwl.href=\"/search?\"+a+\"&cad=h\";return 1}}}return 0}function _gjp(){!(window._gjwl.hash&&\u000awindow._gjuc())&&setTimeout(_gjp,500)};\u000awindow._gjp && _gjp()</script><style>td{line-height:.8em;}.gac_m td{line-height:17px;}form{margin-bottom:20px;}body,td,a,p,.h{font-family:arial,sans-serif}.h{color:#36c;font-size:20px}.q{color:#00c}.ts td{padding:0}.ts{border-collapse:collapse}em{font-weight:bold;font-style:normal}.lst{font:17px arial,sans-serif;margin-bottom:.2em;vertical-align:bottom;}input{font-family:inherit}.lsb,.gac_sb{font-size:15px;height:1.85em!important;margin:.2em;}#fctr,#ghead,#pmocntr,#sbl,#tba,#tbe,.fade{opacity:0;}#fctr,#ghead,#pmocntr,#sbl,#tba,#tbe,.fade{background:#fff;}#gbar{float:left;height:22px}.gbh,.gbd{border-top:1px solid #c9d7f1;font-size:1px}.gbh{height:0;position:absolute;top:24px;width:100%}#gbs,.gbm{background:#fff;left:0;position:absolute;text-align:left;visibility:hidden;z-index:1000}.gbm{border:1px solid;border-color:#c9d7f1 #36c #36c #a2bae7;z-index:1001}#guser{padding-bottom:7px !important;text-align:right}#gbar,#guser{font-size:13px;padding-top:1px !important}.gb1,.gb3,.gb3i,.gb3f{zoom:1;margin-right:.5em}.gb2,.gb2i,.gb2f{display:block;padding:.2em .5em}a.gb1,a.gb2,a.gb3,a.gb4{color:#00c !important}.gb2,.gb2i,.gb2f,.gb3,.gb3i,.gb3f{text-decoration:none}a.gb2:hover{background:#36c;color:#fff !important}</style><noscript><style>#fctr,#ghead,#pmocntr,#sbl,#tba,#tbe,.fade{opacity:1;}</style></noscript><script>google.y={};google.x=function(e,g){google.y[e.id]=[e,g];return false};window.gbar={qs:function(){},tg:function(e){var o={id:'gbar'};for(i in e)o[i]=e[i];google.x(o,function(){gbar.tg(o)})}};</script></head><body bgcolor=#ffffff text=#000000 link=#0000cc vlink=#551a8b alink=#ff0000 onload=\"document.f.q.focus();if(document.images)new Image().src='/images/nav_logo7.png'\" topmargin=3 marginheight=3><textarea id=csi style=display:none></textarea><div id=ghead><div id=gbar><nobr><b class=gb1>Web</b> <a href=\"http://images.google.cz/imghp?hl=cs&tab=wi\" onclick=gbar.qs(this) class=gb1>Obrázky</a> <a href=\"http://video.google.cz/?hl=cs&tab=wv\" onclick=gbar.qs(this) class=gb1>Videa</a> <a href=\"http://maps.google.cz/maps?hl=cs&tab=wl\" onclick=gbar.qs(this) class=gb1>Mapy</a> <a href=\"http://news.google.cz/nwshp?hl=cs&tab=wn\" onclick=gbar.qs(this) class=gb1>Zprávy</a> <a href=\"http://translate.google.cz/?hl=cs&tab=wT\" onclick=gbar.qs(this) class=gb1>Překladač</a> <a href=\"http://mail.google.com/mail/?hl=cs&tab=wm\" class=gb1>Gmail</a> <a href=\"http://www.google.cz/intl/cs/options/\" onclick=\"this.blur();gbar.tg(event);return !1\" aria-haspopup=true class=gb3><u>další</u> <small>&#9660;</small></a><div class=gbm id=gbi><a href=\"http://blogsearch.google.cz/?hl=cs&tab=wb\" onclick=gbar.qs(this) class=gb2>Blogy</a> <a href=\"http://www.youtube.com/?hl=cs&tab=w1&gl=CZ\" onclick=gbar.qs(this) class=gb2>YouTube</a> <a href=\"http://www.google.com/calendar/render?hl=cs&tab=wc\" class=gb2>Kalendář</a> <a href=\"http://picasaweb.google.cz/home?hl=cs&tab=wq\" onclick=gbar.qs(this) class=gb2>Fotografie</a> <a href=\"http://docs.google.com/?hl=cs&tab=wo\" class=gb2>Dokumenty</a> <a href=\"http://www.google.cz/reader/view/?hl=cs&tab=wy\" class=gb2>Reader</a> <a href=\"http://sites.google.com/?hl=cs&tab=w3\" class=gb2>Weby</a> <a href=\"http://groups.google.cz/grphp?hl=cs&tab=wg\" onclick=gbar.qs(this) class=gb2>Skupiny</a> <div class=gb2><div class=gbd></div></div><a href=\"http://www.google.cz/intl/cs/options/\" class=gb2>dále také &raquo;</a> </div></nobr></div><div id=guser width=100%><nobr><a href=\"/url?sa=p&pref=ig&pval=3&q=http://www.google.cz/ig%3Fhl%3Dcs%26source%3Diglk&usg=AFQjCNEjIy3HcIoHHp-ysNPPMy6WitPxSg\" class=gb4>iGoogle</a> | <a href=\"/preferences?hl=cs\" class=gb4>Nastavení vyhledávání</a> | <a href=\"https://www.google.com/accounts/Login?hl=cs&continue=http://www.google.cz/\" class=gb4>Přihlásit se</a></nobr></div><div class=gbh style=left:0></div><div class=gbh style=right:0></div></div> <center><br clear=all id=lgpd><div align=left style=\"background:url(/intl/en_com/images/logo_plain.png) no-repeat;height:110px;width:276px\" title=\"Google\" id=logo onload=\"window.lol&&lol()\"><div nowrap style=\"color:#666;font-size:16px;font-weight:bold;left:208px;position:relative;top:78px\">Česká republika</div></div><br><form action=\"/search\" name=f><table cellpadding=0 cellspacing=0><tr valign=top><td width=25%>&nbsp;</td><td align=center nowrap><input name=hl type=hidden value=cs><input name=source type=hidden value=hp><input autocomplete=\"off\" onblur=\"google&&google.fade&&google.fade()\" maxlength=2048 name=q size=55 class=lst title=\"Vyhledat Googlem\" value=\"\"><br><input name=btnG type=submit value=\"Vyhledat Googlem\" class=lsb><input name=btnI type=submit value=\"Zkusím štěstí\" class=lsb></td><td nowrap width=25% align=left id=sbl><font size=-2>&nbsp;&nbsp;<a href=/advanced_search?hl=cs>Rozšířené vyhledávání</a><br>&nbsp;&nbsp;<a href=/language_tools?hl=cs>Jazykové nástroje</a></font></td></tr><tr><td align=center colspan=3><font size=-1><span style=\"text-align:left\" class=fade><input id=all type=radio name=lr value=\"\" checked><label for=all> Prohledat Web </label> <input id=il type=radio name=lr value=\"lang_cs\"><label for=il> Stránky pouze česky </label> </span></font></td></tr></table></form><br><span id=footer><center id=fctr><br><font size=-1><a href=\"/intl/cs/ads/\">Inzerujte s Googlem</a> - <a href=\"/intl/cs/about.html\">Vše o Google</a> - <a href=\"http://www.google.com/ncr\">Google.com in English</a></font><p><font size=-2>&copy;2010 - <a href=\"/intl/cs/privacy.html\">Osobní údaje</a></font></p></center></span> <div id=xjsd></div><div id=xjsi><script>if(google.y)google.y.first=[];if(google.y)google.y.first=[];google.dstr=[];google.rein=[];window.setTimeout(function(){var a=document.createElement(\"script\");a.src=\"/extern_js/f/CgJjcxICY3orMAo4QUAdLCswDjgKLCswFjgULCswFzgELCswGDgELCswGTgNLCswJTjJiAEsKzAmOAgsKzAnOAIsKzA8OAEsKzBFOAAs/n26cL0r9CnM.js\";(document.getElementById(\"xjsd\")||document.body).appendChild(a);if(google.timers&&google.timers.load.t)google.timers.load.t.xjsls=(new Date).getTime();},0);\u000a;google.y.first.push(function(){google.ac.b=true;google.ac.i(document.f,document.f.q,'','');(function(){\u000avar a=window.google.f={};a.f=1;a.s=1;a.a=(new Date).getTime();function m(b,g,e,f){var d,c=[],i=[];for(var h=0,k;k=b[h++];){var l=document.getElementById(k);if(l)c.push(l)}for(var h=0,j;j=g[h++];){var o=n(j[0],j[1]);while(d=o.pop())c.push(d)}while(d=c.pop())i.push([d,\"opacity\",e,f,0,\"\"]);return i}function n(b,\u000ag){var e=[];for(var f=document.getElementsByTagName(b),d=0,c=f[d];c=f[d++];)if(c.className==g)e.push(c);return e}google.fade=function(b){b=b||window.event;var g=1;if(b&&b.type==\"mousemove\"){var e=b.clientX,f=b.clientY;g=a.x||a.y?Math.abs(a.x-e)+Math.abs(a.y-f):0;a.x=e;a.y=f}var d=(new Date).getTime(),c=d-a.a;if(google.fx&&g&&c>602)if(a.f){a.f=0;var i=[\"fctr\",\"ghead\",\u000a\"pmocntr\",\"sbl\",\"tba\",\"tbe\"],h=[[\"span\",\"fade\"],[\"div\",\"gbh\"]];google.fx.animate(602,m(i,h,0,1))}};\u000a})();\u000a});if(google.j&&google.j.en&&google.j.xi){window.setTimeout(google.j.xi,0);google.fade=null;}</script></div><script>(function(){\u000afunction a(){google.timers.load.t.ol=(new Date).getTime();google.report&&google.timers.load.t.xjs&&google.report(google.timers.load,google.kCSI)}if(window.addEventListener)window.addEventListener(\"load\",a,false);else if(window.attachEvent)window.attachEvent(\"onload\",a);google.timers.load.t.prt=(new Date).getTime();\u000a})();\u000a</script>"
122
+ },
123
+ "redirectURL":"",
124
+ "headersSize":224,
125
+ "bodySize":3694
126
+ },
127
+ "cache":{},
128
+ "timings":{
129
+ "dns":0,
130
+ "connect":0,
131
+ "blocked":0,
132
+ "send":0,
133
+ "wait":63,
134
+ "receive":0
135
+ }
136
+ },
137
+ {
138
+ "pageref":"page_62143",
139
+ "startedDateTime":"2010-01-02T14:51:01.280+01:00",
140
+ "time":62,
141
+ "request":{
142
+ "method":"GET",
143
+ "url":"http://www.google.cz/intl/en_com/images/logo_plain.png",
144
+ "httpVersion":"HTTP/1.1",
145
+ "cookies":[{
146
+ "name":"PREF",
147
+ "value":"ID"
148
+ },
149
+ {
150
+ "name":"NID",
151
+ "value":"29"
152
+ }
153
+ ],
154
+ "headers":[{
155
+ "name":"Host",
156
+ "value":"www.google.cz"
157
+ },
158
+ {
159
+ "name":"User-Agent",
160
+ "value":"Mozilla/5.0 (Windows; U; Windows NT 6.0; en-US; rv:1.9.2b6pre) Gecko/20091230 Namoroka/3.6b6pre (.NET CLR 3.5.30729)"
161
+ },
162
+ {
163
+ "name":"Accept",
164
+ "value":"image/png,image/*;q=0.8,*/*;q=0.5"
165
+ },
166
+ {
167
+ "name":"Accept-Language",
168
+ "value":"en-us,en;q=0.5"
169
+ },
170
+ {
171
+ "name":"Accept-Encoding",
172
+ "value":"gzip,deflate"
173
+ },
174
+ {
175
+ "name":"Accept-Charset",
176
+ "value":"ISO-8859-1,utf-8;q=0.7,*;q=0.7"
177
+ },
178
+ {
179
+ "name":"Keep-Alive",
180
+ "value":"115"
181
+ },
182
+ {
183
+ "name":"Connection",
184
+ "value":"keep-alive"
185
+ },
186
+ {
187
+ "name":"Referer",
188
+ "value":"http://www.google.cz/"
189
+ },
190
+ {
191
+ "name":"Cookie",
192
+ "value":"PREF=ID=580ec4c5a3534337:U=37a8fcc41ff49f78:TM=1260796678:LM=1260796682:S=9BgbomVM6pcnfah0; NID=29=OHyg2zMZl4IpG8C4a-Z5itM3gCXOuBPogGpTPVFPNsdpmIHJWX78ymRL_gqptvhr_IQrP319GQ1fxlKUsqaIokpxasPIIDq5ijatDmYiyamnCfJz8rXyNvt5GPjCJp2I"
193
+ }
194
+ ],
195
+ "queryString":[],
196
+ "headersSize":667,
197
+ "bodySize":-1
198
+ },
199
+ "response":{
200
+ "status":200,
201
+ "statusText":"OK",
202
+ "httpVersion":"HTTP/1.1",
203
+ "cookies":[],
204
+ "headers":[{
205
+ "name":"Content-Type",
206
+ "value":"image/png"
207
+ },
208
+ {
209
+ "name":"Last-Modified",
210
+ "value":"Mon, 17 Mar 2008 22:38:58 GMT"
211
+ },
212
+ {
213
+ "name":"Date",
214
+ "value":"Sat, 02 Jan 2010 13:51:05 GMT"
215
+ },
216
+ {
217
+ "name":"Expires",
218
+ "value":"Sun, 02 Jan 2011 13:51:05 GMT"
219
+ },
220
+ {
221
+ "name":"Server",
222
+ "value":"gws"
223
+ },
224
+ {
225
+ "name":"Content-Length",
226
+ "value":"7582"
227
+ },
228
+ {
229
+ "name":"Cache-Control",
230
+ "value":"public, max-age=31536000"
231
+ },
232
+ {
233
+ "name":"Age",
234
+ "value":"1"
235
+ },
236
+ {
237
+ "name":"X-XSS-Protection",
238
+ "value":"0"
239
+ }
240
+ ],
241
+ "content":{
242
+ "size":7582,
243
+ "mimeType":"image/png"
244
+ },
245
+ "redirectURL":"",
246
+ "headersSize":272,
247
+ "bodySize":7582
248
+ },
249
+ "cache":{},
250
+ "timings":{
251
+ "dns":0,
252
+ "connect":0,
253
+ "blocked":0,
254
+ "send":0,
255
+ "wait":31,
256
+ "receive":31
257
+ }
258
+ },
259
+ {
260
+ "pageref":"page_62143",
261
+ "startedDateTime":"2010-01-02T14:51:01.296+01:00",
262
+ "time":78,
263
+ "request":{
264
+ "method":"GET",
265
+ "url":"http://www.google.cz/extern_js/f/CgJjcxICY3orMAo4QUAdLCswDjgKLCswFjgULCswFzgELCswGDgELCswGTgNLCswJTjJiAEsKzAmOAgsKzAnOAIsKzA8OAEsKzBFOAAs/n26cL0r9CnM.js",
266
+ "httpVersion":"HTTP/1.1",
267
+ "cookies":[{
268
+ "name":"PREF",
269
+ "value":"ID"
270
+ },
271
+ {
272
+ "name":"NID",
273
+ "value":"29"
274
+ }
275
+ ],
276
+ "headers":[{
277
+ "name":"Host",
278
+ "value":"www.google.cz"
279
+ },
280
+ {
281
+ "name":"User-Agent",
282
+ "value":"Mozilla/5.0 (Windows; U; Windows NT 6.0; en-US; rv:1.9.2b6pre) Gecko/20091230 Namoroka/3.6b6pre (.NET CLR 3.5.30729)"
283
+ },
284
+ {
285
+ "name":"Accept",
286
+ "value":"*/*"
287
+ },
288
+ {
289
+ "name":"Accept-Language",
290
+ "value":"en-us,en;q=0.5"
291
+ },
292
+ {
293
+ "name":"Accept-Encoding",
294
+ "value":"gzip,deflate"
295
+ },
296
+ {
297
+ "name":"Accept-Charset",
298
+ "value":"ISO-8859-1,utf-8;q=0.7,*;q=0.7"
299
+ },
300
+ {
301
+ "name":"Keep-Alive",
302
+ "value":"115"
303
+ },
304
+ {
305
+ "name":"Connection",
306
+ "value":"keep-alive"
307
+ },
308
+ {
309
+ "name":"Referer",
310
+ "value":"http://www.google.cz/"
311
+ },
312
+ {
313
+ "name":"Cookie",
314
+ "value":"PREF=ID=580ec4c5a3534337:U=37a8fcc41ff49f78:TM=1260796678:LM=1260796682:S=9BgbomVM6pcnfah0; NID=29=OHyg2zMZl4IpG8C4a-Z5itM3gCXOuBPogGpTPVFPNsdpmIHJWX78ymRL_gqptvhr_IQrP319GQ1fxlKUsqaIokpxasPIIDq5ijatDmYiyamnCfJz8rXyNvt5GPjCJp2I"
315
+ }
316
+ ],
317
+ "queryString":[],
318
+ "headersSize":735,
319
+ "bodySize":-1
320
+ },
321
+ "response":{
322
+ "status":200,
323
+ "statusText":"OK",
324
+ "httpVersion":"HTTP/1.1",
325
+ "cookies":[],
326
+ "headers":[{
327
+ "name":"Content-Type",
328
+ "value":"text/javascript; charset=UTF-8"
329
+ },
330
+ {
331
+ "name":"Expires",
332
+ "value":"Sat, 01 Jan 2011 00:00:00 GMT"
333
+ },
334
+ {
335
+ "name":"Last-Modified",
336
+ "value":"Sat, 03 Jan 2009 00:00:00 GMT"
337
+ },
338
+ {
339
+ "name":"Cache-Control",
340
+ "value":"private, x-gzip-ok=\"\""
341
+ },
342
+ {
343
+ "name":"Content-Encoding",
344
+ "value":"gzip"
345
+ },
346
+ {
347
+ "name":"Date",
348
+ "value":"Sat, 02 Jan 2010 13:51:06 GMT"
349
+ },
350
+ {
351
+ "name":"Server",
352
+ "value":"gws"
353
+ },
354
+ {
355
+ "name":"Content-Length",
356
+ "value":"8646"
357
+ },
358
+ {
359
+ "name":"X-XSS-Protection",
360
+ "value":"0"
361
+ }
362
+ ],
363
+ "content":{
364
+ "size":22832,
365
+ "mimeType":"text/javascript",
366
+ "text":"(function(){\u000aif(!google.nocsixjs&&google.timers&&google.timers.load.t)google.timers.load.t.xjses=(new Date).getTime();\u000a})();\u000a(function(){\u000agoogle.isOpera=false;google.isIE=false;google.isSafari=false;\u000agoogle.xhr=function(){var a=null;try{a=new XMLHttpRequest}catch(d){}return a};\u000agoogle.getComputedStyle=function(a,d,c){var b=c?\"\":0;var e=document.defaultView&&document.defaultView.getComputedStyle(a,\"\");b=e.getPropertyValue(d);b=c?b:parseInt(b,10);return b};google.getHeight=function(a){return google.getComputedStyle(a,\"height\")};google.getWidth=function(a){return google.getComputedStyle(a,\"width\")};google.getPageOffsetTop=function(a){return a.offsetTop+(a.offsetParent?google.getPageOffsetTop(a.offsetParent):0)};\u000agoogle.getPageOffsetLeft=function(a){return a.offsetLeft+(a.offsetParent?google.getPageOffsetLeft(a.offsetParent):0)};google.getPageOffsetStart=function(a){return google.getPageOffsetLeft(a)};google.getColor=function(a){return google.getComputedStyle(a,\"color\",true)};google.rhs=function(){};var f,h=location;\u000agoogle.nav=function(a,d){try{var c=location.protocol+\"//\"+location.host;if((new RegExp(\"^(\"+c+\")?/url\\\\?.*&rct=j(&|$)\")).test(a))if(d){google.r=1;d.location.replace(a)}else{if(!f){f=document.createElement(\"iframe\");f.style.display=\"none\";google.append(f)}google.r=1;f.src=a}else h.href=a}catch(b){h.href=a}};google.append=function(a){return(document.getElementById(\"xjsc\")||document.body).appendChild(a)};google.bind=function(a,d,c){a.addEventListener(d,c,false);};\u000a})();\u000a(function(){\u000avar c=window,f=Object,h=google,i=\"push\",j=\"length\",k=\"propertyIsEnumerable\",l=\"prototype\",m=\"call\";\u000afunction n(a){var b=typeof a;if(b==\"object\")if(a){if(a instanceof Array||!(a instanceof f)&&f[l].toString[m](a)==\"[object Array]\"||typeof a[j]==\"number\"&&typeof a.splice!=\"undefined\"&&typeof a[k]!=\"undefined\"&&!a[k](\"splice\"))return\"array\";if(!(a instanceof f)&&(f[l].toString[m](a)==\"[object Function]\"||typeof a[m]!=\"undefined\"&&typeof a[k]!=\"undefined\"&&!a[k](\"call\")))return\"function\"}else return\"null\";else if(b==\"function\"&&typeof a[m]==\"undefined\")return\"object\";return b}\u000afunction o(a){return(new p).serialize(a)}function p(){}p[l].serialize=function(a){var b=[];this.a(a,b);return b.join(\"\")};p[l].a=function(a,b){switch(typeof a){case \"string\":this.b(a,b);break;case \"number\":this.d(a,b);break;case \"boolean\":b[i](a);break;case \"undefined\":b[i](\"null\");break;case \"object\":if(a==null){b[i](\"null\");break}if(n(a)==\"array\"){this.c(a,b);break}this.e(a,b);break;case \"function\":break;default:throw Error(\"Unknown type: \"+typeof a);}};\u000avar q={'\"':'\\\\\"',\"\\\\\":\"\\\\\\\\\",\"/\":\"\\\\/\",\"\\u0008\":\"\\\\b\",\"\\u000c\":\"\\\\f\",\"\\n\":\"\\\\n\",\"\\r\":\"\\\\r\",\"\\t\":\"\\\\t\",\"\\u000b\":\"\\\\u000b\"},r=/\\uffff/.test(\"\\uffff\")?/[\\\\\\\"\\x00-\\x1f\\x7f-\\uffff]/g:/[\\\\\\\"\\x00-\\x1f\\x7f-\\xff]/g;p[l].b=function(a,b){b[i]('\"',a.replace(r,function(g){if(g in q)return q[g];var d=g.charCodeAt(0),e=\"\\\\u\";if(d<16)e+=\"000\";else if(d<256)e+=\"00\";else if(d<4096)e+=\"0\";return q[g]=e+d.toString(16)}),'\"')};p[l].d=function(a,b){b[i](isFinite(a)&&!isNaN(a)?a:\"null\")};\u000ap[l].c=function(a,b){var g=a[j];b[i](\"[\");for(var d=\"\",e=0;e<g;e++){b[i](d);this.a(a[e],b);d=\",\"}b[i](\"]\")};p[l].e=function(a,b){b[i](\"{\");var g=\"\";for(var d in a)if(a.hasOwnProperty(d)){var e=a[d];if(typeof e!=\"function\"){b[i](g);this.b(d,b);b[i](\":\");this.a(e,b);g=\",\"}}b[i](\"}\")};c.google.stringify=o;if(c.JSON&&c.JSON.stringify&&navigator.userAgent.indexOf(\"Chrome\")==-1)c.google.stringify=c.JSON.stringify;h.History={};var s=[],t=\"#\";h.History.client=function(a){s[i](a);return s[j]-1};var u,v;function w(){var a=u.value;v=a?eval(\"(\"+a+\")\"):{}}h.History.save=function(a,b){if(u){w();v[t]||(v[t]={});v[t][a]=b;u.value=h.stringify(v)}};function x(){v=null;(u=document.getElementById(\"hcache\"))&&c.setTimeout(function(){w();for(var a=0;a<s[j];++a)v&&v[t]&&v[t][a]&&s[a][m](null,v[t][a])},0)}x();h.rein[i](function(){t=h.pageState;x()});\u000a})();\u000a(function(){\u000avar a,b;google.rhs=function(){if(!google.drhs)if(document.getElementById(\"mbEnd\")&&(a||b)){var d=google.getHeight(document.getElementById(\"rhsline\")),c=a?google.getHeight(a):0;if(b)c+=google.getHeight(b)+18;document.getElementById(\"rhspad\").style.height=c>d?Math.min(9999,c-d)+\"px\":(google.isIE?\"\":0)}};function e(){a=document.getElementById(\"tads\");b=document.getElementById(\"3po\");google.rhs()}e();google.bind(window,\"resize\",google.rhs);google.rein.push(e);\u000a})();\u000a(function(){\u000avar f=0,g=[];google.fx={};google.fx.linear=function(a){return a};google.fx.easeOut=function(a){return 1-Math.pow(1-a,3)};google.fx.easeInAndOut=function easeInAndOut(a){return(3-2*a)*a*a};google.fx.animate=function(a,d,e){for(var c=0,b;b=d[c++];){b[5]=b[5]==null?\"px\":b[5];b[4]=b[4]||google.fx.linear;h(b[0],b[1],b[2]+b[5])}g.push({b:a,a:e,d:google.time(),c:d});f=f||window.setInterval(i,15)};function i(){for(var a=0,d;d=g[a++];)j(d)||g.splice(--a,1);if(!g.length){window.clearInterval(f);f=0}}function j(a){var d=\u000agoogle.time()-a.d;if(d>=a.b){for(var e=0,c;c=a.c[e++];)h(c[0],c[1],c[3]+c[5]);a.a&&a.a();return 0}else{for(var e=0,c;c=a.c[e++];){var b=c[2]+(c[3]-c[2])*c[4](d/a.b);if(c[5]==\"px\")b=Math.round(b);h(c[0],c[1],b+c[5])}return 1}}function h(a){for(var d=1;d<arguments.length;d+=2){var e=arguments[d],c=arguments[d+1],b=a.style;if(b&&e in b)b[e]=c;else if(e in a)a[e]=c;}return a}google.fx.wrap=function(a){var d=document.createElement(\"div\");a.parentNode.replaceChild(d,a);d.appendChild(a);return d};google.fx.unwrap=function(a){a.parentNode.parentNode.replaceChild(a,a.parentNode)};google.dstr.push(function(){window.clearInterval(f);f=0;g=[]});\u000a})();\u000a(function(){\u000avar c=false,e=null,g=true,aa=c,h,i,j,m=\"\",n=e;var o=e,p=e,q=-1,s,t,u,v,w,z,A,B=0,C=0,D=e,E=0;var F,G;var I;\u000avar ca=\"13px\",da=\"17px\";\u000afunction ea(){if(!w)return;fa();P();w.value=z.value=\"\";window.clearTimeout(n);m=A=\"\";n=o=p=e;q=-1;B=C=E=0;I=0;}\u000avar ga=\"clients1.google.cz\";\u000afunction ia(a,b,d,k,f){s=a;t=b;G=document.getElementsByTagName(\"body\")[0];i=j=h=t.value;if(!b.init){google.bind(s,\"submit\",ja);t.setAttribute(\"autocomplete\",\"off\");google.bind(t,\"blur\",P);t.onkeypress=R;google.bind(t,\"keyup\",S);w=ka(\"aq\",\"f\");z=ka(\"oq\",i);u=\u000adocument.createElement(\"table\");u.cellSpacing=u.cellPadding=\"0\";v=u.style;u.className=\"gac_m\";s.appendChild(u);b.init=g}P();U();if(!aa){la();aa=g}A=[\"/complete/search\",\"?hl=\",google.kHL,(d?\"&ds=\"+d:\"\"),(k?\"&pq=\"+encodeURIComponent(k):\"\")].join(\"\");i=j=h=t.value;I=ma(t);\u000aW();(new Image).src=\"http://\"+ga+\"/generate_204\";}\u000afunction la(){var a=[];function b(l,r){a.push(l,\"{\",r,\"}\")}var d=google.ac.b;b(\".gac_m\",\"cursor:default;border:1px solid #000;z-index:99;background:#fff;position:absolute;margin:0;font-size:\"+(d?\"17px\":ca));b(\".gac_m td\",\"line-height:\"+(d?\"22px\":da));b(\".gac_b\",\"background:#36c;color:#fff\");var k=\"padding-left:3px;white-space:nowrap;overflow:hidden;text-align:left;\";\u000ab(\".gac_c\",k);b(\".gac_d\",\"padding:0 3px;white-space:nowrap;overflow:hidden;text-align:right;color:green;font-size:0.77em\");b(\".gac_b td\",\"color:#fff\");b(\".gac_e\",\"padding:0 3px 2px;text-decoration:underline;text-align:right;color:#00c;font-size:0.77em;line-height:0.88em\");a=a.join(\"\");var f=document.createElement(\"style\");f.setAttribute(\"type\",\"text/css\");document.getElementsByTagName(\"head\")[0].appendChild(f);f.appendChild(document.createTextNode(a));}\u000afunction U(){if(u){v.left=na(t,\"offsetLeft\")+\"px\";v.top=na(t,\"offsetTop\")+t.offsetHeight-1+\"px\";v.width=t.offsetWidth+\"px\";}}function ka(a,b){var d=document.createElement(\"input\");d.type=\"hidden\";d.name=a;d.value=b;return s.appendChild(d)}\u000afunction R(a){var b=a.keyCode;if(b==27&&pa()){P();X(i);a.cancelBubble=g;return a.returnValue=c}if(b==38||b==40){C++;C%3==1&&V(b);return c}}function S(a){var b=a.keyCode;if(C==0)V(b);C=0;}\u000afunction V(a){if(t.value!=h){i=t.value;I=ma(t);z.value=i}a==40&&qa(q+1);a==38&&qa(q-1);U();if(m!=i&&!D)D=window.setTimeout(P,500);h=t.value;h==\"\"&&!n&&W()}function ra(){if(E)return;if(p)p.className=\"gac_a\";this.className=\"gac_b\";p=this;for(var a=0,b;b=o[a];a++)b==p&&(q=a)}\u000afunction qa(a){if(!m&&i){j=\"\";W();return}if(i!=m||!n)return;if(!o||o.length<=0)return;if(!pa()){Y();return}var b=o.length-1;if(p)p.className=\"gac_a\";if(a==b||a==-1){q=-1;X(i);t.focus();w.value=\"f\";return}else if(a>b)a=0;else if(a<-1)a=b-1;q=a;p=o.item(a);p.className=\"gac_b\";X(p.completeString);w.value=p.completeId}\u000afunction P(){if(D){window.clearTimeout(D);D=e}v&&(v.visibility=\"hidden\");}function Y(){v&&(v.visibility=\"visible\");U();E=1}function pa(){return!!v&&v.visibility==\"visible\"}\u000afunction fa(){if(u){u.innerHTML=\"\";}}\u000afunction sa(a){B>0&&B--;if(!u||a[0]!=i)return;if(D){window.clearTimeout(D);D=e}m=a[0];fa();var d=c;for(var k=0,f;k<a[1].length;k++)if(f=a[1][k]){d=g;var l=u.insertRow(-1);l.onclick=function(){X(this.completeString);ja();s.onsubmit&&s.onsubmit()==c||s.submit();};l.onmousedown=Z;l.onmouseover=ra;l.onmousemove=function(){if(E){E=0;ra.call(this)}};l.completeString=\u000af[0];l.completeId=f[2];l.className=\"gac_a\";var r=document.createElement(\"td\");$(r,f[0]);r.className=\"gac_c\";l.appendChild(r);var L=document.createElement(\"td\");$(L,f[1]);L.className=\"gac_d\";l.appendChild(L);}\u000aif(d){var y=u.insertRow(-1);y.onmousedown=Z;var x=document.createElement(\"td\");x.colSpan=2;y.className=\"gac_e\";y.appendChild(x);var T=document.createElement(\"span\");T.style.cursor=\"pointer\";x.appendChild(T);$(T,\"zavřít\");T.onclick=function(){P();m=\"\";window.clearTimeout(n);\u000an=e;w.value=\"x\"}}q=-1;o=u.rows;(o&&o.length>0?Y:P)()}function ja(){P();if(z.value!=t.value)w.value=o&&o.item(q)&&o.item(q).completeId;else{z.value=\"\";if(B>=10)w.value=\"o\"}}\u000afunction W(){if(j!=i&&i){B++;F&&G.removeChild(F);F=document.createElement(\"script\");F.src=[\"http://\",ga,A,\"&q=\",encodeURIComponent(i),\"&cp=\"+I].join(\"\");G.appendChild(F);t.focus()}j=i;var a=100;for(var b=1;b<=(B-2)/2;++b)a*=\u000a2;a+=50;n=window.setTimeout(W,a)}function X(a){if(t)t.value=h=a}function na(a,b){var d=0;while(a){d+=a[b];a=a.offsetParent}return d}function $(a,b){a.appendChild(document.createTextNode(b))}\u000afunction Z(a){a.stopPropagation();return c}\u000afunction ma(a){var b=0,d=0;if(va(a)){b=a.selectionStart;d=a.selectionEnd}return b&&d&&b==d?b:0}\u000afunction va(a){try{return typeof a.selectionStart==\"number\"}catch(b){return c}}window.google.ac={i:ia,h:sa,u:X};google.bind(window,\"resize\",U);google.dstr.push(ea);\u000a})();\u000a(function(){\u000awindow.ManyBox={};var e,g,h=1,j=google.History.client(i);function k(a){for(var b in e)if(e[b].c&&a(e[b]))return}function l(a,b,c,d,f){this.c=a;this.i=b;this.C=d;this.o=f;this.q=\"/mbd?\"+(b?\"docid=\"+b:\"\")+\"&resnum=\"+a.replace(/[^0-9]/,\"\")+\"&mbtype=\"+d+\"&usg=\"+c+\"&hl=\"+(google.kHL||\"\");this.e={};this.l=\"\";g[a]={r:0,F:this.e,i:this.i,f:0};this.n=0}l.prototype.append=function(a){this.l+=\"&\"+a.join(\"&\")};function m(a,b){return document.getElementById(\"mb\"+b+a.c)}function n(a,b){a.h.style.paddingTop=b+\"px\";\u000aa.h.style.display=a.h.innerHTML?\"\":\"none\";if(b>a.n)a.n=b}function q(a){if(!a.B){a.B=1;a.d=m(a,\"b\");a.j=0;a.a=m(a,\"l\");a.m=a.a.getElementsByTagName(\"DIV\")[0];a.p=a.a.getElementsByTagName(\"A\")[0];a.z=a.p.innerHTML;a.o=a.o||a.z;a.m.title=\"Pro další informace klikněte zde...\";a.a.G=function(b,c){var d=google.getPageOffsetStart(a.a),f=google.getPageOffsetTop(a.a);return b>d-5&&b<d+google.getWidth(a.a)+5&&c>f-5&&c<f+google.getHeight(a.a)+5};a.h=m(a,\"f\");n(a,0);a.a.onmousedown=r(a);a.a.onclick=s(a);a.a.go=function(){a.a.onmousedown();\u000aa.a.onclick()}}}function t(a){google.log(\"manybox\",[a.j?\"close\":\"open\",\"&id=\",a.c,\"&docid=\",a.i,\"&mbtype=\",a.C,a.l].join(\"\"))}function r(a){return function(){if(g[a.c].f){if(a.A++<3)t(a)}else if(a.e.k){t(a);g[a.c].f=(a.A=1)}else{var b=google.xhr();if(b){b.open(\"GET\",a.q+a.l+\"&zx=\"+google.time());a.t=0;b.onreadystatechange=function(){if(b.readyState==4){var c=0;if(b.status==200)try{eval(b.responseText);c=1}catch(d){}if(!c&&!a.D){g[a.c].f=0;a.D=1;a.q+=\"&cad=retry\";a.a.onmousedown()}else{a.u&&x(a);a.t=\u000a0}}};a.t=1;b.send(null)}g[a.c].f=(a.A=1)}}}function s(a){return function(){g[a.c].f||a.a.onmousedown();(a.u=a.t)||x(a)}}function y(a){if(!a.e.k){a.e.k=\"\\x3cfont color\\x3dred\\x3eChyba:\\x3c/font\\x3e Server nemohl dokončit váš požadavek. Vyčkejte 30 sekund a zkuste to znovu.\";a.H=a.a.onclick;a.a.onclick=function(){h=0;x(a);h=1;a.b.parentNode.removeChild(a.b);g[a.c].f=(a.e.k=(a.v=0));a.a.onclick=a.H}}if(!a.v){a.v=1;var b=document.getElementById(\"res\");a.I=b&&google.getPageOffsetStart(a.d)>google.getPageOffsetStart(b)+google.getWidth(b);a.b=document.createElement(\"div\");n(a,0);a.b.style.position=\"absolute\";\u000aa.b.style.paddingTop=(a.b.style.paddingBottom=\"6px\");a.b.style.display=\"none\";a.b.className=\"med\";var c=document.createElement(\"div\");a.b.appendChild(c);c.className=\"std\";c.innerHTML=a.e.k;a.h.parentNode.insertBefore(a.b,a.h)}}function i(a){h=0;ManyBox.init();k(function(b){if(b.i==a[b.c].i){b.e=a[b.c].F;if(a[b.c].r!=b.j)x(b)}else a[b.c].f=0});g=a;h=1;google.History.save(j,g)}ManyBox.create=function(a,\u000ab,c,d,f){return new l(a,b,c,d,f)};ManyBox.register=function(a,b,c,d,f){return e[a]=ManyBox.create(a,b,c,d,f)};google.bind(document,\"click\",function(a){a=a||window.event;var b=a.target||a.srcElement;while(b.parentNode){if(b.tagName==\"A\"||b.onclick)return;b=b.parentNode}k(function(c){if(c.a.G(a.clientX,a.clientY)){c.a.go();return 1}})});function z(){e={};g={};history.navigationMode=history.navigationMode&&\"fast\"}z();ManyBox.init=function(){k(q)};function A(a,b){a.b.style.clip=\"rect(0px,\"+(a.d.width||\u000a\"34em\")+\",\"+(b||1)+\"px,0px)\"}l.prototype.insert=function(a){this.e.k=a};function B(a){a.g=m(a,\"cb\");var b=a.g&&a.g.getAttribute(\"mbopen\");if(b){eval(b);a.onopen(a.g)}}function C(a){a.b.style.display=\"none\";a.m.style.backgroundPosition=\"-91px -74px\";a.p.innerHTML=a.z;a.j=(g[a.c].r=0);google.History.save(j,g)}function D(a,b,c,d,f){var u=c>0?150:75,v=google.time()-f,w=v<u&&h?v/u*c:(d>1?c-10:c),o=Math.max(a.s,b+w),p=o-a.s;A(a,p);a.d.style.height=o<0?0:(p?o+\"px\":\"\");n(a,Math.max(0,p-5));google.rhs();if(Math.abs(w)<\u000aMath.abs(c))window.setTimeout(function(){D(a,b,c,d-1,f)},30);else window.setTimeout(function(){c<0?C(a):B(a);if(!google.isIE&&a.I)a.b.style.width=\"100px\";a.b.style.position=(a.d.style.height=\"\");n(a,0);google.rhs();a.d.w=0},0)}function x(a){a.u=0;if(!a.d.w){a.d.w=1;var b;if(!a.j){a.s=google.getHeight(a.d);y(a);n(a,0);a.n=0;k(function(d){d.m.title=\"\"});a.m.style.backgroundPosition=\"-105px -74px\";a.p.innerHTML=a.o;A(a,1);a.b.style.position=\"absolute\";a.b.style.display=\"\";a.j=(g[a.c].r=1);google.History.save(j,\u000ag);b=a.b.offsetHeight}else{var c=a.g&&a.g.getAttribute(\"mbclose\");if(c){eval(c);a.onclose(a.g)}b=a.s-google.getHeight(a.d);a.h.style.display=\"none\";n(a,a.n);a.b.style.position=\"absolute\"}D(a,google.getHeight(a.d),b,google.isSafari?2:1,google.time())}}google.dstr&&google.dstr.push(z);\u000a})();\u000a(function(){\u000avar h=false,i=true,k,m;\u000afunction o(){k=document.createElement(\"style\");document.getElementsByTagName(\"head\")[0].appendChild(k);m=k.sheet;}\u000agoogle.addCSSRule=function(a,b){k||o();var e=a+\"{\"+b+\"}\";m.insertRule(e,m.cssRules.length);};google.acrs=function(a){for(var b=a.split(/{|}/),c=1;c<b.length;c+=2)google.addCSSRule(b[c-1],b[c])};google.Toolbelt={};\u000avar p=null,r=h,s=h,t=document.location.href.match(\"^.*?://[^/]*\")[0],u,v;function w(a,b){v=document.getElementById(\"tbd\");u=v.innerHTML=a;b||google.Toolbelt.toggle(null,null,i);google.j&&google.j.trap&&google.j.trap()}var y=google.History.client(function(a){w(a.content,a.open==google.Toolbelt.isToolbeltOpen())}),z=google.History.client(function(a){google.acrs(a)});google.Toolbelt.ascrs=function(a){google.acrs(a);google.History.save(z,a)};var A=[];google.rein.push(function(){A=[]});\u000agoogle.Toolbelt.registerToolbeltCallback=function(a){A.push(a)};function B(){for(var a=0,b;b=A[a++];)b()}google.rein.push(function(){A=[]});google.Toolbelt.listeners=function(){return A};var C=/([?&])tbo=([^&]*)(&|$)/;function D(a){var b=a.match(C);return b?b[2]:\"\"}function E(a){var b=D(a);return mbtb1.obd?b!=\"0\":b!=\"\"&&b!=\"0\"}google.Toolbelt.setCurrentTbo=function(a){return F(a,google.Toolbelt.isToolbeltOpen())};\u000afunction F(a,b){var c=mbtb1.obd&&!D(a)?\"\":\"1\",d=mbtb1.obd?\"0\":\"\",f=b?c:d;return a.replace(C,\"$1\").replace(/&$/,\"\")+(f?\"&tbo=\"+f:\"\")}\u000agoogle.Toolbelt.updateTbo=function(){var a=google.Toolbelt.isToolbeltOpen();if(!(a==E(google.base_href))){var b=document.getElementsByTagName(\"A\");google.base_href=F(google.base_href,a);for(var c=0,d;d=b[c++];)if(d.href.match(\"^(\"+t+\")?/(?!url|aclk|[^?]*$)\")&&d!=p&&!d.href.match(\"[?&]tbo=u(&|$)\")){d.href=F(d.href,a);}for(var c=0,e;e=document.forms[c++];)if(e.action.match(\"/search$\")){for(var g=\u000a0,q=0,j;j=e.elements[q++];)if(j.name==\"tbo\"){g=1;if(a)j.value=\"1\";else if(mbtb1.obd)j.value=\"0\";else j.parentNode.removeChild(j)}if(!g){var l=document.createElement(\"input\");l.type=\"hidden\";l.value=a?\"1\":\"0\";l.name=\"tbo\";e.appendChild(l)}}}};google.Toolbelt.isToolbeltOpen=function(){return/\\btbo\\b/.test(document.body.className)};\u000agoogle.Toolbelt.toggle=function(a,b,c){b=b||window.event;if(a)p=a;b&&b.stopPropagation();v=document.getElementById(\"tbd\");if(!v)return i;u=v.innerHTML;var d=v.getElementsByTagName(\"DIV\").length>0,f=google.Toolbelt.isToolbeltOpen(),e=c||!!document.getElementById(\"tbt5\")||mbtb1.na;if(f&&!s){H(h,e);google.log(\"toolbelt\",\"0&ei=\"+google.kEI);r=i}else if(d){H(i,\u000ae);r&&google.log(\"toolbelt\",\"1&ei=\"+google.kEI)}else{mbtb1.insert=w;var g=google.xhr();if(g){g.open(\"GET\",[google.pageState?google.pageState.replace(\"#\",\"/mbd?\"):google.base_href.replace(/^\\/search\\?/,\"/mbd?\"),\"&mbtype=29&resnum=1&tbo=1\",mbtb1.tbs?\"&tbs=\"+mbtb1.tbs:\"\",\"&docid=\",mbtb1.docid,\"&usg=\",mbtb1.usg,\"&zx=\",google.time()].join(\"\"),i);g.onreadystatechange=function(){if(g.readyState==4&&g.status==200)try{eval(g.responseText)}catch(q){window.location.replace(a.href)}};g.send(null);s=i;H(i,e)}return h}google.History.save(y,\u000a{content:u,open:s||!f});return s=h};function I(a){for(;a&&a.className!=\"tbt\";)a=a.parentNode;return a}google.Toolbelt.ctlClk=function(a,b){a=a||\"cdr_opt\";b=b||\"cdr_min\";var c=document.getElementById(a);if(c){c.className=\"tbots\";var d=I(c);if(d){for(var f=0,e;e=d.childNodes[f++];)if(e.className==\"tbos\")e.className=\"tbotu\";var g=document.getElementById(b);g&&g.focus()}}return h};google.Toolbelt.cdrClk=google.Toolbelt.ctlClk;\u000afunction J(a){return a.replace(/_/g,\"_1\").replace(/,/g,\"_2\").replace(/:/g,\"_3\")}google.Toolbelt.cdrSbt=function(){return K(\"ctbs\",{cdr_min:\"cd_min\",cdr_max:\"cd_max\"})};google.Toolbelt.clSbt=function(){return K(\"ltbs\",{l_in:\"cl_loc\"})};function K(a,b){var c=document.getElementById(a);if(c)for(var d in b){var f=J(document.getElementById(d).value),e=new RegExp(\"(\"+b[d]+\":)([^,]*)\");c.value=c.value.replace(e,\"$1\"+f)}return i}\u000agoogle.Toolbelt.tbosClk=function(a){var b=a||window.event,c=b.target||b.srcElement;if(c&&c.className==\"tbotu\"){c.className=\"tbos\";var d=I(c);if(d)for(var f=0,e;e=d.childNodes[f++];)if(e.className==\"tbots\")e.className=\"tbou\"}};var L=google.fx.easeOut,M=[[\"tads\",\"margin-left\",\"marginLeft\"],[\"res\",\"margin-left\",\"marginLeft\"],[\"tbd\",\"margin-left\",\"marginLeft\"],[\"mbEnd\",\"width\",\"width\"],[\"tbt3\",\"left\",\"left\"],[\"tbt8\",\"left\",\"left\"],[\"tbt5\",\"margin-left\",\"marginLeft\"]],N=h;\u000afunction O(a){for(var b=0,c=0,d;d=M[c++];){var f=document.getElementById(d[0]);f&&a(f,d,b++)}}function P(){var a=[];O(function(b,c){var d=c[1];a.push(d==\"width\"?b.offsetWidth:google.getComputedStyle(b,d))});return a}\u000afunction H(a,b){if(!N){var c=[],d=P(),f=google.getComputedStyle(v,\"left\",i),e=document.getElementById(\"cdr_min\"),g=document.getElementById(\"cdr_max\");if(e&&g){e.style.width=google.getComputedStyle(e,\"width\",i);g.style.width=google.getComputedStyle(g,\"width\",i)}document.body.className=document.body.className.replace(/\\btbo\\b/,\"\")+(a?\" tbo\":\"\");google.Toolbelt.updateTbo();B();if(!b){if(a){f=google.getComputedStyle(v,\"left\",i);if(e&&g){e.style.width=google.getComputedStyle(e,\"width\",i);g.style.width=\u000agoogle.getComputedStyle(g,\"width\",i)}}var q=P();O(function(l,x,G){c.push([l,x[2],d[G],q[G],L])});var j=google.fx.wrap(v);j.style.position=\"absolute\";j.style.overflow=\"hidden\";j.style.left=f;v.style.display=\"block\";v.style.position=\"static\";N=i;google.fx.animate(a?400:200,c,function(){O(function(l,x){l.style[x[2]]=\"\"});v.style.position=\"absolute\";v.style.display=\"\";google.fx.unwrap(v);if(e&&g){e.style.width=\"\";g.style.width=\"\"}N=h})}}};\u000a})();\u000aif(!window.gbar||!gbar.close){window.gbar={};(function(){var e=window.gbar,g,j;function k(a){var b=window.encodeURIComponent&&(document.forms[0].q||\"\").value;if(b)a.href=a.href.replace(/([?&])q=[^&]*|$/,function(h,d){return(d||\"&\")+\"q=\"+encodeURIComponent(b)})}e.qs=k;function m(a,b,h,d,f,l){var i=document.getElementById(a),c=i.style;if(i){c.left=d?\"auto\":b+\"px\";c.right=d?b+\"px\":\"auto\";c.top=h+\"px\";c.visibility=j?\"hidden\":\"visible\";if(f){c.width=f+\"px\";c.height=l+\"px\"}else{m(g,b,h,d,i.offsetWidth,i.offsetHeight);j=j?\"\":a}}}e.tg=function(a){a=a||window.event;var b=a.target||a.srcElement;a.cancelBubble=true;if(!g){a=document.createElement(Array.every||window.createPopup?\"iframe\":\"div\");a.frameBorder=\"0\";a.src=\"#\";g=b.parentNode.appendChild(a).id=\"gbs\";document.onclick=e.close;if(e.alld){e.alld(function(){n(b)});return}}n(b)};function n(a){var b=0,h,d=window.navExtra;if(a.className!=\"gb3\")a=a.parentNode;var f=a.getAttribute(\"aria-owns\")||\"gbi\",l=a.offsetWidth,i=a.offsetTop>20?46:24,c;do b+=a.offsetLeft||0;while(a=a.offsetParent);if(f==\"gbi\")for(a=document.getElementById(f);d&&(h=d.pop());)a.insertBefore(h,a.firstChild).className=\"gb2\";else c=b=(document.documentElement.clientWidth||document.body.clientWidth)-b-l;j!=f&&e.close();m(f,b,i,c)}e.close=function(){j&&m(j,0,0)}})();;};\u000aif(google.y.first){for(var a=0,b;b=google.y.first[a];++a)b();delete google.y.first}for(a in google.y)google.y[a][1]?google.y[a][1].apply(google.y[a][0]):google.y[a][0].go();google.y.x=google.x;google.x=function(d,c){c&&c.apply(d);return false};google.y.first=[];\u000a(function (){\u000avar a=\"google\";if(window[a]){window[a].a={};window[a].c=1;function o(d,f,e){var b=d.t[f],c=d.t.start;if(!b||!(c||e))return undefined;if(e!=undefined)c=e;return b>c?b-c:c-b}window[a].report=function(d,f,e){var b=\"\";if(window[a].pt){b+=\"&srt=\"+window[a].pt;delete window[a].pt}{var c=document.getElementById(\"csi\");if(c){var h;if(window[a]._bfr!=undefined)h=window[a]._bfr;else{h=c.value;window[a]._bfr=h;c.value=1}if(h)return\"\"}}if(d.b)b+=\"&\"+d.b;if(window.parent!=window)b+=\"&wif=1\";var i=d.t,p=i.start,k=[];for(var j in i){if(j==\u000a\"start\")continue;p&&k.push(j+\".\"+o(d,j))}delete i.start;if(f)for(var l in f)b+=\"&\"+l+\"=\"+f[l];var m=[e?e:\"/csi\",\"?v=3\",\"&s=\"+(window[a].sn||\"GWS\")+\"&action=\",d.name,\"\",\"\",b,\"&rt=\",k.join(\",\")].join(\"\");{var g=new Image,n=window[a].c++;window[a].a[n]=g;g.onload=(g.onerror=function(){delete window[a].a[n]});g.src=m;g=null}return m}};if(google.timers&&google.timers.load.t){if(!google.nocsixjs)google.timers.load.t.xjsee=google.time();window.setTimeout(function(){if(google.timers.load.t){google.timers.load.t.xjs=google.time();google.timers.load.t.ol&&google.report(google.timers.load,google.kCSI)}},0)};\u000a})();\u000a"
367
+ },
368
+ "redirectURL":"",
369
+ "headersSize":306,
370
+ "bodySize":8646
371
+ },
372
+ "cache":{},
373
+ "timings":{
374
+ "dns":0,
375
+ "connect":0,
376
+ "blocked":0,
377
+ "send":0,
378
+ "wait":62,
379
+ "receive":16
380
+ }
381
+ },
382
+ {
383
+ "pageref":"page_62143",
384
+ "startedDateTime":"2010-01-02T14:51:01.389+01:00",
385
+ "time":47,
386
+ "request":{
387
+ "method":"GET",
388
+ "url":"http://clients1.google.cz/generate_204",
389
+ "httpVersion":"HTTP/1.1",
390
+ "cookies":[{
391
+ "name":"PREF",
392
+ "value":"ID"
393
+ },
394
+ {
395
+ "name":"NID",
396
+ "value":"29"
397
+ }
398
+ ],
399
+ "headers":[{
400
+ "name":"Host",
401
+ "value":"clients1.google.cz"
402
+ },
403
+ {
404
+ "name":"User-Agent",
405
+ "value":"Mozilla/5.0 (Windows; U; Windows NT 6.0; en-US; rv:1.9.2b6pre) Gecko/20091230 Namoroka/3.6b6pre (.NET CLR 3.5.30729)"
406
+ },
407
+ {
408
+ "name":"Accept",
409
+ "value":"image/png,image/*;q=0.8,*/*;q=0.5"
410
+ },
411
+ {
412
+ "name":"Accept-Language",
413
+ "value":"en-us,en;q=0.5"
414
+ },
415
+ {
416
+ "name":"Accept-Encoding",
417
+ "value":"gzip,deflate"
418
+ },
419
+ {
420
+ "name":"Accept-Charset",
421
+ "value":"ISO-8859-1,utf-8;q=0.7,*;q=0.7"
422
+ },
423
+ {
424
+ "name":"Keep-Alive",
425
+ "value":"115"
426
+ },
427
+ {
428
+ "name":"Connection",
429
+ "value":"keep-alive"
430
+ },
431
+ {
432
+ "name":"Referer",
433
+ "value":"http://www.google.cz/"
434
+ },
435
+ {
436
+ "name":"Cookie",
437
+ "value":"PREF=ID=580ec4c5a3534337:U=37a8fcc41ff49f78:TM=1260796678:LM=1260796682:S=9BgbomVM6pcnfah0; NID=29=OHyg2zMZl4IpG8C4a-Z5itM3gCXOuBPogGpTPVFPNsdpmIHJWX78ymRL_gqptvhr_IQrP319GQ1fxlKUsqaIokpxasPIIDq5ijatDmYiyamnCfJz8rXyNvt5GPjCJp2I"
438
+ }
439
+ ],
440
+ "queryString":[],
441
+ "headersSize":651,
442
+ "bodySize":-1
443
+ },
444
+ "response":{
445
+ "status":204,
446
+ "statusText":"No Content",
447
+ "httpVersion":"HTTP/1.1",
448
+ "cookies":[],
449
+ "headers":[{
450
+ "name":"Content-Length",
451
+ "value":"0"
452
+ },
453
+ {
454
+ "name":"Content-Type",
455
+ "value":"text/html"
456
+ },
457
+ {
458
+ "name":"Date",
459
+ "value":"Sat, 02 Jan 2010 13:51:06 GMT"
460
+ },
461
+ {
462
+ "name":"Server",
463
+ "value":"GFE/2.0"
464
+ },
465
+ {
466
+ "name":"X-XSS-Protection",
467
+ "value":"0"
468
+ }
469
+ ],
470
+ "content":{
471
+ "size":0,
472
+ "mimeType":"text/html"
473
+ },
474
+ "redirectURL":"",
475
+ "headersSize":146,
476
+ "bodySize":0
477
+ },
478
+ "cache":{},
479
+ "timings":{
480
+ "dns":0,
481
+ "connect":0,
482
+ "blocked":0,
483
+ "send":0,
484
+ "wait":47,
485
+ "receive":0
486
+ }
487
+ },
488
+ {
489
+ "pageref":"page_62143",
490
+ "startedDateTime":"2010-01-02T14:51:01.452+01:00",
491
+ "time":31,
492
+ "request":{
493
+ "method":"GET",
494
+ "url":"http://www.google.cz/images/nav_logo7.png",
495
+ "httpVersion":"HTTP/1.1",
496
+ "cookies":[{
497
+ "name":"PREF",
498
+ "value":"ID"
499
+ },
500
+ {
501
+ "name":"NID",
502
+ "value":"29"
503
+ }
504
+ ],
505
+ "headers":[{
506
+ "name":"Host",
507
+ "value":"www.google.cz"
508
+ },
509
+ {
510
+ "name":"User-Agent",
511
+ "value":"Mozilla/5.0 (Windows; U; Windows NT 6.0; en-US; rv:1.9.2b6pre) Gecko/20091230 Namoroka/3.6b6pre (.NET CLR 3.5.30729)"
512
+ },
513
+ {
514
+ "name":"Accept",
515
+ "value":"image/png,image/*;q=0.8,*/*;q=0.5"
516
+ },
517
+ {
518
+ "name":"Accept-Language",
519
+ "value":"en-us,en;q=0.5"
520
+ },
521
+ {
522
+ "name":"Accept-Encoding",
523
+ "value":"gzip,deflate"
524
+ },
525
+ {
526
+ "name":"Accept-Charset",
527
+ "value":"ISO-8859-1,utf-8;q=0.7,*;q=0.7"
528
+ },
529
+ {
530
+ "name":"Keep-Alive",
531
+ "value":"115"
532
+ },
533
+ {
534
+ "name":"Connection",
535
+ "value":"keep-alive"
536
+ },
537
+ {
538
+ "name":"Referer",
539
+ "value":"http://www.google.cz/"
540
+ },
541
+ {
542
+ "name":"Cookie",
543
+ "value":"PREF=ID=580ec4c5a3534337:U=37a8fcc41ff49f78:TM=1260796678:LM=1260796682:S=9BgbomVM6pcnfah0; NID=29=OHyg2zMZl4IpG8C4a-Z5itM3gCXOuBPogGpTPVFPNsdpmIHJWX78ymRL_gqptvhr_IQrP319GQ1fxlKUsqaIokpxasPIIDq5ijatDmYiyamnCfJz8rXyNvt5GPjCJp2I"
544
+ }
545
+ ],
546
+ "queryString":[],
547
+ "headersSize":654,
548
+ "bodySize":-1
549
+ },
550
+ "response":{
551
+ "status":200,
552
+ "statusText":"OK",
553
+ "httpVersion":"HTTP/1.1",
554
+ "cookies":[],
555
+ "headers":[{
556
+ "name":"Content-Type",
557
+ "value":"image/png"
558
+ },
559
+ {
560
+ "name":"Last-Modified",
561
+ "value":"Thu, 23 Jul 2009 17:45:03 GMT"
562
+ },
563
+ {
564
+ "name":"Date",
565
+ "value":"Sat, 02 Jan 2010 13:05:54 GMT"
566
+ },
567
+ {
568
+ "name":"Expires",
569
+ "value":"Sun, 02 Jan 2011 13:05:54 GMT"
570
+ },
571
+ {
572
+ "name":"Server",
573
+ "value":"gws"
574
+ },
575
+ {
576
+ "name":"Content-Length",
577
+ "value":"5401"
578
+ },
579
+ {
580
+ "name":"Cache-Control",
581
+ "value":"public, max-age=31536000"
582
+ },
583
+ {
584
+ "name":"Age",
585
+ "value":"2712"
586
+ },
587
+ {
588
+ "name":"X-XSS-Protection",
589
+ "value":"0"
590
+ }
591
+ ],
592
+ "content":{
593
+ "size":5401,
594
+ "mimeType":"image/png"
595
+ },
596
+ "redirectURL":"",
597
+ "headersSize":275,
598
+ "bodySize":5401
599
+ },
600
+ "cache":{},
601
+ "timings":{
602
+ "dns":0,
603
+ "connect":0,
604
+ "blocked":0,
605
+ "send":0,
606
+ "wait":31,
607
+ "receive":0
608
+ }
609
+ }
610
+ ]
611
+ }
612
+ }