GET
H2
|
200
|
Primary Request
/
Show response
itty.bitty.site/
Redirect Chain
-
http://tinyurl.com/LTThack23
-
https://tinyurl.com/LTThack23
-
https://itty.bitty.site/
|
1 KB
782 B
|
219ms
97ms
|
Document
text/html |
35.156.224.161
AMAZON-02
|
|
|
GET
H2
|
200
|
index.css
itty.bitty.site/
|
10 KB
3 KB
|
110ms
109ms
|
Stylesheet
text/css |
35.156.224.161
AMAZON-02
|
|
|
GET
H2
|
200
|
bitty.js
Show response
itty.bitty.site/
|
21 KB
6 KB
|
59ms
58ms
|
Script
application/javascript |
35.156.224.161
AMAZON-02
|
|
|
GET
H2
|
200
|
index.js
Show response
itty.bitty.site/
|
20 KB
6 KB
|
62ms
61ms
|
Script
application/javascript |
35.156.224.161
AMAZON-02
|
|
|
GET
H2
|
200
|
bitty-menu.js
Show response
itty.bitty.site/
|
8 KB
3 KB
|
75ms
74ms
|
Script
application/javascript |
35.156.224.161
AMAZON-02
|
|
|
GET
H2
|
200
|
lzma_worker-min.js
Show response
itty.bitty.site/js/lzma/
|
23 KB
9 KB
|
57ms
57ms
|
Script
application/javascript |
35.156.224.161
AMAZON-02
|
|
|
GET
DATA
|
200
OK
|
truncated
Show response
/
Frame 977F
|
26 KB
26 KB
|
|
Document
text/html |
|
|
|
GET
H2
|
520
|
nft-card.min.js
unpkg.com/embeddable-nfts/dist/
Frame 977F
|
0
0
|
203ms
129ms
|
Script
text/html |
104.16.123.175
CLOUDFLARENET
|
|
General
- Full URL
- https://unpkg.com/embeddable-nfts/dist/nft-card.min.js
- Requested by
- Host: text
URL: data:text/html;charset=utf-8;base64,PG1ldGEgY2hhcnNldD0idXRmLTgiPjxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgiPjxiYXNlIHRhcmdldD0iX3RvcCI+PHN0eWxlIHR5cGU9InRleHQvY3NzIj5ib2R5e21hcmdpbjowIGF1dG87cGFkZGluZzoxMnZtaW4gMTB2bWluO21heC13aWR0aDozNWVtO2xpbmUtaGVpZ2h0OjEuNWVtO2ZvbnQtZmFtaWx5Oi1hcHBsZS1zeXN0ZW0sQmxpbmtNYWNTeXN0ZW1Gb250LHNhbnMtc2VyaWY7d29yZC13cmFwOmJyZWFrLXdvcmQ7fUBtZWRpYShwcmVmZXJzLWNvbG9yLXNjaGVtZTogZGFyayl7Ym9keXtjb2xvcjp3aGl0ZTtiYWNrZ3JvdW5kLWNvbG9yOmJsYWNrO319PC9zdHlsZT4gPGEgdGFyZ2V0PSJfdG9wIiBpZD0ibGluayIgbmFtZT0ibGluayIgc3R5bGU9ImRpc3BsYXk6IGJsb2NrOyBvdmVyZmxvdy13cmFwOiBicmVhay13b3JkOyBzY3JvbGwtYmVoYXZpb3I6IHNtb290aDsiPjxkaXYgaWQ9ImljaGVjayIgc3R5bGU9Im1hcmdpbi10b3A6LTd2dzsiPgoKCiZuYnNwOzxzdHlsZT4gLmxpbmUge2JhY2tncm91bmQ6IGJsYWNrO29wYWNpdHk6IDAuNTtoZWlnaHQ6IDQuNXB4Oy13ZWJraXQtYm94LXNoYWRvdzogMnB4IC0ycHggM3B4IGRpbWdyZXk7Ym94LXNoYWRvdzogMnB4IC0ycHggM3B4IGRpbWdyZXk7d2lkdGg6IDAlO3Bvc2l0aW9uOiBmaXhlZDtib3R0b206IDA7bGVmdDowO2FsaWduOmNlbnRlcjt6LWluZGV4Ojg7fcKgIMKgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogOS45aW4pIHsgLnFyaW1nIHthbGlnbjogcmlnaHQ7cmlnaHQ6MDttYXJnaW4tcmlnaHQ6LTMuNSU7bWFyZ2luLWJvdHRvbTotNTAlO3BhZGRpbmctcmlnaHQ6LTEuNSU7d2lkdGg6MzAlO30gLnRvcGJhciB7bWFyZ2luLXRvcDotM3Z3O21hcmdpbi1sZWZ0Oi0zdnc7bWFyZ2luLXJpZ2h0Oi0zdnc7fSAubGluZSB7bWFyZ2luLWxlZnQ6MC41JTthbGlnbjpjZW50ZXI7bGVmdDowO319IEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEwaW4pIHsgLnFyaW1nIHthbGlnbjogcmlnaHQ7bWFyZ2luLWJvdHRvbTotNTAlO3dpZHRoOjIwJTt9LmxpbmUge21hcmdpbi1sZWZ0OjAlO2FsaWduOmNlbnRlcjtsZWZ0OjA7fX3CoCA8L3N0eWxlPiZuYnNwOyA8ZGl2IGNsYXNzPSJsaW5lIiBpZD0ic2Nyb2xsSW5kaWNhdG9yIj48L2Rpdj48L2Rpdj48c2NyaXB0IHNyYz0iaHR0cHM6Ly91bnBrZy5jb20vZW1iZWRkYWJsZS1uZnRzL2Rpc3QvbmZ0LWNhcmQubWluLmpzIj48L3NjcmlwdD48ZGl2IGlkPSJiYWNrZ3JvdW5kIiBzdHlsZT0ibWFyZ2luLWJvdHRvbTotMTV2dzsiPjxsYWJlbD48aDEgc3R5bGU9Im1hcmdpbi1ib3R0b206LTJ2dzsiPjxzcGFuIHN0eWxlPSJsZWZ0OjA7IiBhbGlnbj0ibGVmdCIgaWQ9Im91dHRvcCI+V2hhdCBTaG91bGQgQmUgTGVhcm5lZCBmcm9tIHRoZSBMVFQgSGFjazwvc3Bhbj48L2gxPjwvbGFiZWw+Jm5ic3A7IDxsYWJlbD48aDQgYWxpZ249InJpZ2h0IiBzdHlsZT0icmlnaHQ6MDsiPjxzcGFuIGFsaWduPSJyaWdodCIgc3R5bGU9InJpZ2h0OjA7IiBpZD0ib3V0bWlkIj4jTFRUICNMVFRoYWNrICNIYWNrICNMVFRoYWNrMjM8L3NwYW4+PGhyIHN0eWxlPSJtYXJnaW4tYm90dG9tOi0zdnc7Ij48L2g0PjwvbGFiZWw+CiZuYnNwOyAmbmJzcDs8c3BhbiBhbGlnbj0iY2VudGVyIiBpZD0iaW1nMSIgc3R5bGU9IndpZHRoOjk2dnc7cmlnaHQ6NTA7bGVmdDo1MDtoZWlnaHQ6YXV0bzsiPjxpbWcgc3JjPSJodHRwczovL2ltYWdlcy5uaWdodGNhZmUuc3R1ZGlvL2pvYnMvcFo3VmRIcldEWFdSbVVrZmhoT08vcFo3VmRIcldEWFdSbVVrZmhoT08tLTMtLW01ZjhrXzZ4LmpwZyIgc3R5bGU9IndpZHRoOjk5JTsiIGFsaWduPSJjZW50ZXIiPjwvc3Bhbj4KPGxhYmVsPjxoNCBzdHlsZT0iZm9udC13ZWlnaHQ6bm9ybWFsOyI+PHNwYW4gaWQ9Im91dG91dCIgc3R5bGU9ImZvbnQtd2VpZ2h0Om5vcm1hbDsiPiZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyBNYWpvciB0ZWNoIGNvbXBhbmllcyB3ZW50IGZyb20gaGVscGluZyB0aGUgc29jaWV0eSBhcm91bmQgdGhlbSB0byB0YWtpbmcgZnJvbSB0aGUgc29jaWV0eSBhcm91bmQgdGhlbSB0byBub3cgY29udHJvbGxpbmcgdGhlIHNvY2lldHkgYXJvdW5kIHRoZW0uIFRoZSA8aT5UZWNoIEdpYW50czwvaT4gcGxhbnRlZCB0aGVpciBmZWV0IGluIHRoZSBkaXJ0IGJ5IGhlbHBpbmcgdXMsIHRoZW4gdGhleSBnYXZlIHVzIGhvcGVzIG9mIHNlY3VyaXR5ICZhbXA7IHNhZmV0eSBvbmx5IHRvIHR1cm4gYW5kIGN1dCBob2xlcyBpbnRvIHRoZWlyIHN5c3RlbXMganVzdCB0byBsZXQgdGhlIGdvdmVybm1lbnRzIGluLiBUaGUgcHJvYmxlbSB3aXRoIGhvbGVzIGlzIHlvdSBjYW4ndCBwaWNrIGFuZCBjaG9vc2Ugd2hhdCBnb2VzIHRocm91Z2ggdGhlbS4KPGJyPiZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyBIYXZpbmcgYmFja2Rvb3JzIGV2ZW4gZm9yIHlvdXIgb3duIHRlYW0sIHBlb3BsZXMsIHN5c3RlbXMsIGV0YyBnaXZlcyB0aGUgYWJpbGl0eSBmb3Igc29tZW9uZSBlbHNlIHRvIGdhaW4gc29tZSBmb3JtIG9mIGFjY2Vzcy4gTXVjaCBob3cgYmxvY2tjaGFpbiBkYXRhYmFzZXMgd2VyZSB0byBwcmV2ZW50IGRvdWJsZS1kYXRhICZhbXA7IHVucGVybWlzc2lvbmVkLWRhdGEtY2hhbmdlcyBidXQgd2l0aCBwcm9ncmFtYWJsZSBjaGFpbnMgY2FtZSBjb250cm9sbGluZyBzY3JpcHRzICZhbXA7IGF1dG8tdHJhbnNmZXIgYXR0YWNrcyBoaWRkZW4gYXMgZnJlZS1taW50cyB3ZWJzaXRlcy4gV2hlcmUgd2UgaGFkIG9mZmxpbmUgc3RvcmFnZSB3aXRoIGNoYWlucyBtZWNoYW5pY3MgdGhhdCBhbGxvd2VkIHNlbmRpbmcgdG8gYW55dGhpbmcgZXZlbiB1bmtub3ducyBhbmQgYmVpbmcgYWJsZSB0byBqdXN0IHNlbmQgdGhlIHByb29mIG9mIG91dHB1dCBhbmQgbm90IHRoZSBvdXRwdXQgaXRzZWxmIGp1c3QgZm9yIGx1eHVyaWVzIHRvIGNvbWUgaW4gYW5kIHB1dCB1bmtub3dpbmcgdXNlcnMgaW4gZnJvbnQgb2YgZGlyZWN0IGNvbnRyb2wgb2YgdGhlaXIgb25saW5lIHdhbGxldCBzdG9yYWdlLiBXaGVuIGtub3dsZWRnZSB3YXMgdGhlIHdheSB0byB1c2UgdGhlIHNlY3VyaXR5IHdhcyBnZW5lcmFsbHkgaGlnaGVyIGFuZCBhdHRhY2tzIHdlcmUgZ2VuZXJhbGx5IGxvd2VyIGJ1dCBhcyBpdCBiZWNvbWVzIGVhc2llciB0byB1c2UsIHRoZSBtb3JlIHBlb3BsZXMgdGhhdCBjYW4gcGFydGljaXBhdGUuIFRoaXMgaXMgdGhlIHJvYWQgdG8gYXR0YWNrLCB0aGlzIGlzIHdoZXJlIHdlIHdlcmUgbGVhZCwgdGhpcyBpcyB3aGVyZSB3ZSBhcmUuPGJyPiZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyBZb3VUdWJlIHdoaWNoIGlzIGFwYXJ0IG9mIHRoZSBHb29nbGUgdGVjaCBnaWFudCBmYW1pbHksIGlzIGF0dGFja2VkIHNvbWV0aW1lcyBtdWx0aXBsZSB0aW1lcyBwZXIgbWludXRlIGluIGEgbWFubmVyIHRoYXQgaXMgPGk+PGI+c3VjY2Vzc2Z1bDwvYj48L2k+LiBGcm9tIGhvdyB0aGVzZSBhdHRhY2tzIGFyZSBhYmxlIHRvIGhhcHBlbiBkb3duIHRvIGhvdyBzaW1wbHkgdGhlc2UgYXR0YWNrcyBhcmUgYmVpbmcgZG9uZSBzb21lIHBlb3BsZSBhcmUgYWJsZSB0byBzZWUgd2h5IHRoZXNlIGF0dGFja3MgY2Fubm90IGJlIHN0b3BwZWQhCjxicj48YnI+Jm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7IEF0IHRoZSBtb21lbnQgTFRUIGlzIG9uZSBvZiB0aGUgYmlnZ2VzdCBzZWVuIGF0dGFja3MgZm9yIGEgWW91VHViZSBjaGFubmVsLiBUaGUgdGVhbSB3aXRoaW4gdGhlIGNvbXBhbnkgaGFzIGV4cGxhaW5lZCBzbyBtdWNoIGluZm9ybWF0aW9uIGFuZCB0YWtlbiB1cyAodGhlIGF1ZGllbmNlKSB0aHJvdWdoIHRoZSBzdGVwcyBlbm91Z2ggdGltZXMgdGhhdCBjb21wYXJpc29ucyBvZiBhdHRhY2tzIHRvIFlvdVR1YmVycyBvdmVyIHRoZSB5ZWFycyBjYW4gcmVhbGx5IGJlIHZpZXdlZCBpbiBsaWdodHMuPGJyPiZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyBOb3JtYWxseSB3aXRoIFlvdVR1YmVyIGhhY2tzIHBlb3BsZSBleHBlY3QgdGhlIGNvbW1vbiB0cm9wZXM6IDxpPjxiPnVzZXIgZXJyb3I8L2I+LCA8Yj5lbWFpbC9waGlzaGluZy9pY2Vpbmc8L2I+LCA8Yj5jbGlwcGVkL2xvZ2dlZDwvYj4gYXR0YWNrczwvaT4uIFRoZXNlIGFyZSBhbGwgc29tZSBmb3JtIG9mIDxpPjxiPnVzZXIgZXJyb3I8L2I+PC9pPiBvciBpdCB0YWtlcyB0aGUgdXNlciB0byBjYXVzZSB0aGUgZW50cnkgZm9yIHRoZXNlIGF0dGFja3MgYW5kIHdoaWxlIHRoZSBtb3JlIG90aGVyIGF0dGFja3MgYXJlIGtub3duIG9mLCBwZW9wbGUgb3V0c2lkZSB0aGUgYXR0YWNrIHZlY3RvciByYXJlbHkgaGVhciBvZiB0aGUgaW5zaWRlIGluZm9ybWF0aW9uLiBMaW51cyBUZWNoIFRpcHMgaG93ZXZlciwgdGhleSBnYXZlIHVzIHRoaXMgaW5mb3JtYXRpb24uCjxicj4mbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgQXQgdGhlIGVuZCBvZiBtYW55IFlvdVR1YmVyIGF0dGFjayB2aWRlb3MgdGhlIHBocmFzZSwgIjxpPnBsZWFzZSBiZSBraW5kPC9pPiIgaXMgdXNlZCBvZnRlbiBiZWNhdXNlIHRoZSB1c2VyIGJlbGlldmVzIHRvIGJlIGF0IGZhdWx0LiBUaGVzZSBhcmUgdHJvdWJsaW5nIGFuZCBjb25mdXNpbmcgdGltZXMsIGV2ZW4gZm9yIGEgd2VsbCB0ZWNoLWtub3dsZWRnZWQgcGVyc29uIGxpa2UgTFRUJ3MgTGludXMgPGk+aGltc2VsZjwvaT4gdGhlIHNpdHVhdGlvbiB3YXMgY29uZnVzaW5nIGFuZCBtaXNsZWFkaW5nLiBGcm9tIHRoZSBzaXR1YXRpb24gYXQgaGFuZCBleHBsYWluZWQgdmlhIExUVCdzIHN0YWZmIHdpdGhpbiB0aGVpciBvd24gbGl2ZSBzdHJlYW1zLCBjbGlwcyBhbmQgcG9zdHMgaXQgYXBwZWFycyB0aGF0IHRoZSBvbmx5IHBlb3BsZSB0aGF0IGhhbmRsZWQgdGhlIHNpdHVhdGlvbiBjYWxtbHkgYXJlIHBlb3BsZSB3aG9tIGVpdGhlciBkZWFsIG9mdGVubHkgb3IgaGF2ZSBkZWFsdCBvZnRlbiB3aXRoIGhhY2tpbmcgb3IgcXVpY2sgdGltZSBzaXR1YXRpb25zIHdpdGhpbiByZWFsLXdvcmxkIHNjZW5hcmlvcyAobGlrZSBoYWNraW5nIGV2ZW50cyBhbmQgZGVtb25zdHJhdGlvbnMpLiBUaGUgcGVvcGxlIHRoYXQgZml4IHRoZSBpc3N1ZXMgd2hlbiB0aGV5IGFyZSBsaXZlLCBkdXJpbmcgcmVjb3JkaW5ncyAmYW1wOyB0aGUgcGVvcGxlIGp1c3QgZXhwbGFpbmVkIGFsbCBzZWVtZWQgdG8gYmUgY2FsbSwga25ldyB3aGF0IHRvIGRvIG9yIGZvciBhdCBsZWFzdCAxIGVtcGxveWVlIGVuam95ZWQgdGhlIHRyaWxsIG9mIHdvcmtpbmcgYWdhaW5zdCB0aGUgaGFja2VycyB0byBnZXQgdGhpbmdzIGZpeGVkLiBUaGlzIHNob3dzIHRoYXQgaW4gc29tZSBjYXNlcyBwcmV2aW91cyBZb3VUdWJlciBoYWNrcyBtYXkgaGF2ZSBoYWQgdGhlIGV4YWN0IHNhbWUgaXNzdWUgYnV0IGJlY2F1c2UgdGhlIFlvdVR1YmVyIHdhc24ndCBhcyB0ZWNoIHVuZGVyc3RhbmRpbmcgYXMgdGhlIGVudGlyZXR5IG9mIHRoZSBMVFQgdGVhbSB0aGF0IHdvcmtlZCBvbiB0aGUgaGFjayBsaXZlLCB0aGV5IG1heSBhc3N1bWVkIGZha2UgaW5mb3JtYXRpb24gYW5kIHdpdGggbm8gb3RoZXIgaW5mb3JtYXRpb24gaGFkIHRvIHRha2UgYXMgdGhlIG1vc3QgcG9zc2libGUgdHJ1dGguCjxicj4mbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgVGhlIHJlYWwgcHJvYmxlbSB0aG91IGlzIHVuZGVybHlpbmcgYW5kIHRoaXMgaXMgb25lIG9mIHRoZSBmZXcgdGltZXMgd2UgaGFkIHJlYWwgaW5zaWdodCBpbnRvIGl0IG91dHNpZGUgb2YgdGhlIFlvdVR1YmUgSW50ZXJuYWwgVGVjaG5vbG9naWVzIFRlYW0gJmFtcDsgTWFuYWdlbWVudCBmcmFtZXdvcmsuIEkgbXVzdCBzYXksIGl0J3MgYWJvdXQgdGltZSBiZWNhdXNlIHRoaXMgc2hvd3MgZmxhd3MgbWFqb3IgZmxhd3Mgbm90IG9ubHkgd2l0aCB0aGUgdGVjaCBnaWFudCBidXQgYWxzbyBvbiB0aGUgc29mdC1hbGwtd2FyZSB0ZWNobm9sb2dpZXMgR29vZ2xlLCBNaWNyb3NvZnQsIEFwcGxlIGFuZCBvdGhlciBtYWpvciB0ZWNoIGNvbXBhbmllcyBoYXZlIHNvbGQgdXMuPGJyPjxicj48aDEgYWxpZ249ImNlbnRlciIgc3R5bGU9ImFsaWduOmNlbnRlciI+PGI+IjxpPkl0J3MgYWxsIG9uIHRoZSB3aXJlITwvaT4iPC9iPjxicj48L2gxPjxoMiBhbGlnbj0icmlnaHQiIHN0eWxlPSJhbGlnbjpyaWdodDttYXJnaW4tcmlnaHQ6NSU7Ij48c3VwPjxzdWI+Jm5ic3A7ICZuYnNwOyBVbmtub3duIFRlY2ggR2lhbnQgKDE5OTMtMjAxMyk8L3N1Yj48L3N1cD48L2gyPgo8YnI+Jm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7IFNvZnQtYWxsLXdhcmUgaXMgZXZlcnl0aGluZyBkb25lIGJ5IHNvZnR3YXJlLiBBbGwtb24tdGhlLXdpcmUgYWthIDxxPjxpPjEtd2lyZTwvaT48L3E+IGlzIHJ1bm5pbmcgYWxsIHNlcnZpY2VzIG92ZXIgdGhlIGludGVybmV0ICZhbXA7IGNsb3VkLiBUaGUgcHJvYmxlbSB0aG91IGlzIHRoZSBjbG91ZCBpcyBqdXN0IHNvbWVvbmUgZWxzZSdzIGNvbXB1dGVyLiBUaGUgb3RoZXIgcHJvYmxlbSBpcyB3aGF0IGhhcHBlbnMgd2hlbiB0aGUgY29tcGFuaWVzIHNheWluZyB0ZWNobm9sb2d5IHdpbGwgbWFrZSBldmVyeXRoaW5nIHNhZmVyLCBmYXN0ZXIsIHN0cm9uZ2VyLCBiZXR0ZXIgaXMgYWxzbyB0aGUgc2FtZSBjb21wYW5pZXMgcHVycG9zZWx5IGNyYWZ0aW5nIGhvbGVzIGluIHRoZWlyIHN5c3RlbSB3aGlsZSBvdGhlciBwYXJ0cyBhcmUgbm93IHN0YXJ0aW5nIHRvIHNob3cgdGhleSB3ZXJlIGp1c3QgZGlnaXRhbCBwYXJsb3IgdHJpY2tzLgo8YnI+Jm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7IFNvZnQtYWxsLXdhcmUsIG1ha2UgaXQgYWxsIHNvZnR3YXJlIGlzbid0IGEgYmFkIHByYWN0aWNlLiBUaGlzIGFsbG93cyBmb3Igc21hbGxlciBkZXZpY2VzIHRvIGhhdmUgYmlnLWRldmljZSBmZWVsLiBDaGVhcGVyIGRldmljZXMgY2FuIGFjdCBsaWtlIHJlYWxseSBiaWcgYW5kIGV4cGVuc2l2ZSBkZXZpY2VzLiBUaGUgcHJvYmxlbSwgdG8gcGVyZm9ybSB0aGlzIHBhcmxvciB0cmljayBvZiBtYWtpbmcgYSBzbG93IHNtYWxsIGNoZWFwIGRldmljZSBmZWVsIGZhc3RlciwgYmlnZ2VyLCBhbmQgbW9yZSBleHBlbnNpdmUgaXMgdGhlIHVzZXIncyBkZXZpY2UgaGFzIHRvIHRhbGsgdG8gYW5vdGhlciBkZXZpY2UgZm9yIGV2ZXJ5dGhpbmcuIFNvIGNlcnRpZmljYXRlcyB3ZXJlIGludmVudGVkIHRvIHJlZ3VsYXRlIHRydXN0ZWQgcGFydGllcyBidXQgZXZlbnR1YWxseSB0aGUgPGI+ZDxpPmVlPC9pPnRzPC9iPiB0byBhIHRlY2ggZ2lhbnQncyBjZXJ0cyB3ZXJlIGxlYWtlZCwgdGhlbiBmcm9tIHRoYXQgb3RoZXIncyBnZXQgc3RvbGVuIHRoZW4gZXZlbnR1YWxseSB0aGUgZW50aXJlIGNlcnRpZmljYXRlIHN5c3RlbSBzaG93cyBpdCdzIGEgZmlhdCBzeXN0ZW0uIEl0IHdvcmtzIGNvbXBsZXRlbHkgb24gdHJ1c3QgaW5zdGVhZCBvZiBwcm9vZnMuIENlcnRpZmljYXRlcyBoYXZlIHByb29mcyB3aXRoIHRoZW0gdG8gcHJvdmUgdGhlIGNlcnQgaXMgYXMgaW50ZW5kZWQgYnV0IHdoZW4gdGhlIGNlcnQgaXMgYmVpbmcgdXNlZCB1bi1pbnRlbmRlZGx5IGFzIGludGVuZGVkLCB3ZWxsIHRoYXQncyB1bnN0b3BwYWJsZSBpbiBhIHRydXN0IHN5c3RlbS4gRXZlbiBpZiB0aGVyZSB3YXMgYSBibG9ja2NoYWluIG9mIGNlcnRzLCBpdCdzIGEgdHJ1c3Qgc3lzdGVtIGFuZCB0aGVyZWZvcmUgd2lsbCBhbHdheXMgYmUgYSBwYXJsb3IgdHJpY2suIE5vdGhpbmcgbW9yZSB0aGVuIGV4Y2VsIHNoZWV0IGRhdGFiYXNpbmcuPGJyPiZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyBUaGlzIGlzIHdoeSBJIGFtIGNhbGxpbmcgaXQgYSBwYXJsb3IgdHJpY2ssIHRoaXMgY2VydGlmaWNhdGUgc3lzdGVtIHdhcyBzb2xkIGFzIHRoZSBrZXkgdG8gYWxsb3dpbmcgc29mdC1hbGwtd2FyZSB3b3JrIHdpdGhvdXQgd29ycnkuIEluIHJlYWxpdHkgdGhleSBzaG91bGQgaGF2ZSBqdXN0IGJlZW4gaG9uZXN0IGFuZCBzYWlkLCAiPGk+Q2VydGlmaWNhdGVzIGFyZSBhIHRydXN0IG5ldHdvcmsgb2YgcGFpZCBzcG9uc29ycyB0byBiZSBhYmxlIHRvIHByb2R1Y2UgdW5pcXVlIFNIQSBwcm9vZnMgdGhhdCBjYW5ub3QgYmUgZHVwcGVkIG9ubHkgY29waWVkIGZvciBhcyBsb25nIGFzIHRoZSBTSEEgcHJpdmF0ZSBrZXlzIGFyZSBrZXB0IHNhZmUsPC9pPiIgYmVjYXVzZSB0aGVuIHdoZW4gaGFja3MgaGFwcGVuIHBlb3BsZSBtYXkgaGF2ZSBzb29uZXIgdGhvdWdodCwgY2hlY2sgY2VydHMsIGluc3RlYWQgb2YgZmluYWxseSBkaXNjb3ZlcmluZyB0aGUgZmxhdyBvbmx5IGFmdGVyIHRoZSBlbnRpcmV0eSBvZiB0aGUgc3lzdGVtIGZlbGxlZCBmcm9tIGEgR1BVIGNvbXBhbnkgaGFjayBvYnRhaW5pbmcgY29tcGFueSBDY2VydCBwcm9vZnMsIGtleXMsIGFuZCBtb3JlITxicj4mbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgQmVjYXVzZSB0aGUgdGVjaCBnaWFudHMga25ldyB0aGUgZmxhdyBiZWZvcmUgaXQgd2FzIHB1YmxpYywgdGhleSBzdGFydGVkIHVzaW5nIGFuIGluZGVwZW5kZW50IGRldmVsb3BlZCBzeXN0ZW0gY2FsbGVkIHRva2VuaXphdGlvbi4gVG9rZW5pemluZyBkYXRhIHdhcyBmaXJzdCB0aG91Z2h0IGFzIGJlc3QgZm9yIGludGVybmFsIHVzZSBzeXN0ZW0gYnV0IHdoZW4gPGI+IjxpPmludGVybmFsIHVzZSBvbmx5PC9pPiI8L2I+IGJlY2FtZSA8Yj4iPGk+b3ZlciB0aGUgaW50ZXJuZXQ8L2k+IjwvYj4sIHRva2VuaXplZCBkYXRhIGJlY2FtZSB2ZXJ5IHVzZWZ1bCB2ZXJ5IHF1aWNrbHkuIEluIG1hbnkgY2FzZXMgdG9rZW5pemluZyBvbmx5IHdvcmtzIGJlY2F1c2UgdGhlIHRva2VuIGlzIGJlaW5nIGdlbmVyYXRlZCBvbiBtYWNoaW5lcyBvciBzb2Z0d2FyZSBvd25lZC9vcGVyYXRlZCBieSB0aGUgY29tcGFueSdzIHNvZnR3YXJlIHlvdSBhcmUgdXNpbmcuIEV2ZW4gT3BlcmF0aW5nIFN5c3RlbXMgKDxiPk9TPC9iPikgd2VyZSBhYmxlIHRvIGJlIHRva2VuaXplZCBhbmQgc2VudCBvdmVyIHRoZSB3aXJlLiBJbiBob25lc3R5LCB0aGlzIHdhcyBhIHJlYWwgc3RlcCB0b3dhcmQgbGVnaXRpbWl6aW5nIDxpPnNvZnQtYWxsLXdhcmU8L2k+LiBUaGlzIGlzIHN0aWxsIGZsYXdlZCBiZWNhdXNlIG5vdy1hLWRheXMgYSBtYWNoaW5lIGdpdmVzIHVwIHNvIG11Y2ggaW5mb3JtYXRpb24gbWFueSBoYWNrZXJzIChpbmNsdWRpbmcgPGk+U2NyaXB0ZXJzPC9pPiBha2EgPGk+U2NyaXB0LUtpZGRpZXM8L2k+KSBjYW4gbWltaWMgdGhlc2UgbWFjaGluZXMgdG8gdGhlbiBnYWluIGhpZ2hlciBsZXZlbHMgb2YgYXV0aG9yaXR5IGZvciB0aGUgcHJpdmlsZWdlIG9mIGFjY2Vzc2luZyBvdGhlciBtYWNoaW5lJ3MgaW50ZXJuYWwgZGF0YSBzdHJ1Y3R1cmUgbGluZSwgZXZlbnR1YWxseSB3b3JraW5nIGFsbCB0aGUgd2F5IHVwIHRvIGEgbWFjaGluZSB3aXRoIGVpdGhlciBoaWdoZXN0IEFQSSB0b2tlbiBhY2Nlc3Mgb3IgaGlnaGVzdCBzZWN1cml0eSBhdXRob3JpdHkgdG8gdGhlbiBtYWtlIHdoYXQgZXZlciBhdHRhY2sgdGhleSBuZWVkLiBBbHRob3VnaCB0aGlzIG1heSBzb3VuZCByZWFsbHkgY29tcGxpY2F0ZWQgYnV0IGluIHJlYWxpdHkgaXQncyBhcyBzaW1wbGUgYXMgYSBib3Qgc2VlaW5nIGJpdHMgb2YgZGF0YSB3aGlsZSBzb21lb25lIHVzZXMgYSBtYWNoaW5lIG9uIGEgbmV0d29yayB5b3UgYXJlIG9uIChkb2Vzbid0IGV2ZW4gaGF2ZSB0byBiZSB5b3UpLiBUaGF0IGJvdCBvbiB0aGUgc2FtZSBuZXR3b3JrIGFzIHlvdSBpcyBqdXN0IHNjYW5uaW5nIGFzIG11Y2ggZGF0YSBhcyBwb3NzaWJsZSBhcyBmYXN0IGFzIHBvc3NpYmxlIG9uIHRoZSBuZXR3b3JrIGFuZCB3aXRoaW4gMyBzZWNvbmRzIGNhbiB0cnkgd2l0aGluIDEgbWlsbGlvbiB0aW1lcyAoZGVwZW5kaW5nIG9uIGludGVybmFsIG5ldHdvcmsgc3BlZWRzKSB0byBhc2sgZm9yIHBlcm1pc3Npb25zLCBpbmZvcm1hdGlvbiwgYWNjZXNzLiBEZXBlbmRpbmcgb24geW91ciBzeXN0ZW0sIGl0IG1heSBqdXN0IGFsbG93IHNvbWUgY29ubmVjdGlvbiBhbmQgaW4gYWxtb3N0IGFsbCBjYXNlcyB3aWxsIGdpdmUgaW5mb3JtYXRpb24gYXQgdGhlIGxlYXN0IGxpa2Ugd2hhdCBPUywgYnJvd3NlciBpbmZvcm1hdGlvbiwgdGltZXpvbmUuIERlcGVuZGluZyBvbiB3aG9tLCBob3cgYW5kIHdoZXJlIHRoZSBxdWVzdGlvbiBpcyBjb21pbmcgZnJvbS90byB3aWxsIGRldGVybWluZSBpZiBhbmQgaG93IG11Y2ggaXMgZ2l2ZW4gb3V0LiBTbyBmb3IgZXhhbXBsZSB0aGUgY29tcGFueSBydW5uaW5nIHlvdXIgQ1BVIG9yIEdQVSBhc2tzIHlvdXIgZGV2aWNlIGZvciBpbmZvcm1hdGlvbiwgeW91ciBkZXZpY2UgaXMgZ29pbmcgdG8gZ2l2ZSBxdWl0ZSBhIGJpdCBhbmQgaWYgeW91IGhhdmUgIjxpPkF1dG9tYXRpYyBVcGRhdGVzPC9pPiIgeW91IG1heSBnaXZlIG1vcmUgaW5mb3JtYXRpb24uIFRoaXMgaXMgbm90IHRoZSByZWFzb24gd2h5IHRoZSBoYWNrZXIgZ3JvdXBzIHdlbnQgYWZ0ZXIgQ1BVLCBHUFUsIE9TICZhbXA7IGhhcmR3YXJlIG1hbnVmYWN0dXJlIGNlcnRpZmljYXRlIHByaXZhdGUgaW5mb3JtYXRpb24gYnV0IG9uY2UgdGhleSBoYWQgaXQsIHNvbWVvbmUgcXVpY2tseSBmaWd1cmVkIG91dCBob3cgaXQgd2FzIGEgZ3JlYXQgYXR0YWNrIHZlY3Rvci4gQ1BVICZhbXA7IEdQVSwgZXZlcnlvbmUgaGFzIG9uZSBvciBjaGlwcyBmcm9tIHRoZXNlIG1hbnVmYWN0dXJlcy4gSnVzdCBob3cgc21hcnRwaG9uZSBjYW1lcmEgem9vbWluZyBjaGlwIG1hbnVmYWN0dXJlcyB3ZXJlIGhpdCBzbyBib3RuZXRzIGNvdWxkIHV0aWxpemUgdGhlIG1pbGxpb25zIG9mIGNlbGxwaG9uZXMgd2l0aCB1bnNlY3VyZSBjaGlwcyBvbiB0aGUgUEMgQm9hcmQgb2YgdGhlIGNhbWVyYS4gVGhlIGF0dGFjayBkb2Vzbid0IG5lZWQgYWNjZXNzIHRvIHlvdXIgZGV2aWNlIGJlY2FzdWUgdGhlIHpvb20gY2hpcCBjYW4gYWNjZXNzIHRoZSBDUFUgb3IgYXQgbGVhc3Qgc2VuZCBmb3IgYWN0aXZhdGlvbnMgYW5kIG1vcmUuIERvZXMgeW91ciBjZWxscGhvbmUgaGF2ZSBuYXRpdmUgM0QgZWZmZWN0cyBhbmQgZmlsdGVycz8gWW91IG1heSBoYXZlIGFuIHVuc2VjdXJlIGNhbWVyYSBjaGlwLgo8YnI+Jm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7IFRoZSBhdHRhY2tzIGp1c3Qgc3BlYWtpbmcgYWJvdXQgYWxsIHJldm9sdmUgYXJvdW5kIDMtZmFjdG9yczogPGk+VHJ1c3QgQXV0aG9yaXR5IFN5c3RlbSwgSW50ZXJuYWwgU3lzdGVtcyBhcmUgdGhlIEF0dGFjayBMYW5kc2NhcGUsIFRydXN0IEF1dGhvcml0eSAmYW1wOyBJbnRlcm5hbCBTeXN0ZW1zIGFyZSBtb3JlIGZsYXdlZCB0aGVuIG5vbi10cnVzdCAmYW1wOyBleHRlcm5hbCBzeXN0ZW1zPC9pPi4gRWFjaCBvbmUgaGFzIHRoZSBzYW1lIHR5cGUvc3R5bGUgb2YgYXR0YWNrIHdoaWNoIG1lYW5zIGZpbmQgYSB3YXkgdG8gZXhwbG9pdC91c2Ugb25lIGFuZCB0aGUgb3RoZXJzIHByb2JhYmx5IGNhbiB1c2UgdGhlIHNhbWUgYXR0YWNrLiBUaGV5IGFsbCByZWx5IG9uIHRoZSBob3N0aW5nIGNvbXBhbnkgb2YgdGhlIG1hY2hpbmUgeW91ciBkZXZpY2VzIGFyZSBzcGVha2luZyB0by4gQXMgdGhvc2UgY29tcGFuaWVzIGJlY29tZSBiaWdnZXIsIHNvIGRvZXMgdGhlIGF0dGFjayBsYW5kc2NhcGUgYW5kIHNvIHRoZW4gdGhlIGF0dGFjayB2ZWN0b3IgcG9zc2liaWxpdGllcyBvbmx5IG1hZ25pZnkgbm90IG11bHRpcGx5LCBtYWduaWZ5IGJ5IG1hZ25pdHVkZXMgYXQgcGVyIHNxdWFyZWQgb3IgY3ViZWQgcmF0aW9zIHBlciBsZWcgdGhhdCBsYW5kc2NhcGUgaGFzIHRvIHVwaG9sZC4gTWVhbmluZyBzaW1wbGUsIGZvciBldmVyeSAxIHRoaW5nIHRoZSBpbnRlcm5hbCBzeXN0ZW1zIGhhdmUgdG8gaGFuZGxlLCB0aGUgd2F5cyB0byBhdHRhY2sgaW5jcmVhc2UgZWl0aGVyIGluIG11bHRpcGxlcyBvZiAxMCBzcXVhcmVkIG9yIG11bHRpcGxlcyBvZiAxMCBjdWJlZCBwZXIgQVBJIHRoYXQgaW50ZXJuYWwgc3lzdGVtIGhhbmRsZXMgKGluYm91bmQvb3V0Ym91bmQpLiBXZSBjYW4gYXR0ZW1wdCB0byBzdG9wIGJ1dCB3ZSBjYW5ub3QgcHJldmVudCBzbyBub3cgd2hhdCBoYXBwZW5zIHdoZW4gdGhpcyBhdHRhY2sgbGFuZHNjYXBlIGFsc28gaGFuZGxlcyBmZWF0dXJlcyBsaWtlLCAiPGk+UmV2b2tlIEFjY2VzczwvaT4iPyBFdmVuIGZvciBjcm9zcy1hdXRob3JpdHkgY29tbXVuaWNhdGlvbnMsIGlmIGl0J3Mgb3ZlciB0aGUgd2lyZSBhbmQgbm90IGRpcmVjdCBvbiBzZXJ2ZXIvbWFjaGluZSB3ZWxsIHRoYXQgY29tbXVuaWNhdGlvbiBjYW4gYmUgYmxvY2tlZC4KPGJyPiZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyBJZiB0aGUgdXNlciBhdHRhY2tpbmcgaGFzIHRoZSBlcXVhbCBwZXJtaXNzaW9uIGxldmVscyBmcm9tIHN0b2xlbiB0b2tlbnMvY2VydHMgdGhlbiBlcXVhbGx5IGlmIHRoZSBhdHRhY2tlciB3YXMgdG8gcmV2b2tlIHlvdXIgYXV0aG9yaXR5IGZpcnN0LCB5b3UgY2FuIG5vIGxvbmdlciByZXZva2UgdGhlaXJzLiBJbiB0aGUgTFRUIGhhY2ssIGluIHNvbWUga2luZGEgZGlsdXRlZCBhdHRhY2sgKG9mdGVuIG5pbmphIGF0dGFja3MgYXJlIGRpbHV0ZWQpLCB0aGUgdG9rZW4gZm9yIGFjY2VzcyB0byBhIGNoYW5uZWwvcG9ydC9ob2xlIGZvciBoaWdoZXIgYWNjZXNzIHRvIHRoZSB1bWJyZWxsYSBjaGFubmVsIHdoaWNoIGVuZGVkIHVwIHRvIGJlIDxiPjxpPkxpbnVzVGVjaFRpcHM8L2k+PC9iPi4gVGhpcyBpcyBhIGdlbmVyaWNhbGx5IHNpbXBsZSB3YXkgdG8gZXhwbGFpbiB0aGUgYXR0YWNrLiBUaGUgYXR0YWNrZXIgd2FzIHVuYWJsZSB0byBiZSByZXZva2VkIGZyb20gTFRUJ3MgZW5kIGFuZCB0aGF0IGNvdWxkIGJlIGZyb20gYSA8aT5maXJzdC1saWdodCBzd2l0Y2g8L2k+IG9yIDxpPnRoZSBmaXJzdCBpbnZva2VkIGZ1bmN0aW9uIGluIHRoZSBhdHRhY2sgb25jZSBwbGFudGVkPC9pPi4gSWYgdGhlIGZpcnN0LWxpZ2h0IHN3aXRjaCB3YXMgdG8gcmV2b2tlIGFsbCB0b3AgYWNjZXNzIHRva2VucyBsb3dlciBvciBlcXVhbCB0byB0aGUgYXR0YWNrZXIncyB0b2tlbiB0aGVuIG9ubHkgaGlnaGVyIGF1dGhvcml0aWVzIGNhbiByZXZva2UuIFRoaXMgY2FuIGJlIHRyaWNreSBieSB0aGUgaGlnaGVyIGF1dGhvcml0eSBiZWNhdXNlIHRoZXkgc2ltcGx5IGNhbm5vdCBqdXN0IGFjdCBvciBlbHNlIHRoYXQncyBhIGRpZmZlcmVudCBhdHRhY2sgbWV0aG9kIHNvIHRoZSBhdHRhY2tzIGJldCBvbiB0aW1lIGJldHdlZW4gdXNlcnMgcmVhbGl6aW5nIHRoZXkgY2Fubm90IHN0b3AgdGhlIGF0dGFjayBhbmQgdGhlbiB0aGUgaGlnaGVyIGF1dGhvcml0eSBnZXR0aW5nIGludm9sdmVkIHRvIHRoZW4gbWFraW5nIGFuIGFjdGlvbi4gVGhlIHdheSB0aGUgYXR0YWNrIHdhcyBkZXNjcmliZWQgYnkgdGhlIExUVCB0ZWFtLCBpdCBkb2VzIGFwcGVhciBldmVyeSBwb2ludCBpbiB0aGVpciBZb3VUdWJlIEhhY2sgd2FzIHZpYSBpbnRlcm5hbCBzeXN0ZW1zIG9uY2UgdGhlIGluaXRpYWwgdG9rZW4gd2FzIHN3ZXB0Ljxicj4mbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgVGhpcyBpcyB3aHksIGluIG15IG9waW5pb24sIHRoZSBiaWdnZXIgYSB0ZWNoIGNvbXBhbnkgZ2V0cyB0aGUgd29yc2UgaXQncyBzb2Z0d2FyZSBiZWNvbWVzLiBJdCdzIG5vIGRvdWJ0IFdpbmRvd3MgMy4xLCAxOTk4LCBYUCAmYW1wOyA3IGFsbCB3b3JrIGJldHRlciB0aGVuIGN1cnJlbnQgZ2VuZXJhdGlvbiB3aW5kb3dzLiBXaW5kb3dzIHZpc3RhIGhhZCBtYW55ICI8Yj4xLXdpcmU8L2I+IiBidWlsdCBpbiBhbmQgd2FzIGNvbnNpZGVyZWQgdmVyeSB0ZXJyaWJsZS4gVGhlIG92ZXIgdGhlIHdpcmUgc3lzdGVtcyBhbGwgZmFpbCBhcyB0aGUgY29tcGFueSBncm93cy4gTXlzcGFjZSBmZWxsIG91dCBvZiBmYXZvciBhcyBpdCBncmV3IGZhc3Rlci4gRmFjZWJvb2sgb25jZSBpdCBoaXQgdGhlaXIgdWx0aW1hdGUgdG9wLCBwbGF0ZWF1ZWQuCjxicj48YnI+Jm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7IElmIHRoaXMgZG9lc24ndCB3b3JrIHdlbGwgb3IgYXMgYWR2ZXJ0aXNlZC9zb2xkLCB3aHkgdXNlIGl0PyBIaWRkZW4gcmV0dXJuIGNvbW11bmljYXRpb25zLiBBdXRvbWF0ZWQgdXBkYXRlcyB3YXMgaW52ZW50ZWQgZm9yIHNvbWVvbmUgdG8ga2VlcCBhIHNvZnR3YXJlIG9yIGdhbWUgdXBkYXRlZCBhbGwgdGhlIHRpbWUgYnkgc2Nhbm5pbmcgYW4gUlNTIGZlZWQgZm9yIG5ldyBlbnRyaWVzIHRoZW4gYXV0b21hdGljYWxseSBncmFiYmluZyBhbmQgaW5zdGFsbGluZyBuZXcgZW50cmllcyB0byBhbiB1cGRhdGUgZm9ydW0uIEFib3V0IDEwIHllYXJzIGFmdGVyIG1vc3QgbWFqb3IgY29tcGFuaWVzIGFuZCBPUydzIHdlcmUgdXRpbGl6aW5nIDxpPmF1dG9tYXRlZCB1cGRhdGVzPC9pPiwgdGhlIGF1dG9tYXRlZCB1cGRhdGVzIHRvb2sgYSB0dXJuIHRvIHdoZXJlIGluIG1hbnkgY2FzZXMgZGV2ZWxvcGVycyBkaXJlY3RseSBvbiBHaXRIdWIgd2VyZSBnaXZlbiBhY2Nlc3MgdG8gcHJvZHVjZSA8aT5hdXRvbWF0ZWQgdXBkYXRlczwvaT4gJmFtcDsgZGVsaXZlciB0aGVtIC0tZnJvbSBHaXRIdWIuIE5vdyB0aGVyZSdzIGEgbmV3IGxlZywgbm93IHRoZXJlJ3MgYSBuZXcgbGFuZHNjYXBlIHRvIHRoZSBhdHRhY2sgbm93Li4udGhlIGF0dGFjayBjYW4gYmUgdXBkYXRlZCB0byB5b3Ugb3ZlciB0aGUgPGk+MS13aXJlIDxiPmF1dG9tYXRlZCB1cGRhdGU8L2I+IHN5c3RlbTwvaT4uIFRoZSByZWFzb24gdGhpcyB3b3JrcyBpcyBiZWNhdXNlIG9mIGhpZGRlbiByZXR1cm4gY29tbXVuaWNhdGlvbnMuIEF0dGFja2VycyBjYW4gYXR0YWNrIHRoZSBoaWRkZW4gcmV0dXJuIGNvbW11bmljYXRpb25zIG9mIGEgcmVhbCBhdXRvIHVwZGF0ZSB0byB0aGVuIGhpamFjayB0aGUgbGluZSBlbnRyeSB0byBwdXNoIGEgbWFsaWNpb3VzIHVwZGF0ZS4gVGhpcyBpcyB3aHkgbWFueSBMaW51eCBhbmQgU3VwZXJVc2VycyBkb24ndCByZWx5IG9uIGF1dG8gdXBkYXRlcywgdGhleSBtYXkgZ2V0IG5vdGlmaWNhdGlvbnMgb2YgdXBkYXRlcyBhdmFpbGFibGUgYnV0IHRoZXkgZWl0aGVyIHZlcmlmeSBpdCBvciB0YWxrIHRvIHBlb3BsZSB3aXRoaW4gdGhlaXIgcGVyc29uYWwgdHJ1c3QgbmV0d29yayB0byBzZWUgaWYgYW55b25lIGVsc2UgdmVyaWZpZWQgaXQuIFNvbWUgcGVvcGxlIGp1c3Qgd2FpdCBsb25nIGVub3VnaCBmb3IgaXNzdWVzIHRvIGJlIHNwb3R0ZWQgb3Igb25seSBnZXQgc3BlY2lmaWMgdGltZS1wb2ludCB1cGRhdGVzLiBUaGlzIGlzIHNvcnRhIHNpbWlsYXIgdG8gc2FpZCBwcmV2aW91c2x5IGJ1dCBpZiBtb3JlIHBlb3BsZSBzZWxmLXZlcmlmaWVkIHRoZW4gdGhlcmUgd291bGQgYmUgbW9yZSBjcm9zcyB2ZXJpZmlhYmxlIGluZm9ybWF0aW9uIHdoaWNoIGNvdWxkIGhlbHAgc3BvdCBwcm9ibGVtcyBmYXN0ZXIgd2l0aGluIHRoZSBjb21tdW5pdHkgYnV0IHRoZXJlIHdpbGwgYWx3YXlzIGJlIHRoYXQgdHlwZSBvZiB2ZWN0b3IuIFRydXN0LCBBdXRvLCBMdXh1cnkgKGV2ZW4gQXNzaXN0aXZlIEx1eHVyeSkgd2lsbCBhbHdheXMgYmUgYSB0eXBlIG9mIGF0dGFjayB2ZWN0b3IsIHdlIGNhbiBvbmx5IHRyeSB0byBzdG9wIGF0dGFja3Mgd2hpY2ggYnJpbmdzIHVwIHRoZSBvcmlnaW5hbCBwb2ludCwgIjxpPjxiPldoYXQgaWYgeW91IGNhbid0IHN0b3AgaXQ/PC9iPjwvaT4iIAo8YnI+Jm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7IFRoZSBmZWF0dXJlcyB3aXRoaW4gdGhlIGludGVybmFsIHN5c3RlbXMgY2FuIGJlIHN3aXRjaGVkIG9mZiBiZWZvcmUgeW91IGJ1dCB0aGUgYWJpbGl0eSBmb3IgdGhhdCBzeXN0ZW0gdG8gZXZlbiBjb21tdW5pY2F0ZSBpbiB0aGUgZmlyc3QgcGxhY2UgcmVxdWlyZXMgYSBmcm9tIG9mIHJldHVybiBjb21tdW5pY2F0aW9ucyBhbmQgc28gdGhlIGFiaWxpdHkgdG8gc2VuZCBoaWRkZW4gcmV0dXJuIGNvbW11bmljYXRpb25zIGlzIGFsd2F5cyBwcmVzZW50LiBUaGlzIGlzIHdoZW4gd2UgZ2V0IHRvIHRoZSBjb21tdW5pY2F0aW9ucyBzZW5kaW5nIGJhY2sgdG8gdGhlIHNlcnZlciBpcyBvbmx5IG5lZWRlZCBmcm9tIHNvbWUgYXR0YWNrIHBvaW50cywgdGhlcmUncyBvdGhlciB3YXlzIHRvIGV4cGxvaXQgdGhlIHNhbWUgd2l0aG91dCBhbnkgcmV0dXJuIGNvbW11bmljYXRpb25zIGJ1dCBqdXN0IGhhdmluZyBjZXJ0aWZpY2F0ZS90b2tlbiB0dW5uZWwvYWNjZXNzIGNvbW11bmljYXRpb25zIGlzIHN0aWxsIGV4cGxvaXRhYmxlIGluIHNpbWlsYXIgb3IgdGhlIGV4YWN0IHNhbWUgd2F5cy4gSnVzdCBhcyB0aGUgbWFqb3IgZmxhdyB3aXRoIFNvZnQtYWxsLXdhcmUsIHRoZSBtYWpvciBhdHRhY2sgdmVjdG9yIGZvciB0aGlzIGRpZ2l0YWwgbGFuZHNjYXBlIGlzIGFsc28gcmV0cm9hY3RpdmUuIEFueSB2ZWN0b3IgcG9pbnQgb24gdGhlIHNhbWUgb3IgY29ubmVjdGVkIGxhbmRzY2FwZSBpcyB0aGVuIHZhbHVhYmxlIHRvIHRoZSBvdGhlcidzIHZ1bG5lcmFiaWxpdHkuIEp1c3QgaG93IHJlZmVycmVycyBhbmQgaWZyYW1lcyBhcmUgdnVsbmVyYWJpbGl0aWVzIGJlY2F1c2UgdGhleSBiYXNpY2FsbHkgaW1wb3J0IHRoZSBjb25uZWN0ZWQgZGF0YSB0byB5b3VyIGVuZHBvaW50LCB2dWxuZXJhYmlsaXRpZXMgYW5kIGFsbCBmbGF3cy4gRXZlbiBpZiB0aGVzZSByZWZlcnJlcnMvaWZyYW1lcyBhcmUgd2l0aGluIHRoZSBzYW1lIGludGVybmFsIHN0cnVjdHVyZSwgdGhleSBhcmUgdnVsbmVyYWJsZSB0byB0aGlzIGNvbW11bmljYXRpb25zIHZlY3Rvci48YnI+Jm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7IFRoZSBlbnRpcmUgY29tbXVuaWNhdGlvbiBlbmQtcG9pbnQgY2FuIGJlIG9wZW5lZCBvciBjbG9zZWQgZnJvbSB3aXRoaW4gdGhlIHN5c3RlbS4gVGhlIGludGVybmFsIHN5c3RlbXMgYXJlIGZ1bGx5IGhvbGVkIGZvciBBUElzIHNvIG5vdyBvbmNlIGVudGVyZWQgdmlhIGFueSBwb2ludCwgdGhleSBwcmV0dHkgbXVjaCBnZXQgYWNjZXNzIHRvIG1vcmUgYW5kIGdyZWF0ZXIgYXV0aG9yaXRpZXMuIFRoaXMgaXMgd2h5IGluIHRoZSBwYXN0IHRoZXJlIGhhdmUgYmVlbiB0aW1lcywganVzdCBsaWtlIExUVCwgd2hlcmUgdG8gc29sdmUgdGhlIGF0dGFjayBZb3VUdWJlL0dvb2dsZSAodW5zdXJlIHdoaWNoIGF1dGhvcml0eSBBUEkgdHJpZ2dlcmVkIHRoaXMgc29sdXRpb24gb24gdGhlIGJhY2tlbmQpIGhhZCB0byBkZWxldGUgTFRUJ3MgY2hhbm5lbC4gVGhpcyByZW1vdmVzIGFsbCBwb3NzaWJsZSBhdXRob3JpdHkgdXAgdG8gR29vZ2xlLiBBZnRlciB0aGF0IG9ubHkgR29vZ2xlIGF1dGhvcml0eSBjYW4gcHVsbCB0aGF0IGRhdGEgb3V0IG9mIGl0J3MgaGlzdG9yeSBzZXJ2ZXJzLiBJZiB0aGUgYXR0YWNrZXJzIGV2ZXIgbWFrZSBpdCB0aGF0IGZhciB1cCAod2hpY2ggdGhleSBoYXZlIGJlZm9yZSksIHRoaXMgYXR0YWNrIGNoYWluIGNhbiBnbyBvbiBsaXRlcmFsbHkgZm9yZXZlciBvciB1bnRpbCBZb3VUdWJlIGlzIHNodXRkb3duIGFuZCByZWJvb3RlZCAoYXMgdGhleSBkbyB3aXRoIGFjY291bnRzKSBmb3IgdGhhdCB3b3VsZCByZXF1aXJlIGV2ZW4gaGlnaGVyIGFjY2VzcyB3aXRoaW4gdGhlIEdvb2dsZSBhdXRob3JpdHkgY2hhaW4uIEV2ZW50dWFsbHkgeW91IGdldCB0byBhIHBvaW50IHdoZXJlIGl0J3MgcG9zc2libGUgZm9yIGFuIGF0dGFja2VyIHRvIGdhaW4gZnVsbCBjb250cm9sbGluZyBhY2Nlc3Mgb2YgZ29vZ2xlIGJlY2F1c2Ugb2YgYSB0b2tlbiBmcm9tIGEgY2hhbm5lbCB1c2VyIG9uIGEgc2lkZS1sZWcgb2YgdGhlIHNhbWUgaW50ZXJuYWwgc3lzdGVtIGFzIEdvb2dsZS4gUmVtZW1iZXIgd2hlbiBGYWNlYm9vayB3ZW50IG9mZmxpbmUgZm9yIGEgZGF5LCB0aGlzIGNvdWxkIGJlIGJpZ2dlci4KPGJyPiZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyBUaGVzZSBiaWcgY2xvdWQgaW5mcmFzdHJ1Y3R1cmVzIG1heSBiZSBkaXN0cmlidXRlZCBidXQgYXJlIGFsbCBjZW50cmFsaXppbmdseSBjb250cm9sbGVkIHZpYSB0aGUgY29uc2Vuc3VzIHdhbGwgYnkgc2ltcGx5IG5vdCBoYXZpbmcgYSBjb25zZW5zdXMgYmFzZWQgb24gcHJvb2ZzIGFuZCB3b3JrLiBJbnN0ZWFkIHRoZXkgYXJlIGJhc2VkIG9uIHRydXN0IGFuZCBoaWRpbmcgdGhpbmdzIHRoZSBiZXN0IHRoZSBjb3Jwb3JhdGlvbihzKSBjYW4uCjxicj4KPGJyPiZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyBUaGVyZSBhcmUgc29sdXRpb25zIGJ1dCB1bmZvcnR1bmF0ZWx5IGV2ZW4gdGhvc2UgYXJlIGZsYXdlZCBzdGlsbCBhdCB0aGUgbW9tZW50LlRoZSBsYXN0IDIwIHllYXJzIGhhZCBhICI8aT5KdW1wIEluIFRlY2hub2xvZ3k8L2k+IiBidXQgaW4gcmVhbGl0eSB0aGUgbWFjaGluZSBvciBoYXJkd2FyZSBoYXMgIjxpPjxiPkp1bXBlZCBJbiBUZWNobm9sb2d5PC9iPjwvaT4iIGJ1dCB0aGF0J3MgcmVhbGx5IGFib3V0IGl0LiBUaGUgdGVjaG5pY2FsIHNvZnR3YXJlICI8Yj5KdW1wPC9iPiIgd2FzIGFsbCBhIGZhw6dhZGUsIGl0IHdhcyBleGNlbCBiYXNlZCBkYXRhYmFzZSB0ZWNobmlxdWVzIGFjdGluZyBhcyByZWFsIG1hdGhlbWF0aWNhbCBvciBzY3JpcHQtd2lzZSBzb2x1dGlvbnMuIEluc3RlYWQgd2UgZ290IEFQSSB0byBzcHJlZWRzaGVldGluZy4gVGhpcyBpcyB3aHkgYmxvY2tjaGFpbiBkYXRhYmFzaW5nIGlzIGhlbHBpbmcgcmVtb3ZlIG1hbnkgYXR0YWNrIHZlY3RvcnMgYnkgcmVtb3ZpbmcgbGVncyBhbmQgc2ltcGxpZnlpbmcgb3Igc2NhbGluZy1kb3duIHRoZSBsYW5kc2NhcGUgaW4gd2hpY2ggYXR0YWNrcyBjYW4gZXZlbiBiZSBtYWRlLjxicj4mbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgSWYgdGhlIExUVCBZb3VUdWJlIENoYW5uZWwgSGFjayB0YXVnaHQgcGVvcGxlIGFueXRoaW5nIGlzIHRoYXQgYWxsIG9mIHRoZSBvdmVyLXRoZS1pbnRlcm5ldCBzZWN1cml0aWVzIGFyZSBhbGwgZmHDp2FkZXMgYW5kIHdpbGwgZmFpbCwgeW91IGNhbiBlaXRoZXIga2VlcCBtb3ZpbmcgZnJvbSBmbGF3IHRvIGZsYXcganVzdCBtaXRpZ2F0aW5nIHRoZSB0aW1lIGJlZm9yZSB5b3VyIG5leHQgaGl0IG9yIHlvdSBjYW4gY2hhbmdlIHN5c3RlbXMgYW5kIGhhc2ggeW91ciBsaWZlIHdpdGggaGFzaGxpbmtzLCBoYXNoZWQtbWVzaG5ldHMsIGR5bmFtaWMtaGFzaGluZyB3ZWItYXBwbGljYXRpb25zIGZvciB2ZXJpZmlhYmxlIGRhdGEtQVBJIHN0cnVjdHVyZXMuIExldCdzIHJlbW92ZSB0cnVzdCBhbmQgdGFrZSBiYWNrIHRoZSBpbnRlcm5ldC4gVGhlIGxvbmdlciB3ZSBsZXQgY29tcGFuaWVzIHNlZSB3aGF0IHdlIGRvIHRocm91Z2ggdGhlaXIgaGlkZGVuIGNvbW11bmljYXRpb25zLCB0aGUgbW9yZSB0aG9zZSBzeXN0ZW1zIHdpbGwgYmUgaGl0IGJ5IGF0dGFja2VycywgaGFja2VycywgYm90cyBhbmQgZ292ZXJubWVudHMuIFRoaXMgaXMgd2h5LCB0aGV5IHdpbGwgZmFpbCBmb3JldmVyIHVudGlsIHRoZXkgY29tcGxldGVseSByZW1vdmUgdGhlaXIgZXllcyBmcm9tIHRoZSBkaWdpdGFsIGxhbmRzY2FwZS48L3NwYW4+PC9oND48L2xhYmVsPiZuYnNwOyA8bGFiZWw+PHNwYW4gYWxpZ249InJpZ2h0IiBzdHlsZT0icmlnaHQ6MDsiPjxoNCBzdHlsZT0ibWFyZ2luLXRvcDotMi41dnc7bWFyZ2luLWJvdHRvbTotMnZ3OyI+PHNwYW4gYWxpZ249InJpZ2h0IiBzdHlsZT0icmlnaHQ6MDsiIGlkPSJvdXRib3R0Ij4zRG91Z2xhcyAiPGI+PGk+M0Q8L2k+PC9iPiIgUGlobDwvc3Bhbj4gJm5ic3A7IEA8c3BhbiBpZD0iYXV0aG9ybmFtZSI+SUZ0ZG9DQ2dRRE5FYjNWbmJHRnpJQ0k4WWo0OGFUNHpSRHd2YVQ0OEwySStJaUJRYVdoc29DQ2dJRnNqVnpBeFZWZFVVazVTUm13MVZHMXdjazB3TlVWVVdHUk9aSG93T1ZoVFFUWlBhVUppVW10V1EwNUVTWGROYWs1a1hTQT08L3NwYW4+PC9oND4KJm5ic3A7ICZuYnNwOzxzcGFuIHN0eWxlPSJ3aWR0aDo1dnc7bWFyZ2luLXRvcDotMy41dnc7bWFyZ2luLWJvdHRvbTotMC41dnc7IiBpZD0iYWRoZXJlIiBhbGlnbj0ibGVmdCIgb25jbGljaz0idGhpcy5zdHlsZS5kaXNwbGF5PSdub25lJzsgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2FkbGluaycpLnN0eWxlLmRpc3BsYXk9J25vbmUnOyBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnYWR0ZXh0aW4nKS5zdHlsZS5kaXNwbGF5PSdub25lJzsiPjxicj48L3NwYW4+PHNwYW4gYWxpZ249ImNlbnRlciIgaWQ9ImFkaW1nIiBzdHlsZT0id2lkdGg6OTglO3JpZ2h0OjUwO2xlZnQ6NTA7aGVpZ2h0OmF1dG87IiBvbmNsaWNrPSJ0aGlzLnN0eWxlLmRpc3BsYXk9J25vbmUnOyI+PGEgYWxpZ249ImNlbnRlciIgaHJlZj0iIiB0YXJnZXQ9Il9ibGFuayIgOz0iIiByZWw9Im5vcmVmZXJyZXIgbm9vcGVuZXIiPjxpbWcgc3JjPSJJbWFnZSBMaW5rIiBzdHlsZT0id2lkdGg6OTglOyBhbGlnbjpjZW50ZXI7IiBhbGlnbj0iY2VudGVyIj48L2E+PC9zcGFuPgombmJzcDs8bGFiZWw+PGhyIHN0eWxlPSJtYXJnaW4tdG9wOjAuNXZ3O21hcmdpbi1ib3R0b206LTAuNzV2dzsiPjxoMyBhbGlnbj0iY2VudGVyIj48c3BhbiBpZD0icHJlbmFtZSI+PHN1Yj5JZiB5b3UgbGlrZWQgdGhpcyBQdnRQcHIgcGxlYXNlIGNvbnNpZGVyIGRvbmF0aW5nIHRvIHRoZSBhdXRob3IsIDNEb3VnbGFzICI8Yj48aT4zRDwvaT48L2I+IiBQaWhsLCBieSB1c2luZyB0aGUgY3J5cHRvLWFkZHJlc3Mgb3IgQ29pbnRyZWUgbGluayBiZWxvdy4gJm5ic3A7IFRoYW5rIHlvdS48L3N1Yj48YnI+PGJyPjwvc3Bhbj48c3ViPjxzcGFuIGFsaWduPSJsZWZ0Ij48Yj48aT48c3BhbiBpZD0iYnRjYWRkeSI+V0FYUDovLzNELk5pbmphPC9zcGFuPjwvaT48L2I+PC9zcGFuPiAmbmJzcDsgPGI+PHNwYW4gYWxpZ249InJpZ2h0Ij48aT48c3BhbiBpZD0ibHRjYWRkeSI+PGEgaHJlZj0iaHR0cHM6Ly9jb2ludHIuZWUvM0RfIiB0YXJnZXQ9Il9ibGFuayIgc3R5bGU9InRleHQtZGVjb3JhdGlvbjpub25lO2NvbG9yOmRhcmtncmVlbjsiPjNEXydzIENvaW50ci5lZTwvYT48L3NwYW4+PC9pPjwvc3Bhbj48L2I+PC9zdWI+PC9oMz48aDQgaWQ9InR1YmVhaXIiIGFsaWduPSJjZW50ZXIiIHN0eWxlPSJkaXNwbGF5OiBub25lOyI+PHN1cD5QdnRQcHJzIGNhbiBiZSBtb25ldGl6ZWQgYnkgQml0dHViZSBBaXJ0aW1lICZhbXA7IHRvIGhlbHAgdGhlIGF1dGhvciBnaWFuICQ8aT5UVUJFUzwvaT4gZnJvbSB5b3UgcmVhZGluZyB0aGlzIHBhcGVyLCBwbGVhc2UgdXNlIG9yIGluc3RhbGwgdGhlIDxzcGFuIG9uY2xpY2s9IndpbmRvdy5vcGVuKCdodHRwczovL2Nocm9tZS5nb29nbGUuY29tL3dlYnN0b3JlL2RldGFpbC9iaXR0dWJlLWFpcnRpbWUtZG9uYXRpb25zL2Nub2diYm1jaWZmcGlibWtwaG9ocGViZ2htb21hZW1pJykiIHN0eWxlPSJjb2xvcjpncmVlbjsiPkJpdHR1YmUgQWlydGltZSBFeHRlbnNpb248L3NwYW4+IG9yIHVzZSB0aGUgPHNwYW4gc3R5bGU9ImNvbG9yOmdyZWVuIiBvbmNsaWNrPSJ3aW5kb3cub3BlbignaHR0cHM6Ly9iaXR0dWJlLmFwcCcpIj5CaXR0dWJlIEJyb3dzZXI8L3NwYW4+Ljwvc3VwPjwvaDQ+PC9sYWJlbD4KJm5ic3A7PGRpdiBhbGlnbj0iY2VudGVyIj48bGFiZWw+PGg1IHN0eWxlPSJtYXJnaW4tdG9wOi0ydnc7Ij48c3BhbiBzdHlsZT0ibGVmdDowOyBtYXJnaW4tcmlnaHQ6Mi41dnc7bWFyZ2luLWxlZnQ6LTEuNXZ3OyIgYWxpZ249ImxlZnQiPk1hZGUmbmJzcDt3aXRoJm5ic3A7PHNwYW4gaWQ9IkRGQ2FiaW5ldCIgc3R5bGU9InRleHQtZGVjb3JhdGlvbjpub25lOyI+PGEgaHJlZj0iaHR0cHM6Ly9QdnRQcHIuYXBwL1dyaXRlIiB0YXJnZXQ9Il9ibGFuayI+UHZ0UHByJm5ic3A7R2VuZXJhdG9yJm5ic3A7TGl0ZTwvYT48L3NwYW4+PHN1cD48c3VwIGlkPSJ5ZWFyMSI+MjAyMzwvc3VwPjwvc3VwPjwvc3Bhbj4gPHNwYW4gaWQ9InByZXYiIHN0eWxlPSJtYXJnaW4tdG9wOi0xLjVweDttYXJnaW4tYm90dG9tOjEuNXB4OyBtYXJnaW4tbGVmdDoyLjV2dzsgcmlnaHQ6MDsgbWFyZ2luLXJpZ2h0Oi0xLjV2dztib3JkZXItcmFkaXVzOjE1JTtwYWRkaW5nOjNweDsiIGFsaWduPSJyaWdodCI+PGEgaHJlZj0iaHR0cHM6Ly95b3V0dWJlLmNvbS9wbGF5bGlzdD9saXN0PVBMQ2t6VFhlMEJFcHhleXNFYzNnNVg2a0xoZlFYWTdMVTUiIHRhcmdldD0iX2JsYW5rIiByZWw9Im5vb3BlbmVyIG5vcmVmZXJyZXIiIHN0eWxlPSJib3JkZXI6IDAuMDF2dyBzb2xpZCBkYXJrZ3JlZW47IGJhY2tncm91bmQtY29sb3I6bGltZWdyZWVuOyBjb2xvcjpibGFjazsgYm94LXNoYWRvdzpkaW1ncmV5IDNweCA2cHggOXB4OyB0ZXh0LWRlY29yYXRpb246bm9uZTsiPlByZXZpb3VzJm5ic3A7UGFwZXI8L2E+PC9zcGFuPjwvaDU+PC9sYWJlbD48c3BhbiBzdHlsZT0iYm94LXNoYWRvdzpkaW1ncmV5IDNweCA2cHggOXB4O2xlZnQ6MDsiIGFsaWduPSJsZWZ0IiBpZD0iY2VydGFibGUiPjxhIGhyZWY9Imh0dHBzOi8vcHZ0cHByLmFwcC9jZXJ0cyIgdGFyZ2V0PSJfYmxhbmsiIHN0eWxlPSJ0ZXh0LWRlY29yYXRpb246bm9uZTtiYWNrZ3JvdW5kLWNvbG9yOmJsYWNrO2NvbG9yOndoaXRlOyI+R2V0Jm5ic3A7YSZuYnNwO0NlcnRhYmxlPC9hPjwvc3Bhbj48L2Rpdj4KJm5ic3A7PGhyPjxzcGFuIGlkPSJxcmltZyIgY2xhc3M9InFyaW1nIiBhbGlnbj0icmlnaHQiIHN0eWxlPSJyaWdodDowO21hcmdpbi1sZWZ0OjUwJTsiPjxpbWcgY2xhc3M9InFyaW1nIiBzcmM9Imh0dHBzOi8venhpbmcub3JnL3cvY2hhcnQ/Y2h0PXFyJmFtcDtjaHM9MTE1eDExNSZhbXA7Y2hsZD1IfDEmYW1wO2Nob2U9VVRGLTgmYW1wO2NobD1odHRwczovL3R3aXR0ZXIuY29tL1owTThJM0QiIGFsaWduPSJyaWdodCI+PC9zcGFuPjxzcGFuIHN0eWxlPSJvcGFjaXR5OjAuNTM7Y29sb3I6Z3JleTsiIGFsaWduPSJsZWZ0Ij4mbmJzcDsKJm5ic3A7PGJyPjxzcGFuIG9uY2xpY2s9ImFsYWxlcnQoKSI+UHZ0UHByLiAyMDE4LTxzcGFuIGlkPSJ5ZWFyMiI+MjAyMzwvc3Bhbj4gPGJyPiBQcml2YXRlIFBhcGVyIDIwMTgtPHNwYW4gaWQ9InllYXIzIj4yMDIzPC9zcGFuPjwvc3Bhbj4gPGJyPgo8c3BhbiBpZD0iZm9vdGVuIiBvbmNsaWNrPSJ0aGlzLnN0eWxlLmRpc3BsYXk9J25vbmUnOyBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnZm9vdHNwJykuc3R5bGUuZGlzcGxheT0nYmxvY2snOyI+QSBUaG91Z2h0IENoaWxkIG9mIHRoZSAzIEpva2Vyczwvc3Bhbj4KPHNwYW4gaWQ9ImZvb3RzcCIgb25jbGljaz0idGhpcy5zdHlsZS5kaXNwbGF5PSdub25lJzsgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2Zvb3RjaCcpLnN0eWxlLmRpc3BsYXk9J2Jsb2NrJzsiIHN0eWxlPSJkaXNwbGF5Om5vbmUiPlVuIHBlbnNhbWllbnRvIGhpam8gZGUgbG9zIDMgY29tb2RpbmVzPC9zcGFuPgo8c3BhbiBpZD0iZm9vdGNoIiBvbmNsaWNrPSJ0aGlzLnN0eWxlLmRpc3BsYXk9J25vbmUnOyBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnZm9vdGpwJykuc3R5bGUuZGlzcGxheT0nYmxvY2snOyIgc3R5bGU9ImRpc3BsYXk6bm9uZSI+5LiJ5Liq5bCP5LiR55qE5oCd5oOz5a2p5a2QPC9zcGFuPgo8c3BhbiBpZD0iZm9vdGpwIiBvbmNsaWNrPSJ0aGlzLnN0eWxlLmRpc3BsYXk9J25vbmUnOyBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnZm9vdHJ1Jykuc3R5bGUuZGlzcGxheT0nYmxvY2snOyIgc3R5bGU9ImRpc3BsYXk6bm9uZSI+M+S6uuOBruOCuOODp+ODvOOCq+ODvOOBruaAneiAg+OBruWtkDwvc3Bhbj4KPHNwYW4gaWQ9ImZvb3RydSIgb25jbGljaz0idGhpcy5zdHlsZS5kaXNwbGF5PSdub25lJzsgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2Zvb3RzdycpLnN0eWxlLmRpc3BsYXk9J2Jsb2NrJzsiIHN0eWxlPSJkaXNwbGF5Om5vbmUiPtCc0YvRgdC70LXQvdC90L7QtSDQlNC40YLRjyAzINCU0LbQvtC60LXRgNC+0LI8L3NwYW4+CjxzcGFuIGlkPSJmb290c3ciIG9uY2xpY2s9InRoaXMuc3R5bGUuZGlzcGxheT0nbm9uZSc7IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdmb290ZHUnKS5zdHlsZS5kaXNwbGF5PSdibG9jayc7IiBzdHlsZT0iZGlzcGxheTpub25lIj5FdHQgdMOkbmt0IGJhcm4gYXYgZGUgMyBqb2thcm5hPC9zcGFuPgo8c3BhbiBpZD0iZm9vdGR1IiBvbmNsaWNrPSJ0aGlzLnN0eWxlLmRpc3BsYXk9J25vbmUnOyBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnZm9vdGVuJykuc3R5bGUuZGlzcGxheT0nYmxvY2snOyIgc3R5bGU9ImRpc3BsYXk6bm9uZSI+RWluIEdlZGFua2Vua2luZCBkZXIgMyBKb2tlcjwvc3Bhbj4KPC9zcGFuPjxicj48cCBhbGlnbj0iY2VudGVyIj48L3A+PHAgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6YmxhY2s7Y29sb3I6c2lsdmVyO2JveC1zaGFkb3c6ZGltZ3JleSAzcHggNnB4IDlweDt0ZXh0LWFsaWduOmxlZnQ7bGVmdDowO3dpZHRoOmF1dG87YnJlYWstd29yZDprZWVwLWFsbDsiIGFsaWduPSJsZWZ0IiByZWw9Im5vcmVmZXJyZXIgbm9vcGVuZXIiIHRhcmdldD0iX3NlbGYiIG9uY2xpY2s9IndpbmRvdy5vcGVuKCdodHRwczovL1B2dFBwci5hcHAvTmV3c2NoYWluJyk7Ij5SZWFkJm5ic3A7dGhlJm5ic3A7T2ZmaWNpYWwmbmJzcDtQdnRQcHImbmJzcDs8Yj48aT5OZXdzY2hhaW48L2k+PC9iPjwvcD48cCBvbmNsaWNrPSJBbGVydENoZWNrKCk7IiBpZD0iTGlua0NvdmVyIiBzdHlsZT0iY29sb3I6c2lsdmVyO3dvcmQtYnJlYWs6a2VlcC1hbGw7d2hpdGUtc3BhY2U6bm93cmFwO3dvcmQtd3JhcDpub3JtYWw7bWFyZ2luLXRvcDotMnZ3O3RleHQtYWxpZ246cmlnaHQ7YmFja2dyb3VuZC1jb2xvcjpibGFjaztib3gtc2hhZG93OmRpbWdyZXkgM3B4IDZweCA5cHg7Ij4zRDombmJzcDs8Yj4jPGk+MTUzMTdmZXV3Z3M4am88L2k+PC9iPjwvcD48cD48L3A+PGhyPjxicj48YnI+PC9zcGFuPjwvbGFiZWw+PC9kaXY+CjxzY3JpcHQ+wqAKCgrCoCDCoCAvLyBBZGRlZCBldmVudCBsaXN0ZW5lciB0byB0aGUgc2Nyb2xswqAKwqAgwqAgd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoJ3Njcm9sbCcswqAKwqAgwqAgwqAgwqAgwqAgwqAgbW92ZVNjcm9sbEluZGljYXRvcik7wqAKCgrCoCDCoCAvLyBHZXR0aW5nIHNjcm9sbEluZGljYXRvciBlbGVtZW50IGJ5IElEwqAKwqAgwqAgY29uc3Qgc2Nyb2xsSW5kaWNhdG9yRWx0ID3CoMKgCsKgIMKgIMKgIMKgIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdzY3JvbGxJbmRpY2F0b3InKTvCoAoKCsKgIMKgIC8vIEhlaWdodCBvZiBlbnRpcmUgd2ViIHBhZ2UgLSBoZWlnaHTCoArCoCDCoCAvLyBvZiB2aWV3YWJsZSBwb3J0aW9uIG9mIGJyb3dzZXLCoArCoCDCoCBjb25zdCBtYXhIZWlnaHQgPcKgwqAKwqAgwqAgwqAgwqAgd2luZG93LmRvY3VtZW50LmJvZHkuc2Nyb2xsSGVpZ2h0wqDCoArCoCDCoCDCoCDCoCAtIHdpbmRvdy5pbm5lckhlaWdodDvCoAoKCsKgIMKgIGZ1bmN0aW9uIG1vdmVTY3JvbGxJbmRpY2F0b3IoZSkge8KgCgoKwqAgwqAgwqAgwqAgLy8gQ2FsY3VsYXRpbmcgd2lkdGggb2YgdGhlwqDCoArCoCDCoCDCoCDCoCAvLyBzY3JvbGxJbmRpY2F0b3IgZWxlbWVudMKgCsKgIMKgIMKgIMKgIGNvbnN0IHBlcmNlbnRhZ2UgPcKgwqAKwqAgwqAgwqAgwqAgwqAgwqAgKCh3aW5kb3cuc2Nyb2xsWSkgLyBtYXhIZWlnaHQpICogMTAwO8KgCgoKwqAgwqAgwqAgwqAgLy8gUGl4ZWxzIHNjcm9sbGVkIGJ5IHRoZSB1c2VywqDCoArCoCDCoCDCoCDCoCAvLyB0byB0b3RhbCBzY3JvbGxhYmxlIFBpeGVsc8KgCsKgIMKgIMKgIMKgIHNjcm9sbEluZGljYXRvckVsdC5zdHlsZS53aWR0aMKgCsKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgPSBwZXJjZW50YWdlICsgJyUnO8KgCsKgIMKgIH3CoAo8L3NjcmlwdD4mbmJzcDsKPHNjcmlwdD4KwqAKwqBmdW5jdGlvbiBhbGFsZXJ0KCl7CsKgIGFsZXJ0KCdIZWxsbyAmIFdlbGNvbWUgdG8gdGhlIHRoaXMgUHZ0UHByIFtwcsSrdml0IHDEgXDJmXJdLlxuXG5QdnRQcHIgaXMgYnJvdWdodCB0byB5b3UgYnkgM0csIDNEICYgRS1ULlxuXG5UaGlzIGlzIGhvYXN0ZWQgYnkgZXhwZXJpbWVudGFsIHRlY2hub2xvZ3kgaW4gaGFzaGxpbmtzIHRvIHN0b3JlIGFsbCBvZiB0aGUgY29kZSArIHRleHQgZGlyZWN0bHkgaW50byB0aGUgbGluay5cblxuU2VydmVycy9Ob2RlcyBhcmUgdXNlZCBmb3IgZGVjcnl0aW5nIHRoZSBoYXNobGluayBmb3IgdGhlIGJyb3dzZXIgdG8gZGlzcGxheSB0aGUgaW50ZXJuYWwgaW5mb3JtYXRpb24gYnV0IHRoZXkgY2FuIGJlIGRlY3J5cHRlZCB3aXRob3V0IHNlcnZlcnMuXG5cblxuVGhhbmsgeW91LlxuwqAgwqAgwqBbTFMwelJBOjpKQU4xNjIwMjBdXG5cbsKgIMKgIMKgTGFzdCBVcGRhdGUgW0FQUjA3MjAyMjo6TFMwelJBXScpOwrCoH0KwqBmdW5jdGlvbiBBbGVydENoZWNrKCkgewrCoCBhbGVydCgiWW91IGNsaWNrZWQgb24gYW4gZWFzdGVyIGVnZy5cblxuVGhpcyBQdnRQcHIgd2FzIG1hZGUgd2l0aCB0aGUgUHZ0UHByIEdlbmVyYXRvciAoUFBHZW4pLiBUaGlzIGlzIGEgbmV3c3BhcGVyIHN5c3RlbSB3aXRoIGV2ZXJ5b25lIGluIG1pbmQuIEFueW9uZSBjYW4gdXNlIG91ciBnZW5lcmF0b3JzIHRvIGJ1aWxkIHRoZWlyIG93biBwcml2YXRlIHBhcGVyIChQdnRQcHIpIHdpdGggYWxsIHRoZSBkYXRhIHN0b3JlZCBpbiB0aGUgbGluayBpbnN0ZWFkIG9mIGEgc2VydmVyLlxuXG5cblxuVGhhbmsgWW91XG7CoCDCoCDCoFtMUzB6UkE6OkZFQjE4MjAyMF1cblxuwqAgwqAgwqBMYXN0IFVwZGF0ZSBbQVBSMDcyMDIyOjpMUzB6UkFdIik7CsKgfQrCoAo8L3NjcmlwdD4KPG1ldGEgbmFtZT0iYWlydGltZS1wbGF0Zm9ybS1kaXNwbGF5IiBjb250ZW50PSIiPjxtZXRhIG5hbWU9ImFpcnRpbWUtcGxhdGZvcm0taWQiIGNvbnRlbnQ9IiI+PHNjcmlwdCBzcmM9Imh0dHBzOi8vYml0dHViZWFwcC5jb20vdHViZXBheS9haXJ0aW1lLmxvYWRlci5qcyIgZGF0YS12ZXJpZnk9Im1ldGEiIGRhdGEtYXV0b3N0YXJ0PSJ0cnVlIj48L3NjcmlwdD48L2E+
- Protocol
- H2
- Security
- TLS 1.3,
, AES_128_GCM
- Server
-
104.16.123.175
-, ,
ASN13335
(CLOUDFLARENET, US),
- Reverse DNS
- Software
-
/
- Resource Hash
|
GET
H2
|
200
|
pZ7VdHrWDXWRmUkfhhOO--3--m5f8k_6x.jpg
images.nightcafe.studio/jobs/pZ7VdHrWDXWRmUkfhhOO/
Frame 977F
|
314 KB
315 KB
|
312ms
68ms
|
Image
image/webp |
52.222.214.88
AMAZON-02
|
|
General
- Full URL
- https://images.nightcafe.studio/jobs/pZ7VdHrWDXWRmUkfhhOO/pZ7VdHrWDXWRmUkfhhOO--3--m5f8k_6x.jpg
- Requested by
- Host: text
URL: data:text/html;charset=utf-8;base64,PG1ldGEgY2hhcnNldD0idXRmLTgiPjxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgiPjxiYXNlIHRhcmdldD0iX3RvcCI+PHN0eWxlIHR5cGU9InRleHQvY3NzIj5ib2R5e21hcmdpbjowIGF1dG87cGFkZGluZzoxMnZtaW4gMTB2bWluO21heC13aWR0aDozNWVtO2xpbmUtaGVpZ2h0OjEuNWVtO2ZvbnQtZmFtaWx5Oi1hcHBsZS1zeXN0ZW0sQmxpbmtNYWNTeXN0ZW1Gb250LHNhbnMtc2VyaWY7d29yZC13cmFwOmJyZWFrLXdvcmQ7fUBtZWRpYShwcmVmZXJzLWNvbG9yLXNjaGVtZTogZGFyayl7Ym9keXtjb2xvcjp3aGl0ZTtiYWNrZ3JvdW5kLWNvbG9yOmJsYWNrO319PC9zdHlsZT4gPGEgdGFyZ2V0PSJfdG9wIiBpZD0ibGluayIgbmFtZT0ibGluayIgc3R5bGU9ImRpc3BsYXk6IGJsb2NrOyBvdmVyZmxvdy13cmFwOiBicmVhay13b3JkOyBzY3JvbGwtYmVoYXZpb3I6IHNtb290aDsiPjxkaXYgaWQ9ImljaGVjayIgc3R5bGU9Im1hcmdpbi10b3A6LTd2dzsiPgoKCiZuYnNwOzxzdHlsZT4gLmxpbmUge2JhY2tncm91bmQ6IGJsYWNrO29wYWNpdHk6IDAuNTtoZWlnaHQ6IDQuNXB4Oy13ZWJraXQtYm94LXNoYWRvdzogMnB4IC0ycHggM3B4IGRpbWdyZXk7Ym94LXNoYWRvdzogMnB4IC0ycHggM3B4IGRpbWdyZXk7d2lkdGg6IDAlO3Bvc2l0aW9uOiBmaXhlZDtib3R0b206IDA7bGVmdDowO2FsaWduOmNlbnRlcjt6LWluZGV4Ojg7fcKgIMKgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogOS45aW4pIHsgLnFyaW1nIHthbGlnbjogcmlnaHQ7cmlnaHQ6MDttYXJnaW4tcmlnaHQ6LTMuNSU7bWFyZ2luLWJvdHRvbTotNTAlO3BhZGRpbmctcmlnaHQ6LTEuNSU7d2lkdGg6MzAlO30gLnRvcGJhciB7bWFyZ2luLXRvcDotM3Z3O21hcmdpbi1sZWZ0Oi0zdnc7bWFyZ2luLXJpZ2h0Oi0zdnc7fSAubGluZSB7bWFyZ2luLWxlZnQ6MC41JTthbGlnbjpjZW50ZXI7bGVmdDowO319IEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEwaW4pIHsgLnFyaW1nIHthbGlnbjogcmlnaHQ7bWFyZ2luLWJvdHRvbTotNTAlO3dpZHRoOjIwJTt9LmxpbmUge21hcmdpbi1sZWZ0OjAlO2FsaWduOmNlbnRlcjtsZWZ0OjA7fX3CoCA8L3N0eWxlPiZuYnNwOyA8ZGl2IGNsYXNzPSJsaW5lIiBpZD0ic2Nyb2xsSW5kaWNhdG9yIj48L2Rpdj48L2Rpdj48c2NyaXB0IHNyYz0iaHR0cHM6Ly91bnBrZy5jb20vZW1iZWRkYWJsZS1uZnRzL2Rpc3QvbmZ0LWNhcmQubWluLmpzIj48L3NjcmlwdD48ZGl2IGlkPSJiYWNrZ3JvdW5kIiBzdHlsZT0ibWFyZ2luLWJvdHRvbTotMTV2dzsiPjxsYWJlbD48aDEgc3R5bGU9Im1hcmdpbi1ib3R0b206LTJ2dzsiPjxzcGFuIHN0eWxlPSJsZWZ0OjA7IiBhbGlnbj0ibGVmdCIgaWQ9Im91dHRvcCI+V2hhdCBTaG91bGQgQmUgTGVhcm5lZCBmcm9tIHRoZSBMVFQgSGFjazwvc3Bhbj48L2gxPjwvbGFiZWw+Jm5ic3A7IDxsYWJlbD48aDQgYWxpZ249InJpZ2h0IiBzdHlsZT0icmlnaHQ6MDsiPjxzcGFuIGFsaWduPSJyaWdodCIgc3R5bGU9InJpZ2h0OjA7IiBpZD0ib3V0bWlkIj4jTFRUICNMVFRoYWNrICNIYWNrICNMVFRoYWNrMjM8L3NwYW4+PGhyIHN0eWxlPSJtYXJnaW4tYm90dG9tOi0zdnc7Ij48L2g0PjwvbGFiZWw+CiZuYnNwOyAmbmJzcDs8c3BhbiBhbGlnbj0iY2VudGVyIiBpZD0iaW1nMSIgc3R5bGU9IndpZHRoOjk2dnc7cmlnaHQ6NTA7bGVmdDo1MDtoZWlnaHQ6YXV0bzsiPjxpbWcgc3JjPSJodHRwczovL2ltYWdlcy5uaWdodGNhZmUuc3R1ZGlvL2pvYnMvcFo3VmRIcldEWFdSbVVrZmhoT08vcFo3VmRIcldEWFdSbVVrZmhoT08tLTMtLW01ZjhrXzZ4LmpwZyIgc3R5bGU9IndpZHRoOjk5JTsiIGFsaWduPSJjZW50ZXIiPjwvc3Bhbj4KPGxhYmVsPjxoNCBzdHlsZT0iZm9udC13ZWlnaHQ6bm9ybWFsOyI+PHNwYW4gaWQ9Im91dG91dCIgc3R5bGU9ImZvbnQtd2VpZ2h0Om5vcm1hbDsiPiZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyBNYWpvciB0ZWNoIGNvbXBhbmllcyB3ZW50IGZyb20gaGVscGluZyB0aGUgc29jaWV0eSBhcm91bmQgdGhlbSB0byB0YWtpbmcgZnJvbSB0aGUgc29jaWV0eSBhcm91bmQgdGhlbSB0byBub3cgY29udHJvbGxpbmcgdGhlIHNvY2lldHkgYXJvdW5kIHRoZW0uIFRoZSA8aT5UZWNoIEdpYW50czwvaT4gcGxhbnRlZCB0aGVpciBmZWV0IGluIHRoZSBkaXJ0IGJ5IGhlbHBpbmcgdXMsIHRoZW4gdGhleSBnYXZlIHVzIGhvcGVzIG9mIHNlY3VyaXR5ICZhbXA7IHNhZmV0eSBvbmx5IHRvIHR1cm4gYW5kIGN1dCBob2xlcyBpbnRvIHRoZWlyIHN5c3RlbXMganVzdCB0byBsZXQgdGhlIGdvdmVybm1lbnRzIGluLiBUaGUgcHJvYmxlbSB3aXRoIGhvbGVzIGlzIHlvdSBjYW4ndCBwaWNrIGFuZCBjaG9vc2Ugd2hhdCBnb2VzIHRocm91Z2ggdGhlbS4KPGJyPiZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyBIYXZpbmcgYmFja2Rvb3JzIGV2ZW4gZm9yIHlvdXIgb3duIHRlYW0sIHBlb3BsZXMsIHN5c3RlbXMsIGV0YyBnaXZlcyB0aGUgYWJpbGl0eSBmb3Igc29tZW9uZSBlbHNlIHRvIGdhaW4gc29tZSBmb3JtIG9mIGFjY2Vzcy4gTXVjaCBob3cgYmxvY2tjaGFpbiBkYXRhYmFzZXMgd2VyZSB0byBwcmV2ZW50IGRvdWJsZS1kYXRhICZhbXA7IHVucGVybWlzc2lvbmVkLWRhdGEtY2hhbmdlcyBidXQgd2l0aCBwcm9ncmFtYWJsZSBjaGFpbnMgY2FtZSBjb250cm9sbGluZyBzY3JpcHRzICZhbXA7IGF1dG8tdHJhbnNmZXIgYXR0YWNrcyBoaWRkZW4gYXMgZnJlZS1taW50cyB3ZWJzaXRlcy4gV2hlcmUgd2UgaGFkIG9mZmxpbmUgc3RvcmFnZSB3aXRoIGNoYWlucyBtZWNoYW5pY3MgdGhhdCBhbGxvd2VkIHNlbmRpbmcgdG8gYW55dGhpbmcgZXZlbiB1bmtub3ducyBhbmQgYmVpbmcgYWJsZSB0byBqdXN0IHNlbmQgdGhlIHByb29mIG9mIG91dHB1dCBhbmQgbm90IHRoZSBvdXRwdXQgaXRzZWxmIGp1c3QgZm9yIGx1eHVyaWVzIHRvIGNvbWUgaW4gYW5kIHB1dCB1bmtub3dpbmcgdXNlcnMgaW4gZnJvbnQgb2YgZGlyZWN0IGNvbnRyb2wgb2YgdGhlaXIgb25saW5lIHdhbGxldCBzdG9yYWdlLiBXaGVuIGtub3dsZWRnZSB3YXMgdGhlIHdheSB0byB1c2UgdGhlIHNlY3VyaXR5IHdhcyBnZW5lcmFsbHkgaGlnaGVyIGFuZCBhdHRhY2tzIHdlcmUgZ2VuZXJhbGx5IGxvd2VyIGJ1dCBhcyBpdCBiZWNvbWVzIGVhc2llciB0byB1c2UsIHRoZSBtb3JlIHBlb3BsZXMgdGhhdCBjYW4gcGFydGljaXBhdGUuIFRoaXMgaXMgdGhlIHJvYWQgdG8gYXR0YWNrLCB0aGlzIGlzIHdoZXJlIHdlIHdlcmUgbGVhZCwgdGhpcyBpcyB3aGVyZSB3ZSBhcmUuPGJyPiZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyBZb3VUdWJlIHdoaWNoIGlzIGFwYXJ0IG9mIHRoZSBHb29nbGUgdGVjaCBnaWFudCBmYW1pbHksIGlzIGF0dGFja2VkIHNvbWV0aW1lcyBtdWx0aXBsZSB0aW1lcyBwZXIgbWludXRlIGluIGEgbWFubmVyIHRoYXQgaXMgPGk+PGI+c3VjY2Vzc2Z1bDwvYj48L2k+LiBGcm9tIGhvdyB0aGVzZSBhdHRhY2tzIGFyZSBhYmxlIHRvIGhhcHBlbiBkb3duIHRvIGhvdyBzaW1wbHkgdGhlc2UgYXR0YWNrcyBhcmUgYmVpbmcgZG9uZSBzb21lIHBlb3BsZSBhcmUgYWJsZSB0byBzZWUgd2h5IHRoZXNlIGF0dGFja3MgY2Fubm90IGJlIHN0b3BwZWQhCjxicj48YnI+Jm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7IEF0IHRoZSBtb21lbnQgTFRUIGlzIG9uZSBvZiB0aGUgYmlnZ2VzdCBzZWVuIGF0dGFja3MgZm9yIGEgWW91VHViZSBjaGFubmVsLiBUaGUgdGVhbSB3aXRoaW4gdGhlIGNvbXBhbnkgaGFzIGV4cGxhaW5lZCBzbyBtdWNoIGluZm9ybWF0aW9uIGFuZCB0YWtlbiB1cyAodGhlIGF1ZGllbmNlKSB0aHJvdWdoIHRoZSBzdGVwcyBlbm91Z2ggdGltZXMgdGhhdCBjb21wYXJpc29ucyBvZiBhdHRhY2tzIHRvIFlvdVR1YmVycyBvdmVyIHRoZSB5ZWFycyBjYW4gcmVhbGx5IGJlIHZpZXdlZCBpbiBsaWdodHMuPGJyPiZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyBOb3JtYWxseSB3aXRoIFlvdVR1YmVyIGhhY2tzIHBlb3BsZSBleHBlY3QgdGhlIGNvbW1vbiB0cm9wZXM6IDxpPjxiPnVzZXIgZXJyb3I8L2I+LCA8Yj5lbWFpbC9waGlzaGluZy9pY2Vpbmc8L2I+LCA8Yj5jbGlwcGVkL2xvZ2dlZDwvYj4gYXR0YWNrczwvaT4uIFRoZXNlIGFyZSBhbGwgc29tZSBmb3JtIG9mIDxpPjxiPnVzZXIgZXJyb3I8L2I+PC9pPiBvciBpdCB0YWtlcyB0aGUgdXNlciB0byBjYXVzZSB0aGUgZW50cnkgZm9yIHRoZXNlIGF0dGFja3MgYW5kIHdoaWxlIHRoZSBtb3JlIG90aGVyIGF0dGFja3MgYXJlIGtub3duIG9mLCBwZW9wbGUgb3V0c2lkZSB0aGUgYXR0YWNrIHZlY3RvciByYXJlbHkgaGVhciBvZiB0aGUgaW5zaWRlIGluZm9ybWF0aW9uLiBMaW51cyBUZWNoIFRpcHMgaG93ZXZlciwgdGhleSBnYXZlIHVzIHRoaXMgaW5mb3JtYXRpb24uCjxicj4mbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgQXQgdGhlIGVuZCBvZiBtYW55IFlvdVR1YmVyIGF0dGFjayB2aWRlb3MgdGhlIHBocmFzZSwgIjxpPnBsZWFzZSBiZSBraW5kPC9pPiIgaXMgdXNlZCBvZnRlbiBiZWNhdXNlIHRoZSB1c2VyIGJlbGlldmVzIHRvIGJlIGF0IGZhdWx0LiBUaGVzZSBhcmUgdHJvdWJsaW5nIGFuZCBjb25mdXNpbmcgdGltZXMsIGV2ZW4gZm9yIGEgd2VsbCB0ZWNoLWtub3dsZWRnZWQgcGVyc29uIGxpa2UgTFRUJ3MgTGludXMgPGk+aGltc2VsZjwvaT4gdGhlIHNpdHVhdGlvbiB3YXMgY29uZnVzaW5nIGFuZCBtaXNsZWFkaW5nLiBGcm9tIHRoZSBzaXR1YXRpb24gYXQgaGFuZCBleHBsYWluZWQgdmlhIExUVCdzIHN0YWZmIHdpdGhpbiB0aGVpciBvd24gbGl2ZSBzdHJlYW1zLCBjbGlwcyBhbmQgcG9zdHMgaXQgYXBwZWFycyB0aGF0IHRoZSBvbmx5IHBlb3BsZSB0aGF0IGhhbmRsZWQgdGhlIHNpdHVhdGlvbiBjYWxtbHkgYXJlIHBlb3BsZSB3aG9tIGVpdGhlciBkZWFsIG9mdGVubHkgb3IgaGF2ZSBkZWFsdCBvZnRlbiB3aXRoIGhhY2tpbmcgb3IgcXVpY2sgdGltZSBzaXR1YXRpb25zIHdpdGhpbiByZWFsLXdvcmxkIHNjZW5hcmlvcyAobGlrZSBoYWNraW5nIGV2ZW50cyBhbmQgZGVtb25zdHJhdGlvbnMpLiBUaGUgcGVvcGxlIHRoYXQgZml4IHRoZSBpc3N1ZXMgd2hlbiB0aGV5IGFyZSBsaXZlLCBkdXJpbmcgcmVjb3JkaW5ncyAmYW1wOyB0aGUgcGVvcGxlIGp1c3QgZXhwbGFpbmVkIGFsbCBzZWVtZWQgdG8gYmUgY2FsbSwga25ldyB3aGF0IHRvIGRvIG9yIGZvciBhdCBsZWFzdCAxIGVtcGxveWVlIGVuam95ZWQgdGhlIHRyaWxsIG9mIHdvcmtpbmcgYWdhaW5zdCB0aGUgaGFja2VycyB0byBnZXQgdGhpbmdzIGZpeGVkLiBUaGlzIHNob3dzIHRoYXQgaW4gc29tZSBjYXNlcyBwcmV2aW91cyBZb3VUdWJlciBoYWNrcyBtYXkgaGF2ZSBoYWQgdGhlIGV4YWN0IHNhbWUgaXNzdWUgYnV0IGJlY2F1c2UgdGhlIFlvdVR1YmVyIHdhc24ndCBhcyB0ZWNoIHVuZGVyc3RhbmRpbmcgYXMgdGhlIGVudGlyZXR5IG9mIHRoZSBMVFQgdGVhbSB0aGF0IHdvcmtlZCBvbiB0aGUgaGFjayBsaXZlLCB0aGV5IG1heSBhc3N1bWVkIGZha2UgaW5mb3JtYXRpb24gYW5kIHdpdGggbm8gb3RoZXIgaW5mb3JtYXRpb24gaGFkIHRvIHRha2UgYXMgdGhlIG1vc3QgcG9zc2libGUgdHJ1dGguCjxicj4mbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgVGhlIHJlYWwgcHJvYmxlbSB0aG91IGlzIHVuZGVybHlpbmcgYW5kIHRoaXMgaXMgb25lIG9mIHRoZSBmZXcgdGltZXMgd2UgaGFkIHJlYWwgaW5zaWdodCBpbnRvIGl0IG91dHNpZGUgb2YgdGhlIFlvdVR1YmUgSW50ZXJuYWwgVGVjaG5vbG9naWVzIFRlYW0gJmFtcDsgTWFuYWdlbWVudCBmcmFtZXdvcmsuIEkgbXVzdCBzYXksIGl0J3MgYWJvdXQgdGltZSBiZWNhdXNlIHRoaXMgc2hvd3MgZmxhd3MgbWFqb3IgZmxhd3Mgbm90IG9ubHkgd2l0aCB0aGUgdGVjaCBnaWFudCBidXQgYWxzbyBvbiB0aGUgc29mdC1hbGwtd2FyZSB0ZWNobm9sb2dpZXMgR29vZ2xlLCBNaWNyb3NvZnQsIEFwcGxlIGFuZCBvdGhlciBtYWpvciB0ZWNoIGNvbXBhbmllcyBoYXZlIHNvbGQgdXMuPGJyPjxicj48aDEgYWxpZ249ImNlbnRlciIgc3R5bGU9ImFsaWduOmNlbnRlciI+PGI+IjxpPkl0J3MgYWxsIG9uIHRoZSB3aXJlITwvaT4iPC9iPjxicj48L2gxPjxoMiBhbGlnbj0icmlnaHQiIHN0eWxlPSJhbGlnbjpyaWdodDttYXJnaW4tcmlnaHQ6NSU7Ij48c3VwPjxzdWI+Jm5ic3A7ICZuYnNwOyBVbmtub3duIFRlY2ggR2lhbnQgKDE5OTMtMjAxMyk8L3N1Yj48L3N1cD48L2gyPgo8YnI+Jm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7IFNvZnQtYWxsLXdhcmUgaXMgZXZlcnl0aGluZyBkb25lIGJ5IHNvZnR3YXJlLiBBbGwtb24tdGhlLXdpcmUgYWthIDxxPjxpPjEtd2lyZTwvaT48L3E+IGlzIHJ1bm5pbmcgYWxsIHNlcnZpY2VzIG92ZXIgdGhlIGludGVybmV0ICZhbXA7IGNsb3VkLiBUaGUgcHJvYmxlbSB0aG91IGlzIHRoZSBjbG91ZCBpcyBqdXN0IHNvbWVvbmUgZWxzZSdzIGNvbXB1dGVyLiBUaGUgb3RoZXIgcHJvYmxlbSBpcyB3aGF0IGhhcHBlbnMgd2hlbiB0aGUgY29tcGFuaWVzIHNheWluZyB0ZWNobm9sb2d5IHdpbGwgbWFrZSBldmVyeXRoaW5nIHNhZmVyLCBmYXN0ZXIsIHN0cm9uZ2VyLCBiZXR0ZXIgaXMgYWxzbyB0aGUgc2FtZSBjb21wYW5pZXMgcHVycG9zZWx5IGNyYWZ0aW5nIGhvbGVzIGluIHRoZWlyIHN5c3RlbSB3aGlsZSBvdGhlciBwYXJ0cyBhcmUgbm93IHN0YXJ0aW5nIHRvIHNob3cgdGhleSB3ZXJlIGp1c3QgZGlnaXRhbCBwYXJsb3IgdHJpY2tzLgo8YnI+Jm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7IFNvZnQtYWxsLXdhcmUsIG1ha2UgaXQgYWxsIHNvZnR3YXJlIGlzbid0IGEgYmFkIHByYWN0aWNlLiBUaGlzIGFsbG93cyBmb3Igc21hbGxlciBkZXZpY2VzIHRvIGhhdmUgYmlnLWRldmljZSBmZWVsLiBDaGVhcGVyIGRldmljZXMgY2FuIGFjdCBsaWtlIHJlYWxseSBiaWcgYW5kIGV4cGVuc2l2ZSBkZXZpY2VzLiBUaGUgcHJvYmxlbSwgdG8gcGVyZm9ybSB0aGlzIHBhcmxvciB0cmljayBvZiBtYWtpbmcgYSBzbG93IHNtYWxsIGNoZWFwIGRldmljZSBmZWVsIGZhc3RlciwgYmlnZ2VyLCBhbmQgbW9yZSBleHBlbnNpdmUgaXMgdGhlIHVzZXIncyBkZXZpY2UgaGFzIHRvIHRhbGsgdG8gYW5vdGhlciBkZXZpY2UgZm9yIGV2ZXJ5dGhpbmcuIFNvIGNlcnRpZmljYXRlcyB3ZXJlIGludmVudGVkIHRvIHJlZ3VsYXRlIHRydXN0ZWQgcGFydGllcyBidXQgZXZlbnR1YWxseSB0aGUgPGI+ZDxpPmVlPC9pPnRzPC9iPiB0byBhIHRlY2ggZ2lhbnQncyBjZXJ0cyB3ZXJlIGxlYWtlZCwgdGhlbiBmcm9tIHRoYXQgb3RoZXIncyBnZXQgc3RvbGVuIHRoZW4gZXZlbnR1YWxseSB0aGUgZW50aXJlIGNlcnRpZmljYXRlIHN5c3RlbSBzaG93cyBpdCdzIGEgZmlhdCBzeXN0ZW0uIEl0IHdvcmtzIGNvbXBsZXRlbHkgb24gdHJ1c3QgaW5zdGVhZCBvZiBwcm9vZnMuIENlcnRpZmljYXRlcyBoYXZlIHByb29mcyB3aXRoIHRoZW0gdG8gcHJvdmUgdGhlIGNlcnQgaXMgYXMgaW50ZW5kZWQgYnV0IHdoZW4gdGhlIGNlcnQgaXMgYmVpbmcgdXNlZCB1bi1pbnRlbmRlZGx5IGFzIGludGVuZGVkLCB3ZWxsIHRoYXQncyB1bnN0b3BwYWJsZSBpbiBhIHRydXN0IHN5c3RlbS4gRXZlbiBpZiB0aGVyZSB3YXMgYSBibG9ja2NoYWluIG9mIGNlcnRzLCBpdCdzIGEgdHJ1c3Qgc3lzdGVtIGFuZCB0aGVyZWZvcmUgd2lsbCBhbHdheXMgYmUgYSBwYXJsb3IgdHJpY2suIE5vdGhpbmcgbW9yZSB0aGVuIGV4Y2VsIHNoZWV0IGRhdGFiYXNpbmcuPGJyPiZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyBUaGlzIGlzIHdoeSBJIGFtIGNhbGxpbmcgaXQgYSBwYXJsb3IgdHJpY2ssIHRoaXMgY2VydGlmaWNhdGUgc3lzdGVtIHdhcyBzb2xkIGFzIHRoZSBrZXkgdG8gYWxsb3dpbmcgc29mdC1hbGwtd2FyZSB3b3JrIHdpdGhvdXQgd29ycnkuIEluIHJlYWxpdHkgdGhleSBzaG91bGQgaGF2ZSBqdXN0IGJlZW4gaG9uZXN0IGFuZCBzYWlkLCAiPGk+Q2VydGlmaWNhdGVzIGFyZSBhIHRydXN0IG5ldHdvcmsgb2YgcGFpZCBzcG9uc29ycyB0byBiZSBhYmxlIHRvIHByb2R1Y2UgdW5pcXVlIFNIQSBwcm9vZnMgdGhhdCBjYW5ub3QgYmUgZHVwcGVkIG9ubHkgY29waWVkIGZvciBhcyBsb25nIGFzIHRoZSBTSEEgcHJpdmF0ZSBrZXlzIGFyZSBrZXB0IHNhZmUsPC9pPiIgYmVjYXVzZSB0aGVuIHdoZW4gaGFja3MgaGFwcGVuIHBlb3BsZSBtYXkgaGF2ZSBzb29uZXIgdGhvdWdodCwgY2hlY2sgY2VydHMsIGluc3RlYWQgb2YgZmluYWxseSBkaXNjb3ZlcmluZyB0aGUgZmxhdyBvbmx5IGFmdGVyIHRoZSBlbnRpcmV0eSBvZiB0aGUgc3lzdGVtIGZlbGxlZCBmcm9tIGEgR1BVIGNvbXBhbnkgaGFjayBvYnRhaW5pbmcgY29tcGFueSBDY2VydCBwcm9vZnMsIGtleXMsIGFuZCBtb3JlITxicj4mbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgQmVjYXVzZSB0aGUgdGVjaCBnaWFudHMga25ldyB0aGUgZmxhdyBiZWZvcmUgaXQgd2FzIHB1YmxpYywgdGhleSBzdGFydGVkIHVzaW5nIGFuIGluZGVwZW5kZW50IGRldmVsb3BlZCBzeXN0ZW0gY2FsbGVkIHRva2VuaXphdGlvbi4gVG9rZW5pemluZyBkYXRhIHdhcyBmaXJzdCB0aG91Z2h0IGFzIGJlc3QgZm9yIGludGVybmFsIHVzZSBzeXN0ZW0gYnV0IHdoZW4gPGI+IjxpPmludGVybmFsIHVzZSBvbmx5PC9pPiI8L2I+IGJlY2FtZSA8Yj4iPGk+b3ZlciB0aGUgaW50ZXJuZXQ8L2k+IjwvYj4sIHRva2VuaXplZCBkYXRhIGJlY2FtZSB2ZXJ5IHVzZWZ1bCB2ZXJ5IHF1aWNrbHkuIEluIG1hbnkgY2FzZXMgdG9rZW5pemluZyBvbmx5IHdvcmtzIGJlY2F1c2UgdGhlIHRva2VuIGlzIGJlaW5nIGdlbmVyYXRlZCBvbiBtYWNoaW5lcyBvciBzb2Z0d2FyZSBvd25lZC9vcGVyYXRlZCBieSB0aGUgY29tcGFueSdzIHNvZnR3YXJlIHlvdSBhcmUgdXNpbmcuIEV2ZW4gT3BlcmF0aW5nIFN5c3RlbXMgKDxiPk9TPC9iPikgd2VyZSBhYmxlIHRvIGJlIHRva2VuaXplZCBhbmQgc2VudCBvdmVyIHRoZSB3aXJlLiBJbiBob25lc3R5LCB0aGlzIHdhcyBhIHJlYWwgc3RlcCB0b3dhcmQgbGVnaXRpbWl6aW5nIDxpPnNvZnQtYWxsLXdhcmU8L2k+LiBUaGlzIGlzIHN0aWxsIGZsYXdlZCBiZWNhdXNlIG5vdy1hLWRheXMgYSBtYWNoaW5lIGdpdmVzIHVwIHNvIG11Y2ggaW5mb3JtYXRpb24gbWFueSBoYWNrZXJzIChpbmNsdWRpbmcgPGk+U2NyaXB0ZXJzPC9pPiBha2EgPGk+U2NyaXB0LUtpZGRpZXM8L2k+KSBjYW4gbWltaWMgdGhlc2UgbWFjaGluZXMgdG8gdGhlbiBnYWluIGhpZ2hlciBsZXZlbHMgb2YgYXV0aG9yaXR5IGZvciB0aGUgcHJpdmlsZWdlIG9mIGFjY2Vzc2luZyBvdGhlciBtYWNoaW5lJ3MgaW50ZXJuYWwgZGF0YSBzdHJ1Y3R1cmUgbGluZSwgZXZlbnR1YWxseSB3b3JraW5nIGFsbCB0aGUgd2F5IHVwIHRvIGEgbWFjaGluZSB3aXRoIGVpdGhlciBoaWdoZXN0IEFQSSB0b2tlbiBhY2Nlc3Mgb3IgaGlnaGVzdCBzZWN1cml0eSBhdXRob3JpdHkgdG8gdGhlbiBtYWtlIHdoYXQgZXZlciBhdHRhY2sgdGhleSBuZWVkLiBBbHRob3VnaCB0aGlzIG1heSBzb3VuZCByZWFsbHkgY29tcGxpY2F0ZWQgYnV0IGluIHJlYWxpdHkgaXQncyBhcyBzaW1wbGUgYXMgYSBib3Qgc2VlaW5nIGJpdHMgb2YgZGF0YSB3aGlsZSBzb21lb25lIHVzZXMgYSBtYWNoaW5lIG9uIGEgbmV0d29yayB5b3UgYXJlIG9uIChkb2Vzbid0IGV2ZW4gaGF2ZSB0byBiZSB5b3UpLiBUaGF0IGJvdCBvbiB0aGUgc2FtZSBuZXR3b3JrIGFzIHlvdSBpcyBqdXN0IHNjYW5uaW5nIGFzIG11Y2ggZGF0YSBhcyBwb3NzaWJsZSBhcyBmYXN0IGFzIHBvc3NpYmxlIG9uIHRoZSBuZXR3b3JrIGFuZCB3aXRoaW4gMyBzZWNvbmRzIGNhbiB0cnkgd2l0aGluIDEgbWlsbGlvbiB0aW1lcyAoZGVwZW5kaW5nIG9uIGludGVybmFsIG5ldHdvcmsgc3BlZWRzKSB0byBhc2sgZm9yIHBlcm1pc3Npb25zLCBpbmZvcm1hdGlvbiwgYWNjZXNzLiBEZXBlbmRpbmcgb24geW91ciBzeXN0ZW0sIGl0IG1heSBqdXN0IGFsbG93IHNvbWUgY29ubmVjdGlvbiBhbmQgaW4gYWxtb3N0IGFsbCBjYXNlcyB3aWxsIGdpdmUgaW5mb3JtYXRpb24gYXQgdGhlIGxlYXN0IGxpa2Ugd2hhdCBPUywgYnJvd3NlciBpbmZvcm1hdGlvbiwgdGltZXpvbmUuIERlcGVuZGluZyBvbiB3aG9tLCBob3cgYW5kIHdoZXJlIHRoZSBxdWVzdGlvbiBpcyBjb21pbmcgZnJvbS90byB3aWxsIGRldGVybWluZSBpZiBhbmQgaG93IG11Y2ggaXMgZ2l2ZW4gb3V0LiBTbyBmb3IgZXhhbXBsZSB0aGUgY29tcGFueSBydW5uaW5nIHlvdXIgQ1BVIG9yIEdQVSBhc2tzIHlvdXIgZGV2aWNlIGZvciBpbmZvcm1hdGlvbiwgeW91ciBkZXZpY2UgaXMgZ29pbmcgdG8gZ2l2ZSBxdWl0ZSBhIGJpdCBhbmQgaWYgeW91IGhhdmUgIjxpPkF1dG9tYXRpYyBVcGRhdGVzPC9pPiIgeW91IG1heSBnaXZlIG1vcmUgaW5mb3JtYXRpb24uIFRoaXMgaXMgbm90IHRoZSByZWFzb24gd2h5IHRoZSBoYWNrZXIgZ3JvdXBzIHdlbnQgYWZ0ZXIgQ1BVLCBHUFUsIE9TICZhbXA7IGhhcmR3YXJlIG1hbnVmYWN0dXJlIGNlcnRpZmljYXRlIHByaXZhdGUgaW5mb3JtYXRpb24gYnV0IG9uY2UgdGhleSBoYWQgaXQsIHNvbWVvbmUgcXVpY2tseSBmaWd1cmVkIG91dCBob3cgaXQgd2FzIGEgZ3JlYXQgYXR0YWNrIHZlY3Rvci4gQ1BVICZhbXA7IEdQVSwgZXZlcnlvbmUgaGFzIG9uZSBvciBjaGlwcyBmcm9tIHRoZXNlIG1hbnVmYWN0dXJlcy4gSnVzdCBob3cgc21hcnRwaG9uZSBjYW1lcmEgem9vbWluZyBjaGlwIG1hbnVmYWN0dXJlcyB3ZXJlIGhpdCBzbyBib3RuZXRzIGNvdWxkIHV0aWxpemUgdGhlIG1pbGxpb25zIG9mIGNlbGxwaG9uZXMgd2l0aCB1bnNlY3VyZSBjaGlwcyBvbiB0aGUgUEMgQm9hcmQgb2YgdGhlIGNhbWVyYS4gVGhlIGF0dGFjayBkb2Vzbid0IG5lZWQgYWNjZXNzIHRvIHlvdXIgZGV2aWNlIGJlY2FzdWUgdGhlIHpvb20gY2hpcCBjYW4gYWNjZXNzIHRoZSBDUFUgb3IgYXQgbGVhc3Qgc2VuZCBmb3IgYWN0aXZhdGlvbnMgYW5kIG1vcmUuIERvZXMgeW91ciBjZWxscGhvbmUgaGF2ZSBuYXRpdmUgM0QgZWZmZWN0cyBhbmQgZmlsdGVycz8gWW91IG1heSBoYXZlIGFuIHVuc2VjdXJlIGNhbWVyYSBjaGlwLgo8YnI+Jm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7IFRoZSBhdHRhY2tzIGp1c3Qgc3BlYWtpbmcgYWJvdXQgYWxsIHJldm9sdmUgYXJvdW5kIDMtZmFjdG9yczogPGk+VHJ1c3QgQXV0aG9yaXR5IFN5c3RlbSwgSW50ZXJuYWwgU3lzdGVtcyBhcmUgdGhlIEF0dGFjayBMYW5kc2NhcGUsIFRydXN0IEF1dGhvcml0eSAmYW1wOyBJbnRlcm5hbCBTeXN0ZW1zIGFyZSBtb3JlIGZsYXdlZCB0aGVuIG5vbi10cnVzdCAmYW1wOyBleHRlcm5hbCBzeXN0ZW1zPC9pPi4gRWFjaCBvbmUgaGFzIHRoZSBzYW1lIHR5cGUvc3R5bGUgb2YgYXR0YWNrIHdoaWNoIG1lYW5zIGZpbmQgYSB3YXkgdG8gZXhwbG9pdC91c2Ugb25lIGFuZCB0aGUgb3RoZXJzIHByb2JhYmx5IGNhbiB1c2UgdGhlIHNhbWUgYXR0YWNrLiBUaGV5IGFsbCByZWx5IG9uIHRoZSBob3N0aW5nIGNvbXBhbnkgb2YgdGhlIG1hY2hpbmUgeW91ciBkZXZpY2VzIGFyZSBzcGVha2luZyB0by4gQXMgdGhvc2UgY29tcGFuaWVzIGJlY29tZSBiaWdnZXIsIHNvIGRvZXMgdGhlIGF0dGFjayBsYW5kc2NhcGUgYW5kIHNvIHRoZW4gdGhlIGF0dGFjayB2ZWN0b3IgcG9zc2liaWxpdGllcyBvbmx5IG1hZ25pZnkgbm90IG11bHRpcGx5LCBtYWduaWZ5IGJ5IG1hZ25pdHVkZXMgYXQgcGVyIHNxdWFyZWQgb3IgY3ViZWQgcmF0aW9zIHBlciBsZWcgdGhhdCBsYW5kc2NhcGUgaGFzIHRvIHVwaG9sZC4gTWVhbmluZyBzaW1wbGUsIGZvciBldmVyeSAxIHRoaW5nIHRoZSBpbnRlcm5hbCBzeXN0ZW1zIGhhdmUgdG8gaGFuZGxlLCB0aGUgd2F5cyB0byBhdHRhY2sgaW5jcmVhc2UgZWl0aGVyIGluIG11bHRpcGxlcyBvZiAxMCBzcXVhcmVkIG9yIG11bHRpcGxlcyBvZiAxMCBjdWJlZCBwZXIgQVBJIHRoYXQgaW50ZXJuYWwgc3lzdGVtIGhhbmRsZXMgKGluYm91bmQvb3V0Ym91bmQpLiBXZSBjYW4gYXR0ZW1wdCB0byBzdG9wIGJ1dCB3ZSBjYW5ub3QgcHJldmVudCBzbyBub3cgd2hhdCBoYXBwZW5zIHdoZW4gdGhpcyBhdHRhY2sgbGFuZHNjYXBlIGFsc28gaGFuZGxlcyBmZWF0dXJlcyBsaWtlLCAiPGk+UmV2b2tlIEFjY2VzczwvaT4iPyBFdmVuIGZvciBjcm9zcy1hdXRob3JpdHkgY29tbXVuaWNhdGlvbnMsIGlmIGl0J3Mgb3ZlciB0aGUgd2lyZSBhbmQgbm90IGRpcmVjdCBvbiBzZXJ2ZXIvbWFjaGluZSB3ZWxsIHRoYXQgY29tbXVuaWNhdGlvbiBjYW4gYmUgYmxvY2tlZC4KPGJyPiZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyBJZiB0aGUgdXNlciBhdHRhY2tpbmcgaGFzIHRoZSBlcXVhbCBwZXJtaXNzaW9uIGxldmVscyBmcm9tIHN0b2xlbiB0b2tlbnMvY2VydHMgdGhlbiBlcXVhbGx5IGlmIHRoZSBhdHRhY2tlciB3YXMgdG8gcmV2b2tlIHlvdXIgYXV0aG9yaXR5IGZpcnN0LCB5b3UgY2FuIG5vIGxvbmdlciByZXZva2UgdGhlaXJzLiBJbiB0aGUgTFRUIGhhY2ssIGluIHNvbWUga2luZGEgZGlsdXRlZCBhdHRhY2sgKG9mdGVuIG5pbmphIGF0dGFja3MgYXJlIGRpbHV0ZWQpLCB0aGUgdG9rZW4gZm9yIGFjY2VzcyB0byBhIGNoYW5uZWwvcG9ydC9ob2xlIGZvciBoaWdoZXIgYWNjZXNzIHRvIHRoZSB1bWJyZWxsYSBjaGFubmVsIHdoaWNoIGVuZGVkIHVwIHRvIGJlIDxiPjxpPkxpbnVzVGVjaFRpcHM8L2k+PC9iPi4gVGhpcyBpcyBhIGdlbmVyaWNhbGx5IHNpbXBsZSB3YXkgdG8gZXhwbGFpbiB0aGUgYXR0YWNrLiBUaGUgYXR0YWNrZXIgd2FzIHVuYWJsZSB0byBiZSByZXZva2VkIGZyb20gTFRUJ3MgZW5kIGFuZCB0aGF0IGNvdWxkIGJlIGZyb20gYSA8aT5maXJzdC1saWdodCBzd2l0Y2g8L2k+IG9yIDxpPnRoZSBmaXJzdCBpbnZva2VkIGZ1bmN0aW9uIGluIHRoZSBhdHRhY2sgb25jZSBwbGFudGVkPC9pPi4gSWYgdGhlIGZpcnN0LWxpZ2h0IHN3aXRjaCB3YXMgdG8gcmV2b2tlIGFsbCB0b3AgYWNjZXNzIHRva2VucyBsb3dlciBvciBlcXVhbCB0byB0aGUgYXR0YWNrZXIncyB0b2tlbiB0aGVuIG9ubHkgaGlnaGVyIGF1dGhvcml0aWVzIGNhbiByZXZva2UuIFRoaXMgY2FuIGJlIHRyaWNreSBieSB0aGUgaGlnaGVyIGF1dGhvcml0eSBiZWNhdXNlIHRoZXkgc2ltcGx5IGNhbm5vdCBqdXN0IGFjdCBvciBlbHNlIHRoYXQncyBhIGRpZmZlcmVudCBhdHRhY2sgbWV0aG9kIHNvIHRoZSBhdHRhY2tzIGJldCBvbiB0aW1lIGJldHdlZW4gdXNlcnMgcmVhbGl6aW5nIHRoZXkgY2Fubm90IHN0b3AgdGhlIGF0dGFjayBhbmQgdGhlbiB0aGUgaGlnaGVyIGF1dGhvcml0eSBnZXR0aW5nIGludm9sdmVkIHRvIHRoZW4gbWFraW5nIGFuIGFjdGlvbi4gVGhlIHdheSB0aGUgYXR0YWNrIHdhcyBkZXNjcmliZWQgYnkgdGhlIExUVCB0ZWFtLCBpdCBkb2VzIGFwcGVhciBldmVyeSBwb2ludCBpbiB0aGVpciBZb3VUdWJlIEhhY2sgd2FzIHZpYSBpbnRlcm5hbCBzeXN0ZW1zIG9uY2UgdGhlIGluaXRpYWwgdG9rZW4gd2FzIHN3ZXB0Ljxicj4mbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgVGhpcyBpcyB3aHksIGluIG15IG9waW5pb24sIHRoZSBiaWdnZXIgYSB0ZWNoIGNvbXBhbnkgZ2V0cyB0aGUgd29yc2UgaXQncyBzb2Z0d2FyZSBiZWNvbWVzLiBJdCdzIG5vIGRvdWJ0IFdpbmRvd3MgMy4xLCAxOTk4LCBYUCAmYW1wOyA3IGFsbCB3b3JrIGJldHRlciB0aGVuIGN1cnJlbnQgZ2VuZXJhdGlvbiB3aW5kb3dzLiBXaW5kb3dzIHZpc3RhIGhhZCBtYW55ICI8Yj4xLXdpcmU8L2I+IiBidWlsdCBpbiBhbmQgd2FzIGNvbnNpZGVyZWQgdmVyeSB0ZXJyaWJsZS4gVGhlIG92ZXIgdGhlIHdpcmUgc3lzdGVtcyBhbGwgZmFpbCBhcyB0aGUgY29tcGFueSBncm93cy4gTXlzcGFjZSBmZWxsIG91dCBvZiBmYXZvciBhcyBpdCBncmV3IGZhc3Rlci4gRmFjZWJvb2sgb25jZSBpdCBoaXQgdGhlaXIgdWx0aW1hdGUgdG9wLCBwbGF0ZWF1ZWQuCjxicj48YnI+Jm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7IElmIHRoaXMgZG9lc24ndCB3b3JrIHdlbGwgb3IgYXMgYWR2ZXJ0aXNlZC9zb2xkLCB3aHkgdXNlIGl0PyBIaWRkZW4gcmV0dXJuIGNvbW11bmljYXRpb25zLiBBdXRvbWF0ZWQgdXBkYXRlcyB3YXMgaW52ZW50ZWQgZm9yIHNvbWVvbmUgdG8ga2VlcCBhIHNvZnR3YXJlIG9yIGdhbWUgdXBkYXRlZCBhbGwgdGhlIHRpbWUgYnkgc2Nhbm5pbmcgYW4gUlNTIGZlZWQgZm9yIG5ldyBlbnRyaWVzIHRoZW4gYXV0b21hdGljYWxseSBncmFiYmluZyBhbmQgaW5zdGFsbGluZyBuZXcgZW50cmllcyB0byBhbiB1cGRhdGUgZm9ydW0uIEFib3V0IDEwIHllYXJzIGFmdGVyIG1vc3QgbWFqb3IgY29tcGFuaWVzIGFuZCBPUydzIHdlcmUgdXRpbGl6aW5nIDxpPmF1dG9tYXRlZCB1cGRhdGVzPC9pPiwgdGhlIGF1dG9tYXRlZCB1cGRhdGVzIHRvb2sgYSB0dXJuIHRvIHdoZXJlIGluIG1hbnkgY2FzZXMgZGV2ZWxvcGVycyBkaXJlY3RseSBvbiBHaXRIdWIgd2VyZSBnaXZlbiBhY2Nlc3MgdG8gcHJvZHVjZSA8aT5hdXRvbWF0ZWQgdXBkYXRlczwvaT4gJmFtcDsgZGVsaXZlciB0aGVtIC0tZnJvbSBHaXRIdWIuIE5vdyB0aGVyZSdzIGEgbmV3IGxlZywgbm93IHRoZXJlJ3MgYSBuZXcgbGFuZHNjYXBlIHRvIHRoZSBhdHRhY2sgbm93Li4udGhlIGF0dGFjayBjYW4gYmUgdXBkYXRlZCB0byB5b3Ugb3ZlciB0aGUgPGk+MS13aXJlIDxiPmF1dG9tYXRlZCB1cGRhdGU8L2I+IHN5c3RlbTwvaT4uIFRoZSByZWFzb24gdGhpcyB3b3JrcyBpcyBiZWNhdXNlIG9mIGhpZGRlbiByZXR1cm4gY29tbXVuaWNhdGlvbnMuIEF0dGFja2VycyBjYW4gYXR0YWNrIHRoZSBoaWRkZW4gcmV0dXJuIGNvbW11bmljYXRpb25zIG9mIGEgcmVhbCBhdXRvIHVwZGF0ZSB0byB0aGVuIGhpamFjayB0aGUgbGluZSBlbnRyeSB0byBwdXNoIGEgbWFsaWNpb3VzIHVwZGF0ZS4gVGhpcyBpcyB3aHkgbWFueSBMaW51eCBhbmQgU3VwZXJVc2VycyBkb24ndCByZWx5IG9uIGF1dG8gdXBkYXRlcywgdGhleSBtYXkgZ2V0IG5vdGlmaWNhdGlvbnMgb2YgdXBkYXRlcyBhdmFpbGFibGUgYnV0IHRoZXkgZWl0aGVyIHZlcmlmeSBpdCBvciB0YWxrIHRvIHBlb3BsZSB3aXRoaW4gdGhlaXIgcGVyc29uYWwgdHJ1c3QgbmV0d29yayB0byBzZWUgaWYgYW55b25lIGVsc2UgdmVyaWZpZWQgaXQuIFNvbWUgcGVvcGxlIGp1c3Qgd2FpdCBsb25nIGVub3VnaCBmb3IgaXNzdWVzIHRvIGJlIHNwb3R0ZWQgb3Igb25seSBnZXQgc3BlY2lmaWMgdGltZS1wb2ludCB1cGRhdGVzLiBUaGlzIGlzIHNvcnRhIHNpbWlsYXIgdG8gc2FpZCBwcmV2aW91c2x5IGJ1dCBpZiBtb3JlIHBlb3BsZSBzZWxmLXZlcmlmaWVkIHRoZW4gdGhlcmUgd291bGQgYmUgbW9yZSBjcm9zcyB2ZXJpZmlhYmxlIGluZm9ybWF0aW9uIHdoaWNoIGNvdWxkIGhlbHAgc3BvdCBwcm9ibGVtcyBmYXN0ZXIgd2l0aGluIHRoZSBjb21tdW5pdHkgYnV0IHRoZXJlIHdpbGwgYWx3YXlzIGJlIHRoYXQgdHlwZSBvZiB2ZWN0b3IuIFRydXN0LCBBdXRvLCBMdXh1cnkgKGV2ZW4gQXNzaXN0aXZlIEx1eHVyeSkgd2lsbCBhbHdheXMgYmUgYSB0eXBlIG9mIGF0dGFjayB2ZWN0b3IsIHdlIGNhbiBvbmx5IHRyeSB0byBzdG9wIGF0dGFja3Mgd2hpY2ggYnJpbmdzIHVwIHRoZSBvcmlnaW5hbCBwb2ludCwgIjxpPjxiPldoYXQgaWYgeW91IGNhbid0IHN0b3AgaXQ/PC9iPjwvaT4iIAo8YnI+Jm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7IFRoZSBmZWF0dXJlcyB3aXRoaW4gdGhlIGludGVybmFsIHN5c3RlbXMgY2FuIGJlIHN3aXRjaGVkIG9mZiBiZWZvcmUgeW91IGJ1dCB0aGUgYWJpbGl0eSBmb3IgdGhhdCBzeXN0ZW0gdG8gZXZlbiBjb21tdW5pY2F0ZSBpbiB0aGUgZmlyc3QgcGxhY2UgcmVxdWlyZXMgYSBmcm9tIG9mIHJldHVybiBjb21tdW5pY2F0aW9ucyBhbmQgc28gdGhlIGFiaWxpdHkgdG8gc2VuZCBoaWRkZW4gcmV0dXJuIGNvbW11bmljYXRpb25zIGlzIGFsd2F5cyBwcmVzZW50LiBUaGlzIGlzIHdoZW4gd2UgZ2V0IHRvIHRoZSBjb21tdW5pY2F0aW9ucyBzZW5kaW5nIGJhY2sgdG8gdGhlIHNlcnZlciBpcyBvbmx5IG5lZWRlZCBmcm9tIHNvbWUgYXR0YWNrIHBvaW50cywgdGhlcmUncyBvdGhlciB3YXlzIHRvIGV4cGxvaXQgdGhlIHNhbWUgd2l0aG91dCBhbnkgcmV0dXJuIGNvbW11bmljYXRpb25zIGJ1dCBqdXN0IGhhdmluZyBjZXJ0aWZpY2F0ZS90b2tlbiB0dW5uZWwvYWNjZXNzIGNvbW11bmljYXRpb25zIGlzIHN0aWxsIGV4cGxvaXRhYmxlIGluIHNpbWlsYXIgb3IgdGhlIGV4YWN0IHNhbWUgd2F5cy4gSnVzdCBhcyB0aGUgbWFqb3IgZmxhdyB3aXRoIFNvZnQtYWxsLXdhcmUsIHRoZSBtYWpvciBhdHRhY2sgdmVjdG9yIGZvciB0aGlzIGRpZ2l0YWwgbGFuZHNjYXBlIGlzIGFsc28gcmV0cm9hY3RpdmUuIEFueSB2ZWN0b3IgcG9pbnQgb24gdGhlIHNhbWUgb3IgY29ubmVjdGVkIGxhbmRzY2FwZSBpcyB0aGVuIHZhbHVhYmxlIHRvIHRoZSBvdGhlcidzIHZ1bG5lcmFiaWxpdHkuIEp1c3QgaG93IHJlZmVycmVycyBhbmQgaWZyYW1lcyBhcmUgdnVsbmVyYWJpbGl0aWVzIGJlY2F1c2UgdGhleSBiYXNpY2FsbHkgaW1wb3J0IHRoZSBjb25uZWN0ZWQgZGF0YSB0byB5b3VyIGVuZHBvaW50LCB2dWxuZXJhYmlsaXRpZXMgYW5kIGFsbCBmbGF3cy4gRXZlbiBpZiB0aGVzZSByZWZlcnJlcnMvaWZyYW1lcyBhcmUgd2l0aGluIHRoZSBzYW1lIGludGVybmFsIHN0cnVjdHVyZSwgdGhleSBhcmUgdnVsbmVyYWJsZSB0byB0aGlzIGNvbW11bmljYXRpb25zIHZlY3Rvci48YnI+Jm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7IFRoZSBlbnRpcmUgY29tbXVuaWNhdGlvbiBlbmQtcG9pbnQgY2FuIGJlIG9wZW5lZCBvciBjbG9zZWQgZnJvbSB3aXRoaW4gdGhlIHN5c3RlbS4gVGhlIGludGVybmFsIHN5c3RlbXMgYXJlIGZ1bGx5IGhvbGVkIGZvciBBUElzIHNvIG5vdyBvbmNlIGVudGVyZWQgdmlhIGFueSBwb2ludCwgdGhleSBwcmV0dHkgbXVjaCBnZXQgYWNjZXNzIHRvIG1vcmUgYW5kIGdyZWF0ZXIgYXV0aG9yaXRpZXMuIFRoaXMgaXMgd2h5IGluIHRoZSBwYXN0IHRoZXJlIGhhdmUgYmVlbiB0aW1lcywganVzdCBsaWtlIExUVCwgd2hlcmUgdG8gc29sdmUgdGhlIGF0dGFjayBZb3VUdWJlL0dvb2dsZSAodW5zdXJlIHdoaWNoIGF1dGhvcml0eSBBUEkgdHJpZ2dlcmVkIHRoaXMgc29sdXRpb24gb24gdGhlIGJhY2tlbmQpIGhhZCB0byBkZWxldGUgTFRUJ3MgY2hhbm5lbC4gVGhpcyByZW1vdmVzIGFsbCBwb3NzaWJsZSBhdXRob3JpdHkgdXAgdG8gR29vZ2xlLiBBZnRlciB0aGF0IG9ubHkgR29vZ2xlIGF1dGhvcml0eSBjYW4gcHVsbCB0aGF0IGRhdGEgb3V0IG9mIGl0J3MgaGlzdG9yeSBzZXJ2ZXJzLiBJZiB0aGUgYXR0YWNrZXJzIGV2ZXIgbWFrZSBpdCB0aGF0IGZhciB1cCAod2hpY2ggdGhleSBoYXZlIGJlZm9yZSksIHRoaXMgYXR0YWNrIGNoYWluIGNhbiBnbyBvbiBsaXRlcmFsbHkgZm9yZXZlciBvciB1bnRpbCBZb3VUdWJlIGlzIHNodXRkb3duIGFuZCByZWJvb3RlZCAoYXMgdGhleSBkbyB3aXRoIGFjY291bnRzKSBmb3IgdGhhdCB3b3VsZCByZXF1aXJlIGV2ZW4gaGlnaGVyIGFjY2VzcyB3aXRoaW4gdGhlIEdvb2dsZSBhdXRob3JpdHkgY2hhaW4uIEV2ZW50dWFsbHkgeW91IGdldCB0byBhIHBvaW50IHdoZXJlIGl0J3MgcG9zc2libGUgZm9yIGFuIGF0dGFja2VyIHRvIGdhaW4gZnVsbCBjb250cm9sbGluZyBhY2Nlc3Mgb2YgZ29vZ2xlIGJlY2F1c2Ugb2YgYSB0b2tlbiBmcm9tIGEgY2hhbm5lbCB1c2VyIG9uIGEgc2lkZS1sZWcgb2YgdGhlIHNhbWUgaW50ZXJuYWwgc3lzdGVtIGFzIEdvb2dsZS4gUmVtZW1iZXIgd2hlbiBGYWNlYm9vayB3ZW50IG9mZmxpbmUgZm9yIGEgZGF5LCB0aGlzIGNvdWxkIGJlIGJpZ2dlci4KPGJyPiZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyBUaGVzZSBiaWcgY2xvdWQgaW5mcmFzdHJ1Y3R1cmVzIG1heSBiZSBkaXN0cmlidXRlZCBidXQgYXJlIGFsbCBjZW50cmFsaXppbmdseSBjb250cm9sbGVkIHZpYSB0aGUgY29uc2Vuc3VzIHdhbGwgYnkgc2ltcGx5IG5vdCBoYXZpbmcgYSBjb25zZW5zdXMgYmFzZWQgb24gcHJvb2ZzIGFuZCB3b3JrLiBJbnN0ZWFkIHRoZXkgYXJlIGJhc2VkIG9uIHRydXN0IGFuZCBoaWRpbmcgdGhpbmdzIHRoZSBiZXN0IHRoZSBjb3Jwb3JhdGlvbihzKSBjYW4uCjxicj4KPGJyPiZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyBUaGVyZSBhcmUgc29sdXRpb25zIGJ1dCB1bmZvcnR1bmF0ZWx5IGV2ZW4gdGhvc2UgYXJlIGZsYXdlZCBzdGlsbCBhdCB0aGUgbW9tZW50LlRoZSBsYXN0IDIwIHllYXJzIGhhZCBhICI8aT5KdW1wIEluIFRlY2hub2xvZ3k8L2k+IiBidXQgaW4gcmVhbGl0eSB0aGUgbWFjaGluZSBvciBoYXJkd2FyZSBoYXMgIjxpPjxiPkp1bXBlZCBJbiBUZWNobm9sb2d5PC9iPjwvaT4iIGJ1dCB0aGF0J3MgcmVhbGx5IGFib3V0IGl0LiBUaGUgdGVjaG5pY2FsIHNvZnR3YXJlICI8Yj5KdW1wPC9iPiIgd2FzIGFsbCBhIGZhw6dhZGUsIGl0IHdhcyBleGNlbCBiYXNlZCBkYXRhYmFzZSB0ZWNobmlxdWVzIGFjdGluZyBhcyByZWFsIG1hdGhlbWF0aWNhbCBvciBzY3JpcHQtd2lzZSBzb2x1dGlvbnMuIEluc3RlYWQgd2UgZ290IEFQSSB0byBzcHJlZWRzaGVldGluZy4gVGhpcyBpcyB3aHkgYmxvY2tjaGFpbiBkYXRhYmFzaW5nIGlzIGhlbHBpbmcgcmVtb3ZlIG1hbnkgYXR0YWNrIHZlY3RvcnMgYnkgcmVtb3ZpbmcgbGVncyBhbmQgc2ltcGxpZnlpbmcgb3Igc2NhbGluZy1kb3duIHRoZSBsYW5kc2NhcGUgaW4gd2hpY2ggYXR0YWNrcyBjYW4gZXZlbiBiZSBtYWRlLjxicj4mbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgSWYgdGhlIExUVCBZb3VUdWJlIENoYW5uZWwgSGFjayB0YXVnaHQgcGVvcGxlIGFueXRoaW5nIGlzIHRoYXQgYWxsIG9mIHRoZSBvdmVyLXRoZS1pbnRlcm5ldCBzZWN1cml0aWVzIGFyZSBhbGwgZmHDp2FkZXMgYW5kIHdpbGwgZmFpbCwgeW91IGNhbiBlaXRoZXIga2VlcCBtb3ZpbmcgZnJvbSBmbGF3IHRvIGZsYXcganVzdCBtaXRpZ2F0aW5nIHRoZSB0aW1lIGJlZm9yZSB5b3VyIG5leHQgaGl0IG9yIHlvdSBjYW4gY2hhbmdlIHN5c3RlbXMgYW5kIGhhc2ggeW91ciBsaWZlIHdpdGggaGFzaGxpbmtzLCBoYXNoZWQtbWVzaG5ldHMsIGR5bmFtaWMtaGFzaGluZyB3ZWItYXBwbGljYXRpb25zIGZvciB2ZXJpZmlhYmxlIGRhdGEtQVBJIHN0cnVjdHVyZXMuIExldCdzIHJlbW92ZSB0cnVzdCBhbmQgdGFrZSBiYWNrIHRoZSBpbnRlcm5ldC4gVGhlIGxvbmdlciB3ZSBsZXQgY29tcGFuaWVzIHNlZSB3aGF0IHdlIGRvIHRocm91Z2ggdGhlaXIgaGlkZGVuIGNvbW11bmljYXRpb25zLCB0aGUgbW9yZSB0aG9zZSBzeXN0ZW1zIHdpbGwgYmUgaGl0IGJ5IGF0dGFja2VycywgaGFja2VycywgYm90cyBhbmQgZ292ZXJubWVudHMuIFRoaXMgaXMgd2h5LCB0aGV5IHdpbGwgZmFpbCBmb3JldmVyIHVudGlsIHRoZXkgY29tcGxldGVseSByZW1vdmUgdGhlaXIgZXllcyBmcm9tIHRoZSBkaWdpdGFsIGxhbmRzY2FwZS48L3NwYW4+PC9oND48L2xhYmVsPiZuYnNwOyA8bGFiZWw+PHNwYW4gYWxpZ249InJpZ2h0IiBzdHlsZT0icmlnaHQ6MDsiPjxoNCBzdHlsZT0ibWFyZ2luLXRvcDotMi41dnc7bWFyZ2luLWJvdHRvbTotMnZ3OyI+PHNwYW4gYWxpZ249InJpZ2h0IiBzdHlsZT0icmlnaHQ6MDsiIGlkPSJvdXRib3R0Ij4zRG91Z2xhcyAiPGI+PGk+M0Q8L2k+PC9iPiIgUGlobDwvc3Bhbj4gJm5ic3A7IEA8c3BhbiBpZD0iYXV0aG9ybmFtZSI+SUZ0ZG9DQ2dRRE5FYjNWbmJHRnpJQ0k4WWo0OGFUNHpSRHd2YVQ0OEwySStJaUJRYVdoc29DQ2dJRnNqVnpBeFZWZFVVazVTUm13MVZHMXdjazB3TlVWVVdHUk9aSG93T1ZoVFFUWlBhVUppVW10V1EwNUVTWGROYWs1a1hTQT08L3NwYW4+PC9oND4KJm5ic3A7ICZuYnNwOzxzcGFuIHN0eWxlPSJ3aWR0aDo1dnc7bWFyZ2luLXRvcDotMy41dnc7bWFyZ2luLWJvdHRvbTotMC41dnc7IiBpZD0iYWRoZXJlIiBhbGlnbj0ibGVmdCIgb25jbGljaz0idGhpcy5zdHlsZS5kaXNwbGF5PSdub25lJzsgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2FkbGluaycpLnN0eWxlLmRpc3BsYXk9J25vbmUnOyBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnYWR0ZXh0aW4nKS5zdHlsZS5kaXNwbGF5PSdub25lJzsiPjxicj48L3NwYW4+PHNwYW4gYWxpZ249ImNlbnRlciIgaWQ9ImFkaW1nIiBzdHlsZT0id2lkdGg6OTglO3JpZ2h0OjUwO2xlZnQ6NTA7aGVpZ2h0OmF1dG87IiBvbmNsaWNrPSJ0aGlzLnN0eWxlLmRpc3BsYXk9J25vbmUnOyI+PGEgYWxpZ249ImNlbnRlciIgaHJlZj0iIiB0YXJnZXQ9Il9ibGFuayIgOz0iIiByZWw9Im5vcmVmZXJyZXIgbm9vcGVuZXIiPjxpbWcgc3JjPSJJbWFnZSBMaW5rIiBzdHlsZT0id2lkdGg6OTglOyBhbGlnbjpjZW50ZXI7IiBhbGlnbj0iY2VudGVyIj48L2E+PC9zcGFuPgombmJzcDs8bGFiZWw+PGhyIHN0eWxlPSJtYXJnaW4tdG9wOjAuNXZ3O21hcmdpbi1ib3R0b206LTAuNzV2dzsiPjxoMyBhbGlnbj0iY2VudGVyIj48c3BhbiBpZD0icHJlbmFtZSI+PHN1Yj5JZiB5b3UgbGlrZWQgdGhpcyBQdnRQcHIgcGxlYXNlIGNvbnNpZGVyIGRvbmF0aW5nIHRvIHRoZSBhdXRob3IsIDNEb3VnbGFzICI8Yj48aT4zRDwvaT48L2I+IiBQaWhsLCBieSB1c2luZyB0aGUgY3J5cHRvLWFkZHJlc3Mgb3IgQ29pbnRyZWUgbGluayBiZWxvdy4gJm5ic3A7IFRoYW5rIHlvdS48L3N1Yj48YnI+PGJyPjwvc3Bhbj48c3ViPjxzcGFuIGFsaWduPSJsZWZ0Ij48Yj48aT48c3BhbiBpZD0iYnRjYWRkeSI+V0FYUDovLzNELk5pbmphPC9zcGFuPjwvaT48L2I+PC9zcGFuPiAmbmJzcDsgPGI+PHNwYW4gYWxpZ249InJpZ2h0Ij48aT48c3BhbiBpZD0ibHRjYWRkeSI+PGEgaHJlZj0iaHR0cHM6Ly9jb2ludHIuZWUvM0RfIiB0YXJnZXQ9Il9ibGFuayIgc3R5bGU9InRleHQtZGVjb3JhdGlvbjpub25lO2NvbG9yOmRhcmtncmVlbjsiPjNEXydzIENvaW50ci5lZTwvYT48L3NwYW4+PC9pPjwvc3Bhbj48L2I+PC9zdWI+PC9oMz48aDQgaWQ9InR1YmVhaXIiIGFsaWduPSJjZW50ZXIiIHN0eWxlPSJkaXNwbGF5OiBub25lOyI+PHN1cD5QdnRQcHJzIGNhbiBiZSBtb25ldGl6ZWQgYnkgQml0dHViZSBBaXJ0aW1lICZhbXA7IHRvIGhlbHAgdGhlIGF1dGhvciBnaWFuICQ8aT5UVUJFUzwvaT4gZnJvbSB5b3UgcmVhZGluZyB0aGlzIHBhcGVyLCBwbGVhc2UgdXNlIG9yIGluc3RhbGwgdGhlIDxzcGFuIG9uY2xpY2s9IndpbmRvdy5vcGVuKCdodHRwczovL2Nocm9tZS5nb29nbGUuY29tL3dlYnN0b3JlL2RldGFpbC9iaXR0dWJlLWFpcnRpbWUtZG9uYXRpb25zL2Nub2diYm1jaWZmcGlibWtwaG9ocGViZ2htb21hZW1pJykiIHN0eWxlPSJjb2xvcjpncmVlbjsiPkJpdHR1YmUgQWlydGltZSBFeHRlbnNpb248L3NwYW4+IG9yIHVzZSB0aGUgPHNwYW4gc3R5bGU9ImNvbG9yOmdyZWVuIiBvbmNsaWNrPSJ3aW5kb3cub3BlbignaHR0cHM6Ly9iaXR0dWJlLmFwcCcpIj5CaXR0dWJlIEJyb3dzZXI8L3NwYW4+Ljwvc3VwPjwvaDQ+PC9sYWJlbD4KJm5ic3A7PGRpdiBhbGlnbj0iY2VudGVyIj48bGFiZWw+PGg1IHN0eWxlPSJtYXJnaW4tdG9wOi0ydnc7Ij48c3BhbiBzdHlsZT0ibGVmdDowOyBtYXJnaW4tcmlnaHQ6Mi41dnc7bWFyZ2luLWxlZnQ6LTEuNXZ3OyIgYWxpZ249ImxlZnQiPk1hZGUmbmJzcDt3aXRoJm5ic3A7PHNwYW4gaWQ9IkRGQ2FiaW5ldCIgc3R5bGU9InRleHQtZGVjb3JhdGlvbjpub25lOyI+PGEgaHJlZj0iaHR0cHM6Ly9QdnRQcHIuYXBwL1dyaXRlIiB0YXJnZXQ9Il9ibGFuayI+UHZ0UHByJm5ic3A7R2VuZXJhdG9yJm5ic3A7TGl0ZTwvYT48L3NwYW4+PHN1cD48c3VwIGlkPSJ5ZWFyMSI+MjAyMzwvc3VwPjwvc3VwPjwvc3Bhbj4gPHNwYW4gaWQ9InByZXYiIHN0eWxlPSJtYXJnaW4tdG9wOi0xLjVweDttYXJnaW4tYm90dG9tOjEuNXB4OyBtYXJnaW4tbGVmdDoyLjV2dzsgcmlnaHQ6MDsgbWFyZ2luLXJpZ2h0Oi0xLjV2dztib3JkZXItcmFkaXVzOjE1JTtwYWRkaW5nOjNweDsiIGFsaWduPSJyaWdodCI+PGEgaHJlZj0iaHR0cHM6Ly95b3V0dWJlLmNvbS9wbGF5bGlzdD9saXN0PVBMQ2t6VFhlMEJFcHhleXNFYzNnNVg2a0xoZlFYWTdMVTUiIHRhcmdldD0iX2JsYW5rIiByZWw9Im5vb3BlbmVyIG5vcmVmZXJyZXIiIHN0eWxlPSJib3JkZXI6IDAuMDF2dyBzb2xpZCBkYXJrZ3JlZW47IGJhY2tncm91bmQtY29sb3I6bGltZWdyZWVuOyBjb2xvcjpibGFjazsgYm94LXNoYWRvdzpkaW1ncmV5IDNweCA2cHggOXB4OyB0ZXh0LWRlY29yYXRpb246bm9uZTsiPlByZXZpb3VzJm5ic3A7UGFwZXI8L2E+PC9zcGFuPjwvaDU+PC9sYWJlbD48c3BhbiBzdHlsZT0iYm94LXNoYWRvdzpkaW1ncmV5IDNweCA2cHggOXB4O2xlZnQ6MDsiIGFsaWduPSJsZWZ0IiBpZD0iY2VydGFibGUiPjxhIGhyZWY9Imh0dHBzOi8vcHZ0cHByLmFwcC9jZXJ0cyIgdGFyZ2V0PSJfYmxhbmsiIHN0eWxlPSJ0ZXh0LWRlY29yYXRpb246bm9uZTtiYWNrZ3JvdW5kLWNvbG9yOmJsYWNrO2NvbG9yOndoaXRlOyI+R2V0Jm5ic3A7YSZuYnNwO0NlcnRhYmxlPC9hPjwvc3Bhbj48L2Rpdj4KJm5ic3A7PGhyPjxzcGFuIGlkPSJxcmltZyIgY2xhc3M9InFyaW1nIiBhbGlnbj0icmlnaHQiIHN0eWxlPSJyaWdodDowO21hcmdpbi1sZWZ0OjUwJTsiPjxpbWcgY2xhc3M9InFyaW1nIiBzcmM9Imh0dHBzOi8venhpbmcub3JnL3cvY2hhcnQ/Y2h0PXFyJmFtcDtjaHM9MTE1eDExNSZhbXA7Y2hsZD1IfDEmYW1wO2Nob2U9VVRGLTgmYW1wO2NobD1odHRwczovL3R3aXR0ZXIuY29tL1owTThJM0QiIGFsaWduPSJyaWdodCI+PC9zcGFuPjxzcGFuIHN0eWxlPSJvcGFjaXR5OjAuNTM7Y29sb3I6Z3JleTsiIGFsaWduPSJsZWZ0Ij4mbmJzcDsKJm5ic3A7PGJyPjxzcGFuIG9uY2xpY2s9ImFsYWxlcnQoKSI+UHZ0UHByLiAyMDE4LTxzcGFuIGlkPSJ5ZWFyMiI+MjAyMzwvc3Bhbj4gPGJyPiBQcml2YXRlIFBhcGVyIDIwMTgtPHNwYW4gaWQ9InllYXIzIj4yMDIzPC9zcGFuPjwvc3Bhbj4gPGJyPgo8c3BhbiBpZD0iZm9vdGVuIiBvbmNsaWNrPSJ0aGlzLnN0eWxlLmRpc3BsYXk9J25vbmUnOyBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnZm9vdHNwJykuc3R5bGUuZGlzcGxheT0nYmxvY2snOyI+QSBUaG91Z2h0IENoaWxkIG9mIHRoZSAzIEpva2Vyczwvc3Bhbj4KPHNwYW4gaWQ9ImZvb3RzcCIgb25jbGljaz0idGhpcy5zdHlsZS5kaXNwbGF5PSdub25lJzsgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2Zvb3RjaCcpLnN0eWxlLmRpc3BsYXk9J2Jsb2NrJzsiIHN0eWxlPSJkaXNwbGF5Om5vbmUiPlVuIHBlbnNhbWllbnRvIGhpam8gZGUgbG9zIDMgY29tb2RpbmVzPC9zcGFuPgo8c3BhbiBpZD0iZm9vdGNoIiBvbmNsaWNrPSJ0aGlzLnN0eWxlLmRpc3BsYXk9J25vbmUnOyBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnZm9vdGpwJykuc3R5bGUuZGlzcGxheT0nYmxvY2snOyIgc3R5bGU9ImRpc3BsYXk6bm9uZSI+5LiJ5Liq5bCP5LiR55qE5oCd5oOz5a2p5a2QPC9zcGFuPgo8c3BhbiBpZD0iZm9vdGpwIiBvbmNsaWNrPSJ0aGlzLnN0eWxlLmRpc3BsYXk9J25vbmUnOyBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnZm9vdHJ1Jykuc3R5bGUuZGlzcGxheT0nYmxvY2snOyIgc3R5bGU9ImRpc3BsYXk6bm9uZSI+M+S6uuOBruOCuOODp+ODvOOCq+ODvOOBruaAneiAg+OBruWtkDwvc3Bhbj4KPHNwYW4gaWQ9ImZvb3RydSIgb25jbGljaz0idGhpcy5zdHlsZS5kaXNwbGF5PSdub25lJzsgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2Zvb3RzdycpLnN0eWxlLmRpc3BsYXk9J2Jsb2NrJzsiIHN0eWxlPSJkaXNwbGF5Om5vbmUiPtCc0YvRgdC70LXQvdC90L7QtSDQlNC40YLRjyAzINCU0LbQvtC60LXRgNC+0LI8L3NwYW4+CjxzcGFuIGlkPSJmb290c3ciIG9uY2xpY2s9InRoaXMuc3R5bGUuZGlzcGxheT0nbm9uZSc7IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdmb290ZHUnKS5zdHlsZS5kaXNwbGF5PSdibG9jayc7IiBzdHlsZT0iZGlzcGxheTpub25lIj5FdHQgdMOkbmt0IGJhcm4gYXYgZGUgMyBqb2thcm5hPC9zcGFuPgo8c3BhbiBpZD0iZm9vdGR1IiBvbmNsaWNrPSJ0aGlzLnN0eWxlLmRpc3BsYXk9J25vbmUnOyBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnZm9vdGVuJykuc3R5bGUuZGlzcGxheT0nYmxvY2snOyIgc3R5bGU9ImRpc3BsYXk6bm9uZSI+RWluIEdlZGFua2Vua2luZCBkZXIgMyBKb2tlcjwvc3Bhbj4KPC9zcGFuPjxicj48cCBhbGlnbj0iY2VudGVyIj48L3A+PHAgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6YmxhY2s7Y29sb3I6c2lsdmVyO2JveC1zaGFkb3c6ZGltZ3JleSAzcHggNnB4IDlweDt0ZXh0LWFsaWduOmxlZnQ7bGVmdDowO3dpZHRoOmF1dG87YnJlYWstd29yZDprZWVwLWFsbDsiIGFsaWduPSJsZWZ0IiByZWw9Im5vcmVmZXJyZXIgbm9vcGVuZXIiIHRhcmdldD0iX3NlbGYiIG9uY2xpY2s9IndpbmRvdy5vcGVuKCdodHRwczovL1B2dFBwci5hcHAvTmV3c2NoYWluJyk7Ij5SZWFkJm5ic3A7dGhlJm5ic3A7T2ZmaWNpYWwmbmJzcDtQdnRQcHImbmJzcDs8Yj48aT5OZXdzY2hhaW48L2k+PC9iPjwvcD48cCBvbmNsaWNrPSJBbGVydENoZWNrKCk7IiBpZD0iTGlua0NvdmVyIiBzdHlsZT0iY29sb3I6c2lsdmVyO3dvcmQtYnJlYWs6a2VlcC1hbGw7d2hpdGUtc3BhY2U6bm93cmFwO3dvcmQtd3JhcDpub3JtYWw7bWFyZ2luLXRvcDotMnZ3O3RleHQtYWxpZ246cmlnaHQ7YmFja2dyb3VuZC1jb2xvcjpibGFjaztib3gtc2hhZG93OmRpbWdyZXkgM3B4IDZweCA5cHg7Ij4zRDombmJzcDs8Yj4jPGk+MTUzMTdmZXV3Z3M4am88L2k+PC9iPjwvcD48cD48L3A+PGhyPjxicj48YnI+PC9zcGFuPjwvbGFiZWw+PC9kaXY+CjxzY3JpcHQ+wqAKCgrCoCDCoCAvLyBBZGRlZCBldmVudCBsaXN0ZW5lciB0byB0aGUgc2Nyb2xswqAKwqAgwqAgd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoJ3Njcm9sbCcswqAKwqAgwqAgwqAgwqAgwqAgwqAgbW92ZVNjcm9sbEluZGljYXRvcik7wqAKCgrCoCDCoCAvLyBHZXR0aW5nIHNjcm9sbEluZGljYXRvciBlbGVtZW50IGJ5IElEwqAKwqAgwqAgY29uc3Qgc2Nyb2xsSW5kaWNhdG9yRWx0ID3CoMKgCsKgIMKgIMKgIMKgIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdzY3JvbGxJbmRpY2F0b3InKTvCoAoKCsKgIMKgIC8vIEhlaWdodCBvZiBlbnRpcmUgd2ViIHBhZ2UgLSBoZWlnaHTCoArCoCDCoCAvLyBvZiB2aWV3YWJsZSBwb3J0aW9uIG9mIGJyb3dzZXLCoArCoCDCoCBjb25zdCBtYXhIZWlnaHQgPcKgwqAKwqAgwqAgwqAgwqAgd2luZG93LmRvY3VtZW50LmJvZHkuc2Nyb2xsSGVpZ2h0wqDCoArCoCDCoCDCoCDCoCAtIHdpbmRvdy5pbm5lckhlaWdodDvCoAoKCsKgIMKgIGZ1bmN0aW9uIG1vdmVTY3JvbGxJbmRpY2F0b3IoZSkge8KgCgoKwqAgwqAgwqAgwqAgLy8gQ2FsY3VsYXRpbmcgd2lkdGggb2YgdGhlwqDCoArCoCDCoCDCoCDCoCAvLyBzY3JvbGxJbmRpY2F0b3IgZWxlbWVudMKgCsKgIMKgIMKgIMKgIGNvbnN0IHBlcmNlbnRhZ2UgPcKgwqAKwqAgwqAgwqAgwqAgwqAgwqAgKCh3aW5kb3cuc2Nyb2xsWSkgLyBtYXhIZWlnaHQpICogMTAwO8KgCgoKwqAgwqAgwqAgwqAgLy8gUGl4ZWxzIHNjcm9sbGVkIGJ5IHRoZSB1c2VywqDCoArCoCDCoCDCoCDCoCAvLyB0byB0b3RhbCBzY3JvbGxhYmxlIFBpeGVsc8KgCsKgIMKgIMKgIMKgIHNjcm9sbEluZGljYXRvckVsdC5zdHlsZS53aWR0aMKgCsKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgPSBwZXJjZW50YWdlICsgJyUnO8KgCsKgIMKgIH3CoAo8L3NjcmlwdD4mbmJzcDsKPHNjcmlwdD4KwqAKwqBmdW5jdGlvbiBhbGFsZXJ0KCl7CsKgIGFsZXJ0KCdIZWxsbyAmIFdlbGNvbWUgdG8gdGhlIHRoaXMgUHZ0UHByIFtwcsSrdml0IHDEgXDJmXJdLlxuXG5QdnRQcHIgaXMgYnJvdWdodCB0byB5b3UgYnkgM0csIDNEICYgRS1ULlxuXG5UaGlzIGlzIGhvYXN0ZWQgYnkgZXhwZXJpbWVudGFsIHRlY2hub2xvZ3kgaW4gaGFzaGxpbmtzIHRvIHN0b3JlIGFsbCBvZiB0aGUgY29kZSArIHRleHQgZGlyZWN0bHkgaW50byB0aGUgbGluay5cblxuU2VydmVycy9Ob2RlcyBhcmUgdXNlZCBmb3IgZGVjcnl0aW5nIHRoZSBoYXNobGluayBmb3IgdGhlIGJyb3dzZXIgdG8gZGlzcGxheSB0aGUgaW50ZXJuYWwgaW5mb3JtYXRpb24gYnV0IHRoZXkgY2FuIGJlIGRlY3J5cHRlZCB3aXRob3V0IHNlcnZlcnMuXG5cblxuVGhhbmsgeW91LlxuwqAgwqAgwqBbTFMwelJBOjpKQU4xNjIwMjBdXG5cbsKgIMKgIMKgTGFzdCBVcGRhdGUgW0FQUjA3MjAyMjo6TFMwelJBXScpOwrCoH0KwqBmdW5jdGlvbiBBbGVydENoZWNrKCkgewrCoCBhbGVydCgiWW91IGNsaWNrZWQgb24gYW4gZWFzdGVyIGVnZy5cblxuVGhpcyBQdnRQcHIgd2FzIG1hZGUgd2l0aCB0aGUgUHZ0UHByIEdlbmVyYXRvciAoUFBHZW4pLiBUaGlzIGlzIGEgbmV3c3BhcGVyIHN5c3RlbSB3aXRoIGV2ZXJ5b25lIGluIG1pbmQuIEFueW9uZSBjYW4gdXNlIG91ciBnZW5lcmF0b3JzIHRvIGJ1aWxkIHRoZWlyIG93biBwcml2YXRlIHBhcGVyIChQdnRQcHIpIHdpdGggYWxsIHRoZSBkYXRhIHN0b3JlZCBpbiB0aGUgbGluayBpbnN0ZWFkIG9mIGEgc2VydmVyLlxuXG5cblxuVGhhbmsgWW91XG7CoCDCoCDCoFtMUzB6UkE6OkZFQjE4MjAyMF1cblxuwqAgwqAgwqBMYXN0IFVwZGF0ZSBbQVBSMDcyMDIyOjpMUzB6UkFdIik7CsKgfQrCoAo8L3NjcmlwdD4KPG1ldGEgbmFtZT0iYWlydGltZS1wbGF0Zm9ybS1kaXNwbGF5IiBjb250ZW50PSIiPjxtZXRhIG5hbWU9ImFpcnRpbWUtcGxhdGZvcm0taWQiIGNvbnRlbnQ9IiI+PHNjcmlwdCBzcmM9Imh0dHBzOi8vYml0dHViZWFwcC5jb20vdHViZXBheS9haXJ0aW1lLmxvYWRlci5qcyIgZGF0YS12ZXJpZnk9Im1ldGEiIGRhdGEtYXV0b3N0YXJ0PSJ0cnVlIj48L3NjcmlwdD48L2E+
- Protocol
- H2
- Security
- TLS 1.3,
, AES_128_GCM
- Server
-
52.222.214.88
, United States,
ASN16509
(AMAZON-02, US),
- Reverse DNS
- server-52-222-214-88.fra56.r.cloudfront.net
- Software
-
/
- Resource Hash
- 398ba687722c5a26c7a310bae9344c67626899d84c32cc7e457058beb1782c3c
|
GET
H2
|
400
|
chart
zxing.org/w/
Frame 977F
|
0
48 B
|
480ms
150ms
|
Image
text/plain |
104.198.61.223
GOOGLE
|
|
General
- Full URL
- https://zxing.org/w/chart?cht=qr&chs=115x115&chld=H|1&choe=UTF-8&chl=https://twitter.com/Z0M8I3D
- Requested by
- Host: text
URL: data:text/html;charset=utf-8;base64,PG1ldGEgY2hhcnNldD0idXRmLTgiPjxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgiPjxiYXNlIHRhcmdldD0iX3RvcCI+PHN0eWxlIHR5cGU9InRleHQvY3NzIj5ib2R5e21hcmdpbjowIGF1dG87cGFkZGluZzoxMnZtaW4gMTB2bWluO21heC13aWR0aDozNWVtO2xpbmUtaGVpZ2h0OjEuNWVtO2ZvbnQtZmFtaWx5Oi1hcHBsZS1zeXN0ZW0sQmxpbmtNYWNTeXN0ZW1Gb250LHNhbnMtc2VyaWY7d29yZC13cmFwOmJyZWFrLXdvcmQ7fUBtZWRpYShwcmVmZXJzLWNvbG9yLXNjaGVtZTogZGFyayl7Ym9keXtjb2xvcjp3aGl0ZTtiYWNrZ3JvdW5kLWNvbG9yOmJsYWNrO319PC9zdHlsZT4gPGEgdGFyZ2V0PSJfdG9wIiBpZD0ibGluayIgbmFtZT0ibGluayIgc3R5bGU9ImRpc3BsYXk6IGJsb2NrOyBvdmVyZmxvdy13cmFwOiBicmVhay13b3JkOyBzY3JvbGwtYmVoYXZpb3I6IHNtb290aDsiPjxkaXYgaWQ9ImljaGVjayIgc3R5bGU9Im1hcmdpbi10b3A6LTd2dzsiPgoKCiZuYnNwOzxzdHlsZT4gLmxpbmUge2JhY2tncm91bmQ6IGJsYWNrO29wYWNpdHk6IDAuNTtoZWlnaHQ6IDQuNXB4Oy13ZWJraXQtYm94LXNoYWRvdzogMnB4IC0ycHggM3B4IGRpbWdyZXk7Ym94LXNoYWRvdzogMnB4IC0ycHggM3B4IGRpbWdyZXk7d2lkdGg6IDAlO3Bvc2l0aW9uOiBmaXhlZDtib3R0b206IDA7bGVmdDowO2FsaWduOmNlbnRlcjt6LWluZGV4Ojg7fcKgIMKgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogOS45aW4pIHsgLnFyaW1nIHthbGlnbjogcmlnaHQ7cmlnaHQ6MDttYXJnaW4tcmlnaHQ6LTMuNSU7bWFyZ2luLWJvdHRvbTotNTAlO3BhZGRpbmctcmlnaHQ6LTEuNSU7d2lkdGg6MzAlO30gLnRvcGJhciB7bWFyZ2luLXRvcDotM3Z3O21hcmdpbi1sZWZ0Oi0zdnc7bWFyZ2luLXJpZ2h0Oi0zdnc7fSAubGluZSB7bWFyZ2luLWxlZnQ6MC41JTthbGlnbjpjZW50ZXI7bGVmdDowO319IEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEwaW4pIHsgLnFyaW1nIHthbGlnbjogcmlnaHQ7bWFyZ2luLWJvdHRvbTotNTAlO3dpZHRoOjIwJTt9LmxpbmUge21hcmdpbi1sZWZ0OjAlO2FsaWduOmNlbnRlcjtsZWZ0OjA7fX3CoCA8L3N0eWxlPiZuYnNwOyA8ZGl2IGNsYXNzPSJsaW5lIiBpZD0ic2Nyb2xsSW5kaWNhdG9yIj48L2Rpdj48L2Rpdj48c2NyaXB0IHNyYz0iaHR0cHM6Ly91bnBrZy5jb20vZW1iZWRkYWJsZS1uZnRzL2Rpc3QvbmZ0LWNhcmQubWluLmpzIj48L3NjcmlwdD48ZGl2IGlkPSJiYWNrZ3JvdW5kIiBzdHlsZT0ibWFyZ2luLWJvdHRvbTotMTV2dzsiPjxsYWJlbD48aDEgc3R5bGU9Im1hcmdpbi1ib3R0b206LTJ2dzsiPjxzcGFuIHN0eWxlPSJsZWZ0OjA7IiBhbGlnbj0ibGVmdCIgaWQ9Im91dHRvcCI+V2hhdCBTaG91bGQgQmUgTGVhcm5lZCBmcm9tIHRoZSBMVFQgSGFjazwvc3Bhbj48L2gxPjwvbGFiZWw+Jm5ic3A7IDxsYWJlbD48aDQgYWxpZ249InJpZ2h0IiBzdHlsZT0icmlnaHQ6MDsiPjxzcGFuIGFsaWduPSJyaWdodCIgc3R5bGU9InJpZ2h0OjA7IiBpZD0ib3V0bWlkIj4jTFRUICNMVFRoYWNrICNIYWNrICNMVFRoYWNrMjM8L3NwYW4+PGhyIHN0eWxlPSJtYXJnaW4tYm90dG9tOi0zdnc7Ij48L2g0PjwvbGFiZWw+CiZuYnNwOyAmbmJzcDs8c3BhbiBhbGlnbj0iY2VudGVyIiBpZD0iaW1nMSIgc3R5bGU9IndpZHRoOjk2dnc7cmlnaHQ6NTA7bGVmdDo1MDtoZWlnaHQ6YXV0bzsiPjxpbWcgc3JjPSJodHRwczovL2ltYWdlcy5uaWdodGNhZmUuc3R1ZGlvL2pvYnMvcFo3VmRIcldEWFdSbVVrZmhoT08vcFo3VmRIcldEWFdSbVVrZmhoT08tLTMtLW01ZjhrXzZ4LmpwZyIgc3R5bGU9IndpZHRoOjk5JTsiIGFsaWduPSJjZW50ZXIiPjwvc3Bhbj4KPGxhYmVsPjxoNCBzdHlsZT0iZm9udC13ZWlnaHQ6bm9ybWFsOyI+PHNwYW4gaWQ9Im91dG91dCIgc3R5bGU9ImZvbnQtd2VpZ2h0Om5vcm1hbDsiPiZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyBNYWpvciB0ZWNoIGNvbXBhbmllcyB3ZW50IGZyb20gaGVscGluZyB0aGUgc29jaWV0eSBhcm91bmQgdGhlbSB0byB0YWtpbmcgZnJvbSB0aGUgc29jaWV0eSBhcm91bmQgdGhlbSB0byBub3cgY29udHJvbGxpbmcgdGhlIHNvY2lldHkgYXJvdW5kIHRoZW0uIFRoZSA8aT5UZWNoIEdpYW50czwvaT4gcGxhbnRlZCB0aGVpciBmZWV0IGluIHRoZSBkaXJ0IGJ5IGhlbHBpbmcgdXMsIHRoZW4gdGhleSBnYXZlIHVzIGhvcGVzIG9mIHNlY3VyaXR5ICZhbXA7IHNhZmV0eSBvbmx5IHRvIHR1cm4gYW5kIGN1dCBob2xlcyBpbnRvIHRoZWlyIHN5c3RlbXMganVzdCB0byBsZXQgdGhlIGdvdmVybm1lbnRzIGluLiBUaGUgcHJvYmxlbSB3aXRoIGhvbGVzIGlzIHlvdSBjYW4ndCBwaWNrIGFuZCBjaG9vc2Ugd2hhdCBnb2VzIHRocm91Z2ggdGhlbS4KPGJyPiZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyBIYXZpbmcgYmFja2Rvb3JzIGV2ZW4gZm9yIHlvdXIgb3duIHRlYW0sIHBlb3BsZXMsIHN5c3RlbXMsIGV0YyBnaXZlcyB0aGUgYWJpbGl0eSBmb3Igc29tZW9uZSBlbHNlIHRvIGdhaW4gc29tZSBmb3JtIG9mIGFjY2Vzcy4gTXVjaCBob3cgYmxvY2tjaGFpbiBkYXRhYmFzZXMgd2VyZSB0byBwcmV2ZW50IGRvdWJsZS1kYXRhICZhbXA7IHVucGVybWlzc2lvbmVkLWRhdGEtY2hhbmdlcyBidXQgd2l0aCBwcm9ncmFtYWJsZSBjaGFpbnMgY2FtZSBjb250cm9sbGluZyBzY3JpcHRzICZhbXA7IGF1dG8tdHJhbnNmZXIgYXR0YWNrcyBoaWRkZW4gYXMgZnJlZS1taW50cyB3ZWJzaXRlcy4gV2hlcmUgd2UgaGFkIG9mZmxpbmUgc3RvcmFnZSB3aXRoIGNoYWlucyBtZWNoYW5pY3MgdGhhdCBhbGxvd2VkIHNlbmRpbmcgdG8gYW55dGhpbmcgZXZlbiB1bmtub3ducyBhbmQgYmVpbmcgYWJsZSB0byBqdXN0IHNlbmQgdGhlIHByb29mIG9mIG91dHB1dCBhbmQgbm90IHRoZSBvdXRwdXQgaXRzZWxmIGp1c3QgZm9yIGx1eHVyaWVzIHRvIGNvbWUgaW4gYW5kIHB1dCB1bmtub3dpbmcgdXNlcnMgaW4gZnJvbnQgb2YgZGlyZWN0IGNvbnRyb2wgb2YgdGhlaXIgb25saW5lIHdhbGxldCBzdG9yYWdlLiBXaGVuIGtub3dsZWRnZSB3YXMgdGhlIHdheSB0byB1c2UgdGhlIHNlY3VyaXR5IHdhcyBnZW5lcmFsbHkgaGlnaGVyIGFuZCBhdHRhY2tzIHdlcmUgZ2VuZXJhbGx5IGxvd2VyIGJ1dCBhcyBpdCBiZWNvbWVzIGVhc2llciB0byB1c2UsIHRoZSBtb3JlIHBlb3BsZXMgdGhhdCBjYW4gcGFydGljaXBhdGUuIFRoaXMgaXMgdGhlIHJvYWQgdG8gYXR0YWNrLCB0aGlzIGlzIHdoZXJlIHdlIHdlcmUgbGVhZCwgdGhpcyBpcyB3aGVyZSB3ZSBhcmUuPGJyPiZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyBZb3VUdWJlIHdoaWNoIGlzIGFwYXJ0IG9mIHRoZSBHb29nbGUgdGVjaCBnaWFudCBmYW1pbHksIGlzIGF0dGFja2VkIHNvbWV0aW1lcyBtdWx0aXBsZSB0aW1lcyBwZXIgbWludXRlIGluIGEgbWFubmVyIHRoYXQgaXMgPGk+PGI+c3VjY2Vzc2Z1bDwvYj48L2k+LiBGcm9tIGhvdyB0aGVzZSBhdHRhY2tzIGFyZSBhYmxlIHRvIGhhcHBlbiBkb3duIHRvIGhvdyBzaW1wbHkgdGhlc2UgYXR0YWNrcyBhcmUgYmVpbmcgZG9uZSBzb21lIHBlb3BsZSBhcmUgYWJsZSB0byBzZWUgd2h5IHRoZXNlIGF0dGFja3MgY2Fubm90IGJlIHN0b3BwZWQhCjxicj48YnI+Jm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7IEF0IHRoZSBtb21lbnQgTFRUIGlzIG9uZSBvZiB0aGUgYmlnZ2VzdCBzZWVuIGF0dGFja3MgZm9yIGEgWW91VHViZSBjaGFubmVsLiBUaGUgdGVhbSB3aXRoaW4gdGhlIGNvbXBhbnkgaGFzIGV4cGxhaW5lZCBzbyBtdWNoIGluZm9ybWF0aW9uIGFuZCB0YWtlbiB1cyAodGhlIGF1ZGllbmNlKSB0aHJvdWdoIHRoZSBzdGVwcyBlbm91Z2ggdGltZXMgdGhhdCBjb21wYXJpc29ucyBvZiBhdHRhY2tzIHRvIFlvdVR1YmVycyBvdmVyIHRoZSB5ZWFycyBjYW4gcmVhbGx5IGJlIHZpZXdlZCBpbiBsaWdodHMuPGJyPiZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyBOb3JtYWxseSB3aXRoIFlvdVR1YmVyIGhhY2tzIHBlb3BsZSBleHBlY3QgdGhlIGNvbW1vbiB0cm9wZXM6IDxpPjxiPnVzZXIgZXJyb3I8L2I+LCA8Yj5lbWFpbC9waGlzaGluZy9pY2Vpbmc8L2I+LCA8Yj5jbGlwcGVkL2xvZ2dlZDwvYj4gYXR0YWNrczwvaT4uIFRoZXNlIGFyZSBhbGwgc29tZSBmb3JtIG9mIDxpPjxiPnVzZXIgZXJyb3I8L2I+PC9pPiBvciBpdCB0YWtlcyB0aGUgdXNlciB0byBjYXVzZSB0aGUgZW50cnkgZm9yIHRoZXNlIGF0dGFja3MgYW5kIHdoaWxlIHRoZSBtb3JlIG90aGVyIGF0dGFja3MgYXJlIGtub3duIG9mLCBwZW9wbGUgb3V0c2lkZSB0aGUgYXR0YWNrIHZlY3RvciByYXJlbHkgaGVhciBvZiB0aGUgaW5zaWRlIGluZm9ybWF0aW9uLiBMaW51cyBUZWNoIFRpcHMgaG93ZXZlciwgdGhleSBnYXZlIHVzIHRoaXMgaW5mb3JtYXRpb24uCjxicj4mbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgQXQgdGhlIGVuZCBvZiBtYW55IFlvdVR1YmVyIGF0dGFjayB2aWRlb3MgdGhlIHBocmFzZSwgIjxpPnBsZWFzZSBiZSBraW5kPC9pPiIgaXMgdXNlZCBvZnRlbiBiZWNhdXNlIHRoZSB1c2VyIGJlbGlldmVzIHRvIGJlIGF0IGZhdWx0LiBUaGVzZSBhcmUgdHJvdWJsaW5nIGFuZCBjb25mdXNpbmcgdGltZXMsIGV2ZW4gZm9yIGEgd2VsbCB0ZWNoLWtub3dsZWRnZWQgcGVyc29uIGxpa2UgTFRUJ3MgTGludXMgPGk+aGltc2VsZjwvaT4gdGhlIHNpdHVhdGlvbiB3YXMgY29uZnVzaW5nIGFuZCBtaXNsZWFkaW5nLiBGcm9tIHRoZSBzaXR1YXRpb24gYXQgaGFuZCBleHBsYWluZWQgdmlhIExUVCdzIHN0YWZmIHdpdGhpbiB0aGVpciBvd24gbGl2ZSBzdHJlYW1zLCBjbGlwcyBhbmQgcG9zdHMgaXQgYXBwZWFycyB0aGF0IHRoZSBvbmx5IHBlb3BsZSB0aGF0IGhhbmRsZWQgdGhlIHNpdHVhdGlvbiBjYWxtbHkgYXJlIHBlb3BsZSB3aG9tIGVpdGhlciBkZWFsIG9mdGVubHkgb3IgaGF2ZSBkZWFsdCBvZnRlbiB3aXRoIGhhY2tpbmcgb3IgcXVpY2sgdGltZSBzaXR1YXRpb25zIHdpdGhpbiByZWFsLXdvcmxkIHNjZW5hcmlvcyAobGlrZSBoYWNraW5nIGV2ZW50cyBhbmQgZGVtb25zdHJhdGlvbnMpLiBUaGUgcGVvcGxlIHRoYXQgZml4IHRoZSBpc3N1ZXMgd2hlbiB0aGV5IGFyZSBsaXZlLCBkdXJpbmcgcmVjb3JkaW5ncyAmYW1wOyB0aGUgcGVvcGxlIGp1c3QgZXhwbGFpbmVkIGFsbCBzZWVtZWQgdG8gYmUgY2FsbSwga25ldyB3aGF0IHRvIGRvIG9yIGZvciBhdCBsZWFzdCAxIGVtcGxveWVlIGVuam95ZWQgdGhlIHRyaWxsIG9mIHdvcmtpbmcgYWdhaW5zdCB0aGUgaGFja2VycyB0byBnZXQgdGhpbmdzIGZpeGVkLiBUaGlzIHNob3dzIHRoYXQgaW4gc29tZSBjYXNlcyBwcmV2aW91cyBZb3VUdWJlciBoYWNrcyBtYXkgaGF2ZSBoYWQgdGhlIGV4YWN0IHNhbWUgaXNzdWUgYnV0IGJlY2F1c2UgdGhlIFlvdVR1YmVyIHdhc24ndCBhcyB0ZWNoIHVuZGVyc3RhbmRpbmcgYXMgdGhlIGVudGlyZXR5IG9mIHRoZSBMVFQgdGVhbSB0aGF0IHdvcmtlZCBvbiB0aGUgaGFjayBsaXZlLCB0aGV5IG1heSBhc3N1bWVkIGZha2UgaW5mb3JtYXRpb24gYW5kIHdpdGggbm8gb3RoZXIgaW5mb3JtYXRpb24gaGFkIHRvIHRha2UgYXMgdGhlIG1vc3QgcG9zc2libGUgdHJ1dGguCjxicj4mbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgVGhlIHJlYWwgcHJvYmxlbSB0aG91IGlzIHVuZGVybHlpbmcgYW5kIHRoaXMgaXMgb25lIG9mIHRoZSBmZXcgdGltZXMgd2UgaGFkIHJlYWwgaW5zaWdodCBpbnRvIGl0IG91dHNpZGUgb2YgdGhlIFlvdVR1YmUgSW50ZXJuYWwgVGVjaG5vbG9naWVzIFRlYW0gJmFtcDsgTWFuYWdlbWVudCBmcmFtZXdvcmsuIEkgbXVzdCBzYXksIGl0J3MgYWJvdXQgdGltZSBiZWNhdXNlIHRoaXMgc2hvd3MgZmxhd3MgbWFqb3IgZmxhd3Mgbm90IG9ubHkgd2l0aCB0aGUgdGVjaCBnaWFudCBidXQgYWxzbyBvbiB0aGUgc29mdC1hbGwtd2FyZSB0ZWNobm9sb2dpZXMgR29vZ2xlLCBNaWNyb3NvZnQsIEFwcGxlIGFuZCBvdGhlciBtYWpvciB0ZWNoIGNvbXBhbmllcyBoYXZlIHNvbGQgdXMuPGJyPjxicj48aDEgYWxpZ249ImNlbnRlciIgc3R5bGU9ImFsaWduOmNlbnRlciI+PGI+IjxpPkl0J3MgYWxsIG9uIHRoZSB3aXJlITwvaT4iPC9iPjxicj48L2gxPjxoMiBhbGlnbj0icmlnaHQiIHN0eWxlPSJhbGlnbjpyaWdodDttYXJnaW4tcmlnaHQ6NSU7Ij48c3VwPjxzdWI+Jm5ic3A7ICZuYnNwOyBVbmtub3duIFRlY2ggR2lhbnQgKDE5OTMtMjAxMyk8L3N1Yj48L3N1cD48L2gyPgo8YnI+Jm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7IFNvZnQtYWxsLXdhcmUgaXMgZXZlcnl0aGluZyBkb25lIGJ5IHNvZnR3YXJlLiBBbGwtb24tdGhlLXdpcmUgYWthIDxxPjxpPjEtd2lyZTwvaT48L3E+IGlzIHJ1bm5pbmcgYWxsIHNlcnZpY2VzIG92ZXIgdGhlIGludGVybmV0ICZhbXA7IGNsb3VkLiBUaGUgcHJvYmxlbSB0aG91IGlzIHRoZSBjbG91ZCBpcyBqdXN0IHNvbWVvbmUgZWxzZSdzIGNvbXB1dGVyLiBUaGUgb3RoZXIgcHJvYmxlbSBpcyB3aGF0IGhhcHBlbnMgd2hlbiB0aGUgY29tcGFuaWVzIHNheWluZyB0ZWNobm9sb2d5IHdpbGwgbWFrZSBldmVyeXRoaW5nIHNhZmVyLCBmYXN0ZXIsIHN0cm9uZ2VyLCBiZXR0ZXIgaXMgYWxzbyB0aGUgc2FtZSBjb21wYW5pZXMgcHVycG9zZWx5IGNyYWZ0aW5nIGhvbGVzIGluIHRoZWlyIHN5c3RlbSB3aGlsZSBvdGhlciBwYXJ0cyBhcmUgbm93IHN0YXJ0aW5nIHRvIHNob3cgdGhleSB3ZXJlIGp1c3QgZGlnaXRhbCBwYXJsb3IgdHJpY2tzLgo8YnI+Jm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7IFNvZnQtYWxsLXdhcmUsIG1ha2UgaXQgYWxsIHNvZnR3YXJlIGlzbid0IGEgYmFkIHByYWN0aWNlLiBUaGlzIGFsbG93cyBmb3Igc21hbGxlciBkZXZpY2VzIHRvIGhhdmUgYmlnLWRldmljZSBmZWVsLiBDaGVhcGVyIGRldmljZXMgY2FuIGFjdCBsaWtlIHJlYWxseSBiaWcgYW5kIGV4cGVuc2l2ZSBkZXZpY2VzLiBUaGUgcHJvYmxlbSwgdG8gcGVyZm9ybSB0aGlzIHBhcmxvciB0cmljayBvZiBtYWtpbmcgYSBzbG93IHNtYWxsIGNoZWFwIGRldmljZSBmZWVsIGZhc3RlciwgYmlnZ2VyLCBhbmQgbW9yZSBleHBlbnNpdmUgaXMgdGhlIHVzZXIncyBkZXZpY2UgaGFzIHRvIHRhbGsgdG8gYW5vdGhlciBkZXZpY2UgZm9yIGV2ZXJ5dGhpbmcuIFNvIGNlcnRpZmljYXRlcyB3ZXJlIGludmVudGVkIHRvIHJlZ3VsYXRlIHRydXN0ZWQgcGFydGllcyBidXQgZXZlbnR1YWxseSB0aGUgPGI+ZDxpPmVlPC9pPnRzPC9iPiB0byBhIHRlY2ggZ2lhbnQncyBjZXJ0cyB3ZXJlIGxlYWtlZCwgdGhlbiBmcm9tIHRoYXQgb3RoZXIncyBnZXQgc3RvbGVuIHRoZW4gZXZlbnR1YWxseSB0aGUgZW50aXJlIGNlcnRpZmljYXRlIHN5c3RlbSBzaG93cyBpdCdzIGEgZmlhdCBzeXN0ZW0uIEl0IHdvcmtzIGNvbXBsZXRlbHkgb24gdHJ1c3QgaW5zdGVhZCBvZiBwcm9vZnMuIENlcnRpZmljYXRlcyBoYXZlIHByb29mcyB3aXRoIHRoZW0gdG8gcHJvdmUgdGhlIGNlcnQgaXMgYXMgaW50ZW5kZWQgYnV0IHdoZW4gdGhlIGNlcnQgaXMgYmVpbmcgdXNlZCB1bi1pbnRlbmRlZGx5IGFzIGludGVuZGVkLCB3ZWxsIHRoYXQncyB1bnN0b3BwYWJsZSBpbiBhIHRydXN0IHN5c3RlbS4gRXZlbiBpZiB0aGVyZSB3YXMgYSBibG9ja2NoYWluIG9mIGNlcnRzLCBpdCdzIGEgdHJ1c3Qgc3lzdGVtIGFuZCB0aGVyZWZvcmUgd2lsbCBhbHdheXMgYmUgYSBwYXJsb3IgdHJpY2suIE5vdGhpbmcgbW9yZSB0aGVuIGV4Y2VsIHNoZWV0IGRhdGFiYXNpbmcuPGJyPiZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyBUaGlzIGlzIHdoeSBJIGFtIGNhbGxpbmcgaXQgYSBwYXJsb3IgdHJpY2ssIHRoaXMgY2VydGlmaWNhdGUgc3lzdGVtIHdhcyBzb2xkIGFzIHRoZSBrZXkgdG8gYWxsb3dpbmcgc29mdC1hbGwtd2FyZSB3b3JrIHdpdGhvdXQgd29ycnkuIEluIHJlYWxpdHkgdGhleSBzaG91bGQgaGF2ZSBqdXN0IGJlZW4gaG9uZXN0IGFuZCBzYWlkLCAiPGk+Q2VydGlmaWNhdGVzIGFyZSBhIHRydXN0IG5ldHdvcmsgb2YgcGFpZCBzcG9uc29ycyB0byBiZSBhYmxlIHRvIHByb2R1Y2UgdW5pcXVlIFNIQSBwcm9vZnMgdGhhdCBjYW5ub3QgYmUgZHVwcGVkIG9ubHkgY29waWVkIGZvciBhcyBsb25nIGFzIHRoZSBTSEEgcHJpdmF0ZSBrZXlzIGFyZSBrZXB0IHNhZmUsPC9pPiIgYmVjYXVzZSB0aGVuIHdoZW4gaGFja3MgaGFwcGVuIHBlb3BsZSBtYXkgaGF2ZSBzb29uZXIgdGhvdWdodCwgY2hlY2sgY2VydHMsIGluc3RlYWQgb2YgZmluYWxseSBkaXNjb3ZlcmluZyB0aGUgZmxhdyBvbmx5IGFmdGVyIHRoZSBlbnRpcmV0eSBvZiB0aGUgc3lzdGVtIGZlbGxlZCBmcm9tIGEgR1BVIGNvbXBhbnkgaGFjayBvYnRhaW5pbmcgY29tcGFueSBDY2VydCBwcm9vZnMsIGtleXMsIGFuZCBtb3JlITxicj4mbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgQmVjYXVzZSB0aGUgdGVjaCBnaWFudHMga25ldyB0aGUgZmxhdyBiZWZvcmUgaXQgd2FzIHB1YmxpYywgdGhleSBzdGFydGVkIHVzaW5nIGFuIGluZGVwZW5kZW50IGRldmVsb3BlZCBzeXN0ZW0gY2FsbGVkIHRva2VuaXphdGlvbi4gVG9rZW5pemluZyBkYXRhIHdhcyBmaXJzdCB0aG91Z2h0IGFzIGJlc3QgZm9yIGludGVybmFsIHVzZSBzeXN0ZW0gYnV0IHdoZW4gPGI+IjxpPmludGVybmFsIHVzZSBvbmx5PC9pPiI8L2I+IGJlY2FtZSA8Yj4iPGk+b3ZlciB0aGUgaW50ZXJuZXQ8L2k+IjwvYj4sIHRva2VuaXplZCBkYXRhIGJlY2FtZSB2ZXJ5IHVzZWZ1bCB2ZXJ5IHF1aWNrbHkuIEluIG1hbnkgY2FzZXMgdG9rZW5pemluZyBvbmx5IHdvcmtzIGJlY2F1c2UgdGhlIHRva2VuIGlzIGJlaW5nIGdlbmVyYXRlZCBvbiBtYWNoaW5lcyBvciBzb2Z0d2FyZSBvd25lZC9vcGVyYXRlZCBieSB0aGUgY29tcGFueSdzIHNvZnR3YXJlIHlvdSBhcmUgdXNpbmcuIEV2ZW4gT3BlcmF0aW5nIFN5c3RlbXMgKDxiPk9TPC9iPikgd2VyZSBhYmxlIHRvIGJlIHRva2VuaXplZCBhbmQgc2VudCBvdmVyIHRoZSB3aXJlLiBJbiBob25lc3R5LCB0aGlzIHdhcyBhIHJlYWwgc3RlcCB0b3dhcmQgbGVnaXRpbWl6aW5nIDxpPnNvZnQtYWxsLXdhcmU8L2k+LiBUaGlzIGlzIHN0aWxsIGZsYXdlZCBiZWNhdXNlIG5vdy1hLWRheXMgYSBtYWNoaW5lIGdpdmVzIHVwIHNvIG11Y2ggaW5mb3JtYXRpb24gbWFueSBoYWNrZXJzIChpbmNsdWRpbmcgPGk+U2NyaXB0ZXJzPC9pPiBha2EgPGk+U2NyaXB0LUtpZGRpZXM8L2k+KSBjYW4gbWltaWMgdGhlc2UgbWFjaGluZXMgdG8gdGhlbiBnYWluIGhpZ2hlciBsZXZlbHMgb2YgYXV0aG9yaXR5IGZvciB0aGUgcHJpdmlsZWdlIG9mIGFjY2Vzc2luZyBvdGhlciBtYWNoaW5lJ3MgaW50ZXJuYWwgZGF0YSBzdHJ1Y3R1cmUgbGluZSwgZXZlbnR1YWxseSB3b3JraW5nIGFsbCB0aGUgd2F5IHVwIHRvIGEgbWFjaGluZSB3aXRoIGVpdGhlciBoaWdoZXN0IEFQSSB0b2tlbiBhY2Nlc3Mgb3IgaGlnaGVzdCBzZWN1cml0eSBhdXRob3JpdHkgdG8gdGhlbiBtYWtlIHdoYXQgZXZlciBhdHRhY2sgdGhleSBuZWVkLiBBbHRob3VnaCB0aGlzIG1heSBzb3VuZCByZWFsbHkgY29tcGxpY2F0ZWQgYnV0IGluIHJlYWxpdHkgaXQncyBhcyBzaW1wbGUgYXMgYSBib3Qgc2VlaW5nIGJpdHMgb2YgZGF0YSB3aGlsZSBzb21lb25lIHVzZXMgYSBtYWNoaW5lIG9uIGEgbmV0d29yayB5b3UgYXJlIG9uIChkb2Vzbid0IGV2ZW4gaGF2ZSB0byBiZSB5b3UpLiBUaGF0IGJvdCBvbiB0aGUgc2FtZSBuZXR3b3JrIGFzIHlvdSBpcyBqdXN0IHNjYW5uaW5nIGFzIG11Y2ggZGF0YSBhcyBwb3NzaWJsZSBhcyBmYXN0IGFzIHBvc3NpYmxlIG9uIHRoZSBuZXR3b3JrIGFuZCB3aXRoaW4gMyBzZWNvbmRzIGNhbiB0cnkgd2l0aGluIDEgbWlsbGlvbiB0aW1lcyAoZGVwZW5kaW5nIG9uIGludGVybmFsIG5ldHdvcmsgc3BlZWRzKSB0byBhc2sgZm9yIHBlcm1pc3Npb25zLCBpbmZvcm1hdGlvbiwgYWNjZXNzLiBEZXBlbmRpbmcgb24geW91ciBzeXN0ZW0sIGl0IG1heSBqdXN0IGFsbG93IHNvbWUgY29ubmVjdGlvbiBhbmQgaW4gYWxtb3N0IGFsbCBjYXNlcyB3aWxsIGdpdmUgaW5mb3JtYXRpb24gYXQgdGhlIGxlYXN0IGxpa2Ugd2hhdCBPUywgYnJvd3NlciBpbmZvcm1hdGlvbiwgdGltZXpvbmUuIERlcGVuZGluZyBvbiB3aG9tLCBob3cgYW5kIHdoZXJlIHRoZSBxdWVzdGlvbiBpcyBjb21pbmcgZnJvbS90byB3aWxsIGRldGVybWluZSBpZiBhbmQgaG93IG11Y2ggaXMgZ2l2ZW4gb3V0LiBTbyBmb3IgZXhhbXBsZSB0aGUgY29tcGFueSBydW5uaW5nIHlvdXIgQ1BVIG9yIEdQVSBhc2tzIHlvdXIgZGV2aWNlIGZvciBpbmZvcm1hdGlvbiwgeW91ciBkZXZpY2UgaXMgZ29pbmcgdG8gZ2l2ZSBxdWl0ZSBhIGJpdCBhbmQgaWYgeW91IGhhdmUgIjxpPkF1dG9tYXRpYyBVcGRhdGVzPC9pPiIgeW91IG1heSBnaXZlIG1vcmUgaW5mb3JtYXRpb24uIFRoaXMgaXMgbm90IHRoZSByZWFzb24gd2h5IHRoZSBoYWNrZXIgZ3JvdXBzIHdlbnQgYWZ0ZXIgQ1BVLCBHUFUsIE9TICZhbXA7IGhhcmR3YXJlIG1hbnVmYWN0dXJlIGNlcnRpZmljYXRlIHByaXZhdGUgaW5mb3JtYXRpb24gYnV0IG9uY2UgdGhleSBoYWQgaXQsIHNvbWVvbmUgcXVpY2tseSBmaWd1cmVkIG91dCBob3cgaXQgd2FzIGEgZ3JlYXQgYXR0YWNrIHZlY3Rvci4gQ1BVICZhbXA7IEdQVSwgZXZlcnlvbmUgaGFzIG9uZSBvciBjaGlwcyBmcm9tIHRoZXNlIG1hbnVmYWN0dXJlcy4gSnVzdCBob3cgc21hcnRwaG9uZSBjYW1lcmEgem9vbWluZyBjaGlwIG1hbnVmYWN0dXJlcyB3ZXJlIGhpdCBzbyBib3RuZXRzIGNvdWxkIHV0aWxpemUgdGhlIG1pbGxpb25zIG9mIGNlbGxwaG9uZXMgd2l0aCB1bnNlY3VyZSBjaGlwcyBvbiB0aGUgUEMgQm9hcmQgb2YgdGhlIGNhbWVyYS4gVGhlIGF0dGFjayBkb2Vzbid0IG5lZWQgYWNjZXNzIHRvIHlvdXIgZGV2aWNlIGJlY2FzdWUgdGhlIHpvb20gY2hpcCBjYW4gYWNjZXNzIHRoZSBDUFUgb3IgYXQgbGVhc3Qgc2VuZCBmb3IgYWN0aXZhdGlvbnMgYW5kIG1vcmUuIERvZXMgeW91ciBjZWxscGhvbmUgaGF2ZSBuYXRpdmUgM0QgZWZmZWN0cyBhbmQgZmlsdGVycz8gWW91IG1heSBoYXZlIGFuIHVuc2VjdXJlIGNhbWVyYSBjaGlwLgo8YnI+Jm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7IFRoZSBhdHRhY2tzIGp1c3Qgc3BlYWtpbmcgYWJvdXQgYWxsIHJldm9sdmUgYXJvdW5kIDMtZmFjdG9yczogPGk+VHJ1c3QgQXV0aG9yaXR5IFN5c3RlbSwgSW50ZXJuYWwgU3lzdGVtcyBhcmUgdGhlIEF0dGFjayBMYW5kc2NhcGUsIFRydXN0IEF1dGhvcml0eSAmYW1wOyBJbnRlcm5hbCBTeXN0ZW1zIGFyZSBtb3JlIGZsYXdlZCB0aGVuIG5vbi10cnVzdCAmYW1wOyBleHRlcm5hbCBzeXN0ZW1zPC9pPi4gRWFjaCBvbmUgaGFzIHRoZSBzYW1lIHR5cGUvc3R5bGUgb2YgYXR0YWNrIHdoaWNoIG1lYW5zIGZpbmQgYSB3YXkgdG8gZXhwbG9pdC91c2Ugb25lIGFuZCB0aGUgb3RoZXJzIHByb2JhYmx5IGNhbiB1c2UgdGhlIHNhbWUgYXR0YWNrLiBUaGV5IGFsbCByZWx5IG9uIHRoZSBob3N0aW5nIGNvbXBhbnkgb2YgdGhlIG1hY2hpbmUgeW91ciBkZXZpY2VzIGFyZSBzcGVha2luZyB0by4gQXMgdGhvc2UgY29tcGFuaWVzIGJlY29tZSBiaWdnZXIsIHNvIGRvZXMgdGhlIGF0dGFjayBsYW5kc2NhcGUgYW5kIHNvIHRoZW4gdGhlIGF0dGFjayB2ZWN0b3IgcG9zc2liaWxpdGllcyBvbmx5IG1hZ25pZnkgbm90IG11bHRpcGx5LCBtYWduaWZ5IGJ5IG1hZ25pdHVkZXMgYXQgcGVyIHNxdWFyZWQgb3IgY3ViZWQgcmF0aW9zIHBlciBsZWcgdGhhdCBsYW5kc2NhcGUgaGFzIHRvIHVwaG9sZC4gTWVhbmluZyBzaW1wbGUsIGZvciBldmVyeSAxIHRoaW5nIHRoZSBpbnRlcm5hbCBzeXN0ZW1zIGhhdmUgdG8gaGFuZGxlLCB0aGUgd2F5cyB0byBhdHRhY2sgaW5jcmVhc2UgZWl0aGVyIGluIG11bHRpcGxlcyBvZiAxMCBzcXVhcmVkIG9yIG11bHRpcGxlcyBvZiAxMCBjdWJlZCBwZXIgQVBJIHRoYXQgaW50ZXJuYWwgc3lzdGVtIGhhbmRsZXMgKGluYm91bmQvb3V0Ym91bmQpLiBXZSBjYW4gYXR0ZW1wdCB0byBzdG9wIGJ1dCB3ZSBjYW5ub3QgcHJldmVudCBzbyBub3cgd2hhdCBoYXBwZW5zIHdoZW4gdGhpcyBhdHRhY2sgbGFuZHNjYXBlIGFsc28gaGFuZGxlcyBmZWF0dXJlcyBsaWtlLCAiPGk+UmV2b2tlIEFjY2VzczwvaT4iPyBFdmVuIGZvciBjcm9zcy1hdXRob3JpdHkgY29tbXVuaWNhdGlvbnMsIGlmIGl0J3Mgb3ZlciB0aGUgd2lyZSBhbmQgbm90IGRpcmVjdCBvbiBzZXJ2ZXIvbWFjaGluZSB3ZWxsIHRoYXQgY29tbXVuaWNhdGlvbiBjYW4gYmUgYmxvY2tlZC4KPGJyPiZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyBJZiB0aGUgdXNlciBhdHRhY2tpbmcgaGFzIHRoZSBlcXVhbCBwZXJtaXNzaW9uIGxldmVscyBmcm9tIHN0b2xlbiB0b2tlbnMvY2VydHMgdGhlbiBlcXVhbGx5IGlmIHRoZSBhdHRhY2tlciB3YXMgdG8gcmV2b2tlIHlvdXIgYXV0aG9yaXR5IGZpcnN0LCB5b3UgY2FuIG5vIGxvbmdlciByZXZva2UgdGhlaXJzLiBJbiB0aGUgTFRUIGhhY2ssIGluIHNvbWUga2luZGEgZGlsdXRlZCBhdHRhY2sgKG9mdGVuIG5pbmphIGF0dGFja3MgYXJlIGRpbHV0ZWQpLCB0aGUgdG9rZW4gZm9yIGFjY2VzcyB0byBhIGNoYW5uZWwvcG9ydC9ob2xlIGZvciBoaWdoZXIgYWNjZXNzIHRvIHRoZSB1bWJyZWxsYSBjaGFubmVsIHdoaWNoIGVuZGVkIHVwIHRvIGJlIDxiPjxpPkxpbnVzVGVjaFRpcHM8L2k+PC9iPi4gVGhpcyBpcyBhIGdlbmVyaWNhbGx5IHNpbXBsZSB3YXkgdG8gZXhwbGFpbiB0aGUgYXR0YWNrLiBUaGUgYXR0YWNrZXIgd2FzIHVuYWJsZSB0byBiZSByZXZva2VkIGZyb20gTFRUJ3MgZW5kIGFuZCB0aGF0IGNvdWxkIGJlIGZyb20gYSA8aT5maXJzdC1saWdodCBzd2l0Y2g8L2k+IG9yIDxpPnRoZSBmaXJzdCBpbnZva2VkIGZ1bmN0aW9uIGluIHRoZSBhdHRhY2sgb25jZSBwbGFudGVkPC9pPi4gSWYgdGhlIGZpcnN0LWxpZ2h0IHN3aXRjaCB3YXMgdG8gcmV2b2tlIGFsbCB0b3AgYWNjZXNzIHRva2VucyBsb3dlciBvciBlcXVhbCB0byB0aGUgYXR0YWNrZXIncyB0b2tlbiB0aGVuIG9ubHkgaGlnaGVyIGF1dGhvcml0aWVzIGNhbiByZXZva2UuIFRoaXMgY2FuIGJlIHRyaWNreSBieSB0aGUgaGlnaGVyIGF1dGhvcml0eSBiZWNhdXNlIHRoZXkgc2ltcGx5IGNhbm5vdCBqdXN0IGFjdCBvciBlbHNlIHRoYXQncyBhIGRpZmZlcmVudCBhdHRhY2sgbWV0aG9kIHNvIHRoZSBhdHRhY2tzIGJldCBvbiB0aW1lIGJldHdlZW4gdXNlcnMgcmVhbGl6aW5nIHRoZXkgY2Fubm90IHN0b3AgdGhlIGF0dGFjayBhbmQgdGhlbiB0aGUgaGlnaGVyIGF1dGhvcml0eSBnZXR0aW5nIGludm9sdmVkIHRvIHRoZW4gbWFraW5nIGFuIGFjdGlvbi4gVGhlIHdheSB0aGUgYXR0YWNrIHdhcyBkZXNjcmliZWQgYnkgdGhlIExUVCB0ZWFtLCBpdCBkb2VzIGFwcGVhciBldmVyeSBwb2ludCBpbiB0aGVpciBZb3VUdWJlIEhhY2sgd2FzIHZpYSBpbnRlcm5hbCBzeXN0ZW1zIG9uY2UgdGhlIGluaXRpYWwgdG9rZW4gd2FzIHN3ZXB0Ljxicj4mbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgVGhpcyBpcyB3aHksIGluIG15IG9waW5pb24sIHRoZSBiaWdnZXIgYSB0ZWNoIGNvbXBhbnkgZ2V0cyB0aGUgd29yc2UgaXQncyBzb2Z0d2FyZSBiZWNvbWVzLiBJdCdzIG5vIGRvdWJ0IFdpbmRvd3MgMy4xLCAxOTk4LCBYUCAmYW1wOyA3IGFsbCB3b3JrIGJldHRlciB0aGVuIGN1cnJlbnQgZ2VuZXJhdGlvbiB3aW5kb3dzLiBXaW5kb3dzIHZpc3RhIGhhZCBtYW55ICI8Yj4xLXdpcmU8L2I+IiBidWlsdCBpbiBhbmQgd2FzIGNvbnNpZGVyZWQgdmVyeSB0ZXJyaWJsZS4gVGhlIG92ZXIgdGhlIHdpcmUgc3lzdGVtcyBhbGwgZmFpbCBhcyB0aGUgY29tcGFueSBncm93cy4gTXlzcGFjZSBmZWxsIG91dCBvZiBmYXZvciBhcyBpdCBncmV3IGZhc3Rlci4gRmFjZWJvb2sgb25jZSBpdCBoaXQgdGhlaXIgdWx0aW1hdGUgdG9wLCBwbGF0ZWF1ZWQuCjxicj48YnI+Jm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7IElmIHRoaXMgZG9lc24ndCB3b3JrIHdlbGwgb3IgYXMgYWR2ZXJ0aXNlZC9zb2xkLCB3aHkgdXNlIGl0PyBIaWRkZW4gcmV0dXJuIGNvbW11bmljYXRpb25zLiBBdXRvbWF0ZWQgdXBkYXRlcyB3YXMgaW52ZW50ZWQgZm9yIHNvbWVvbmUgdG8ga2VlcCBhIHNvZnR3YXJlIG9yIGdhbWUgdXBkYXRlZCBhbGwgdGhlIHRpbWUgYnkgc2Nhbm5pbmcgYW4gUlNTIGZlZWQgZm9yIG5ldyBlbnRyaWVzIHRoZW4gYXV0b21hdGljYWxseSBncmFiYmluZyBhbmQgaW5zdGFsbGluZyBuZXcgZW50cmllcyB0byBhbiB1cGRhdGUgZm9ydW0uIEFib3V0IDEwIHllYXJzIGFmdGVyIG1vc3QgbWFqb3IgY29tcGFuaWVzIGFuZCBPUydzIHdlcmUgdXRpbGl6aW5nIDxpPmF1dG9tYXRlZCB1cGRhdGVzPC9pPiwgdGhlIGF1dG9tYXRlZCB1cGRhdGVzIHRvb2sgYSB0dXJuIHRvIHdoZXJlIGluIG1hbnkgY2FzZXMgZGV2ZWxvcGVycyBkaXJlY3RseSBvbiBHaXRIdWIgd2VyZSBnaXZlbiBhY2Nlc3MgdG8gcHJvZHVjZSA8aT5hdXRvbWF0ZWQgdXBkYXRlczwvaT4gJmFtcDsgZGVsaXZlciB0aGVtIC0tZnJvbSBHaXRIdWIuIE5vdyB0aGVyZSdzIGEgbmV3IGxlZywgbm93IHRoZXJlJ3MgYSBuZXcgbGFuZHNjYXBlIHRvIHRoZSBhdHRhY2sgbm93Li4udGhlIGF0dGFjayBjYW4gYmUgdXBkYXRlZCB0byB5b3Ugb3ZlciB0aGUgPGk+MS13aXJlIDxiPmF1dG9tYXRlZCB1cGRhdGU8L2I+IHN5c3RlbTwvaT4uIFRoZSByZWFzb24gdGhpcyB3b3JrcyBpcyBiZWNhdXNlIG9mIGhpZGRlbiByZXR1cm4gY29tbXVuaWNhdGlvbnMuIEF0dGFja2VycyBjYW4gYXR0YWNrIHRoZSBoaWRkZW4gcmV0dXJuIGNvbW11bmljYXRpb25zIG9mIGEgcmVhbCBhdXRvIHVwZGF0ZSB0byB0aGVuIGhpamFjayB0aGUgbGluZSBlbnRyeSB0byBwdXNoIGEgbWFsaWNpb3VzIHVwZGF0ZS4gVGhpcyBpcyB3aHkgbWFueSBMaW51eCBhbmQgU3VwZXJVc2VycyBkb24ndCByZWx5IG9uIGF1dG8gdXBkYXRlcywgdGhleSBtYXkgZ2V0IG5vdGlmaWNhdGlvbnMgb2YgdXBkYXRlcyBhdmFpbGFibGUgYnV0IHRoZXkgZWl0aGVyIHZlcmlmeSBpdCBvciB0YWxrIHRvIHBlb3BsZSB3aXRoaW4gdGhlaXIgcGVyc29uYWwgdHJ1c3QgbmV0d29yayB0byBzZWUgaWYgYW55b25lIGVsc2UgdmVyaWZpZWQgaXQuIFNvbWUgcGVvcGxlIGp1c3Qgd2FpdCBsb25nIGVub3VnaCBmb3IgaXNzdWVzIHRvIGJlIHNwb3R0ZWQgb3Igb25seSBnZXQgc3BlY2lmaWMgdGltZS1wb2ludCB1cGRhdGVzLiBUaGlzIGlzIHNvcnRhIHNpbWlsYXIgdG8gc2FpZCBwcmV2aW91c2x5IGJ1dCBpZiBtb3JlIHBlb3BsZSBzZWxmLXZlcmlmaWVkIHRoZW4gdGhlcmUgd291bGQgYmUgbW9yZSBjcm9zcyB2ZXJpZmlhYmxlIGluZm9ybWF0aW9uIHdoaWNoIGNvdWxkIGhlbHAgc3BvdCBwcm9ibGVtcyBmYXN0ZXIgd2l0aGluIHRoZSBjb21tdW5pdHkgYnV0IHRoZXJlIHdpbGwgYWx3YXlzIGJlIHRoYXQgdHlwZSBvZiB2ZWN0b3IuIFRydXN0LCBBdXRvLCBMdXh1cnkgKGV2ZW4gQXNzaXN0aXZlIEx1eHVyeSkgd2lsbCBhbHdheXMgYmUgYSB0eXBlIG9mIGF0dGFjayB2ZWN0b3IsIHdlIGNhbiBvbmx5IHRyeSB0byBzdG9wIGF0dGFja3Mgd2hpY2ggYnJpbmdzIHVwIHRoZSBvcmlnaW5hbCBwb2ludCwgIjxpPjxiPldoYXQgaWYgeW91IGNhbid0IHN0b3AgaXQ/PC9iPjwvaT4iIAo8YnI+Jm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7IFRoZSBmZWF0dXJlcyB3aXRoaW4gdGhlIGludGVybmFsIHN5c3RlbXMgY2FuIGJlIHN3aXRjaGVkIG9mZiBiZWZvcmUgeW91IGJ1dCB0aGUgYWJpbGl0eSBmb3IgdGhhdCBzeXN0ZW0gdG8gZXZlbiBjb21tdW5pY2F0ZSBpbiB0aGUgZmlyc3QgcGxhY2UgcmVxdWlyZXMgYSBmcm9tIG9mIHJldHVybiBjb21tdW5pY2F0aW9ucyBhbmQgc28gdGhlIGFiaWxpdHkgdG8gc2VuZCBoaWRkZW4gcmV0dXJuIGNvbW11bmljYXRpb25zIGlzIGFsd2F5cyBwcmVzZW50LiBUaGlzIGlzIHdoZW4gd2UgZ2V0IHRvIHRoZSBjb21tdW5pY2F0aW9ucyBzZW5kaW5nIGJhY2sgdG8gdGhlIHNlcnZlciBpcyBvbmx5IG5lZWRlZCBmcm9tIHNvbWUgYXR0YWNrIHBvaW50cywgdGhlcmUncyBvdGhlciB3YXlzIHRvIGV4cGxvaXQgdGhlIHNhbWUgd2l0aG91dCBhbnkgcmV0dXJuIGNvbW11bmljYXRpb25zIGJ1dCBqdXN0IGhhdmluZyBjZXJ0aWZpY2F0ZS90b2tlbiB0dW5uZWwvYWNjZXNzIGNvbW11bmljYXRpb25zIGlzIHN0aWxsIGV4cGxvaXRhYmxlIGluIHNpbWlsYXIgb3IgdGhlIGV4YWN0IHNhbWUgd2F5cy4gSnVzdCBhcyB0aGUgbWFqb3IgZmxhdyB3aXRoIFNvZnQtYWxsLXdhcmUsIHRoZSBtYWpvciBhdHRhY2sgdmVjdG9yIGZvciB0aGlzIGRpZ2l0YWwgbGFuZHNjYXBlIGlzIGFsc28gcmV0cm9hY3RpdmUuIEFueSB2ZWN0b3IgcG9pbnQgb24gdGhlIHNhbWUgb3IgY29ubmVjdGVkIGxhbmRzY2FwZSBpcyB0aGVuIHZhbHVhYmxlIHRvIHRoZSBvdGhlcidzIHZ1bG5lcmFiaWxpdHkuIEp1c3QgaG93IHJlZmVycmVycyBhbmQgaWZyYW1lcyBhcmUgdnVsbmVyYWJpbGl0aWVzIGJlY2F1c2UgdGhleSBiYXNpY2FsbHkgaW1wb3J0IHRoZSBjb25uZWN0ZWQgZGF0YSB0byB5b3VyIGVuZHBvaW50LCB2dWxuZXJhYmlsaXRpZXMgYW5kIGFsbCBmbGF3cy4gRXZlbiBpZiB0aGVzZSByZWZlcnJlcnMvaWZyYW1lcyBhcmUgd2l0aGluIHRoZSBzYW1lIGludGVybmFsIHN0cnVjdHVyZSwgdGhleSBhcmUgdnVsbmVyYWJsZSB0byB0aGlzIGNvbW11bmljYXRpb25zIHZlY3Rvci48YnI+Jm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7IFRoZSBlbnRpcmUgY29tbXVuaWNhdGlvbiBlbmQtcG9pbnQgY2FuIGJlIG9wZW5lZCBvciBjbG9zZWQgZnJvbSB3aXRoaW4gdGhlIHN5c3RlbS4gVGhlIGludGVybmFsIHN5c3RlbXMgYXJlIGZ1bGx5IGhvbGVkIGZvciBBUElzIHNvIG5vdyBvbmNlIGVudGVyZWQgdmlhIGFueSBwb2ludCwgdGhleSBwcmV0dHkgbXVjaCBnZXQgYWNjZXNzIHRvIG1vcmUgYW5kIGdyZWF0ZXIgYXV0aG9yaXRpZXMuIFRoaXMgaXMgd2h5IGluIHRoZSBwYXN0IHRoZXJlIGhhdmUgYmVlbiB0aW1lcywganVzdCBsaWtlIExUVCwgd2hlcmUgdG8gc29sdmUgdGhlIGF0dGFjayBZb3VUdWJlL0dvb2dsZSAodW5zdXJlIHdoaWNoIGF1dGhvcml0eSBBUEkgdHJpZ2dlcmVkIHRoaXMgc29sdXRpb24gb24gdGhlIGJhY2tlbmQpIGhhZCB0byBkZWxldGUgTFRUJ3MgY2hhbm5lbC4gVGhpcyByZW1vdmVzIGFsbCBwb3NzaWJsZSBhdXRob3JpdHkgdXAgdG8gR29vZ2xlLiBBZnRlciB0aGF0IG9ubHkgR29vZ2xlIGF1dGhvcml0eSBjYW4gcHVsbCB0aGF0IGRhdGEgb3V0IG9mIGl0J3MgaGlzdG9yeSBzZXJ2ZXJzLiBJZiB0aGUgYXR0YWNrZXJzIGV2ZXIgbWFrZSBpdCB0aGF0IGZhciB1cCAod2hpY2ggdGhleSBoYXZlIGJlZm9yZSksIHRoaXMgYXR0YWNrIGNoYWluIGNhbiBnbyBvbiBsaXRlcmFsbHkgZm9yZXZlciBvciB1bnRpbCBZb3VUdWJlIGlzIHNodXRkb3duIGFuZCByZWJvb3RlZCAoYXMgdGhleSBkbyB3aXRoIGFjY291bnRzKSBmb3IgdGhhdCB3b3VsZCByZXF1aXJlIGV2ZW4gaGlnaGVyIGFjY2VzcyB3aXRoaW4gdGhlIEdvb2dsZSBhdXRob3JpdHkgY2hhaW4uIEV2ZW50dWFsbHkgeW91IGdldCB0byBhIHBvaW50IHdoZXJlIGl0J3MgcG9zc2libGUgZm9yIGFuIGF0dGFja2VyIHRvIGdhaW4gZnVsbCBjb250cm9sbGluZyBhY2Nlc3Mgb2YgZ29vZ2xlIGJlY2F1c2Ugb2YgYSB0b2tlbiBmcm9tIGEgY2hhbm5lbCB1c2VyIG9uIGEgc2lkZS1sZWcgb2YgdGhlIHNhbWUgaW50ZXJuYWwgc3lzdGVtIGFzIEdvb2dsZS4gUmVtZW1iZXIgd2hlbiBGYWNlYm9vayB3ZW50IG9mZmxpbmUgZm9yIGEgZGF5LCB0aGlzIGNvdWxkIGJlIGJpZ2dlci4KPGJyPiZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyBUaGVzZSBiaWcgY2xvdWQgaW5mcmFzdHJ1Y3R1cmVzIG1heSBiZSBkaXN0cmlidXRlZCBidXQgYXJlIGFsbCBjZW50cmFsaXppbmdseSBjb250cm9sbGVkIHZpYSB0aGUgY29uc2Vuc3VzIHdhbGwgYnkgc2ltcGx5IG5vdCBoYXZpbmcgYSBjb25zZW5zdXMgYmFzZWQgb24gcHJvb2ZzIGFuZCB3b3JrLiBJbnN0ZWFkIHRoZXkgYXJlIGJhc2VkIG9uIHRydXN0IGFuZCBoaWRpbmcgdGhpbmdzIHRoZSBiZXN0IHRoZSBjb3Jwb3JhdGlvbihzKSBjYW4uCjxicj4KPGJyPiZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyBUaGVyZSBhcmUgc29sdXRpb25zIGJ1dCB1bmZvcnR1bmF0ZWx5IGV2ZW4gdGhvc2UgYXJlIGZsYXdlZCBzdGlsbCBhdCB0aGUgbW9tZW50LlRoZSBsYXN0IDIwIHllYXJzIGhhZCBhICI8aT5KdW1wIEluIFRlY2hub2xvZ3k8L2k+IiBidXQgaW4gcmVhbGl0eSB0aGUgbWFjaGluZSBvciBoYXJkd2FyZSBoYXMgIjxpPjxiPkp1bXBlZCBJbiBUZWNobm9sb2d5PC9iPjwvaT4iIGJ1dCB0aGF0J3MgcmVhbGx5IGFib3V0IGl0LiBUaGUgdGVjaG5pY2FsIHNvZnR3YXJlICI8Yj5KdW1wPC9iPiIgd2FzIGFsbCBhIGZhw6dhZGUsIGl0IHdhcyBleGNlbCBiYXNlZCBkYXRhYmFzZSB0ZWNobmlxdWVzIGFjdGluZyBhcyByZWFsIG1hdGhlbWF0aWNhbCBvciBzY3JpcHQtd2lzZSBzb2x1dGlvbnMuIEluc3RlYWQgd2UgZ290IEFQSSB0byBzcHJlZWRzaGVldGluZy4gVGhpcyBpcyB3aHkgYmxvY2tjaGFpbiBkYXRhYmFzaW5nIGlzIGhlbHBpbmcgcmVtb3ZlIG1hbnkgYXR0YWNrIHZlY3RvcnMgYnkgcmVtb3ZpbmcgbGVncyBhbmQgc2ltcGxpZnlpbmcgb3Igc2NhbGluZy1kb3duIHRoZSBsYW5kc2NhcGUgaW4gd2hpY2ggYXR0YWNrcyBjYW4gZXZlbiBiZSBtYWRlLjxicj4mbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgSWYgdGhlIExUVCBZb3VUdWJlIENoYW5uZWwgSGFjayB0YXVnaHQgcGVvcGxlIGFueXRoaW5nIGlzIHRoYXQgYWxsIG9mIHRoZSBvdmVyLXRoZS1pbnRlcm5ldCBzZWN1cml0aWVzIGFyZSBhbGwgZmHDp2FkZXMgYW5kIHdpbGwgZmFpbCwgeW91IGNhbiBlaXRoZXIga2VlcCBtb3ZpbmcgZnJvbSBmbGF3IHRvIGZsYXcganVzdCBtaXRpZ2F0aW5nIHRoZSB0aW1lIGJlZm9yZSB5b3VyIG5leHQgaGl0IG9yIHlvdSBjYW4gY2hhbmdlIHN5c3RlbXMgYW5kIGhhc2ggeW91ciBsaWZlIHdpdGggaGFzaGxpbmtzLCBoYXNoZWQtbWVzaG5ldHMsIGR5bmFtaWMtaGFzaGluZyB3ZWItYXBwbGljYXRpb25zIGZvciB2ZXJpZmlhYmxlIGRhdGEtQVBJIHN0cnVjdHVyZXMuIExldCdzIHJlbW92ZSB0cnVzdCBhbmQgdGFrZSBiYWNrIHRoZSBpbnRlcm5ldC4gVGhlIGxvbmdlciB3ZSBsZXQgY29tcGFuaWVzIHNlZSB3aGF0IHdlIGRvIHRocm91Z2ggdGhlaXIgaGlkZGVuIGNvbW11bmljYXRpb25zLCB0aGUgbW9yZSB0aG9zZSBzeXN0ZW1zIHdpbGwgYmUgaGl0IGJ5IGF0dGFja2VycywgaGFja2VycywgYm90cyBhbmQgZ292ZXJubWVudHMuIFRoaXMgaXMgd2h5LCB0aGV5IHdpbGwgZmFpbCBmb3JldmVyIHVudGlsIHRoZXkgY29tcGxldGVseSByZW1vdmUgdGhlaXIgZXllcyBmcm9tIHRoZSBkaWdpdGFsIGxhbmRzY2FwZS48L3NwYW4+PC9oND48L2xhYmVsPiZuYnNwOyA8bGFiZWw+PHNwYW4gYWxpZ249InJpZ2h0IiBzdHlsZT0icmlnaHQ6MDsiPjxoNCBzdHlsZT0ibWFyZ2luLXRvcDotMi41dnc7bWFyZ2luLWJvdHRvbTotMnZ3OyI+PHNwYW4gYWxpZ249InJpZ2h0IiBzdHlsZT0icmlnaHQ6MDsiIGlkPSJvdXRib3R0Ij4zRG91Z2xhcyAiPGI+PGk+M0Q8L2k+PC9iPiIgUGlobDwvc3Bhbj4gJm5ic3A7IEA8c3BhbiBpZD0iYXV0aG9ybmFtZSI+SUZ0ZG9DQ2dRRE5FYjNWbmJHRnpJQ0k4WWo0OGFUNHpSRHd2YVQ0OEwySStJaUJRYVdoc29DQ2dJRnNqVnpBeFZWZFVVazVTUm13MVZHMXdjazB3TlVWVVdHUk9aSG93T1ZoVFFUWlBhVUppVW10V1EwNUVTWGROYWs1a1hTQT08L3NwYW4+PC9oND4KJm5ic3A7ICZuYnNwOzxzcGFuIHN0eWxlPSJ3aWR0aDo1dnc7bWFyZ2luLXRvcDotMy41dnc7bWFyZ2luLWJvdHRvbTotMC41dnc7IiBpZD0iYWRoZXJlIiBhbGlnbj0ibGVmdCIgb25jbGljaz0idGhpcy5zdHlsZS5kaXNwbGF5PSdub25lJzsgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2FkbGluaycpLnN0eWxlLmRpc3BsYXk9J25vbmUnOyBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnYWR0ZXh0aW4nKS5zdHlsZS5kaXNwbGF5PSdub25lJzsiPjxicj48L3NwYW4+PHNwYW4gYWxpZ249ImNlbnRlciIgaWQ9ImFkaW1nIiBzdHlsZT0id2lkdGg6OTglO3JpZ2h0OjUwO2xlZnQ6NTA7aGVpZ2h0OmF1dG87IiBvbmNsaWNrPSJ0aGlzLnN0eWxlLmRpc3BsYXk9J25vbmUnOyI+PGEgYWxpZ249ImNlbnRlciIgaHJlZj0iIiB0YXJnZXQ9Il9ibGFuayIgOz0iIiByZWw9Im5vcmVmZXJyZXIgbm9vcGVuZXIiPjxpbWcgc3JjPSJJbWFnZSBMaW5rIiBzdHlsZT0id2lkdGg6OTglOyBhbGlnbjpjZW50ZXI7IiBhbGlnbj0iY2VudGVyIj48L2E+PC9zcGFuPgombmJzcDs8bGFiZWw+PGhyIHN0eWxlPSJtYXJnaW4tdG9wOjAuNXZ3O21hcmdpbi1ib3R0b206LTAuNzV2dzsiPjxoMyBhbGlnbj0iY2VudGVyIj48c3BhbiBpZD0icHJlbmFtZSI+PHN1Yj5JZiB5b3UgbGlrZWQgdGhpcyBQdnRQcHIgcGxlYXNlIGNvbnNpZGVyIGRvbmF0aW5nIHRvIHRoZSBhdXRob3IsIDNEb3VnbGFzICI8Yj48aT4zRDwvaT48L2I+IiBQaWhsLCBieSB1c2luZyB0aGUgY3J5cHRvLWFkZHJlc3Mgb3IgQ29pbnRyZWUgbGluayBiZWxvdy4gJm5ic3A7IFRoYW5rIHlvdS48L3N1Yj48YnI+PGJyPjwvc3Bhbj48c3ViPjxzcGFuIGFsaWduPSJsZWZ0Ij48Yj48aT48c3BhbiBpZD0iYnRjYWRkeSI+V0FYUDovLzNELk5pbmphPC9zcGFuPjwvaT48L2I+PC9zcGFuPiAmbmJzcDsgPGI+PHNwYW4gYWxpZ249InJpZ2h0Ij48aT48c3BhbiBpZD0ibHRjYWRkeSI+PGEgaHJlZj0iaHR0cHM6Ly9jb2ludHIuZWUvM0RfIiB0YXJnZXQ9Il9ibGFuayIgc3R5bGU9InRleHQtZGVjb3JhdGlvbjpub25lO2NvbG9yOmRhcmtncmVlbjsiPjNEXydzIENvaW50ci5lZTwvYT48L3NwYW4+PC9pPjwvc3Bhbj48L2I+PC9zdWI+PC9oMz48aDQgaWQ9InR1YmVhaXIiIGFsaWduPSJjZW50ZXIiIHN0eWxlPSJkaXNwbGF5OiBub25lOyI+PHN1cD5QdnRQcHJzIGNhbiBiZSBtb25ldGl6ZWQgYnkgQml0dHViZSBBaXJ0aW1lICZhbXA7IHRvIGhlbHAgdGhlIGF1dGhvciBnaWFuICQ8aT5UVUJFUzwvaT4gZnJvbSB5b3UgcmVhZGluZyB0aGlzIHBhcGVyLCBwbGVhc2UgdXNlIG9yIGluc3RhbGwgdGhlIDxzcGFuIG9uY2xpY2s9IndpbmRvdy5vcGVuKCdodHRwczovL2Nocm9tZS5nb29nbGUuY29tL3dlYnN0b3JlL2RldGFpbC9iaXR0dWJlLWFpcnRpbWUtZG9uYXRpb25zL2Nub2diYm1jaWZmcGlibWtwaG9ocGViZ2htb21hZW1pJykiIHN0eWxlPSJjb2xvcjpncmVlbjsiPkJpdHR1YmUgQWlydGltZSBFeHRlbnNpb248L3NwYW4+IG9yIHVzZSB0aGUgPHNwYW4gc3R5bGU9ImNvbG9yOmdyZWVuIiBvbmNsaWNrPSJ3aW5kb3cub3BlbignaHR0cHM6Ly9iaXR0dWJlLmFwcCcpIj5CaXR0dWJlIEJyb3dzZXI8L3NwYW4+Ljwvc3VwPjwvaDQ+PC9sYWJlbD4KJm5ic3A7PGRpdiBhbGlnbj0iY2VudGVyIj48bGFiZWw+PGg1IHN0eWxlPSJtYXJnaW4tdG9wOi0ydnc7Ij48c3BhbiBzdHlsZT0ibGVmdDowOyBtYXJnaW4tcmlnaHQ6Mi41dnc7bWFyZ2luLWxlZnQ6LTEuNXZ3OyIgYWxpZ249ImxlZnQiPk1hZGUmbmJzcDt3aXRoJm5ic3A7PHNwYW4gaWQ9IkRGQ2FiaW5ldCIgc3R5bGU9InRleHQtZGVjb3JhdGlvbjpub25lOyI+PGEgaHJlZj0iaHR0cHM6Ly9QdnRQcHIuYXBwL1dyaXRlIiB0YXJnZXQ9Il9ibGFuayI+UHZ0UHByJm5ic3A7R2VuZXJhdG9yJm5ic3A7TGl0ZTwvYT48L3NwYW4+PHN1cD48c3VwIGlkPSJ5ZWFyMSI+MjAyMzwvc3VwPjwvc3VwPjwvc3Bhbj4gPHNwYW4gaWQ9InByZXYiIHN0eWxlPSJtYXJnaW4tdG9wOi0xLjVweDttYXJnaW4tYm90dG9tOjEuNXB4OyBtYXJnaW4tbGVmdDoyLjV2dzsgcmlnaHQ6MDsgbWFyZ2luLXJpZ2h0Oi0xLjV2dztib3JkZXItcmFkaXVzOjE1JTtwYWRkaW5nOjNweDsiIGFsaWduPSJyaWdodCI+PGEgaHJlZj0iaHR0cHM6Ly95b3V0dWJlLmNvbS9wbGF5bGlzdD9saXN0PVBMQ2t6VFhlMEJFcHhleXNFYzNnNVg2a0xoZlFYWTdMVTUiIHRhcmdldD0iX2JsYW5rIiByZWw9Im5vb3BlbmVyIG5vcmVmZXJyZXIiIHN0eWxlPSJib3JkZXI6IDAuMDF2dyBzb2xpZCBkYXJrZ3JlZW47IGJhY2tncm91bmQtY29sb3I6bGltZWdyZWVuOyBjb2xvcjpibGFjazsgYm94LXNoYWRvdzpkaW1ncmV5IDNweCA2cHggOXB4OyB0ZXh0LWRlY29yYXRpb246bm9uZTsiPlByZXZpb3VzJm5ic3A7UGFwZXI8L2E+PC9zcGFuPjwvaDU+PC9sYWJlbD48c3BhbiBzdHlsZT0iYm94LXNoYWRvdzpkaW1ncmV5IDNweCA2cHggOXB4O2xlZnQ6MDsiIGFsaWduPSJsZWZ0IiBpZD0iY2VydGFibGUiPjxhIGhyZWY9Imh0dHBzOi8vcHZ0cHByLmFwcC9jZXJ0cyIgdGFyZ2V0PSJfYmxhbmsiIHN0eWxlPSJ0ZXh0LWRlY29yYXRpb246bm9uZTtiYWNrZ3JvdW5kLWNvbG9yOmJsYWNrO2NvbG9yOndoaXRlOyI+R2V0Jm5ic3A7YSZuYnNwO0NlcnRhYmxlPC9hPjwvc3Bhbj48L2Rpdj4KJm5ic3A7PGhyPjxzcGFuIGlkPSJxcmltZyIgY2xhc3M9InFyaW1nIiBhbGlnbj0icmlnaHQiIHN0eWxlPSJyaWdodDowO21hcmdpbi1sZWZ0OjUwJTsiPjxpbWcgY2xhc3M9InFyaW1nIiBzcmM9Imh0dHBzOi8venhpbmcub3JnL3cvY2hhcnQ/Y2h0PXFyJmFtcDtjaHM9MTE1eDExNSZhbXA7Y2hsZD1IfDEmYW1wO2Nob2U9VVRGLTgmYW1wO2NobD1odHRwczovL3R3aXR0ZXIuY29tL1owTThJM0QiIGFsaWduPSJyaWdodCI+PC9zcGFuPjxzcGFuIHN0eWxlPSJvcGFjaXR5OjAuNTM7Y29sb3I6Z3JleTsiIGFsaWduPSJsZWZ0Ij4mbmJzcDsKJm5ic3A7PGJyPjxzcGFuIG9uY2xpY2s9ImFsYWxlcnQoKSI+UHZ0UHByLiAyMDE4LTxzcGFuIGlkPSJ5ZWFyMiI+MjAyMzwvc3Bhbj4gPGJyPiBQcml2YXRlIFBhcGVyIDIwMTgtPHNwYW4gaWQ9InllYXIzIj4yMDIzPC9zcGFuPjwvc3Bhbj4gPGJyPgo8c3BhbiBpZD0iZm9vdGVuIiBvbmNsaWNrPSJ0aGlzLnN0eWxlLmRpc3BsYXk9J25vbmUnOyBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnZm9vdHNwJykuc3R5bGUuZGlzcGxheT0nYmxvY2snOyI+QSBUaG91Z2h0IENoaWxkIG9mIHRoZSAzIEpva2Vyczwvc3Bhbj4KPHNwYW4gaWQ9ImZvb3RzcCIgb25jbGljaz0idGhpcy5zdHlsZS5kaXNwbGF5PSdub25lJzsgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2Zvb3RjaCcpLnN0eWxlLmRpc3BsYXk9J2Jsb2NrJzsiIHN0eWxlPSJkaXNwbGF5Om5vbmUiPlVuIHBlbnNhbWllbnRvIGhpam8gZGUgbG9zIDMgY29tb2RpbmVzPC9zcGFuPgo8c3BhbiBpZD0iZm9vdGNoIiBvbmNsaWNrPSJ0aGlzLnN0eWxlLmRpc3BsYXk9J25vbmUnOyBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnZm9vdGpwJykuc3R5bGUuZGlzcGxheT0nYmxvY2snOyIgc3R5bGU9ImRpc3BsYXk6bm9uZSI+5LiJ5Liq5bCP5LiR55qE5oCd5oOz5a2p5a2QPC9zcGFuPgo8c3BhbiBpZD0iZm9vdGpwIiBvbmNsaWNrPSJ0aGlzLnN0eWxlLmRpc3BsYXk9J25vbmUnOyBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnZm9vdHJ1Jykuc3R5bGUuZGlzcGxheT0nYmxvY2snOyIgc3R5bGU9ImRpc3BsYXk6bm9uZSI+M+S6uuOBruOCuOODp+ODvOOCq+ODvOOBruaAneiAg+OBruWtkDwvc3Bhbj4KPHNwYW4gaWQ9ImZvb3RydSIgb25jbGljaz0idGhpcy5zdHlsZS5kaXNwbGF5PSdub25lJzsgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2Zvb3RzdycpLnN0eWxlLmRpc3BsYXk9J2Jsb2NrJzsiIHN0eWxlPSJkaXNwbGF5Om5vbmUiPtCc0YvRgdC70LXQvdC90L7QtSDQlNC40YLRjyAzINCU0LbQvtC60LXRgNC+0LI8L3NwYW4+CjxzcGFuIGlkPSJmb290c3ciIG9uY2xpY2s9InRoaXMuc3R5bGUuZGlzcGxheT0nbm9uZSc7IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdmb290ZHUnKS5zdHlsZS5kaXNwbGF5PSdibG9jayc7IiBzdHlsZT0iZGlzcGxheTpub25lIj5FdHQgdMOkbmt0IGJhcm4gYXYgZGUgMyBqb2thcm5hPC9zcGFuPgo8c3BhbiBpZD0iZm9vdGR1IiBvbmNsaWNrPSJ0aGlzLnN0eWxlLmRpc3BsYXk9J25vbmUnOyBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnZm9vdGVuJykuc3R5bGUuZGlzcGxheT0nYmxvY2snOyIgc3R5bGU9ImRpc3BsYXk6bm9uZSI+RWluIEdlZGFua2Vua2luZCBkZXIgMyBKb2tlcjwvc3Bhbj4KPC9zcGFuPjxicj48cCBhbGlnbj0iY2VudGVyIj48L3A+PHAgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6YmxhY2s7Y29sb3I6c2lsdmVyO2JveC1zaGFkb3c6ZGltZ3JleSAzcHggNnB4IDlweDt0ZXh0LWFsaWduOmxlZnQ7bGVmdDowO3dpZHRoOmF1dG87YnJlYWstd29yZDprZWVwLWFsbDsiIGFsaWduPSJsZWZ0IiByZWw9Im5vcmVmZXJyZXIgbm9vcGVuZXIiIHRhcmdldD0iX3NlbGYiIG9uY2xpY2s9IndpbmRvdy5vcGVuKCdodHRwczovL1B2dFBwci5hcHAvTmV3c2NoYWluJyk7Ij5SZWFkJm5ic3A7dGhlJm5ic3A7T2ZmaWNpYWwmbmJzcDtQdnRQcHImbmJzcDs8Yj48aT5OZXdzY2hhaW48L2k+PC9iPjwvcD48cCBvbmNsaWNrPSJBbGVydENoZWNrKCk7IiBpZD0iTGlua0NvdmVyIiBzdHlsZT0iY29sb3I6c2lsdmVyO3dvcmQtYnJlYWs6a2VlcC1hbGw7d2hpdGUtc3BhY2U6bm93cmFwO3dvcmQtd3JhcDpub3JtYWw7bWFyZ2luLXRvcDotMnZ3O3RleHQtYWxpZ246cmlnaHQ7YmFja2dyb3VuZC1jb2xvcjpibGFjaztib3gtc2hhZG93OmRpbWdyZXkgM3B4IDZweCA5cHg7Ij4zRDombmJzcDs8Yj4jPGk+MTUzMTdmZXV3Z3M4am88L2k+PC9iPjwvcD48cD48L3A+PGhyPjxicj48YnI+PC9zcGFuPjwvbGFiZWw+PC9kaXY+CjxzY3JpcHQ+wqAKCgrCoCDCoCAvLyBBZGRlZCBldmVudCBsaXN0ZW5lciB0byB0aGUgc2Nyb2xswqAKwqAgwqAgd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoJ3Njcm9sbCcswqAKwqAgwqAgwqAgwqAgwqAgwqAgbW92ZVNjcm9sbEluZGljYXRvcik7wqAKCgrCoCDCoCAvLyBHZXR0aW5nIHNjcm9sbEluZGljYXRvciBlbGVtZW50IGJ5IElEwqAKwqAgwqAgY29uc3Qgc2Nyb2xsSW5kaWNhdG9yRWx0ID3CoMKgCsKgIMKgIMKgIMKgIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdzY3JvbGxJbmRpY2F0b3InKTvCoAoKCsKgIMKgIC8vIEhlaWdodCBvZiBlbnRpcmUgd2ViIHBhZ2UgLSBoZWlnaHTCoArCoCDCoCAvLyBvZiB2aWV3YWJsZSBwb3J0aW9uIG9mIGJyb3dzZXLCoArCoCDCoCBjb25zdCBtYXhIZWlnaHQgPcKgwqAKwqAgwqAgwqAgwqAgd2luZG93LmRvY3VtZW50LmJvZHkuc2Nyb2xsSGVpZ2h0wqDCoArCoCDCoCDCoCDCoCAtIHdpbmRvdy5pbm5lckhlaWdodDvCoAoKCsKgIMKgIGZ1bmN0aW9uIG1vdmVTY3JvbGxJbmRpY2F0b3IoZSkge8KgCgoKwqAgwqAgwqAgwqAgLy8gQ2FsY3VsYXRpbmcgd2lkdGggb2YgdGhlwqDCoArCoCDCoCDCoCDCoCAvLyBzY3JvbGxJbmRpY2F0b3IgZWxlbWVudMKgCsKgIMKgIMKgIMKgIGNvbnN0IHBlcmNlbnRhZ2UgPcKgwqAKwqAgwqAgwqAgwqAgwqAgwqAgKCh3aW5kb3cuc2Nyb2xsWSkgLyBtYXhIZWlnaHQpICogMTAwO8KgCgoKwqAgwqAgwqAgwqAgLy8gUGl4ZWxzIHNjcm9sbGVkIGJ5IHRoZSB1c2VywqDCoArCoCDCoCDCoCDCoCAvLyB0byB0b3RhbCBzY3JvbGxhYmxlIFBpeGVsc8KgCsKgIMKgIMKgIMKgIHNjcm9sbEluZGljYXRvckVsdC5zdHlsZS53aWR0aMKgCsKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgPSBwZXJjZW50YWdlICsgJyUnO8KgCsKgIMKgIH3CoAo8L3NjcmlwdD4mbmJzcDsKPHNjcmlwdD4KwqAKwqBmdW5jdGlvbiBhbGFsZXJ0KCl7CsKgIGFsZXJ0KCdIZWxsbyAmIFdlbGNvbWUgdG8gdGhlIHRoaXMgUHZ0UHByIFtwcsSrdml0IHDEgXDJmXJdLlxuXG5QdnRQcHIgaXMgYnJvdWdodCB0byB5b3UgYnkgM0csIDNEICYgRS1ULlxuXG5UaGlzIGlzIGhvYXN0ZWQgYnkgZXhwZXJpbWVudGFsIHRlY2hub2xvZ3kgaW4gaGFzaGxpbmtzIHRvIHN0b3JlIGFsbCBvZiB0aGUgY29kZSArIHRleHQgZGlyZWN0bHkgaW50byB0aGUgbGluay5cblxuU2VydmVycy9Ob2RlcyBhcmUgdXNlZCBmb3IgZGVjcnl0aW5nIHRoZSBoYXNobGluayBmb3IgdGhlIGJyb3dzZXIgdG8gZGlzcGxheSB0aGUgaW50ZXJuYWwgaW5mb3JtYXRpb24gYnV0IHRoZXkgY2FuIGJlIGRlY3J5cHRlZCB3aXRob3V0IHNlcnZlcnMuXG5cblxuVGhhbmsgeW91LlxuwqAgwqAgwqBbTFMwelJBOjpKQU4xNjIwMjBdXG5cbsKgIMKgIMKgTGFzdCBVcGRhdGUgW0FQUjA3MjAyMjo6TFMwelJBXScpOwrCoH0KwqBmdW5jdGlvbiBBbGVydENoZWNrKCkgewrCoCBhbGVydCgiWW91IGNsaWNrZWQgb24gYW4gZWFzdGVyIGVnZy5cblxuVGhpcyBQdnRQcHIgd2FzIG1hZGUgd2l0aCB0aGUgUHZ0UHByIEdlbmVyYXRvciAoUFBHZW4pLiBUaGlzIGlzIGEgbmV3c3BhcGVyIHN5c3RlbSB3aXRoIGV2ZXJ5b25lIGluIG1pbmQuIEFueW9uZSBjYW4gdXNlIG91ciBnZW5lcmF0b3JzIHRvIGJ1aWxkIHRoZWlyIG93biBwcml2YXRlIHBhcGVyIChQdnRQcHIpIHdpdGggYWxsIHRoZSBkYXRhIHN0b3JlZCBpbiB0aGUgbGluayBpbnN0ZWFkIG9mIGEgc2VydmVyLlxuXG5cblxuVGhhbmsgWW91XG7CoCDCoCDCoFtMUzB6UkE6OkZFQjE4MjAyMF1cblxuwqAgwqAgwqBMYXN0IFVwZGF0ZSBbQVBSMDcyMDIyOjpMUzB6UkFdIik7CsKgfQrCoAo8L3NjcmlwdD4KPG1ldGEgbmFtZT0iYWlydGltZS1wbGF0Zm9ybS1kaXNwbGF5IiBjb250ZW50PSIiPjxtZXRhIG5hbWU9ImFpcnRpbWUtcGxhdGZvcm0taWQiIGNvbnRlbnQ9IiI+PHNjcmlwdCBzcmM9Imh0dHBzOi8vYml0dHViZWFwcC5jb20vdHViZXBheS9haXJ0aW1lLmxvYWRlci5qcyIgZGF0YS12ZXJpZnk9Im1ldGEiIGRhdGEtYXV0b3N0YXJ0PSJ0cnVlIj48L3NjcmlwdD48L2E+
- Protocol
- H2
- Security
- TLS 1.3,
, AES_128_GCM
- Server
-
104.198.61.223
Council Bluffs, United States,
ASN15169
(GOOGLE, US),
- Reverse DNS
- 223.61.198.104.bc.googleusercontent.com
- Software
-
/
- Resource Hash
- e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
|
GET
|
|
airtime.loader.js
bittubeapp.com/tubepay/
Frame 977F
|
0
0
|
|
|
|
|
|