GET
H2
|
200
|
Primary Request
/
Show response
itty.bitty.site/
Redirect Chain
-
http://3dd.in/atomicpg1
-
https://tinyurl.com/erb52kxk
-
https://itty.bitty.site/
|
2 KB
1019 B
|
310ms
57ms
|
Document
text/html |
2a05:d014:275:cb02:7bc2:ee46:f4f6:be94
AMAZON-02
|
|
|
GET
H2
|
200
|
index.css
itty.bitty.site/
|
6 KB
2 KB
|
71ms
65ms
|
Stylesheet
text/css |
2a05:d014:275:cb02:7bc2:ee46:f4f6:be94
AMAZON-02
|
|
|
GET
H2
|
200
|
lzma-d-min.js
Show response
itty.bitty.site/js/lzma/
|
7 KB
3 KB
|
70ms
65ms
|
Script
application/javascript |
2a05:d014:275:cb02:7bc2:ee46:f4f6:be94
AMAZON-02
|
|
|
GET
H2
|
200
|
bitty.js
Show response
itty.bitty.site/
|
17 KB
6 KB
|
71ms
67ms
|
Script
application/javascript |
2a05:d014:275:cb02:7bc2:ee46:f4f6:be94
AMAZON-02
|
|
|
GET
H2
|
200
|
index.js
Show response
itty.bitty.site/
|
18 KB
6 KB
|
226ms
223ms
|
Script
application/javascript |
2a05:d014:275:cb02:7bc2:ee46:f4f6:be94
AMAZON-02
|
|
|
GET
H2
|
200
|
pako.min.js
Show response
itty.bitty.site/js/gzip/
|
43 KB
14 KB
|
104ms
102ms
|
Script
application/javascript |
2a05:d014:275:cb02:7bc2:ee46:f4f6:be94
AMAZON-02
|
|
|
GET
DATA
|
200
OK
|
truncated
Show response
/
Frame FD4C
|
35 KB
35 KB
|
|
Document
text/html |
|
|
|
GET
H2
|
200
|
nft-card.min.js
Show response
unpkg.com/embeddable-nfts@0.5.1/dist/
Frame FD4C
Redirect Chain
-
https://unpkg.com/embeddable-nfts/dist/nft-card.min.js
-
https://unpkg.com/embeddable-nfts@0.5.1/dist/nft-card.min.js
|
1 MB
320 KB
|
47ms
46ms
|
Script
application/javascript |
2606:4700::6810:7caf
CLOUDFLARENET
|
|
General
- Full URL
- https://unpkg.com/embeddable-nfts@0.5.1/dist/nft-card.min.js
- Requested by
- Host: text
URL: data:text/html;charset=utf-8;base64,PG1ldGEgY2hhcnNldD0idXRmLTgiPjxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgiPjxiYXNlIHRhcmdldD0iX3RvcCI+PHN0eWxlIHR5cGU9InRleHQvY3NzIj5ib2R5e21hcmdpbjowIGF1dG87cGFkZGluZzoxMnZtaW4gMTB2bWluO21heC13aWR0aDozNWVtO2xpbmUtaGVpZ2h0OjEuNWVtO2ZvbnQtZmFtaWx5Oi1hcHBsZS1zeXN0ZW0sQmxpbmtNYWNTeXN0ZW1Gb250LHNhbnMtc2VyaWY7d29yZC13cmFwOmJyZWFrLXdvcmQ7fUBtZWRpYShwcmVmZXJzLWNvbG9yLXNjaGVtZTogZGFyayl7Ym9keXtjb2xvcjp3aGl0ZTtiYWNrZ3JvdW5kLWNvbG9yOmJsYWNrO319PC9zdHlsZT4gPGEgdGFyZ2V0PSJfdG9wIiBpZD0ibGluayIgbmFtZT0ibGluayIgc3R5bGU9ImRpc3BsYXk6IGJsb2NrOyBvdmVyZmxvdy13cmFwOiBicmVhay13b3JkOyBzY3JvbGwtYmVoYXZpb3I6IHNtb290aDsiPjxkaXYgaWQ9ImljaGVjayIgc3R5bGU9Im1hcmdpbi10b3A6LTd2dzsiPgoKCiZuYnNwOzxzdHlsZT4gLmxpbmUge2JhY2tncm91bmQ6IGJsYWNrO29wYWNpdHk6IDAuNTtoZWlnaHQ6IDQuNXB4Oy13ZWJraXQtYm94LXNoYWRvdzogMnB4IC0ycHggM3B4IGRpbWdyZXk7Ym94LXNoYWRvdzogMnB4IC0ycHggM3B4IGRpbWdyZXk7d2lkdGg6IDAlO3Bvc2l0aW9uOiBmaXhlZDtib3R0b206IDA7bGVmdDowO2FsaWduOmNlbnRlcjt6LWluZGV4Ojg7fcKgIMKgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogOS45aW4pIHsgLnFyaW1nIHthbGlnbjogcmlnaHQ7cmlnaHQ6MDttYXJnaW4tcmlnaHQ6LTMuNSU7bWFyZ2luLWJvdHRvbTotNTAlO3BhZGRpbmctcmlnaHQ6LTEuNSU7d2lkdGg6MzAlO30gLnRvcGJhciB7bWFyZ2luLXRvcDotM3Z3O21hcmdpbi1sZWZ0Oi0zdnc7bWFyZ2luLXJpZ2h0Oi0zdnc7fSAubGluZSB7bWFyZ2luLWxlZnQ6MC41JTthbGlnbjpjZW50ZXI7bGVmdDowO319IEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEwaW4pIHsgLnFyaW1nIHthbGlnbjogcmlnaHQ7bWFyZ2luLWJvdHRvbTotNTAlO3dpZHRoOjIwJTt9LmxpbmUge21hcmdpbi1sZWZ0OjAlO2FsaWduOmNlbnRlcjtsZWZ0OjA7fX3CoCA8L3N0eWxlPiZuYnNwOyA8ZGl2IGNsYXNzPSJsaW5lIiBpZD0ic2Nyb2xsSW5kaWNhdG9yIj48L2Rpdj48L2Rpdj48c2NyaXB0IHNyYz0iaHR0cHM6Ly91bnBrZy5jb20vZW1iZWRkYWJsZS1uZnRzL2Rpc3QvbmZ0LWNhcmQubWluLmpzIj48L3NjcmlwdD48ZGl2IGlkPSJiYWNrZ3JvdW5kIiBzdHlsZT0ibWFyZ2luLWJvdHRvbTotMTV2dzsiPjxsYWJlbD48aDEgc3R5bGU9Im1hcmdpbi1ib3R0b206LTJ2dzsiPjxzcGFuIHN0eWxlPSJsZWZ0OjA7IiBhbGlnbj0ibGVmdCIgaWQ9Im91dHRvcCI+PGRpdiBpZD0idG9wYmFyIiB6LWluZGV4Ojk7PSIiIGNsYXNzPSJ0b3BiYXIiIGFsaWduPSJjZW50ZXIiIHN0eWxlPSJwb3NpdGlvbjpmaXhlZDt0ZXh0LWFsaWduOmNlbnRlcjtiYWNrZ3JvdW5kOiByZ2IoMjU1LDI1MCwyNTApOyBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoNmRlZywgcmdiKDI1NSwyNTUsMjU1LDAuNTApIDAlLCByZ2IoMjU1LDI1NSwyNTUsMC43NSkgMTglLCByZ2IoMjU1LDI1NSwyNTUsMSkgMjUlKTtwYWRkaW5nLXRvcDozMHZ3OyBwYWRkaW5nLWxlZnQ6MTB2dzsgcGFkZGluZy1ib3R0b206LTEwdnc7IHBhZGRpbmctcmlnaHQ6MTB2dzt0b3A6MDtsZWZ0OjUwO3JpZ2h0OjUwO21hcmdpbi10b3A6LTI3LjV2dzttYXJnaW4tbGVmdDotMTQuNXZ3O21hcmdpbi1ib3R0b206LTV2dzttYXJnaW4tcmlnaHQ6LTE2dnc7Ij48aDMgY2xhc3M9Im5hdnQiIGlkPSJuYXZ0IiBhbGlnbj0iY2VudGVyIiBzdHlsZT0icGFkZGluZzoxLjVweCAxLjVweCAxLjUlIDEuNXB4O21hcmdpbjotMC4xJSAxNSUgMCUgMTUlO3otaW5kZXg6OTk7IiByZWw9Im5vcmVmZXJyZXIgbm9vcGVuZXIiIHRhcmdldD0iX2JsYW5rIj5BdG9taWNBc3NldCBHdWlkZSA8c3VwPjxzdWI+KDxiPjxpPldBWCA8c3ViPnZlcnNpb248L3N1Yj48L2k+PC9iPik8L3N1Yj48L3N1cD48L2gzPiA8aHIgc3R5bGU9ImJvcmRlcjoxLjVweCBzb2xpZCBsaWdodGdyZXk7Ym94LXNoYWRvdzoxcHggMXB4IDFweCBzaWx2ZXIgaW5zZXQ7bWFyZ2luLXRvcDotMC43NSU7d2lkdGg6OTglO21hcmdpbi1ib3R0b206LTJ2dzsiPiZuYnNwOyA8ZGl2IGNsYXNzPSJuYXYiIGFsaWduPSJjZW50ZXIiIHN0eWxlPSJvdmVyZmxvdzphdXRvO2RpcmVjdGlvbjpsdHI7bWFyZ2luLWJvdHRvbTotMi4yNSU7c2Nyb2xsLWJlaGF2aW9yOnNtb290aDtzY3JvbGwtYmFyOnRyYW5zcGFyZW50OyB3aGl0ZS1zcGFjZTpub3dyYXA7YnJlYWstd29yZDprZWVwLWFsbDsiPiZuYnNwOzxidXR0b24gY2xhc3M9Im5hdmJ1dHRvbiIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6cmdiKDI1NSwyNTAsMjUwLDAuNzcpO2NvbG9yOmJsYWNrO2JvcmRlcjoxcHggc29saWQgc2lsdmVyO2JveC1zaGFkb3c6MnB4IDJweCA0cHggc2lsdmVyIGluc2V0O3BhZGRpbmc6MCUgMS41JSAwJSAxLjUlO21hcmdpbjotM3Z3IDB2dyAxLjV2dyAwdnc7IiBvbmNsaWNrPSJ3aW5kb3cub3BlbignaHR0cHM6Ly93YXguaW8nKSIgdGFyZ2V0PSJfYmxhbmsiIHJlbD0ibm9vcGVuZXIgbm9yZWZlcnJlciI+R2V0IGEgV2F4IFdhbGxldDwvYnV0dG9uPiZuYnNwOyZuYnNwOzxidXR0b24gY2xhc3M9Im5hdmJ1dHRvbiIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6cmdiKDI1NSwyNTAsMjUwLDAuNzcpO2NvbG9yOmJsYWNrO2JvcmRlcjoxcHggc29saWQgc2lsdmVyO2JveC1zaGFkb3c6MnB4IDJweCA0cHggc2lsdmVyIGluc2V0O3BhZGRpbmc6MCUgMS41JSAwJSAxLjUlO21hcmdpbjotM3Z3IDB2dyAxLjV2dyAwdnc7IiBvbmNsaWNrPSJ3aW5kb3cub3BlbignaHR0cHM6Ly9hbGwtYWNjZXNzLndheC5pbycpIiB0YXJnZXQ9Il9ibGFuayIgcmVsPSJub29wZW5lciBub3JlZmVycmVyIj5XYXggQ2xvdWQgV2FsbGV0IDxzdXA+PHN1Yj4oZ3JlYXQgZm9yIHN0YXJ0ZXJzKTwvc3ViPjwvc3VwPjwvYnV0dG9uPiZuYnNwOyZuYnNwOzxidXR0b24gY2xhc3M9Im5hdmJ1dHRvbiIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6cmdiKDI1NSwyNTAsMjUwLDAuNzcpO2NvbG9yOmJsYWNrO2JvcmRlcjoxcHggc29saWQgc2lsdmVyO2JveC1zaGFkb3c6MnB4IDJweCA0cHggc2lsdmVyIGluc2V0O3BhZGRpbmc6MCUgMS41JSAwJSAxLjUlO21hcmdpbjotM3Z3IDB2dyAxLjV2dyAwdnc7IiBvbmNsaWNrPSJ3aW5kb3cub3BlbignaHR0cHM6Ly93YXguYXRvbWljaHViLmlvL2NyZWF0b3InKSIgdGFyZ2V0PSJfYmxhbmsiIHJlbD0ibm9vcGVuZXIgbm9yZWZlcnJlciI+QXRvbWljaHViIChjcmVhdG9yKTwvYnV0dG9uPiZuYnNwOyZuYnNwOzxidXR0b24gY2xhc3M9Im5hdmJ1dHRvbiIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6cmdiKDI1NSwyNTAsMjUwLDAuNzcpO2NvbG9yOmJsYWNrO2JvcmRlcjoxcHggc29saWQgc2lsdmVyO2JveC1zaGFkb3c6MnB4IDJweCA0cHggc2lsdmVyIGluc2V0O3BhZGRpbmc6MCUgMS41JSAwJSAxLjUlO21hcmdpbjotM3Z3IDB2dyAxLjV2dyAwdnc7IiBvbmNsaWNrPSJ3aW5kb3cub3BlbignaHR0cHM6Ly93YXguYmxva3MuaW8vJykiIHRhcmdldD0iX2JsYW5rIiByZWw9Im5vb3BlbmVyIG5vcmVmZXJyZXIiPldheCBCbG9rcy5pbzwvYnV0dG9uPiZuYnNwOyZuYnNwOzxidXR0b24gY2xhc3M9Im5hdmJ1dHRvbiIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6cmdiKDI1NSwyNTAsMjUwLDAuNzcpO2NvbG9yOmJsYWNrO2JvcmRlcjoxcHggc29saWQgc2lsdmVyO2JveC1zaGFkb3c6MnB4IDJweCA0cHggc2lsdmVyIGluc2V0O3BhZGRpbmc6MCUgMS41JSAwJSAxLjUlO21hcmdpbjotM3Z3IDB2dyAxLjV2dyAwdnc7IiBvbmNsaWNrPSJ3aW5kb3cub3BlbignaHR0cHM6Ly93YXguYmxva3MuaW8vYWNjb3VudC9hdG9taWNkcm9wc3g/bG9hZENvbnRyYWN0PXRydWUmYW1wO3RhYj1BY3Rpb25zJmFtcDthY2NvdW50PWF0b21pY2Ryb3BzeCZhbXA7c2NvcGU9YXRvbWljZHJvcHN4JmFtcDtsaW1pdD0xMDAmYW1wO2FjdGlvbj1jcmVhdGVkcm9wJykiIHRhcmdldD0iX2JsYW5rIiByZWw9Im5vb3BlbmVyIG5vcmVmZXJyZXIiPkZpbmQgQXRvbWljZHJvcHN4PC9idXR0b24+Jm5ic3A7Jm5ic3A7PGJ1dHRvbiBjbGFzcz0ibmF2YnV0dG9uIiBzdHlsZT0iYmFja2dyb3VuZC1jb2xvcjpyZ2IoMjU1LDI1MCwyNTAsMC43Nyk7Y29sb3I6YmxhY2s7Ym9yZGVyOjFweCBzb2xpZCBzaWx2ZXI7Ym94LXNoYWRvdzoycHggMnB4IDRweCBzaWx2ZXIgaW5zZXQ7cGFkZGluZzowJSAxLjUlIDAlIDEuNSU7bWFyZ2luOi0zdncgMHZ3IDEuNXZ3IDB2dzsiIG9uY2xpY2s9IndpbmRvdy5vcGVuKCdodHRwczovL3dheC5ibG9rcy5pby9hY2NvdW50L2JsZW5kZXJpemVyeD9sb2FkQ29udHJhY3Q9dHJ1ZSZhbXA7dGFiPUFjdGlvbnMmYW1wO2FjY291bnQ9YmxlbmRlcml6ZXJ4JmFtcDtzY29wZT1ibGVuZGVyaXplcngmYW1wO2xpbWl0PTEwMCZhbXA7YWN0aW9uPWNyZWF0ZWJsZW5kJykiIHRhcmdldD0iX2JsYW5rIiByZWw9Im5vb3BlbmVyIG5vcmVmZXJyZXIiPkZpbmQgQmxlbmRlcmlzZXJ4PC9idXR0b24+Jm5ic3A7Jm5ic3A7PGJ1dHRvbiBjbGFzcz0ibmF2YnV0dG9uIiBzdHlsZT0iYmFja2dyb3VuZC1jb2xvcjpyZ2IoMjU1LDI1MCwyNTAsMC43Nyk7Y29sb3I6YmxhY2s7Ym9yZGVyOjFweCBzb2xpZCBzaWx2ZXI7Ym94LXNoYWRvdzoycHggMnB4IDRweCBzaWx2ZXIgaW5zZXQ7cGFkZGluZzowJSAxLjUlIDAlIDEuNSU7bWFyZ2luOi0zdncgMHZ3IDEuNXZ3IDB2dzsiIG9uY2xpY2s9IndpbmRvdy5vcGVuKCdodHRwczovL3dheC5ibG9rcy5pby9hY2NvdW50L2F0b21pY3BhY2tzeD9sb2FkQ29udHJhY3Q9dHJ1ZSZhbXA7dGFiPUFjdGlvbnMmYW1wO2FjY291bnQ9YXRvbWljcGFja3N4JmFtcDtzY29wZT1hdG9taWNwYWNrc3gnKSIgdGFyZ2V0PSJfYmxhbmsiIHJlbD0ibm9vcGVuZXIgbm9yZWZlcnJlciI+RmluZCBBdG9taWNwYWNrc3g8L2J1dHRvbj4mbmJzcDsmbmJzcDs8YnV0dG9uIGNsYXNzPSJuYXZidXR0b24iIHN0eWxlPSJiYWNrZ3JvdW5kLWNvbG9yOnJnYigyNTUsMjUwLDI1MCwwLjc3KTtjb2xvcjpibGFjaztib3JkZXI6MXB4IHNvbGlkIHNpbHZlcjtib3gtc2hhZG93OjJweCAycHggNHB4IHNpbHZlciBpbnNldDtwYWRkaW5nOjAlIDEuNSUgMCUgMS41JTttYXJnaW46LTN2dyAwdncgMS41dncgMHZ3OyIgb25jbGljaz0id2luZG93Lm9wZW4oJ2h0dHBzOi8vbmVmdHlibG9ja3MuY29tLycpIiB0YXJnZXQ9Il9ibGFuayIgcmVsPSJub29wZW5lciBub3JlZmVycmVyIj5GaW5kIE5lZnR5Qmxva3M8L2J1dHRvbj4mbmJzcDsmbmJzcDs8YnV0dG9uIGNsYXNzPSJuYXZidXR0b24iIHN0eWxlPSJiYWNrZ3JvdW5kLWNvbG9yOnJnYigyNTUsMjUwLDI1MCwwLjc3KTtjb2xvcjpibGFjaztib3JkZXI6MXB4IHNvbGlkIHNpbHZlcjtib3gtc2hhZG93OjJweCAycHggNHB4IHNpbHZlciBpbnNldDtwYWRkaW5nOjAlIDEuNSUgMCUgMS41JTttYXJnaW46LTN2dyAwdncgMS41dncgMHZ3OyIgb25jbGljaz0id2luZG93Lm9wZW4oJ2h0dHBzOi8vM2RkLmluL2F0b21pY2Fzc2V0cHByJykiIHRhcmdldD0iX2JsYW5rIiByZWw9Im5vb3BlbmVyIG5vcmVmZXJyZXIiPkJ1eSBUaGlzIGFzIGFuIE5GVDwvYnV0dG9uPiZuYnNwOyZuYnNwOzwvZGl2PjwvZGl2Pjxicj48YnI+PGJyPjwvc3Bhbj48L2gxPjwvbGFiZWw+Jm5ic3A7IDxsYWJlbD48aDQgYWxpZ249InJpZ2h0IiBzdHlsZT0icmlnaHQ6MDsiPjxzcGFuIGFsaWduPSJyaWdodCIgc3R5bGU9InJpZ2h0OjA7IiBpZD0ib3V0bWlkIj48YnI+PGJyPkNyZWF0aW5nIE5GVHMgZm9yIEFsbW9zdCBBbnkgT2NjYXNzaW9uPGJyPjxicj5TZWN0aW9uIDE8L3NwYW4+PGhyIHN0eWxlPSJtYXJnaW4tYm90dG9tOi0zdnc7Ij48L2g0PjwvbGFiZWw+CiZuYnNwOyAmbmJzcDs8c3BhbiBhbGlnbj0iY2VudGVyIiBpZD0iaW1nMSIgc3R5bGU9IndpZHRoOjk2dnc7cmlnaHQ6NTA7bGVmdDo1MDtoZWlnaHQ6YXV0bzsiPjxpbWcgc3JjPSJodHRwczovL2ltYWdlcy5wZXhlbHMuY29tL3Bob3Rvcy82MzkzMzcwL3BleGVscy1waG90by02MzkzMzcwLmpwZWciIHN0eWxlPSJ3aWR0aDo5OSU7IiBhbGlnbj0iY2VudGVyIj48L3NwYW4+CjxsYWJlbD48aDQgc3R5bGU9ImZvbnQtd2VpZ2h0Om5vcm1hbDsiPjxzcGFuIGlkPSJvdXRvdXQiIHN0eWxlPSJmb250LXdlaWdodDpub3JtYWw7Ij4mbmJzcDsgJm5ic3A7ICZuYnNwOyBUaGlzIGlzIHRoZSBtb3N0IGluZm9ybWF0aXZlIFdheCBCbG9ja2NoYWluIEF0b21pY0Fzc2V0IE5GVCBndWlkZS4gWW91IGNhbiBnbyBmcm9tIG5ldmVyIG1pbnRlZCB0byBtaW50aW5nIHNlbWktcHJvIHdpdGggdGhpcyAxIHNpbmdsZSBpbnRlcmFjdGl2ZSBhcnRpY2xlLiBFYWNoIHNlY3Rpb27igJlzIGRpZmZpY3VsdHkgaXMgY2xlYXJseSBtYXJrZWQgYmVmb3JlIGl04oCZcyByZWFkYWJsZS4gSWYgeW91IGFyZSB1bnN1cmUgeW91ciBsZXZlbCBvZiBtaW50aW5nIGFiaWxpdGllcyBqdXN0IGdvIGluIG9yZGVyIGFuZCBzZWUgd2hhdCB5b3UgbWF5IGxlYXJuLCB0aXBzIGFuZCB0cmlja3MgYXJlIHNjYXR0ZXJlZCB0aHJvdWdob3V0IHRoZSBndWlkZS4gRG9u4oCZdCB3b3JyeSwgYWxsIHRoZSB0ZWNobmljYWxzIGluIHRoaXMgc2VjdGlvbiBhcmUgYnJva2VuIHVwIGludG8gc21hbGwgZnJhZ21lbnRzIHRvIG1ha2UgaXQgZWFzaWVyIHRvIGdyYXNwLiAgWW91IHdpbGwgYmUgYWJsZSB0byBtaW50IHlvdXIgb3duIE5GVHMgYXMgd2VsbCBhcyBiZSBhYmxlIHRvIGRvIHNvbWUgcHJldHR5IGZ1biBzdHVmZiBpbmNsdWRpbmcgbWludGluZyBvbiBkZW1hbmQgYW5kIE5GVCBibGVuZGluZy4gTGV04oCZcyBwdXQgeW91ciB3b3JyeSB0byBlYXNlIGFuZCBnaXZlIHlvdSB0aGUgM0QgZXhwZXJpZW5jZSB3aXRoIEF0b21pY0Fzc2V0IE5GVHMhPGJyPiZuYnNwOyAmbmJzcDsgJm5ic3A7IFRvIHB1dCB3aGF0IGFuIE5GVCBpcyBpbnRvIGEgYml0IG1vcmUgdW5kZXJzdGFuZGFibGUgZm9ybWF0LCBORlRzIGFyZSBzdHJpbmdzIG9mIGNoYXJhY3RlcnMgdG8gcmVwcmVzZW50LCBkZWxpdmVyIG9yIGNvbnRhaW4gZGF0YSBmb3IgdGhlIHVzZXIuIFRoYXTigJlzIHdoYXQgYW4gTkZUIGlzIGJ1dCB3aGF0IGFuIE5GVCBkb2VzIGlzIHdoYXQgbW9zdCBwZW9wbGUgYXJlIGZhbWlsaWFyIHdpdGguPGJyPgo8aDEgYWxpZ249ImNlbnRlciIgc3R5bGU9IuKAmXRleHQtc2hhZG93OjJweCIgMnB4PSIiIDRweD0iIiBkaW1ncmV5O+KAmT0iIj48Yj5ORlRzIGFyZSBzdHJpbmdzIG9mIGNoYXJhY3RlcnMgdGhhdCBlaXRoZXIgcmVwcmVzZW50LCBkZWxpdmVyIG9yIGNvbnRhaW4gZGF0YSBmb3IgdGhlIHVzZXIuPC9iPjxicj48L2gxPjxoMyBhbGlnbj0iY2VudGVyIj48aT48Yj4zREM0PC9iPjwvaT48Yj4gaXMgYSBzdHJpbmcgb2YgY2hhcmFjdGVycywgPGk+M0RDNDwvaT4gaXMgbGlrZSBhbiA8aT5ORlQ8L2k+PC9iPjwvaDM+PGJyPgombmJzcDsgJm5ic3A7ICZuYnNwOyA8aT4zREM0PC9pPiBkb2VzbuKAmXQgc2VlbSB0byBjb250YWluIGRhdGEgYnV0IGl0IGRvZXMsIGZvciBleGFtcGxlLCBteSBuaWNrbmFtZSA8cT48Yj4zRDwvYj48L3E+IGlzIHByZXNlbnQgYXMgd2VsbCBhcyA8cT48Yj5DNDwvYj48L3E+IHdoaWNoIGlzIHRoZSByZXByZXNlbnRhdGlvbiBvZiA8aT4zRDwvaT4gYmVjYXVzZSBEIGlzIHRoZSA0dGggY2hhcmFjdGVyIGluIHRoZSBhbWVyaWNhbiBhbHBoYWJldCB3aGlsZSBDIGlzIHRoZSAzcmQgYnV0IHRoYXQgbWVhbnMgM0QgaXMgZXF1YWwgdG8gQzQuIERvbuKAmXQgZm9yZ2V0IDxpPkM0PC9pPiBpcyB0aGUgbmFtZSBvZiBhIHR5cGUgb2YgZXhwbG9zaXZlLiBJbiB0dXJuLCA8aT4zREM0PC9pPiBkZWxpdmVycyB0aGUgbmFtZXMsIDNE4oCdIGFuZCDigJxDNOKAnSwgd2hpbGUgcmVwcmVzZW50aW5nIGVhY2ggb3RoZXIgaW4gcGVyZmVjdCBvcHBvc2l0ZSBhbHBoYW51bWVyaWMgdW5pc2Vuc2UuIEFsdGhvdWdoIHlvdSBtYXkgbm90IHBheSBhIGZldyB0aG91c2FuZCBVUyBmb3IgdGhlIHN0cmluZywgM0RDNCwgdGhlcmUgYXJlIHN0cmluZ3Mgb2YgY2hhcmFjdGVycyB0aGF0IHBlb3BsZSBoYXZlIHBhaWQgaW50byB0aGUgbWlsbGlvbnMgb2YgZG9sbGFycyBmb3IgYmVjYXVzZSB0aGUgaW1hZ2UgdGhhdCBpcyBkZWxpdmVyZWQgYnkgdGhpcyBzdHJpbmcgb2YgY2hhcmFjdGVycyB3YXMgbWFkZSBieSBhIHZlcnkgZmFtb3VzIGFydGlzdC4gVGhlIGJlc3Qgc2VsbGluZyBORlQgd2FzIGJ5IHRoZSBpbnRlcm5ldCBmYW1vdXMgYXJ0aXN0LCA8aT5CZWVwbGU8L2k+IGZvciBvdmVyIDYwIG1pbGxpb24gZG9sbGFycy48YnI+Jm5ic3A7ICZuYnNwOyAmbmJzcDsgVGhlIHN0cmluZyBmb3IgdGhpcyBiZWVwbGUgY3JlYXRlZCBORlQgZGVsaXZlcnMgZGF0YSBmcm9tIGEgc2VydmVyLCBtb3N0IGxpa2VseSBJUEZTICg8aT48Yj5JPC9iPm50ZXI8Yj5QPC9iPmxhbnRlcnkgPGI+RjwvYj5pbGUgPGI+UzwvYj55c3RlbTwvaT4pLCB3aGVyZSB0aGUgaW1hZ2UgaXMgaG9zdGVkLiBWZXJ5IGZldyBORlQgaW1hZ2VzLCB2aWRlb3MsIGdpZnMgYXJlIGhvc3RlZCBieSB0aGUgYmxvY2tjaGFpbiB0aGV5IHJlc2lkZSBpbi4gVGhlIHN0cmluZyB0aGF0IHJlcHJlc2VudHMgdGhlIE5GVCBvbiB0aGUgYmxvY2tjaGFpbiBpcyBvbiB0aGUgYmxvY2tjaGFpbiBhbmQgdGhlIGNvbnRyYWN0IHRoYXQgdGhlIE5GVCBpcyB1dGlsaXppbmcgdG8gZXhpc3Qgb3IgdG8gaW50ZXJhY3Qgd2l0aCBtb3N0IGxpa2VseSBpcyBvbiB0aGUgYmxvY2tjaGFpbiBidXQgaW50ZXJhY3RpbmcgY29udHJhY3RzIGFyZSBub3QgYWx3YXlzIG9uIGNoYWluLiBXaGF0IHRoaXMgbWVhbnMgaXMgdGhlIGRhdGEgaXNu4oCZdCBob3N0ZWQgb24tY2hhaW4gc28gaG9zdGluZyBpcyBzdGlsbCBuZWVkaW5nIHRvIGJlIGRvbmUgYnkgdGhlIE5GVCBjcmVhdG9yLiBCYXNlZCBvbiBob3cgdGhlIE5GVCBjcmVhdGlvbiBwbGF0Zm9ybSB3b3JrcyB3aXRoIGl04oCZcyB1c2VycywgeW91IG5lZWQgdG8gZGV0ZXJtaW5lIHlvdXIgaG9zdGluZyBuZWVkcy4gQmVjYXVzZSB0aGlzIGlzIGFuIEF0b21pY0Fzc2V0cyBndWlkZSwgd2Ugd2lsbCBiZSBzdG9yaW5nIG91ciBkYXRhIHdpdGggPGI+SVBGUzwvYj4gYW5kIHRoZSBtb3N0IGNvbW1vbiBwbGFjZSB3aXRoIHRoZSBwZXJmZWN0IHNldHVwIGZvciA8aT5BdG9taWNBc3NldHM8L2k+IGlzIDxhIGhyZWY9Imh0dHBzOi8vcGluYXRhLmNsb3VkIiBzdHlsZT0idGV4dC1kZWNvcmF0aW9uOm5vbmU7IiB0YXJnZXQ9IuKAmV9ibGFua+KAmSIgcmVsPSLigJlub3JlZmVycmVyIiBub29wZW5lcuKAmT0iIj48Yj5QaW5hdGEgQ2xvdWQ8c3VwPio8L3N1cD48L2I+PC9hPi4gVGhlcmXigJlzIHRvbnMgb2Ygd2F5cyB0byBzdG9yZSB5b3VyIGRhdGEgdG8gSVBGUyBhbmQgUGluYXRhIENsb3VkIGhhcyBhIHNldHVwIHRoYXQgd29ya3MgcGVyZmVjdGx5IHdpdGggdGhlICBBdG9taWNBc3NldCBORlRzIHlvdSB3aWxsIGJlIGJ1aWxkaW5nIHdpdGggdGhpcyBndWlkZS4KPGhyPgo8ZGl2IGFsaWduPSJjZW50ZXIiIHN0eWxlPSJhbGlnbjpjZW50ZXI7Ij4KPGJ1dHRvbiBpZD0ic3RlcDAiIG9uY2xpY2s9ImRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCZxdW90OzBzdGVwJnF1b3Q7KS5zdHlsZT0mcXVvdDtkaXNwbGF5OmJsb2NrJnF1b3Q7O3RoaXMuc3R5bGU9JnF1b3Q7ZGlzcGxheTpub25lJnF1b3Q7OyIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6bGlnaHRncmVlbjtjb2xvcjpibGFjaztib3JkZXI6MnB4IHNvbGlkIGdyZWVuOyIgdmFsdWU9Ik5ldmVyJm5ic3A7TWludGVkIj5OZXZlciZuYnNwO01pbnRlZDwvYnV0dG9uPgoKPGRpdiBpZD0iMHN0ZXAiIHN0eWxlPSJkaXNwbGF5Om5vbmU7Ij4KJm5ic3A7ICZuYnNwOyAmbmJzcDsgQXRvbWljQXNzZXQgTkZUIEJhc2ljcyB3aWxsIGdldCB5b3Ugc3RhcnRlZCBvbiB0aGUgcHJvY2VzcyBmb3IgbWludGluZyBhcyB3ZWxsIHNvbWUgaGVscCBpbiBmaW5kaW5nIGhvc3RpbmcgbG9jYXRpb25zIGJ1dCBtb3N0IGltcG9ydGFudGx5IGlmIHlvdSBmb2xsb3cgdGhlIHN0ZXBzIHlvdSBjYW4gbWludCB5b3VyIGZpcnN0IE5GVCBlZmZlY3RpdmVseS4gIEF0b21pY0Fzc2V0IE5GVHMgYXJlIG1pbnRlZCB3aXRoIHRlbXBsYXRlcyBmcm9tIHNjaGVtYXMgaW5zaWRlIGEgY29sbGVjdGlvbiBidXQgYmVmb3JlIHdlIGNhbiBzZXQgYW55IG9mIHRoYXQgdXAgd2UgbmVlZCBhIHdhbGxldCBhZGRyZXNzLCBzbyBsZXTigJlzIGdldCBhIHdhbGxldCBhZGRyZXNzLjxicj4mbmJzcDsgJm5ic3A7ICZuYnNwOyBXaXRoIGNyeXB0b2N1cnJlbmNpZXMgYW5kIHNvbWUgZGlnaXRhbCBjdXJyZW5jaWVzIHlvdSBuZWVkIGEgd2F5IHRvIGhvbGQgeW91ciBwcml2YXRlIGtleXMgYXMgd2VsbCBhcyBpbnRlcmFjdCB3aXRoIHRoZSBibG9ja2NoYWluIGluIHNvbWUgd2F5LiBOb3ctYS1kYXlzIGEgd2FsbGV0IHdpbGwgZ2l2ZSB5b3UgdGhlIGJhc2ljIHdheXMgdG8gZG8gdGhpcyBvciBhdCB0aGUgbGVhc3QgaG9sZCB5b3VyIGZ1bmRzIGZvciB5b3UuIFRoZSBvZmZsaW5lIHdhbGxldHMgYXJlIG1vcmUgc2VjdXJlIGFuZCBvbmxpbmUsIGFrYSA8aT5Ib3QgV2FsbGV0czwvaT4sIGFyZSBsZXNzIHNlY3VyZSBidXQgdGVuZCB0byBoYXZlIHRoZWlyIG93biBwZXJrcy4gIFlvdSBjYW4gYWx3YXlzIGNoYW5nZSB3YWxsZXRzIGFuZCBhZGRyZXNz4oCZIGxhdGVyIGJ1dCBpZiB5b3Ugd2FudCBhIHF1aWNrIGZyZWUgbm8tYXBwIHdhbGxldCB0byBnZXQgc3RhcnRlZCBqdXN0IGNsaWNrIDxhIGhyZWY9Imh0dHBzOi8vYWxsLWFjY2Vzcy53YXguaW8vIiB0YXJnZXQ9IuKAmV9ibGFua+KAmSIgc3R5bGU9InRleHQtZGVjb3JhdGlvbjpub25lOyI+aGVyZSB0byB2aXNpdCwgV2F4IENsb3VkIFdhbGxldDxzdXA+Kjwvc3VwPjwvYT4uIFlvdSBjYW4gYWxzbyB1c2UgdGhlIHJlc291cmNlcyBhdCA8YSBocmVmPSJodHRwczovL3dheC5pby8iIHRhcmdldD0i4oCZX2JsYW5r4oCZIiBzdHlsZT0idGV4dC1kZWNvcmF0aW9uOm5vbmU7IiByZWw9IuKAmW5vcmVmZXJyZXIiIG5vb3BlbmVy4oCZPSIiPldheC5pbzxzdXA+Kjwvc3VwPjwvYT4sIGV2ZXJ5b25lIGVsc2UgaGF2ZSBmdW4gZ2V0dGluZyB5b3VyIGZhdm9yaXRlIHdhbGxldCByZWFkeSBmb3IgdGhlIG5leHQgc3RlcHMuIEp1c3QgcmVtZW1iZXIgMkZBIGlzIGdyZWF0IGZvciB0aGUgV2F4IENsb3VkIFdhbGxldCBiZWNhdXNlIGl0IGlzIGEgaG90IHdhbGxldCBhbmQgMkZBIHdpbGwgaW5jcmVhc2UgeW91ciBzZWN1cml0eSB3aGVuIHVzZWQgd2VsbC4KPG9sPkFkZGluZyBBdHRyaWJ1dGVzOiA8aT5CYXNpY2FsbHkgd2UgYXJlIGFkZGluZyBhdHRyaWJ1dGVzIHRvIHRoZSBORlQgdG8gZGlzcGxheSB3aXRoLiBTbyB0aGUgbGVmdCBzaWRlIG9mIGV2ZXJ5IGF0dHJpYnV0ZSBuZWVkcyB0byBiZSBsb3dlcmVkIGNhc2UsIG5vIGNhcHMuIFRoZSByaWdodCBzaWRlIHdpbGwgZGV0ZXJtaW5lIHdoYXQgdHlwZSBvZiBkYXRhIGNhbiBhcHBlYXIgdGhlcmUgbGlrZTogPGI+aW1hZ2VzLCBJUEZIIGhhc2gsIGJvb2xlYW4gKDEgb3IgMCkgb3IgbnVtYmVyczwvYj4uPC9pPjwvb2w+CjxvbD5BZGRpbmcgSW1hZ2VzOiA8aT5BZGRpbmcgaW1hZ2VzIHlvdSB3aWxsIHVzZSBhbiBhdHRyaWJ1dGUgd2l0aCDigJxpbWFnZeKAnSBmb3IgdGhlIHJpZ2h0IHNpZGUgc2VsZWN0aW9uIGJ1dCB5b3XigJlsbCBvbmx5IGRyb3AgeW91ciBQaW5hdGEgQ2xvdWQgb3IgSVBGUyBIYXNoIHRoZXJlLiBUaGUgd2Vic2l0ZSB3aWxsIGdhdGhlciB0aGUgaW1hZ2UgZnJvbSB0aGUgSVBGUyBoYXNoIHNvIHdoYXQgaW1hZ2UgaXMgc2V0IHRvIHRoYXQgaGFzaCBpcyB3aGF0IHdpbGwgc2hvdyB1cC48L2k+PC9vbD4KPG9sPkFkZGluZyBWaWRlb3M6IDxpPkFkZGluZyB2aWRlb3MgeW91IHdpbGwgdXNlIGFuIGF0dHJpYnV0ZSB3aXRoIOKAnElQRlMgSGFzaOKAnSBmb3IgdGhlIHJpZ2h0IHNpZGUgc2VsZWN0aW9uIGFuZCBmb3IgdGhlIGxlZnQgc2lkZSBzZWxlY3Rpb24geW914oCZbGwgbmVlZCDigJx2aWTigJ0gb3Ig4oCcdmlkZW/igJ0uIFlvdSBjYW4gYWRkIG51bWJlcnMgaWYgeW91IGhhdmUgbXVsdGlwbGUgdmlkZW9zLiBOb3QgYWxsIHdvcmRzIGxpa2Ug4oCcZmlsbeKAnSB3aWxsIHdvcmsgZm9yIHRoZSB2aWRlbyB0byBvdXRwdXQuIExpa2UgdGhlIGltYWdlcywgeW914oCZbGwgb25seSBkcm9wIHRoZSBJUEZTIGhhc2ggb2YgeW91ciB2aWRlbyBpbiB0aGUgcmlnaHQgc2lkZSBzZWxlY3Rpb24gZHVyaW5nIHRoZSB0ZW1wbGF0ZSBjcmVhdGlvbiBwcm9jZXNzLjwvaT48L29sPgogPG9sPkFkZGluZyBBdWRpby9NdXNpYzogPGk+QWRkaW5nIGF1ZGlvIHlvdSB3aWxsIHVzZSBhbiBhdHRyaWJ1dGUgd2l0aCDigJxJUEZTIEhhc2jigJ0gZm9yIHRoZSByaWdodCBzaWRlIHNlbGVjdGlvbiBhbmQgZm9yIHRoZSBsZWZ0IHNpZGUgc2VsZWN0aW9uIHlvdeKAmWxsIG5lZWQg4oCcdmlk4oCdIG9yIOKAnHZpZGVv4oCdLiBZb3UgY2FuIGFkZCBudW1iZXJzIGlmIHlvdSBoYXZlIG11bHRpcGxlIGF1ZGlvIHRyYWNrcyBpbiB0aGUgc2FtZSBORlQuIE5vdCBhbGwgd29yZHMgbGlrZSDigJxzb25n4oCdLCAiYXVkaW8iLCAic291bmQiIHdpbGwgd29yayBmb3IgdGhlIGF1ZGlvIHRvIG91dHB1dC4gTGlrZSB0aGUgdmlkZW9zLCB5b3XigJlsbCBvbmx5IGRyb3AgdGhlIElQRlMgaGFzaCBvZiB5b3VyIGF1ZGlvIGluIHRoZSByaWdodCBzaWRlIHNlbGVjdGlvbiBkdXJpbmcgdGhlIHRlbXBsYXRlIGNyZWF0aW9uIHByb2Nlc3MuIEVzc2VudGlhbGx5LCBhdWRpbyBpcyBsb29rZWQgYXQgYXMgYSB2aWRlbyBqdXN0IHdpdGhvdXQgYSBwaWN0dXJlIHRvIHNob3cuPC9pPjwvb2w+CjxvbD5BZGRpbmcgQm9va3MvRS1Cb29rczogPGk+QWRkaW5nIEJvb2tzIGxpa2UgZS1ib29rcyB5b3Ugd2lsbCB1c2UgYW4gYXR0cmlidXRlIHdpdGgg4oCcaW1hZ2XigJ0gZm9yIHRoZSByaWdodCBzaWRlIHNlbGVjdGlvbi4gRm9yIHRoZSBsZWZ0IHNpZGUgc2VsZWN0aW9uIHdvcmRzIGxpa2UsIOKAnHBhZ2XigJ0gYW5kIOKAnHBn4oCdIHdvcmsgYmVzdCBhbmQgb2YgY291cnNlIHlvdSBjYW4gYWRkIG51bWJlcnMgYXQgdGhlIGVuZCBvZiB0aGUgd29yZHMuIElmIGFkZGluZyBhbiBhdWRpbyBmaWxlIG9mIHRoZSBib29rIGJlaW5nIHJlYWQsIHRyZWF0IHRoZSBhdWRpbyBhcyBhIHZpZGVvLiBJZiBhZGRpbmcgYSBQREYgdG8gSVBGUywgdXNlIOKAnHBkZuKAnSBpbnN0ZWFkIG9mIOKAnFBERuKAnSBiZWNhdXNlIG5vLWNhcHMgaW4gdGhlIGxlZnQgc2lkZSBzZWxlY3Rpb24gaW4gdGhlIHNjaGVtYXMuIE1hbnkgcGVvcGxlIGFkZCB0aGUgUERGIGFzIGEgbGluayB2aWEgYSBRUiB3aXRoIOKAnHBpY+KAnSBhcyB0aGUgbGVmdCBzaWRlIHNlbGVjdGlvbi4gVGhlIHVzZXIgc2NhbnMgdGhlIFFSIHRvIGFjY2VzcyB0aGUgYm9vay4gVXNlIGEgbG9ja2VkIGxpbmsgbGlrZSA8YSBocmVmPSJodHRwczovL2pzdHJpZWIuZ2l0aHViLmlvL2xpbmstbG9jay9jcmVhdGUiIHRhcmdldD0i4oCZX2JsYW5r4oCZIiByZWw9IuKAmW5vcmVmZXJyZXIiIG5vb3BlbmVy4oCZPSIiIHN0eWxlPSJ0ZXh0LWRlY29yYXRpb246bm9uZTsiPkpzdHJpZWLigJlzLCA8c3VwPiogQ2xpY2sgSGVyZSB0byBWaXNpdCBKc3RyaWVi4oCZcyBMaW5rLUxvY2sgKjwvc3VwPjwvYT4gd2l0aCBpbmZvIGZyb20gdGhlIE5GVCBhcyBhIGxvY2sgcGFzc3dvcmQsIGluY2x1ZGluZyBhZGRpbmcgYSDigJxwc3PigJ0gZm9yIHBhc3N3b3JkIGF0dHJpYnV0ZSB3aXRoIOKAnHRleHTigJ0gYXMgdGhlIHJpZ2h0IGhhbmQgc2VsZWN0b3IuPC9pPjwvb2w+PGJyPiZuYnNwOyAmbmJzcDsgJm5ic3A7IEF0IHRoZSBlbmQgb2YgdGhlIGRheSB5b3VyIGRhdGEgaGFzIHRvIGZpdCBvbmUgb2YgYSBmZXcgY2F0ZWdvcmllczogPGk+PGI+aW1hZ2U8L2I+IChpbmNsdWRlcyBnaWZzKSwgPGI+SVBGUyBIYXNoPC9iPiAobXVsdGkgZm9ybWF0KSwgPGI+VGV4dDwvYj4gKGluY2x1ZGluZyBsaW5rcyksIDxiPkJvb2xlYW48L2I+ICgxIGZvciBZZXMsIDAgZm9yIEZhbHNlKSwgPGI+SW50YWdlcnM8L2I+IChudW1iZXJzKSwgPGI+RmxvYXRpbmcgUG9pbnQgTnVtYmVyPC9iPiAobnVtYmVycyB3aXRoIGRlY2ltYWxzKTwvaT4uICBXaGF0IHlvdSBkbyB3aXRoIHRoZXNlIG9wdGlvbnMgYXJlIHlvdXIgb3duIGJ1dCBoZXJlJ3Mgc29tZSBxdWljayB0aXBzIHRvIGhlbHAgYm9vc3QgaWRlYXMuICBCb29sZWFuIGFuZCBmbG9hdGluZyBwb2ludCBudW1iZXJzIGFyZSBncmVhdCBmb3IgY29udHJhY3RzIHdoaWxlIGV2ZXJ5dGhpbmcgZWxzZSBpcyBncmVhdCBmb3IgdXNlcnMgYW5kIGNyZWF0b3JzLiBEb27igJl0IGxldCBhbGwgdGhlIG9wdGlvbnMgc2NhcmUgeW91LiBJZiB5b3Ugb25seSB1c2UgSVBGUyBIYXNoLCBJbWFnZSBhbmQgVGV4dCB0aGVuIHlvdeKAmXJlIGFtb25nIHRoZSBncmVhdHMgYmVjYXVzZSBtb3N0IE5GVHMgb25seSB1c2UgYSBjb21iaW5hdGlvbiBvZiB0aG9zZSB0aHJlZSBvcHRpb25zLiBPbmNlIHlvdeKAmXZlIGxhaWQgb3V0IHdoYXQgZGF0YSB3aWxsIGJlIGFkZGVkIGludG8gdGhlIG1ldGFkYXRhIG9mIHlvdXIgTkZUcyBmb3IgdGhpcyBzY2hlbWEsIGdpdmUgaXQgYSBuYW1lIHdoaWNoIGlzIG1vcmUgbGlrZSBhIGdlbnJlLiBGb3IgbWFueSBwZW9wbGUgaGVhcmluZyB0aGlzIG1ha2VzIG1vcmUgc2Vuc2UgdGhhbiB0aGUgY29sbGVjdGlvbiBncm91cCwgd2hpY2ggaXQgaXMgYXMgd2VsbC4gV2hlbiBwZW9wbGUgbG9vayBmb3IgeW91ciBORlRzLCB0aGV5IHdpbGwgZ28gZnJvbSBhbGwgTkZUcyB0byB5b3VyIDxpPkNvbGxlY3Rpb24ocyk8L2k+IHRoZW4gdG8geW91ciA8aT5TY2hlbWEocyk8L2k+IG9uY2UgaW4geW91ciBjb2xsZWN0aW9ucy4gU28geW91ciBzY2hlbWEgbmFtZSBzaG91bGQgYm90aCBiZSB3aXRoaW4gdGhlIGxpbmVzIG9mIHlvdXIgY29sbGVjdGlvbiB0aGVtZSBidXQgYXMgd2VsbCBhcyB5b3VyIE5GVOKAmXMgdGhlbWUocykuIElmIHlvdSB3ZXJlIG1pbnRpbmcgbXVzaWMsIHlvdSB3b3VsZCBjYWxsIHNjaGVtYXMgYnkgeW91ciB2YXJpb3VzIGdlbnJlcyBvciBpZiB5b3UgcGVyZm9ybSBsaXZlIGFuZCBub3QtbGl2ZSBtYXliZSBsaXZlIGV2ZW50IE5GVHMgYmUgb25lIHNjaGVtYSBsaWtlLCDigJxsaXZlc25hcHMnJyBhbmQgYW5vdGhlciBzY2hlbWEgbGlrZSwg4oCcc25hcHPigJ0gc28gd2l0aG91dCB0ZWxsaW5nIHlvdXIgY29tbXVuaXR5LCDigJxoZXkgdGhlc2UgYXJlIGZyb20gbGl2ZSBldmVudHMgYW5kIHRoZXNlIGFyZSBub3Qu4oCdIEZpbmFsbHksIGp1c3Qgc2F2ZSB3aGVuIHlvdSBhcmUgcmVhZHkhCjxicj4mbmJzcDsgJm5ic3A7ICZuYnNwOyBXaGV3LCBjcmVhdGVkIGEgY29sbGVjdGlvbiBhbmQgYSBzY2hlbWEsIG5vdyBpdOKAmXMgdGltZSB0byBzZXQgdXAgc29tZSBORlQgdGVtcGxhdGVzISBORlQgdGVtcGxhdGVzIGFsbG93IHRoZSBibG9ja2NoYWluIGludGVyYWN0b3JzIHRvIGZpZ3VyZSBvdXQgZGF0YSBsaWtlLCB3aGljaCBORlQgaXMgd2hpY2ggbWludCBudW1iZXIgYW5kIG90aGVyIGFjdGlvbnMgcGVvcGxlIHRoaW5rIGFyZSBhdXRvbWF0aWMuIE9uIEV0aGVyZXVtIChhIGxlYWRpbmcgTkZUIGhvc3RpbmcgYmxvY2tjaGFpbiksIHRoZXJl4oCZcyBubyBtaW50IG51bWJlcnMgYW5kIHRoYXTigJlzIHJlbGllZCBhbG1vc3QgY29tcGxldGVseSBvbiB0aGUgYXJ0aXN0cy4gVGhlcmUgYXJlIGNhc2VzIHdoZXJlIGV2ZW4ga25vd2luZyB0aGF0IGRhdGEgYW5kIGRlbGl2ZXJpbmcgdGhhdCBkYXRhIGlzIG5lYXJseSBpbXBvc3NpYmxlIHRvIGRvIHNvLCB0aGVzZSB0ZW1wbGF0ZXMgaGVscCBtYWtlIGxpdHRsZSBhY3Rpb25zIHBvc3NpYmxlLiBBbm90aGVyIGdyZWF0IHRoaW5nIGFib3V0IHRlbXBsYXRlcyBpcywgeW91IGNhbiBzZXQgdXAgYW4gTkZUIHRoZW4gbWludCBpdCBsYXRlciBpbmNsdWRpbmcgcGVyZm9ybWluZyB0YXNrcyBsaWtlLCDigJxtaW50aW5nIG9uIGRlbWFuZOKAnSBhbmQg4oCccGFjayBtaW50aW5n4oCdICh0aGF04oCZcyB3aGVuIHRoZXkgY29tZSBpbiBwYWNrcyBhbmQgYnkgb3BlbmluZyB0aGUgcGFjaywgdGhlIHBhY2sgb3BlbmluZyBtaW50cyB0aGUgTkZUcyBuZWVkZWQgb24gZGVtYW5kIGFuZCBsb3dlciBtaW50aW5nIGNvc3RzIGZvciBiaWdnZXIgcHJvamVjdHMpLiBBbG1vc3QgYWxsIG9uLWRlbWFuZCBtaW50aW5nIGxvd2VycyB0aGUgb3ZlcmFsbCBtaW50aW5nIGNvc3QgYnV0IHRoZXNlIGFyZSBtb3JlIGFkdmFuY2VkIE5GVCBpbnRlcmFjdGlvbnMuIFdlIHdpbGwgc3RpY2sgdG8gdGhlIGJhc2ljcywgdGVtcGxhdGUsIG1pbnQsIHNlbGwvZ2l2ZS90cmFkZS48YnI+ICZuYnNwOyAmbmJzcDsgJm5ic3A7IFNvIHdoZW4gYnVpbGRpbmcgYSBuZXcgdGVtcGxhdGUgeW914oCZbGwgbm90aWNlIHlvdSBjYW4gb25seSBpbnB1dCBkYXRhIGJhc2VkIG9uIHdoYXTigJlzIGluIHRoZSBzY2hlbWEgYXQgdGhpcyBwb2ludCBpbiB0aW1lLiBJZiB5b3UgZG9u4oCZdCBpbnB1dCBkYXRhIGNvcnJlY3RseSwgaXQgd2lsbCBlaXRoZXIgbm90IGxldCB5b3Ugc2F2ZSBvciBpdCB3aWxsIGp1c3Qgbm90IGRpc3BsYXkuIE5vdyBpZiB5b3UgaGF2ZSBhIHR5cG8gb3IgbWlzcy1zcGVsbGluZywgdGhlIHN5c3RlbSB3aWxsIG5ldmVyIHRlbGwgeW91IGFib3V0IHRoZXNlIGFuZCB0aGV5IHdpbGwgbm90IHN0b3AgdGhlIHN5c3RlbSBzbyB5b3VyIHR5cG9zIHdpbGwgZ2V0IG1pbnRlZC4gQmUgY2FyZWZ1bCBiZWNhdXNlIGp1c3QgbGlrZSBzY2hlbWFzLCB0ZW1wbGF0ZXMgYXJlIGZvcmV2ZXIuIE5vIGRlbGV0aW5nLiBZb3UgY2FuIGhvd2V2ZXIsIG1pbnQgb3V0IHRoZSBxdWFudGl0eSBvZiBORlRzIGZvciB0aGF0IHRlbXBsYXRlIHRoZW4gYnVybiB0aGUgTkZUcy4gS2lsbGluZyB0aGUgdGVtcGxhdGUgKGVzc2VudGlhbGx5KS4gRmlsbCBvdXQgeW91ciBkYXRhIGFuZCBpZiB5b3Ugd2FudCB0aGlzIHRlbXBsYXRlIHRvIGhhdmUgYSBsaW1pdGF0aW9uIHRvIGhvdyBtYW55IGNhbiBleGlzdCwgaW5wdXQgdGhlIG1heC1udW1iZXIgaW4gdGhlIHRvcC4gSWYgeW91IHdhbnQgYW4gdW5saW1pdGVkIG1pbnQgcG9zc2libGUgb3IgeW91IGRvbuKAmXQga25vdyBob3cgbWFueSB5b3UgbmVlZCwganVzdCBkb27igJl0IGlucHV0IGEgbWF4IHN1cHBseSBudW1iZXIuIFNhdmUgYW5kIHNpZ24gdGhlIHRyYW5zYWN0aW9uIGp1c3QgbGlrZSB3aXRoIHRoZSBjb2xsZWN0aW9uIGFuZCBzY2hlbWEuICBZb3UgaGF2ZW7igJl0IG1pbnRlZCBhbiBORlQgeWV0IGJ1dCB5b3UgYXJlIDEgc3RlcCBhd2F5IGZyb20gaGF2aW5nIHNvbWUgdG8gcHV0IHVwIGZvciBzYWxlIG9yIHdoYXQgeW91IHdpc2ggdG8gZG8gd2l0aCB0aGVtLiBIZWFkIG92ZXIgdG8geW91ciBzY2hlbWEsIG9mdGVudGltZXMgaXTigJlzIGVhc2llciB0byBqdXN0IHRvIGhhdmUgdGhlIHNjaGVtYSBwYWdlIGFscmVhZHkgdXAgaW4gYW5vdGhlciB0YWIvdGFiLWdyb3VwIGFuZCByZWZyZXNoIHRoZW4gaXQgaXMgdG8gZ28gYmFja3dhcmRzICZhbXA7IHJlZnJlc2ggdGhlIHNjaGVtYSBwYWdlLjxicj4gJm5ic3A7ICZuYnNwOyAmbmJzcDsgT25jZSBiYWNrIGludG8gdGhlIHNjaGVtYSB5b3UgY2FuIOKAnE1pbnQgbmV3IEFzc2V04oCdIHRvIGNyZWF0ZSB5b3VyIE5GVChzKS4gSG9wIGluIGFuZCBjbGljayBvbiB3aGF0IHRlbXBsYXRlIHlvdSB3YW50IHRvIHVzZSwgSSBhbHdheXMgc2F5IHNldCB0aGUgdGVtcGxhdGUgZmlyc3QgYmVjYXVzZSBpdOKAmXMgc28gZWFzeSB0byBqdXN0IGZvcmdldCB0byB1c2UgdGhlIHRlbXBsYXRlIGFuZCBub3QgZ2V0IHRoZSBtaW50IG51bWJlcnMgd2l0aCB5b3VyIE5GVC4gTmV4dCBhZGQgdGhlIHdhbGxldCB5b3Ugd2FudCB0byBtaW50IHRvIHVuZGVyICJhc3NldCBvd25lciIsIG1vc3QgdGltZXMgeW91IHdpbGwgd2FudCB0byB1c2UgeW91ciB3YWxsZXQgYWRkcmVzcy4gSWYgeW91IGp1c3QgY2xpY2sgdG8gbWludCwgeW91ciBhZGRyZXNzIHNob3VsZCBiZSB0aGUgYXV0by1zZWxlY3RlZCBhY2NvdW50IGluIHRoZSBhc3NldCBvd25lciBzbG90IGJ1dCBhbHdheXMgZG91YmxlIGNoZWNrLiBBZGQgaG93IG1hbnkgb2YgdGhlc2UgeW91IHdhbnQgdG8gbWludCB0byB0aGF0IHdhbGxldC4gVGhpcyB3aWxsIG1pbnQgdGhlIE5GVHMgdXAgdG8gdGhlIG51bWJlciBvZiBORlRzIHlvdXIgdGVtcGxhdGUgd2lsbCBhbGxvdy4gVGhlcmUgaXMgYSBzb2Z0LWNhcCBvZiAxMDAgTkZUcyB0aGF0IGNhbiBiZSBtaW50ZWQgYXQgYSB0aW1lIGJ1dCB5b3UgY2FuIHJlcGVhdCBhcyBuZWVkZWQuIE5vdyBpZiB5b3UgcGxhbiBvbiByZWxlYXNpbmcgYSBidW5jaCBvZiBORlRzIGZvciBhIHRlbXBsYXRlLCB5b3UgbWF5IHdhbnQgdG8gZG8gYSBEcm9wIHdoaWNoIHdpbGwgbWludCB0aGVzZSBvbiBkZW1hbmQuIFlvdSBjYW4gc3RpbGwgZG8gdGhpcyBwYXJ0IGFuZCBtaW50IHRoZSBmaXJzdCB4LW51bWJlciBvZiBORlRzIHRvIHlvdXJzZWxmIGZvciBhdWN0aW9ucywgZ2l2ZWF3YXlzIGFuZCBhaXJkcm9wcyB0aGVuIGRvIHRoZSBEcm9wIGFmdGVyd2FyZHMuIEl0IGlzIGNvbXBsZW1lbnRhcnkgdG8gbGV0IGJ1eWVycyBkZWNpZGUgd2hvbSBnZXRzIHRoZSBmaXJzdCBtaW50IG51bWJlciAodGhlIGZpcnN0IGJvdWdodCBpbiBhbiBORlQgRHJvcCkuIE9uY2UgeW91IHNpZ24gdGhlIHRyYW5zYWN0aW9uIGFuZCBnZXQgdGhlIGNvbmZpcm1hdGlvbiBoYXNoLCB5b3VyIE5GVHMgc2hvdWxkIGJlIGluIHlvdXIgaW52ZW50b3J5ISBTbywgY2xpY2sgb24gdGhlIHRvcCByaWdodCBjb3JuZXIgYnV0dG9uIHRvIGRyb3Bkb3duIHRoZSBtZW51IGFuZCBjbGljayBvbiB5b3VyIGFjY291bnQgZG93bi1hcnJvdyB0byBmaW5kLCDigJxpbnZlbnRvcnnigJ0gdG8gY2xpY2sgb24gaXQgYW5kIHZpc2l0Ljxicj4mbmJzcDsgJm5ic3A7ICZuYnNwOyBJbiB5b3VyIGludmVudG9yeSB5b3UgY2FuIGZpbmQgdGhlIE5GVHMgeW91IHdhbnQgdG8gc2VsbCBhbmQgd2l0aG91dCBjbGlja2luZyBvbiB0aGUgTkZUIHlvdeKAmWxsIHNlZSBhIGxpdHRsZSBidXR0b24gcGFuZWwgdW5kZXJuZWF0aCBlYWNoIE5GVC4gSW4gdGhhdCBwYW5lbCB5b3Ugc2hvdWxkIHNlZSBhIOKAnExpc3Qgb24gTWFya2V04oCdIGJ1dHRvbiBhbmQgaWYgeW91IGNsaWNrIHRoYXQsIHlvdeKAmWxsIGJlIHByZXNlbnRlZCB3aXRoIGEgbmV3IHNjcmVlbiB3aGVyZSB0aGF0IE5GVCBpcyBwcmVzZWxlY3RlZCBhbmQgeW91IGp1c3QgaW5wdXQgdGhlIHByaWNlIGluIFdBWCB5b3Ugd2FudCBmb3IgdGhlIE5GVC4gQXQgdGhlIGJvdHRvbSB5b3XigJlsbCBzZWUgYSBzZWN0aW9uIHRlbGxpbmcgeW91IHlvdXIgcmV0dXJuIG9uIHRoZSBzYWxlIG9mIHRoYXQgTkZUIG92ZXIgdGhlIEF0b21pY2h1YiBNYXJrZXQuIEltbWVkaWF0ZWx5IGJlbG93IHRoYXQgeW914oCZbGwgc2VlIHRoZSDigJxDb25maXJt4oCdIGJ1dHRvbi4gSWYgeW91ciBORlQgaGFzIHNlY29uZGFyeSBzYWxlcyAoc2FsZXMgYWZ0ZXIgb3JpZ2luYWwgc2FsZSksIHlvdeKAmWxsIHNlZSB0aGF0IGRhdGEgdW5kZXIgdGhlIE5GVCBvbiB0aGlzIHNjcmVlbi4gU29tZXRpbWVzIGEgcHJpY2Ugd2lsbCBiZSBzdWdnZXN0ZWQsIHRyeSBnb2luZyAzNSUgaGlnaGVyIHRoYW4gdGhhdCBwcmljZS48YnI+ICZuYnNwOyAmbmJzcDsgJm5ic3A7IE92ZXJwcmljaW5nIGNhbiBib3RoIGJlIHN0cmF0ZWdpY2FsIGFuZCBhIHBvb3IgZGVjaXNpb24sIHVsdGltYXRlbHkgaXTigJlzIHVwIHRvIHlvdSBvbiB5b3VyIHByaWNlcyBidXQgeW91IGhhdmUgdG8gdGhpbmsgb2YgMyBtYWpvciBmYWN0b3JzIHRvIHNldHRpbmcgaW5pdGlhbCBwcmljaW5nOiA8Yj5EZW1hbmQsIFlvdXIgQXZnIEJ1eWVyIFByaWNlIFJhbmdlLCBSZXNlbGxzPC9iPi4gVGhlIGFtb3VudCBvZiBkZW1hbmQgaW4geW91ciBORlQgc2FsZXMgaXMgdGhlIDFzdCBmYWN0b3IuIElmIHlvdXIgTkZUcyBzaXQgYXJvdW5kLCB0aGV5IG1heSBiZSBvdmVycHJpY2VkLiBJZiB5b3VyIE5GVHMgYXJlIHNlbGxpbmcsIHdoaWNoIGFyZSBzZWxsaW5nIHRoZSBiZXN0PyBXaGljaCBzZXRzIHNlbGwgb3V0IG9yIHdoaWNoIGFyZSB0aGUgZmlyc3QgcGlja2VkIHVwPyBUaGlzIHdpbGwgaGVscCB5b3UgZmluZCB0aGUgcHJpY2UgcmFuZ2UgeW91ciBidXllcnMgYXJlIGJ1eWluZyBhdC4gUHJvZHVjaW5nIGFydCBvciB3b3JrcyBmb3IgeW91ciBORlRzIHRoYXQgYXJlIHdheSBvdmVyIHRoZSBwcmljZSBvZiB3aGF0IHlvdSdyZSB3YW50aW5nIHRvIGdldCwgeW91IGNhbiB0YWtlIGEgc3RyYXRlZ2ljIHJvdXRlIGFuZCBtYWtlIHlvdXIgdmVyeSBmaXJzdCBORlRzIGVpdGhlciB1YmVyIGNoZWFwIGZvciBub3cgYnV5ZXJzIG9yIHJlYWxseSBleHBlbnNpdmUgdG8gbWFrZSB0aGVtIG1vcmUgc291Z2h0IGFmdGVyIHdoZW4gYSBkZW1hbmQgY29tZXMgaW4uIEFmdGVyIHRoYXQgeW91IG5lZWQgeW91ciB3b3JrIHRvIGVpdGhlciB1cGdyYWRlIG9yIHN0YXkgcm91Z2hseSB0aGUgc2FtZS4gUmVzZWxsaW5nIG9mIHlvdXIgTkZUcyBpcyBhIGdvb2QgdGhpbmcgYW5kIG9mdGVudGltZXMgaWYgdGhlIHJpZ2h0IHBlcnNvbiBnZXRzIGEgaG9sZCBvZiB5b3VyIE5GVCB0aGV5IGNhbiBzZWxsIGl0IG9uIHRoZSBzZWNvbmQgbWFya2V0IHdoaWNoIHlvdeKAmWxsIGdldCBhIGN1dCBiYXNlZCBvbiB5b3VyIGNvbGxlY2l0b27igJlzIG1hcmtldCBmZWUgYXQgdGhlIHRpbWUgb2YgY3JlYXRpbmcgdGhlIE5GVC4gUmVzZWxscyBjYW4gYWxzbyBpbmNyZWFzZSB0aGUgdmFsdWUgb2YgeW91ciBjb2xsZWN0aW9uL05GVHMuIFJlc2VsbHMgY2FuIGFsc28gZ2V0IHlvdSBtb3JlIHB1YmxpY2l0eSEgSG9uZXN0bHksIGV2ZXJ5IE5GVCBjcmVhdG9yIHNob3VsZCBob3BlIGZvciBtb3JlIHJlc2VsbHMgdGhlbiBob2RsZXJzLCBpdOKAmXMgYWZ0ZXIgeW91IGdldCBhIGhpZ2ggZGVtYW5kIHdoZXJlIE5GVCBkcm9wcyBzZWxsIG91dCBpbiBtaW51dGVzIG9yIGxlc3MgdGhhdCB5b3UgaG9wZSBmb3IgaG9kbGVycyBiZWNhdXNlIGEgY29uc3RhbnRseSB0cmFkaW5nIE5GVOKAmXMgdmFsdWUgaXMgbW9zdCBvZnRlbiBiYXNlZCBvbiB0aGUgcG9wdWxhcml0eSBvZiAoZGVtYW5kIGZvciBwZW9wbGUgd2FudGluZykgdGhhdCBORlQuIEEgaG9kbGVyLCBpcyBzb21lb25lIHdob20gd2lsbCBob2xkIG9udG8gdGhhdCBhc3NldCBmb3IgbG9uZyBwZXJpb2RzIG9mIHRpbWUgYnVpbGRpbmcgYSBiYXNlIHZhbHVlIGZvciB5b3VyIE5GVHMuPGJyPiZuYnNwOyAmbmJzcDsgJm5ic3A7IE9uY2UgeW91IHN0YXJ0IGdldHRpbmcgZGVtYW5kIGFuZCBzZWxsLW91dCBORlQgZHJvcHMsIHlvdSBtYXkgc3RhcnQgdG8gYXVjdGlvbiBvZmYgbWludCAjMeKAmXMgZm9yIGV4dHJhIHJldHVybnMuIFRvIGRvIGFuIGF1Y3Rpb24sIOKAnExpc3Qgb24gTWFya2V04oCdIHRoZW4gc2VsZWN0IOKAnEF1Y3Rpb27igJ0gaW4gdGhlIHRvcCBzZWxlY3Rpb24gb3B0aW9ucy4gU2VsbGluZyBORlRzIHJlcXVpcmVzIFJBTSB3aXRoIHlvdXIgd2FsbGV0LiBNaW50aW5nIGxpa2UgYWxsIG1ham9yIGNoYWluIGFjdGlvbnMgcmVxdWlyZXMgUkFNIGFuZCBpbiB0aGUgTkZUIGNyZWF0b3IgYXQgYW55IHBvaW50IGluIHRpbWUsIGl0IGRpc3BsYXlzIHlvdXIgUkFNIGFuZCB5b3UgY2FuIGNsaWNrIHRoZSBwbHVzIHN5bWJvbCB0byBidXkgbW9yZSBSQU0gd2hpY2ggaXMgcGFpZCBpbiBXQVguIFdoZW4geW91IHN0YWtlIFdBWCB5b3UgY2FuIGFsc28gc3Rha2UgeW91ciBSQU0gdGhlcmUuIFN0YWtpbmcgdG8geW91ciBDUFUgKG5vcm1hbGx5IGZpcnN0IG9wdGlvbiBpbiBzdGFraW5nKSwgY2FuIGVhcm4geW91IHJldHVybnMgb3ZlciB0aW1lLiBTdGFraW5nIENQVSBpcyBhIGdyZWF0IHdheSB0byBzYXZlIHdheCBmb3IgbGF0ZXIgYW5kIHN0YWtpbmcgdG8gUkFNIGxldHMgeW91IHNlbGwgYW5kIG1pbnQuIFRoaXMgaXMgaG93IE5GVHMgY2FuIGJlIHZlcnkgYWZmb3JkYWJsZS4gU3Rha2UgdG8gdGhlIFJBTSBhbmQgaXQgZ2V0cyB1c2VkIGFzIG5lZWRlZC48YnI+PGJyPiZuYnNwOyAmbmJzcDsgJm5ic3A7IEdldHRpbmcgV2F4IGlzIHByb2JhYmx5IHlvdXIgbGFzdCBzdGVwIGluIHRoaXMgZW5kZWF2b3VyLiBPZnRlbiB0aW1lcyB5b3UgY2FuIGdldCB5b3VyIGZpcnN0IG1pbnQgb3IgdHdvIHdpdGhvdXQgY29zdCBvbiBhdG9taWNodWIgaWYgeW91IGhhdmUgYSB3YXggY2xvdWQgd2FsbGV0IHNvIGdldHRpbmcgc29tZSB3YXggZm9yIHN0YWtpbmcsIFJBTSAmYW1wOyBidXlpbmcgTkZUcyBpcyBsYXN0LiBJZiB5b3UgZ28gdG8gdGhlIDxhIGhyZWY9Imh0dHBzOi8vYWxsLWFjY2Vzcy53YXguaW8iIHRhcmdldD0iX2JsYW5rIiByZWwtIm5vb3BlbmVyPSIiIG5vcmVmZXJyZXIiPSIiIHN0eWxlPSJ0ZXh0LWRlY29yYXRpb246bm9uZTsiPndheC1jbG91ZCB3YWxsZXQgPHN1cD50cnkgY2xpY2tpbmcgaGVyZSAqPC9zdXA+PC9hPiB5b3UgY2FuIGZpbmQgdGhlIGVhc2llc3Qgd2F5cyB0byBidXkgV0FYLiBGb3IgZXhhbXBsZSwgdGhlIDxpPkNoYW5nZU5vdzwvaT4gb3B0aW9uIHRvIGJ1eSBXQVggKGFrYSBXQVhQKSB3aXRoIEVUSCBvciBCVEMgaXNuJ3Qgb2ZmZXJlZCBhbnl3aGVyZSBlbHNlIDxpPkNoYW5nZU5vdzwvaT4gY3J5cHRvIGJ1eWVyIHBvcC11cCBzdG9yZXMuIFRoZXkgYWxzbyBoYXZlIGEgbGFyZ2Uga25vd24gc2VsZWN0aW9uIG9mIGV4Y2hhbmdlcyBsaXN0ZWQgdW5kZXIgdGhlICJCdXkgV0FYUCIgc2VjdGlvbiBvZiB0aGUgY2xvdWQgd2FsbGV0LiBJZiB0aGVyZSdzIGFueSByZWFzb24gdG8gaGF2ZSBhIGNsb3VkIHdhbGxldCwgaXQncyB0byBnZXQgYWNjZXNzIHRvIHRoZSB3YXggYnV5aW5nIHRvb2xzLiBBbmNob3Igd2FsbGV0IGlzIHRoZSBtb3N0IHJlY29tbWVuZGVkIHdhbGxldCBiZXlvbmQgaGFyZHdhcmUgd2FsbGV0cy48YnI+Jm5ic3A7ICZuYnNwOyAmbmJzcDsgVGhhdCdzIGl0LCB5b3UgaGF2ZSB0aGUgYWJpbGl0eSBhbmQgcG9zc2libHkganVzdCBtaW50ZWQgeW91ciBmaXJzdCBORlQgdGhlbiBsaXN0ZWQgaXQgZm9yIHNhbGUhIFRoZXJlJ3Mgb3RoZXIgb3B0aW9ucyBzdGlsbCBhdCB5b3VyIGZpbmdlcnRpcHMgc28gaWYgeW91IGhlYWQgYmFjayB0byB5b3VyIGludmVudG9yeSwgeW91IGNhbiBjbGljayBvbiB0aGUgIm1vcmUiIGJ1dHRvbiB0byByZXZlYWwgc29tZSBmdW4gb3B0aW9ucyB3aXRoaW4gQXRvbWljaHViLjxvbD48Yj5DcmVhdGUgQnVuZGxlPC9iPjogVGhpcyBsZXRzIHlvdSBzZWxsIG11bHRpcGxlIE5GVHMgaW4gYSBzaW5nbGUgdHJhbnNhY3Rpb24uIFNldCB1cCB5b3VyIGJsZW5kIHNldHMsIG9yIG1heWJlIGRvdWJsZSB1cCBwYWNrcyBmb3IgYSBzaW5nbGUgc2VsbC4gQnVuZGxpbmcgYSBidW5jaCBvZiBzbWFsbCBpdGVtcyB0aGF0IGFsbCB3b3JrIHRvZ2V0aGVyIChsaWtlIEFsaWVuIFdvcmxkcyBORlRzKSBjYW4gbGV0IHlvdSBzZWxsIHRoZW0gYXMgYSB3aG9sZSB3aXRoIGEgMzUtNTAlIG1hcmt1cCBjb21wYXJlZCB0byB0cnlpbmcgdG8gYWRkIHRoZSBzYW1lIG1hcmt1cCBwZXIgTkZULiBBbHNvIHNhdmVzIHlvdSB0aGUgZXh0cmEgaGFzc2xlIG9mIHB1dHRpbmcgdGhlbSBhbGwgb24gc2FsZSBpbmRpdmlkdWFsbHkuPC9vbD4KPG9sPjxiPlRyYW5zZmVyPC9iPjogVGhpcyBsZXRzIHlvdSBzZW5kIE5GVHMgdG8gb3RoZXIgcGVvcGxlLCBsaWtlIGEgZ2lmdCBvciBwYXltZW50IGZvciBQZWVyLTItUGVlciB0cmFkZXMuIEluIHRoZSBUcmFuc2ZlciBwYWdlLCB5b3UgY2FuIGNsaWNrIHRvIGFkZCBhZGRpdGlvbmFsIE5GVHMgYW5kIGVzc2VudGlhbGx5IHNlbmQgYSBidW5kbGUgb2YgTkZUcyB0byBhIHNpbmdsZSB3YWxsZXQuIEdyZWF0IGZvciBkdW1waW5nIGFuIG9sZCB3YWxsZXQgYWRkcmVzcy48L29sPgo8b2w+PGI+Q3JlYXRlIExpbms8L2I+OiBUaGlzIGxldHMgeW91IGNyZWF0ZSBhIHNoYXJlIGxpbmsuIFRoaXMgbGV0cyB5b3Ugc2VuZCB5b3VyIE5GVCB0byBzb21lb25lIHdpdGhvdXQga25vd2luZyB0aGVpciB3YWxsZXQgYWRkcmVzcyBvciBldmVuIHdpdGhvdXQgdGhlbSBoYXZpbmcgb25lLiBHcmVhdCBmb3IgZ2l2ZWF3YXlzLCB0aGUgY2xhaW1lciBqdXN0IGNsaWNrcyBhbmQgY2xhaW1zLiBCb29tIGRvbmUhPC9vbD4KPG9sPjxiPk5ldyBUcmFkZTwvYj46IFRoaXMgd2lsbCBzZXQgdXAgYSB0cmFkZSwgc28geW91J2xsIGVudGVyIGEgc2NyZWVuIHNpbWlsYXIgdG8gdHJhbnNmZXIgYW5kIHlvdSBjYW4gY2xpY2sgdG8gYWRkIG1vcmUgTkZUcyB0byB0aGUgc2VsZWN0aW9uIGZvciB0cmFkaW5nIHRoZW4geW91IGNhbiBjbGljaywgIlNlbmQgVHJhZGUgT2ZmZXIiLiBUaGlzIGdpdmVzIHlvdSBhIGluayB0byBzZW5kIHRvIHRoZSBvdGhlciBwZXJzb24gZm9yIHRoZW0gdG8gZmluZCB0aGUgdHJhZGUgYW5kIHlvdSBjYW4gdHJhZGUgYW5vbnltb3VzbHkgd2l0aG91dCBhIGZvdXJ0aCBwYXJ0eS48L29sPgo8b2w+PGI+QmFjayBUb2tlbnM8L2I+OiBUaGlzIGxldHMgeW91IGJhY2sgdGhlIE5GVCB3aXRoIFdBWCB0b2tlbnMuIERvaW5nIHRoaXMgbWVhbnMgdGhlIE5GVCB3aWxsIGhhdmUgdG8gYmUgYnVybmVkIHRvIGdldCB0aGUgdG9rZW5zIGJhY2suIFRoaXMgaXMgZ3JlYXQgZm9yIGdldHRpbmcgYnV5ZXJzIGJ1dCB5b3UgcnVuIHRoZSByaXNrIG9mIHRoZSBpbmNlbnRpdmUgdG8gYnVybiB0aGUgdG9rZW4gaXMgdG9vIGhpZ2ggYW5kIHBlb3BsZSB3aWxsIGJ1cm4gaXQgaW5zdGVhZCBvZiB0cmFkaW5nL2hvZGxpbmcuPC9vbD4KPG9sPjxiPkJ1cm48L2I+OiA8Yj48aT5UaGlzIGlzIG5vdCB0aGUgYnVybiB0b29sIHlvdSBhcmUgbG9va2luZyBmb3IhPGk+PC9pPjwvaT48L2I+PGk+PGk+IE9mdGVudGltZXMgd2hlbiB5b3UgYXJlIHRvbGQgdG8gYnVybiBhbiBORlQgdGhleSBoYXZlIGEgY29udHJhY3QgeW91IGFyZSBzdXBwb3NlZCB0byBzZW5kIHRoZSBORlQgdG8uIFRoZSBvbmx5IHRpbWUgeW91J2xsIHVzZSB0aGlzIGJ1cm4gdG9vbCBpcyB0byBkZXN0cm95IGFuIE5GVCBvciB0byByZW1vdmUgYmFja2VkIHRva2VucyBmcm9tIHRoZSBORlQuPC9pPjwvaT48L29sPjxpPjxpPgogJm5ic3A7ICZuYnNwOyAmbmJzcDsgQ2xpY2tpbmcgIkRldGFpbHMiIHdpbGwgc2hvdyB0aGUgZXh0cmEgZGF0YSBpbnNpZGUgdGhlIE5GVCBhbmQgYW55IG90aGVyIG1lZGlhIGl0IG1heSBoYXZlLiBBZnRlciB0aGF0LCB5b3UgaGF2ZSBhbGwgdGhlIGtleXMgdG8gdGhlIGJhc2ljIE5GVCBnYW1lLiBCdXksIFNlbGwsIFRyYWRlLCBNaW50LCBTZWxsLCBCdXkuIFRoZSBjb21tdW5pdHkgeW91IGJ1aWxkIHVwIGlzIHdoYXQgd2lsbCBrZWVwIHlvdSBtb3RpdmF0ZWQgdG8gbWludCBtb3JlIGFuZCBkbyBtb3JlIE5GVHMuIElmIHlvdSBkb24ndCBmZWVsIHRoYXQgdXBmaCBmcm9tIE5GVCBjcmVhdGluZywgdGhlbiBmaW5kIHlvdXIgcGFzc2lvbiB3aXRoIE5GVHMuIE5vdCBldmVyeW9uZSBpcyBhIG1pbnRlciwgc29tZSBwZW9wbGUgZmxpcCBORlRzIGluc3RlYWQgYW5kIG90aGVycyBiZWNvbWUgQXVjdGlvbmVlcnMuIFlvdSBmaW5kIHlvdXIgYmVzdCB3YXkgdG8gZml0IGludG8gdGhlIE5GVCBzcGFjZSBidXQgYXQgbGVhc3Qgbm93IHlvdSBjYW4gZG8gYWxsIHRoZSBiYXNpY3Mgb24gQXRvbWljaHViIQo8aHI+PHAgYWxpZ249ImNlbnRlciIgc3R5bGU9ImJvcmRlci1yYWRpdXM6NSU7Ym9yZGVyOjJweCBzb2xpZCB3aGl0ZTsgYm94LXNoYWRvdzowcHggMXB4IDVweCBkaW1ncmV5O2JhY2tncm91bmQtY29sb3I6b3JhbmdlO29wYWNpdHk6MC43OyI+PGJ1dHRvbiBvbmNsaWNrPSJkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgmcXVvdDswc3RlcCZxdW90Oykuc3R5bGU9JnF1b3Q7ZGlzcGxheTpub25lJnF1b3Q7O2RvY3VtZW50LmdldEVsZW1lbnRCeUlkKCZxdW90O3N0ZXAwJnF1b3Q7KS5zdHlsZT0mcXVvdDtkaXNwbGF5OmJsb2NrO2JhY2tncm91bmQtY29sb3I6bGlnaHRncmVlbjtjb2xvcjpibGFjaztib3JkZXI6MnB4IHNvbGlkIGdyZWVuOyZxdW90OzsiIHN0eWxlPSJib3gtc2hhZG93OjFweCAxcHggNXB4IGRpbWdyZXk7YmFja2dyb3VuZC1jb2xvcjpibGFjaztjb2xvcjpvcmFuZ2U7Ym9yZGVyLXJhZGl1czo1JTsiPkNsb3NlIFRoaXMgU2VjdGlvbjwvYnV0dG9uPjwvcD4KPC9pPjwvaT48L2Rpdj48aT48aT4KCgo8YnV0dG9uIGlkPSJzdGVwMSIgb25jbGljaz0id2luZG93Lm9wZW4oJnF1b3Q7aHR0cHM6Ly8zZGQuaW4vYXRvbWljcGcyJnF1b3Q7KTsiIHRhcmdldD0iX2JsYW5rIiByZWw9Im5vb3BlbmVyIG5vcmVmZXJyZXIiIHN0eWxlPSJiYWNrZ3JvdW5kLWNvbG9yOmxpZ2h0Z3JlZW47Y29sb3I6YmxhY2s7Ym9yZGVyOjJweCBzb2xpZCBncmVlbjsiIHZhbHVlPSJNaW50Jm5ic3A7Tm9vYiI+TWludCZuYnNwO05vb2I8L2J1dHRvbj4KCgoKPGJ1dHRvbiBpZD0ic3RlcDIiIG9uY2xpY2s9IndpbmRvdy5vcGVuKCZxdW90O2h0dHBzOi8vM2RkLmluL2F0b21pY3BnMyZxdW90Oyk7IiB0YXJnZXQ9Il9ibGFuayIgcmVsPSJub29wZW5lciBub3JlZmVycmVyIiBzdHlsZT0iYmFja2dyb3VuZC1jb2xvcjpsaWdodGdyZWVuO2NvbG9yOmJsYWNrO2JvcmRlcjoycHggc29saWQgZ3JlZW47IiB2YWx1ZT0iU2xpZ2h0bHkmbmJzcDtBZHZhbmNlZCI+U2xpZ2h0bHkmbmJzcDtBZHZhbmNlZDwvYnV0dG9uPgoKCgo8YnV0dG9uIGlkPSJzdGVwMyIgb25jbGljaz0id2luZG93Lm9wZW4oJnF1b3Q7aHR0cHM6Ly8zZGQuaW4vYXRvbWljcGc0JnF1b3Q7KTsiIHRhcmdldD0iX2JsYW5rIiByZWw9Im5vb3BlbmVyIG5vcmVmZXJyZXIiIHN0eWxlPSJiYWNrZ3JvdW5kLWNvbG9yOmxpZ2h0Z3JlZW47Y29sb3I6YmxhY2s7Ym9yZGVyOjJweCBzb2xpZCBncmVlbjsiIHZhbHVlPSJBZHZhbmNlZCZuYnNwO01pbnRpbmciPkFkdmFuY2VkJm5ic3A7TWludGluZzwvYnV0dG9uPgoKCjxidXR0b24gaWQ9InN0ZXA0IiBvbmNsaWNrPSJ3aW5kb3cub3BlbigmcXVvdDtodHRwczovLzNkZC5pbi9hdG9taWNwZzUmcXVvdDspOyIgdGFyZ2V0PSJfYmxhbmsiIHJlbD0ibm9vcGVuZXIgbm9yZWZlcnJlciIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6bGlnaHRncmVlbjtjb2xvcjpibGFjaztib3JkZXI6MnB4IHNvbGlkIGdyZWVuOyIgdmFsdWU9IkV4cGVyaW1lbnRhbCZuYnNwOyZhbXA7Jm5ic3A7VGlwcyI+RXh0cmEmbmJzcDtEYXRhPC9idXR0b24+Cgo8aHI+PGJyPjxicj4mbmJzcDsgJm5ic3A7ICZuYnNwOyBUaGF0J3MgdGhlIGdpc3Qgb2YgaXQsIGhvcGVmdWxseSB5b3UgZ2V0IGEgZ29vZCBhbW91bnQgb2YgaW5mb3JtYXRpb24gZm9ybSB0aGlzIGFuZCB5b3UgY2FuIHVwIHlvdXIgTkZUIGdhbWUgdG8gbWFrZSB5b3VyIG5leHQgTkZUIHN0YW5kIG91dCBhbW9uZyB0aGUgcmVzdC4gQmVzdCBvZiBsdWNrIHRvIHlvdSBpbiB5b3VyIE5GVCBlbmRlYXZvdXJzLjxicj48YnI+Jm5ic3A7ICZuYnNwOyAmbmJzcDsgVGhpcyBhcnRpY2xlIHdhcyBzcGxpdCBpbnRvIHNlY3Rpb25zIHRvIG1ha2UgcHVibGljIHNoYXJpbmcgZWFzaWVyLiBUSGUgb3JpZ2luaWFsIGlzIHN0b3JlZCBvbiBJUEZTIChjaGVjayB5b3VyIE5GVCBmb3IgbW9yZSBpbmZvKS48YnI+PGhyPjxicj4mbmJzcDsgJm5ic3A7ICZuYnNwOyBDbGljayB0aGUgbmV4dCBzZWN0aW9ucyB0byB2aXNpdCB0aGF0IGFydGljbGUgc2VjdGlvbi48c3VwPjxzdWI+VGhpcyB3aWxsIGJlIG9mZmVyZWQgYXMgYW4gTkZUIHdoaWxlIGl0J3MgYXBhcnQgb2YgdGhlIDxhIGhyZWY9Imh0dHBzOi8vM2RkLmluLzNkLXBvdiIgdGFyZ2V0PSJfYmxhbmsiIHJlbD0ibm9vcGVuZXIgbm9yZWZlcnJlciIgc3R5bGU9InRleHQtZGVjb3JhdGlvbjpub25lIj48Yj4zRCdzIFBvaW50IG9mIFZpZXcgPGk+TmV3c2NoYWluPC9pPjwvYj48L2E+LiBFbmpveSBhbmQgdGhhbmsgeW91IGZvciByZWFkaW5nLgoKPC9zdWI+PC9zdXA+PC9pPjwvaT48L2Rpdj48L3NwYW4+PC9oND48L2xhYmVsPiZuYnNwOyA8bGFiZWw+PHNwYW4gYWxpZ249InJpZ2h0IiBzdHlsZT0icmlnaHQ6MDsiPjxoNCBzdHlsZT0ibWFyZ2luLXRvcDotMi41dnc7bWFyZ2luLWJvdHRvbTotMnZ3OyI+PHNwYW4gYWxpZ249InJpZ2h0IiBzdHlsZT0icmlnaHQ6MDsiIGlkPSJvdXRib3R0Ij4zRG91Z2xhcyA8cT4zRDwvcT4gUGlobDwvc3Bhbj4gJm5ic3A7IEA8c3BhbiBpZD0iYXV0aG9ybmFtZSI+SUZ0VWFHRnVheUI1YjNVZ1ptOXlJSEpsWVdScGJtY2hJQzB0TTBSZG9DQ2dRRE5FYjNWbmJHRnpJRHh4UGpORVBDOXhQaUJRYVdoc29DQ2dJRnNqVnpBeFZWZFliRTVTUlZZelZHeFNWazFyT1VWaGVsSlFVVlF3T1ZoVFFUWlBhVUppVTJ0R1QwNUVTWGROYWtaa1hTQT08L3NwYW4+PC9oND4KJm5ic3A7ICZuYnNwOzxzcGFuIHN0eWxlPSJ3aWR0aDo1dnc7bWFyZ2luLXRvcDotMy41dnc7bWFyZ2luLWJvdHRvbTotMC41dnc7IiBpZD0iYWRoZXJlIiBhbGlnbj0ibGVmdCIgb25jbGljaz0idGhpcy5zdHlsZS5kaXNwbGF5PSdub25lJzsgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2FkbGluaycpLnN0eWxlLmRpc3BsYXk9J25vbmUnOyBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnYWR0ZXh0aW4nKS5zdHlsZS5kaXNwbGF5PSdub25lJzsiPjxhIHR5cGU9ImJ1dHRvbiIgc3R5bGU9ImJvcmRlci1yYWRpdXM6MzYwJTsgYmFja2dyb3VuZC1jb2xvcjpibGFjazsgdGV4dC1kZWNvcmF0aW9uOm5vbmU7IGNvbG9yOmxpbWVncmVlbjsgYm9yZGVyLWNvbG9yOm9yYW5nZTsgYm9yZGVyLXdpZHRoOjJ2dzsgd2lkdGg6YXV0bzsgYWxpZ246cmlnaHQ7IG92ZXJmbG93OmhpZGRlbjsgcmlnaHQ6MDsgbWFyZ2luLWJvdHRvbTotMS41dnc7IiBhbGlnbj0icmlnaHQ7IiBocmVmPSJodHRwczovLzNkZC5pbi93YXhzdG9yZSIgdGFyZ2V0PSJfYmxhbmsiIDvCoD0iIiByZWw9Im5vcmVmZXJyZXIgbm9vcGVuZXIiPjxzcGFuIGlkPSJhZHRleHQiIHN0eWxlPSJtYXJnaW46MHZ3IDEuNXZ3IDAuMXZ3IDEuNXZ3OyI+PHN1cD48c3ViPiZuYnNwOyZuYnNwOyZuYnNwO1Zpc2l0IDNEJ3MgPGk+V2F4IFN0b3JlPC9pPiZuYnNwOyZuYnNwOyZuYnNwOzwvc3ViPjwvc3VwPjwvc3Bhbj48L2E+PHNwYW4gaWQ9ImFkdHh0IiBzdHlsZT0iZm9udC1zaXplOjhweCI+PGJyPiAmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsgPGIgaWQ9ImFkdHh0Ym90dG9tIj5hZDwvYj48L3NwYW4+ICZuYnNwOyZuYnNwOyZuYnNwOzwvc3Bhbj48c3BhbiBhbGlnbj0iY2VudGVyIiBpZD0iYWRpbWciIHN0eWxlPSJ3aWR0aDo5OCU7cmlnaHQ6NTA7bGVmdDo1MDtoZWlnaHQ6YXV0bzsiIG9uY2xpY2s9InRoaXMuc3R5bGUuZGlzcGxheT0nbm9uZSc7Ij48YSBhbGlnbj0iY2VudGVyIiBocmVmPSJodHRwczovLzNkZC5pbi9kaXNwZW5zYXJ5IiB0YXJnZXQ9Il9ibGFuayIgOz0iIiByZWw9Im5vcmVmZXJyZXIgbm9vcGVuZXIiPjxpbWcgc3JjPSJodHRwczovL2dhdGV3YXkucGluYXRhLmNsb3VkL2lwZnMvUW1aajI5Vkxka1JpZ1hZaHI4dWhTOE01V2lSVFlOeTZFdTVqNWVyU1REZnluVyIgc3R5bGU9IndpZHRoOjk4JTsgYWxpZ246Y2VudGVyOyIgYWxpZ249ImNlbnRlciI+PC9hPjwvc3Bhbj4KJm5ic3A7PGxhYmVsPjxociBzdHlsZT0ibWFyZ2luLXRvcDowLjV2dzttYXJnaW4tYm90dG9tOi0wLjc1dnc7Ij48aDMgYWxpZ249ImNlbnRlciI+PHN1Yj5JZiB5b3UgbGlrZWQgdGhpcyBQdnRQcHIgcGxlYXNlIGNvbnNpZGVyIGRvbmF0aW5nIHRvIHRoZSBhdXRob3IsIDxzcGFuIGlkPSJhdXRobmFtZSI+M0RvdWdsYXMgPHE+M0Q8L3E+IFBpaGw8L3NwYW4+IGJ5IHVzaW5nIHRoZSBjcnlwdG8tYWRkcmVzc2VzIGJlbG93LiAmbmJzcDsgVGhhbmsgeW91Ljwvc3ViPjxicj48c3ViPjxzcGFuIGFsaWduPSJsZWZ0Ij48Yj7igr86Ly88aT48c3BhbiBpZD0iYnRjYWRkeSI+MUsxVkVGVlA4dmVlWmN0VTh1WTczcHprQzlMRzhhSHc3Uzwvc3Bhbj48L2k+PC9iPjwvc3Bhbj4gJm5ic3A7IDxiPjxzcGFuIGFsaWduPSJyaWdodCI+PGk+PHNwYW4gaWQ9Imx0Y2FkZHkiPjxhIGhyZWY9Imh0dHBzOi8vY29pbnRyLmVlLzNEXyIgdGFyZ2V0PSJfYmxhbmsiIHN0eWxlPSJ0ZXh0LWRlY29yYXRpb246bm9uZTtjb2xvcjpkYXJrZ3JlZW47Ij4zRF8ncyBDb2ludHIuZWU8L2E+PC9zcGFuPjwvaT48L3NwYW4+PC9iPjwvc3ViPjwvaDM+PGg0IGFsaWduPSJjZW50ZXIiPjxzdXA+UHZ0UHBycyBjYW4gYmUgbW9uZXRpemVkIGJ5IEJpdHR1YmUgQWlydGltZSAmYW1wOyB0byBoZWxwIHRoZSBhdXRob3IgZ2lhbiAkPGk+VFVCRVM8L2k+IGZyb20geW91IHJlYWRpbmcgdGhpcyBwYXBlciwgcGxlYXNlIHVzZSBvciBpbnN0YWxsIHRoZSA8c3BhbiBvbmNsaWNrPSJ3aW5kb3cub3BlbignaHR0cHM6Ly9jaHJvbWUuZ29vZ2xlLmNvbS93ZWJzdG9yZS9kZXRhaWwvYml0dHViZS1haXJ0aW1lLWRvbmF0aW9ucy9jbm9nYmJtY2lmZnBpYm1rcGhvaHBlYmdobW9tYWVtaScpIiBzdHlsZT0iY29sb3I6Z3JlZW47Ij5CaXR0dWJlIEFpcnRpbWUgRXh0ZW5zaW9uPC9zcGFuPiBvciB1c2UgdGhlIDxzcGFuIHN0eWxlPSJjb2xvcjpncmVlbiIgb25jbGljaz0id2luZG93Lm9wZW4oJ2h0dHBzOi8vYml0dHViZS5hcHAnKSI+Qml0dHViZSBCcm93c2VyPC9zcGFuPi48L3N1cD48L2g0PjwvbGFiZWw+CiZuYnNwOzxkaXYgYWxpZ249ImNlbnRlciI+PGxhYmVsPjxoNSBzdHlsZT0ibWFyZ2luLXRvcDotMnZ3OyI+PHNwYW4gc3R5bGU9ImxlZnQ6MDsgbWFyZ2luLXJpZ2h0OjIuNXZ3O21hcmdpbi1sZWZ0Oi0xLjV2dzsiIGFsaWduPSJsZWZ0Ij5NYWRlJm5ic3A7d2l0aCZuYnNwOzxzcGFuIGlkPSJERkNhYmluZXQiIHN0eWxlPSJ0ZXh0LWRlY29yYXRpb246bm9uZTsiPjxhIGhyZWY9Imh0dHBzOi8vM2RkLmluL3BwZ2VuIiB0YXJnZXQ9Il9ibGFuayI+UHZ0UHByJm5ic3A7R2VuZXJhdG9yJm5ic3A7TGl0ZTwvYT48L3NwYW4+PHN1cD48c3VwPjIwMjE8L3N1cD48L3N1cD48L3NwYW4+IDxzcGFuIGlkPSJwcmV2IiBzdHlsZT0ibWFyZ2luLXRvcDotMS41cHg7bWFyZ2luLWJvdHRvbToxLjVweDsgbWFyZ2luLWxlZnQ6Mi41dnc7IHJpZ2h0OjA7IG1hcmdpbi1yaWdodDotMS41dnc7Ym9yZGVyLXJhZGl1czoxNSU7cGFkZGluZzozcHg7IiBhbGlnbj0icmlnaHQiPjxhIGhyZWY9Imh0dHBzOi8vdGlueXVybC5jb20veTUzbzR3M3kiIHRhcmdldD0iX2JsYW5rIiByZWw9Im5vb3BlbmVyIG5vcmVmZXJyZXIiIHN0eWxlPSJib3JkZXI6IDAuMDF2dyBzb2xpZCBkYXJrZ3JlZW47IGJhY2tncm91bmQtY29sb3I6bGltZWdyZWVuOyBjb2xvcjpibGFjazsgYm94LXNoYWRvdzpkaW1ncmV5IDNweCA2cHggOXB4OyB0ZXh0LWRlY29yYXRpb246bm9uZTsiPlByZXZpb3VzJm5ic3A7UGFwZXI8L2E+PC9zcGFuPjwvaDU+PC9sYWJlbD48c3BhbiBzdHlsZT0iYm94LXNoYWRvdzpkaW1ncmV5IDNweCA2cHggOXB4O2xlZnQ6MDsiIGFsaWduPSJsZWZ0IiBpZD0iY2VydGFibGUiPjxhIGhyZWY9Imh0dHBzOi8vM2RkLmluL1B2dFBwci1QYWdlLUNlcnQiIHRhcmdldD0iX2JsYW5rIiBzdHlsZT0idGV4dC1kZWNvcmF0aW9uOm5vbmU7YmFja2dyb3VuZC1jb2xvcjpibGFjaztjb2xvcjp3aGl0ZTsiPlZpZXcmbmJzcDt0aGlzJm5ic3A7b2JqZWN0J3MmbmJzcDtDZXJ0YWJsZTwvYT48L3NwYW4+PC9kaXY+CiZuYnNwOzxocj48c3BhbiBpZD0icXJpbWciIGNsYXNzPSJxcmltZyIgYWxpZ249InJpZ2h0IiBzdHlsZT0icmlnaHQ6MDttYXJnaW4tbGVmdDo1MCU7Ij48aW1nIGNsYXNzPSJxcmltZyIgc3JjPSJodHRwczovL3p4aW5nLm9yZy93L2NoYXJ0P2NodD1xciZhbXA7Y2hzPTExNXgxMTUmYW1wO2NobGQ9SHwxJmFtcDtjaG9lPVVURi04JmFtcDtjaGw9aHR0cHM6Ly90d2l0dGVyLmNvbS9yYWRpb2FjdGl2ZTNkIiBhbGlnbj0icmlnaHQiPjwvc3Bhbj48c3BhbiBzdHlsZT0ib3BhY2l0eTowLjUzO2NvbG9yOmdyZXk7IiBhbGlnbj0ibGVmdCI+Jm5ic3A7CiZuYnNwOyA8YnI+PHNwYW4gb25jbGljaz0iYWxhbGVydCgpIj5QdnRQcHIuIDIwMTgtMjAyMSA8YnI+IFByaXZhdGUgUGFwZXIgMjAxOC0yMDIxPC9zcGFuPiA8YnI+CjxzcGFuIGlkPSJmb290ZW4iIG9uY2xpY2s9InRoaXMuc3R5bGUuZGlzcGxheT0nbm9uZSc7IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdmb290c3AnKS5zdHlsZS5kaXNwbGF5PSdibG9jayc7Ij5BIFRob3VnaHQgQ2hpbGQgb2YgdGhlIDMgSm9rZXJzPC9zcGFuPgo8c3BhbiBpZD0iZm9vdHNwIiBvbmNsaWNrPSJ0aGlzLnN0eWxlLmRpc3BsYXk9J25vbmUnOyBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnZm9vdGNoJykuc3R5bGUuZGlzcGxheT0nYmxvY2snOyIgc3R5bGU9ImRpc3BsYXk6bm9uZSI+VW4gcGVuc2FtaWVudG8gaGlqbyBkZSBsb3MgMyBjb21vZGluZXM8L3NwYW4+CjxzcGFuIGlkPSJmb290Y2giIG9uY2xpY2s9InRoaXMuc3R5bGUuZGlzcGxheT0nbm9uZSc7IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdmb290anAnKS5zdHlsZS5kaXNwbGF5PSdibG9jayc7IiBzdHlsZT0iZGlzcGxheTpub25lIj7kuInkuKrlsI/kuJHnmoTmgJ3mg7PlranlrZA8L3NwYW4+CjxzcGFuIGlkPSJmb290anAiIG9uY2xpY2s9InRoaXMuc3R5bGUuZGlzcGxheT0nbm9uZSc7IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdmb290cnUnKS5zdHlsZS5kaXNwbGF5PSdibG9jayc7IiBzdHlsZT0iZGlzcGxheTpub25lIj4z5Lq644Gu44K444On44O844Kr44O844Gu5oCd6ICD44Gu5a2QPC9zcGFuPgo8c3BhbiBpZD0iZm9vdHJ1IiBvbmNsaWNrPSJ0aGlzLnN0eWxlLmRpc3BsYXk9J25vbmUnOyBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnZm9vdHN3Jykuc3R5bGUuZGlzcGxheT0nYmxvY2snOyIgc3R5bGU9ImRpc3BsYXk6bm9uZSI+0JzRi9GB0LvQtdC90L3QvtC1INCU0LjRgtGPIDMg0JTQttC+0LrQtdGA0L7Qsjwvc3Bhbj4KPHNwYW4gaWQ9ImZvb3RzdyIgb25jbGljaz0idGhpcy5zdHlsZS5kaXNwbGF5PSdub25lJzsgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2Zvb3RkdScpLnN0eWxlLmRpc3BsYXk9J2Jsb2NrJzsiIHN0eWxlPSJkaXNwbGF5Om5vbmUiPkV0dCB0w6Rua3QgYmFybiBhdiBkZSAzIGpva2FybmE8L3NwYW4+CjxzcGFuIGlkPSJmb290ZHUiIG9uY2xpY2s9InRoaXMuc3R5bGUuZGlzcGxheT0nbm9uZSc7IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdmb290ZW4nKS5zdHlsZS5kaXNwbGF5PSdibG9jayc7IiBzdHlsZT0iZGlzcGxheTpub25lIj5FaW4gR2VkYW5rZW5raW5kIGRlciAzIEpva2VyPC9zcGFuPgo8L3NwYW4+PGJyPjxwIGFsaWduPSJjZW50ZXIiPjwvcD48cCBzdHlsZT0iYmFja2dyb3VuZC1jb2xvcjpibGFjaztjb2xvcjpzaWx2ZXI7Ym94LXNoYWRvdzpkaW1ncmV5IDNweCA2cHggOXB4O3RleHQtYWxpZ246bGVmdDtsZWZ0OjA7d2lkdGg6YXV0bzsiIGFsaWduPSJsZWZ0IiByZWw9Im5vcmVmZXJyZXIgbm9vcGVuZXIiIHRhcmdldD0iX3NlbGYiIG9uY2xpY2s9IndpbmRvdy5vcGVuKCdodHRwczovLzNkZC5pbi9QdnRQcHInKTsiPlJlYWQmbmJzcDt0aGUmbmJzcDtPZmZpY2lhbCZuYnNwO1B2dFBwciZuYnNwOzxiPjxpPk5ld3NjaGFpbjwvaT48L2I+PC9wPiA8cCBvbmNsaWNrPSJBbGVydENoZWNrKCk7IiBpZD0iTGlua0NvdmVyIiBhbGlnbj0icmlnaHQiIHN0eWxlPSJjb2xvcjpzaWx2ZXI7dGV4dC1hbGlnbjpyaWdodDtyaWdodDowO21hcmdpbi10b3A6LTIuODV2dzticmVhay13b3JkOmtlZXAtYWxsO3dvcmQtYnJlYWs6a2VlcC1hbGw7Ij4zRDombmJzcDs8Yj4jPGk+MTUzMTdmZXV3Z3M4am88L2k+PC9iPjwvcD48cD48L3A+PGhyPjxicj48YnI+PC9zcGFuPjwvbGFiZWw+PC9kaXY+CjxzY3JpcHQ+wqAKCgrCoCDCoCAvLyBBZGRlZCBldmVudCBsaXN0ZW5lciB0byB0aGUgc2Nyb2xswqAKwqAgwqAgd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoJ3Njcm9sbCcswqAKwqAgwqAgwqAgwqAgwqAgwqAgbW92ZVNjcm9sbEluZGljYXRvcik7wqAKCgrCoCDCoCAvLyBHZXR0aW5nIHNjcm9sbEluZGljYXRvciBlbGVtZW50IGJ5IElEwqAKwqAgwqAgY29uc3Qgc2Nyb2xsSW5kaWNhdG9yRWx0ID3CoMKgCsKgIMKgIMKgIMKgIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdzY3JvbGxJbmRpY2F0b3InKTvCoAoKCsKgIMKgIC8vIEhlaWdodCBvZiBlbnRpcmUgd2ViIHBhZ2UgLSBoZWlnaHTCoArCoCDCoCAvLyBvZiB2aWV3YWJsZSBwb3J0aW9uIG9mIGJyb3dzZXLCoArCoCDCoCBjb25zdCBtYXhIZWlnaHQgPcKgwqAKwqAgwqAgwqAgwqAgd2luZG93LmRvY3VtZW50LmJvZHkuc2Nyb2xsSGVpZ2h0wqDCoArCoCDCoCDCoCDCoCAtIHdpbmRvdy5pbm5lckhlaWdodDvCoAoKCsKgIMKgIGZ1bmN0aW9uIG1vdmVTY3JvbGxJbmRpY2F0b3IoZSkge8KgCgoKwqAgwqAgwqAgwqAgLy8gQ2FsY3VsYXRpbmcgd2lkdGggb2YgdGhlwqDCoArCoCDCoCDCoCDCoCAvLyBzY3JvbGxJbmRpY2F0b3IgZWxlbWVudMKgCsKgIMKgIMKgIMKgIGNvbnN0IHBlcmNlbnRhZ2UgPcKgwqAKwqAgwqAgwqAgwqAgwqAgwqAgKCh3aW5kb3cuc2Nyb2xsWSkgLyBtYXhIZWlnaHQpICogMTAwO8KgCgoKwqAgwqAgwqAgwqAgLy8gUGl4ZWxzIHNjcm9sbGVkIGJ5IHRoZSB1c2VywqDCoArCoCDCoCDCoCDCoCAvLyB0byB0b3RhbCBzY3JvbGxhYmxlIFBpeGVsc8KgCsKgIMKgIMKgIMKgIHNjcm9sbEluZGljYXRvckVsdC5zdHlsZS53aWR0aMKgCsKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgPSBwZXJjZW50YWdlICsgJyUnO8KgCsKgIMKgIH3CoAo8L3NjcmlwdD4mbmJzcDsKPHNjcmlwdD4KwqAKwqBmdW5jdGlvbiBhbGFsZXJ0KCl7CsKgIGFsZXJ0KCdIZWxsbyAmIFdlbGNvbWUgdG8gdGhlIHRoaXMgUHZ0UHByIFtwcsSrdml0IHDEgXDJmXJdLlxuXG5QdnRQcHIgaXMgYnJvdWdodCB0byB5b3UgYnkgM0csIDNEICYgRS1ULlxuXG5UaGlzIGlzIGhvYXN0ZWQgYnkgZXhwZXJpbWVudGFsIHRlY2hub2xvZ3kgaW4gaGFzaC1iYXNlZC1saW5rcyB0byBzdG9yZSBhbGwgb2YgdGhlIHdlYnNpdGUgY29kZSArIHRleHQgb2ZmIHNlcnZlcnMuXG5cblNlcnZlcnMgYXJlIHVzZWQgZm9yIGRlY3J5dGluZyB0aGUgaGFzaGxpbmsgZm9yIHRoZSBicm93c2VyIHRvIGRpc3BsYXkgdGhlIHdlYnNpdGUvd2ViYXBwLlxuXG5Ib3N0ZWQgYnkgSXR0eS5CaXR0eS5TaXRlIChieSBBbGNvcikuXG5cblxuVGhhbmsgeW91LlxuwqAgwqAgwqBbTFMwelJBOjpKQU4xNjIwMjBdXG5cbsKgIMKgIMKgTGFzdCBVcGRhdGUgW0pBTjIwMjAyMTo6TFMwelJBXScpOwrCoH0KwqBmdW5jdGlvbiBBbGVydENoZWNrKCkgewrCoCBhbGVydCgiWW91IGNsaWNrZWQgb24gYW4gZWFzdGVyIGVnZy4gUGxlYXNlIGVuam95IVxuXG5UaGlzIFB2dFBwciB3YXMgbWFkZSB3aXRoIHRoZSBQdnRQcHIgR2VuZXJhdG9yIChQUEdlbikuIFRoaXMgaXMgYSBuZXdzcGFwZXIgc3lzdGVtIHdpdGggZXZlcnlvbmUgaW4gbWluZC4gQW55b25lIGNhbiB1c2UgUFBHZW4gdG8gYnVpbGQgdGhlaXIgb3duIHByaXZhdGUgcGFwZXIgY29tcGxldGUgd2l0aCBhIHVzYWJsZSBsaW5rLlxuXG5UaGlzIGlzIHRoZSBsaXRlLXZlcnNpb24gb2YgdGhlIFB2dFBwciBHZW5lcmF0b3JcblxuXG5cblRoYW5rIFlvdVxuwqAgwqAgwqBbTFMwelJBOjpKQU4xNjIwMjBdXG5cbsKgIMKgIMKgTGFzdCBVcGRhdGUgW0pBTjIwMjAyMTo6TFMwelJBXSIpOwrCoH0KwqAKPC9zY3JpcHQ+CjxtZXRhIG5hbWU9ImFpcnRpbWUtcGxhdGZvcm0tZGlzcGxheSIgY29udGVudD0iYXJ0aWNsZXMiPjxtZXRhIG5hbWU9ImFpcnRpbWUtcGxhdGZvcm0taWQiIGNvbnRlbnQ9Ijk5YTc5MGQ4LTg3MDctZTRhOS05OTZmLWE1ZjAxODEzYzQ1YyI+PHNjcmlwdCBzcmM9Imh0dHBzOi8vYml0dHViZWFwcC5jb20vdHViZXBheS9haXJ0aW1lLmxvYWRlci5qcyIgZGF0YS12ZXJpZnk9Im1ldGEiIGRhdGEtYXV0b3N0YXJ0PSJ0cnVlIj48L3NjcmlwdD48L2E+
- Protocol
- H2
- Server
-
2606:4700::6810:7caf
, United States,
ASN13335
(CLOUDFLARENET, US),
- Reverse DNS
- Software
-
cloudflare /
- Resource Hash
- c575538cb0c28a1d94802f33b614fe72978a30638a675f787bef4f4c6bcc4e22
- Security Headers
-
Name |
Value |
Strict-Transport-Security |
max-age=31536000; includeSubDomains; preload |
X-Content-Type-Options |
nosniff |
|
GET
H2
|
200
|
pexels-photo-6393370.jpeg
images.pexels.com/photos/6393370/
Frame FD4C
|
13 MB
13 MB
|
1175ms
1116ms
|
Image
image/jpeg |
2606:4700::6811:d166
CLOUDFLARENET
|
|
General
- Full URL
- https://images.pexels.com/photos/6393370/pexels-photo-6393370.jpeg
- Requested by
- Host: text
URL: data:text/html;charset=utf-8;base64,PG1ldGEgY2hhcnNldD0idXRmLTgiPjxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgiPjxiYXNlIHRhcmdldD0iX3RvcCI+PHN0eWxlIHR5cGU9InRleHQvY3NzIj5ib2R5e21hcmdpbjowIGF1dG87cGFkZGluZzoxMnZtaW4gMTB2bWluO21heC13aWR0aDozNWVtO2xpbmUtaGVpZ2h0OjEuNWVtO2ZvbnQtZmFtaWx5Oi1hcHBsZS1zeXN0ZW0sQmxpbmtNYWNTeXN0ZW1Gb250LHNhbnMtc2VyaWY7d29yZC13cmFwOmJyZWFrLXdvcmQ7fUBtZWRpYShwcmVmZXJzLWNvbG9yLXNjaGVtZTogZGFyayl7Ym9keXtjb2xvcjp3aGl0ZTtiYWNrZ3JvdW5kLWNvbG9yOmJsYWNrO319PC9zdHlsZT4gPGEgdGFyZ2V0PSJfdG9wIiBpZD0ibGluayIgbmFtZT0ibGluayIgc3R5bGU9ImRpc3BsYXk6IGJsb2NrOyBvdmVyZmxvdy13cmFwOiBicmVhay13b3JkOyBzY3JvbGwtYmVoYXZpb3I6IHNtb290aDsiPjxkaXYgaWQ9ImljaGVjayIgc3R5bGU9Im1hcmdpbi10b3A6LTd2dzsiPgoKCiZuYnNwOzxzdHlsZT4gLmxpbmUge2JhY2tncm91bmQ6IGJsYWNrO29wYWNpdHk6IDAuNTtoZWlnaHQ6IDQuNXB4Oy13ZWJraXQtYm94LXNoYWRvdzogMnB4IC0ycHggM3B4IGRpbWdyZXk7Ym94LXNoYWRvdzogMnB4IC0ycHggM3B4IGRpbWdyZXk7d2lkdGg6IDAlO3Bvc2l0aW9uOiBmaXhlZDtib3R0b206IDA7bGVmdDowO2FsaWduOmNlbnRlcjt6LWluZGV4Ojg7fcKgIMKgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogOS45aW4pIHsgLnFyaW1nIHthbGlnbjogcmlnaHQ7cmlnaHQ6MDttYXJnaW4tcmlnaHQ6LTMuNSU7bWFyZ2luLWJvdHRvbTotNTAlO3BhZGRpbmctcmlnaHQ6LTEuNSU7d2lkdGg6MzAlO30gLnRvcGJhciB7bWFyZ2luLXRvcDotM3Z3O21hcmdpbi1sZWZ0Oi0zdnc7bWFyZ2luLXJpZ2h0Oi0zdnc7fSAubGluZSB7bWFyZ2luLWxlZnQ6MC41JTthbGlnbjpjZW50ZXI7bGVmdDowO319IEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEwaW4pIHsgLnFyaW1nIHthbGlnbjogcmlnaHQ7bWFyZ2luLWJvdHRvbTotNTAlO3dpZHRoOjIwJTt9LmxpbmUge21hcmdpbi1sZWZ0OjAlO2FsaWduOmNlbnRlcjtsZWZ0OjA7fX3CoCA8L3N0eWxlPiZuYnNwOyA8ZGl2IGNsYXNzPSJsaW5lIiBpZD0ic2Nyb2xsSW5kaWNhdG9yIj48L2Rpdj48L2Rpdj48c2NyaXB0IHNyYz0iaHR0cHM6Ly91bnBrZy5jb20vZW1iZWRkYWJsZS1uZnRzL2Rpc3QvbmZ0LWNhcmQubWluLmpzIj48L3NjcmlwdD48ZGl2IGlkPSJiYWNrZ3JvdW5kIiBzdHlsZT0ibWFyZ2luLWJvdHRvbTotMTV2dzsiPjxsYWJlbD48aDEgc3R5bGU9Im1hcmdpbi1ib3R0b206LTJ2dzsiPjxzcGFuIHN0eWxlPSJsZWZ0OjA7IiBhbGlnbj0ibGVmdCIgaWQ9Im91dHRvcCI+PGRpdiBpZD0idG9wYmFyIiB6LWluZGV4Ojk7PSIiIGNsYXNzPSJ0b3BiYXIiIGFsaWduPSJjZW50ZXIiIHN0eWxlPSJwb3NpdGlvbjpmaXhlZDt0ZXh0LWFsaWduOmNlbnRlcjtiYWNrZ3JvdW5kOiByZ2IoMjU1LDI1MCwyNTApOyBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoNmRlZywgcmdiKDI1NSwyNTUsMjU1LDAuNTApIDAlLCByZ2IoMjU1LDI1NSwyNTUsMC43NSkgMTglLCByZ2IoMjU1LDI1NSwyNTUsMSkgMjUlKTtwYWRkaW5nLXRvcDozMHZ3OyBwYWRkaW5nLWxlZnQ6MTB2dzsgcGFkZGluZy1ib3R0b206LTEwdnc7IHBhZGRpbmctcmlnaHQ6MTB2dzt0b3A6MDtsZWZ0OjUwO3JpZ2h0OjUwO21hcmdpbi10b3A6LTI3LjV2dzttYXJnaW4tbGVmdDotMTQuNXZ3O21hcmdpbi1ib3R0b206LTV2dzttYXJnaW4tcmlnaHQ6LTE2dnc7Ij48aDMgY2xhc3M9Im5hdnQiIGlkPSJuYXZ0IiBhbGlnbj0iY2VudGVyIiBzdHlsZT0icGFkZGluZzoxLjVweCAxLjVweCAxLjUlIDEuNXB4O21hcmdpbjotMC4xJSAxNSUgMCUgMTUlO3otaW5kZXg6OTk7IiByZWw9Im5vcmVmZXJyZXIgbm9vcGVuZXIiIHRhcmdldD0iX2JsYW5rIj5BdG9taWNBc3NldCBHdWlkZSA8c3VwPjxzdWI+KDxiPjxpPldBWCA8c3ViPnZlcnNpb248L3N1Yj48L2k+PC9iPik8L3N1Yj48L3N1cD48L2gzPiA8aHIgc3R5bGU9ImJvcmRlcjoxLjVweCBzb2xpZCBsaWdodGdyZXk7Ym94LXNoYWRvdzoxcHggMXB4IDFweCBzaWx2ZXIgaW5zZXQ7bWFyZ2luLXRvcDotMC43NSU7d2lkdGg6OTglO21hcmdpbi1ib3R0b206LTJ2dzsiPiZuYnNwOyA8ZGl2IGNsYXNzPSJuYXYiIGFsaWduPSJjZW50ZXIiIHN0eWxlPSJvdmVyZmxvdzphdXRvO2RpcmVjdGlvbjpsdHI7bWFyZ2luLWJvdHRvbTotMi4yNSU7c2Nyb2xsLWJlaGF2aW9yOnNtb290aDtzY3JvbGwtYmFyOnRyYW5zcGFyZW50OyB3aGl0ZS1zcGFjZTpub3dyYXA7YnJlYWstd29yZDprZWVwLWFsbDsiPiZuYnNwOzxidXR0b24gY2xhc3M9Im5hdmJ1dHRvbiIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6cmdiKDI1NSwyNTAsMjUwLDAuNzcpO2NvbG9yOmJsYWNrO2JvcmRlcjoxcHggc29saWQgc2lsdmVyO2JveC1zaGFkb3c6MnB4IDJweCA0cHggc2lsdmVyIGluc2V0O3BhZGRpbmc6MCUgMS41JSAwJSAxLjUlO21hcmdpbjotM3Z3IDB2dyAxLjV2dyAwdnc7IiBvbmNsaWNrPSJ3aW5kb3cub3BlbignaHR0cHM6Ly93YXguaW8nKSIgdGFyZ2V0PSJfYmxhbmsiIHJlbD0ibm9vcGVuZXIgbm9yZWZlcnJlciI+R2V0IGEgV2F4IFdhbGxldDwvYnV0dG9uPiZuYnNwOyZuYnNwOzxidXR0b24gY2xhc3M9Im5hdmJ1dHRvbiIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6cmdiKDI1NSwyNTAsMjUwLDAuNzcpO2NvbG9yOmJsYWNrO2JvcmRlcjoxcHggc29saWQgc2lsdmVyO2JveC1zaGFkb3c6MnB4IDJweCA0cHggc2lsdmVyIGluc2V0O3BhZGRpbmc6MCUgMS41JSAwJSAxLjUlO21hcmdpbjotM3Z3IDB2dyAxLjV2dyAwdnc7IiBvbmNsaWNrPSJ3aW5kb3cub3BlbignaHR0cHM6Ly9hbGwtYWNjZXNzLndheC5pbycpIiB0YXJnZXQ9Il9ibGFuayIgcmVsPSJub29wZW5lciBub3JlZmVycmVyIj5XYXggQ2xvdWQgV2FsbGV0IDxzdXA+PHN1Yj4oZ3JlYXQgZm9yIHN0YXJ0ZXJzKTwvc3ViPjwvc3VwPjwvYnV0dG9uPiZuYnNwOyZuYnNwOzxidXR0b24gY2xhc3M9Im5hdmJ1dHRvbiIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6cmdiKDI1NSwyNTAsMjUwLDAuNzcpO2NvbG9yOmJsYWNrO2JvcmRlcjoxcHggc29saWQgc2lsdmVyO2JveC1zaGFkb3c6MnB4IDJweCA0cHggc2lsdmVyIGluc2V0O3BhZGRpbmc6MCUgMS41JSAwJSAxLjUlO21hcmdpbjotM3Z3IDB2dyAxLjV2dyAwdnc7IiBvbmNsaWNrPSJ3aW5kb3cub3BlbignaHR0cHM6Ly93YXguYXRvbWljaHViLmlvL2NyZWF0b3InKSIgdGFyZ2V0PSJfYmxhbmsiIHJlbD0ibm9vcGVuZXIgbm9yZWZlcnJlciI+QXRvbWljaHViIChjcmVhdG9yKTwvYnV0dG9uPiZuYnNwOyZuYnNwOzxidXR0b24gY2xhc3M9Im5hdmJ1dHRvbiIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6cmdiKDI1NSwyNTAsMjUwLDAuNzcpO2NvbG9yOmJsYWNrO2JvcmRlcjoxcHggc29saWQgc2lsdmVyO2JveC1zaGFkb3c6MnB4IDJweCA0cHggc2lsdmVyIGluc2V0O3BhZGRpbmc6MCUgMS41JSAwJSAxLjUlO21hcmdpbjotM3Z3IDB2dyAxLjV2dyAwdnc7IiBvbmNsaWNrPSJ3aW5kb3cub3BlbignaHR0cHM6Ly93YXguYmxva3MuaW8vJykiIHRhcmdldD0iX2JsYW5rIiByZWw9Im5vb3BlbmVyIG5vcmVmZXJyZXIiPldheCBCbG9rcy5pbzwvYnV0dG9uPiZuYnNwOyZuYnNwOzxidXR0b24gY2xhc3M9Im5hdmJ1dHRvbiIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6cmdiKDI1NSwyNTAsMjUwLDAuNzcpO2NvbG9yOmJsYWNrO2JvcmRlcjoxcHggc29saWQgc2lsdmVyO2JveC1zaGFkb3c6MnB4IDJweCA0cHggc2lsdmVyIGluc2V0O3BhZGRpbmc6MCUgMS41JSAwJSAxLjUlO21hcmdpbjotM3Z3IDB2dyAxLjV2dyAwdnc7IiBvbmNsaWNrPSJ3aW5kb3cub3BlbignaHR0cHM6Ly93YXguYmxva3MuaW8vYWNjb3VudC9hdG9taWNkcm9wc3g/bG9hZENvbnRyYWN0PXRydWUmYW1wO3RhYj1BY3Rpb25zJmFtcDthY2NvdW50PWF0b21pY2Ryb3BzeCZhbXA7c2NvcGU9YXRvbWljZHJvcHN4JmFtcDtsaW1pdD0xMDAmYW1wO2FjdGlvbj1jcmVhdGVkcm9wJykiIHRhcmdldD0iX2JsYW5rIiByZWw9Im5vb3BlbmVyIG5vcmVmZXJyZXIiPkZpbmQgQXRvbWljZHJvcHN4PC9idXR0b24+Jm5ic3A7Jm5ic3A7PGJ1dHRvbiBjbGFzcz0ibmF2YnV0dG9uIiBzdHlsZT0iYmFja2dyb3VuZC1jb2xvcjpyZ2IoMjU1LDI1MCwyNTAsMC43Nyk7Y29sb3I6YmxhY2s7Ym9yZGVyOjFweCBzb2xpZCBzaWx2ZXI7Ym94LXNoYWRvdzoycHggMnB4IDRweCBzaWx2ZXIgaW5zZXQ7cGFkZGluZzowJSAxLjUlIDAlIDEuNSU7bWFyZ2luOi0zdncgMHZ3IDEuNXZ3IDB2dzsiIG9uY2xpY2s9IndpbmRvdy5vcGVuKCdodHRwczovL3dheC5ibG9rcy5pby9hY2NvdW50L2JsZW5kZXJpemVyeD9sb2FkQ29udHJhY3Q9dHJ1ZSZhbXA7dGFiPUFjdGlvbnMmYW1wO2FjY291bnQ9YmxlbmRlcml6ZXJ4JmFtcDtzY29wZT1ibGVuZGVyaXplcngmYW1wO2xpbWl0PTEwMCZhbXA7YWN0aW9uPWNyZWF0ZWJsZW5kJykiIHRhcmdldD0iX2JsYW5rIiByZWw9Im5vb3BlbmVyIG5vcmVmZXJyZXIiPkZpbmQgQmxlbmRlcmlzZXJ4PC9idXR0b24+Jm5ic3A7Jm5ic3A7PGJ1dHRvbiBjbGFzcz0ibmF2YnV0dG9uIiBzdHlsZT0iYmFja2dyb3VuZC1jb2xvcjpyZ2IoMjU1LDI1MCwyNTAsMC43Nyk7Y29sb3I6YmxhY2s7Ym9yZGVyOjFweCBzb2xpZCBzaWx2ZXI7Ym94LXNoYWRvdzoycHggMnB4IDRweCBzaWx2ZXIgaW5zZXQ7cGFkZGluZzowJSAxLjUlIDAlIDEuNSU7bWFyZ2luOi0zdncgMHZ3IDEuNXZ3IDB2dzsiIG9uY2xpY2s9IndpbmRvdy5vcGVuKCdodHRwczovL3dheC5ibG9rcy5pby9hY2NvdW50L2F0b21pY3BhY2tzeD9sb2FkQ29udHJhY3Q9dHJ1ZSZhbXA7dGFiPUFjdGlvbnMmYW1wO2FjY291bnQ9YXRvbWljcGFja3N4JmFtcDtzY29wZT1hdG9taWNwYWNrc3gnKSIgdGFyZ2V0PSJfYmxhbmsiIHJlbD0ibm9vcGVuZXIgbm9yZWZlcnJlciI+RmluZCBBdG9taWNwYWNrc3g8L2J1dHRvbj4mbmJzcDsmbmJzcDs8YnV0dG9uIGNsYXNzPSJuYXZidXR0b24iIHN0eWxlPSJiYWNrZ3JvdW5kLWNvbG9yOnJnYigyNTUsMjUwLDI1MCwwLjc3KTtjb2xvcjpibGFjaztib3JkZXI6MXB4IHNvbGlkIHNpbHZlcjtib3gtc2hhZG93OjJweCAycHggNHB4IHNpbHZlciBpbnNldDtwYWRkaW5nOjAlIDEuNSUgMCUgMS41JTttYXJnaW46LTN2dyAwdncgMS41dncgMHZ3OyIgb25jbGljaz0id2luZG93Lm9wZW4oJ2h0dHBzOi8vbmVmdHlibG9ja3MuY29tLycpIiB0YXJnZXQ9Il9ibGFuayIgcmVsPSJub29wZW5lciBub3JlZmVycmVyIj5GaW5kIE5lZnR5Qmxva3M8L2J1dHRvbj4mbmJzcDsmbmJzcDs8YnV0dG9uIGNsYXNzPSJuYXZidXR0b24iIHN0eWxlPSJiYWNrZ3JvdW5kLWNvbG9yOnJnYigyNTUsMjUwLDI1MCwwLjc3KTtjb2xvcjpibGFjaztib3JkZXI6MXB4IHNvbGlkIHNpbHZlcjtib3gtc2hhZG93OjJweCAycHggNHB4IHNpbHZlciBpbnNldDtwYWRkaW5nOjAlIDEuNSUgMCUgMS41JTttYXJnaW46LTN2dyAwdncgMS41dncgMHZ3OyIgb25jbGljaz0id2luZG93Lm9wZW4oJ2h0dHBzOi8vM2RkLmluL2F0b21pY2Fzc2V0cHByJykiIHRhcmdldD0iX2JsYW5rIiByZWw9Im5vb3BlbmVyIG5vcmVmZXJyZXIiPkJ1eSBUaGlzIGFzIGFuIE5GVDwvYnV0dG9uPiZuYnNwOyZuYnNwOzwvZGl2PjwvZGl2Pjxicj48YnI+PGJyPjwvc3Bhbj48L2gxPjwvbGFiZWw+Jm5ic3A7IDxsYWJlbD48aDQgYWxpZ249InJpZ2h0IiBzdHlsZT0icmlnaHQ6MDsiPjxzcGFuIGFsaWduPSJyaWdodCIgc3R5bGU9InJpZ2h0OjA7IiBpZD0ib3V0bWlkIj48YnI+PGJyPkNyZWF0aW5nIE5GVHMgZm9yIEFsbW9zdCBBbnkgT2NjYXNzaW9uPGJyPjxicj5TZWN0aW9uIDE8L3NwYW4+PGhyIHN0eWxlPSJtYXJnaW4tYm90dG9tOi0zdnc7Ij48L2g0PjwvbGFiZWw+CiZuYnNwOyAmbmJzcDs8c3BhbiBhbGlnbj0iY2VudGVyIiBpZD0iaW1nMSIgc3R5bGU9IndpZHRoOjk2dnc7cmlnaHQ6NTA7bGVmdDo1MDtoZWlnaHQ6YXV0bzsiPjxpbWcgc3JjPSJodHRwczovL2ltYWdlcy5wZXhlbHMuY29tL3Bob3Rvcy82MzkzMzcwL3BleGVscy1waG90by02MzkzMzcwLmpwZWciIHN0eWxlPSJ3aWR0aDo5OSU7IiBhbGlnbj0iY2VudGVyIj48L3NwYW4+CjxsYWJlbD48aDQgc3R5bGU9ImZvbnQtd2VpZ2h0Om5vcm1hbDsiPjxzcGFuIGlkPSJvdXRvdXQiIHN0eWxlPSJmb250LXdlaWdodDpub3JtYWw7Ij4mbmJzcDsgJm5ic3A7ICZuYnNwOyBUaGlzIGlzIHRoZSBtb3N0IGluZm9ybWF0aXZlIFdheCBCbG9ja2NoYWluIEF0b21pY0Fzc2V0IE5GVCBndWlkZS4gWW91IGNhbiBnbyBmcm9tIG5ldmVyIG1pbnRlZCB0byBtaW50aW5nIHNlbWktcHJvIHdpdGggdGhpcyAxIHNpbmdsZSBpbnRlcmFjdGl2ZSBhcnRpY2xlLiBFYWNoIHNlY3Rpb27igJlzIGRpZmZpY3VsdHkgaXMgY2xlYXJseSBtYXJrZWQgYmVmb3JlIGl04oCZcyByZWFkYWJsZS4gSWYgeW91IGFyZSB1bnN1cmUgeW91ciBsZXZlbCBvZiBtaW50aW5nIGFiaWxpdGllcyBqdXN0IGdvIGluIG9yZGVyIGFuZCBzZWUgd2hhdCB5b3UgbWF5IGxlYXJuLCB0aXBzIGFuZCB0cmlja3MgYXJlIHNjYXR0ZXJlZCB0aHJvdWdob3V0IHRoZSBndWlkZS4gRG9u4oCZdCB3b3JyeSwgYWxsIHRoZSB0ZWNobmljYWxzIGluIHRoaXMgc2VjdGlvbiBhcmUgYnJva2VuIHVwIGludG8gc21hbGwgZnJhZ21lbnRzIHRvIG1ha2UgaXQgZWFzaWVyIHRvIGdyYXNwLiAgWW91IHdpbGwgYmUgYWJsZSB0byBtaW50IHlvdXIgb3duIE5GVHMgYXMgd2VsbCBhcyBiZSBhYmxlIHRvIGRvIHNvbWUgcHJldHR5IGZ1biBzdHVmZiBpbmNsdWRpbmcgbWludGluZyBvbiBkZW1hbmQgYW5kIE5GVCBibGVuZGluZy4gTGV04oCZcyBwdXQgeW91ciB3b3JyeSB0byBlYXNlIGFuZCBnaXZlIHlvdSB0aGUgM0QgZXhwZXJpZW5jZSB3aXRoIEF0b21pY0Fzc2V0IE5GVHMhPGJyPiZuYnNwOyAmbmJzcDsgJm5ic3A7IFRvIHB1dCB3aGF0IGFuIE5GVCBpcyBpbnRvIGEgYml0IG1vcmUgdW5kZXJzdGFuZGFibGUgZm9ybWF0LCBORlRzIGFyZSBzdHJpbmdzIG9mIGNoYXJhY3RlcnMgdG8gcmVwcmVzZW50LCBkZWxpdmVyIG9yIGNvbnRhaW4gZGF0YSBmb3IgdGhlIHVzZXIuIFRoYXTigJlzIHdoYXQgYW4gTkZUIGlzIGJ1dCB3aGF0IGFuIE5GVCBkb2VzIGlzIHdoYXQgbW9zdCBwZW9wbGUgYXJlIGZhbWlsaWFyIHdpdGguPGJyPgo8aDEgYWxpZ249ImNlbnRlciIgc3R5bGU9IuKAmXRleHQtc2hhZG93OjJweCIgMnB4PSIiIDRweD0iIiBkaW1ncmV5O+KAmT0iIj48Yj5ORlRzIGFyZSBzdHJpbmdzIG9mIGNoYXJhY3RlcnMgdGhhdCBlaXRoZXIgcmVwcmVzZW50LCBkZWxpdmVyIG9yIGNvbnRhaW4gZGF0YSBmb3IgdGhlIHVzZXIuPC9iPjxicj48L2gxPjxoMyBhbGlnbj0iY2VudGVyIj48aT48Yj4zREM0PC9iPjwvaT48Yj4gaXMgYSBzdHJpbmcgb2YgY2hhcmFjdGVycywgPGk+M0RDNDwvaT4gaXMgbGlrZSBhbiA8aT5ORlQ8L2k+PC9iPjwvaDM+PGJyPgombmJzcDsgJm5ic3A7ICZuYnNwOyA8aT4zREM0PC9pPiBkb2VzbuKAmXQgc2VlbSB0byBjb250YWluIGRhdGEgYnV0IGl0IGRvZXMsIGZvciBleGFtcGxlLCBteSBuaWNrbmFtZSA8cT48Yj4zRDwvYj48L3E+IGlzIHByZXNlbnQgYXMgd2VsbCBhcyA8cT48Yj5DNDwvYj48L3E+IHdoaWNoIGlzIHRoZSByZXByZXNlbnRhdGlvbiBvZiA8aT4zRDwvaT4gYmVjYXVzZSBEIGlzIHRoZSA0dGggY2hhcmFjdGVyIGluIHRoZSBhbWVyaWNhbiBhbHBoYWJldCB3aGlsZSBDIGlzIHRoZSAzcmQgYnV0IHRoYXQgbWVhbnMgM0QgaXMgZXF1YWwgdG8gQzQuIERvbuKAmXQgZm9yZ2V0IDxpPkM0PC9pPiBpcyB0aGUgbmFtZSBvZiBhIHR5cGUgb2YgZXhwbG9zaXZlLiBJbiB0dXJuLCA8aT4zREM0PC9pPiBkZWxpdmVycyB0aGUgbmFtZXMsIDNE4oCdIGFuZCDigJxDNOKAnSwgd2hpbGUgcmVwcmVzZW50aW5nIGVhY2ggb3RoZXIgaW4gcGVyZmVjdCBvcHBvc2l0ZSBhbHBoYW51bWVyaWMgdW5pc2Vuc2UuIEFsdGhvdWdoIHlvdSBtYXkgbm90IHBheSBhIGZldyB0aG91c2FuZCBVUyBmb3IgdGhlIHN0cmluZywgM0RDNCwgdGhlcmUgYXJlIHN0cmluZ3Mgb2YgY2hhcmFjdGVycyB0aGF0IHBlb3BsZSBoYXZlIHBhaWQgaW50byB0aGUgbWlsbGlvbnMgb2YgZG9sbGFycyBmb3IgYmVjYXVzZSB0aGUgaW1hZ2UgdGhhdCBpcyBkZWxpdmVyZWQgYnkgdGhpcyBzdHJpbmcgb2YgY2hhcmFjdGVycyB3YXMgbWFkZSBieSBhIHZlcnkgZmFtb3VzIGFydGlzdC4gVGhlIGJlc3Qgc2VsbGluZyBORlQgd2FzIGJ5IHRoZSBpbnRlcm5ldCBmYW1vdXMgYXJ0aXN0LCA8aT5CZWVwbGU8L2k+IGZvciBvdmVyIDYwIG1pbGxpb24gZG9sbGFycy48YnI+Jm5ic3A7ICZuYnNwOyAmbmJzcDsgVGhlIHN0cmluZyBmb3IgdGhpcyBiZWVwbGUgY3JlYXRlZCBORlQgZGVsaXZlcnMgZGF0YSBmcm9tIGEgc2VydmVyLCBtb3N0IGxpa2VseSBJUEZTICg8aT48Yj5JPC9iPm50ZXI8Yj5QPC9iPmxhbnRlcnkgPGI+RjwvYj5pbGUgPGI+UzwvYj55c3RlbTwvaT4pLCB3aGVyZSB0aGUgaW1hZ2UgaXMgaG9zdGVkLiBWZXJ5IGZldyBORlQgaW1hZ2VzLCB2aWRlb3MsIGdpZnMgYXJlIGhvc3RlZCBieSB0aGUgYmxvY2tjaGFpbiB0aGV5IHJlc2lkZSBpbi4gVGhlIHN0cmluZyB0aGF0IHJlcHJlc2VudHMgdGhlIE5GVCBvbiB0aGUgYmxvY2tjaGFpbiBpcyBvbiB0aGUgYmxvY2tjaGFpbiBhbmQgdGhlIGNvbnRyYWN0IHRoYXQgdGhlIE5GVCBpcyB1dGlsaXppbmcgdG8gZXhpc3Qgb3IgdG8gaW50ZXJhY3Qgd2l0aCBtb3N0IGxpa2VseSBpcyBvbiB0aGUgYmxvY2tjaGFpbiBidXQgaW50ZXJhY3RpbmcgY29udHJhY3RzIGFyZSBub3QgYWx3YXlzIG9uIGNoYWluLiBXaGF0IHRoaXMgbWVhbnMgaXMgdGhlIGRhdGEgaXNu4oCZdCBob3N0ZWQgb24tY2hhaW4gc28gaG9zdGluZyBpcyBzdGlsbCBuZWVkaW5nIHRvIGJlIGRvbmUgYnkgdGhlIE5GVCBjcmVhdG9yLiBCYXNlZCBvbiBob3cgdGhlIE5GVCBjcmVhdGlvbiBwbGF0Zm9ybSB3b3JrcyB3aXRoIGl04oCZcyB1c2VycywgeW91IG5lZWQgdG8gZGV0ZXJtaW5lIHlvdXIgaG9zdGluZyBuZWVkcy4gQmVjYXVzZSB0aGlzIGlzIGFuIEF0b21pY0Fzc2V0cyBndWlkZSwgd2Ugd2lsbCBiZSBzdG9yaW5nIG91ciBkYXRhIHdpdGggPGI+SVBGUzwvYj4gYW5kIHRoZSBtb3N0IGNvbW1vbiBwbGFjZSB3aXRoIHRoZSBwZXJmZWN0IHNldHVwIGZvciA8aT5BdG9taWNBc3NldHM8L2k+IGlzIDxhIGhyZWY9Imh0dHBzOi8vcGluYXRhLmNsb3VkIiBzdHlsZT0idGV4dC1kZWNvcmF0aW9uOm5vbmU7IiB0YXJnZXQ9IuKAmV9ibGFua+KAmSIgcmVsPSLigJlub3JlZmVycmVyIiBub29wZW5lcuKAmT0iIj48Yj5QaW5hdGEgQ2xvdWQ8c3VwPio8L3N1cD48L2I+PC9hPi4gVGhlcmXigJlzIHRvbnMgb2Ygd2F5cyB0byBzdG9yZSB5b3VyIGRhdGEgdG8gSVBGUyBhbmQgUGluYXRhIENsb3VkIGhhcyBhIHNldHVwIHRoYXQgd29ya3MgcGVyZmVjdGx5IHdpdGggdGhlICBBdG9taWNBc3NldCBORlRzIHlvdSB3aWxsIGJlIGJ1aWxkaW5nIHdpdGggdGhpcyBndWlkZS4KPGhyPgo8ZGl2IGFsaWduPSJjZW50ZXIiIHN0eWxlPSJhbGlnbjpjZW50ZXI7Ij4KPGJ1dHRvbiBpZD0ic3RlcDAiIG9uY2xpY2s9ImRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCZxdW90OzBzdGVwJnF1b3Q7KS5zdHlsZT0mcXVvdDtkaXNwbGF5OmJsb2NrJnF1b3Q7O3RoaXMuc3R5bGU9JnF1b3Q7ZGlzcGxheTpub25lJnF1b3Q7OyIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6bGlnaHRncmVlbjtjb2xvcjpibGFjaztib3JkZXI6MnB4IHNvbGlkIGdyZWVuOyIgdmFsdWU9Ik5ldmVyJm5ic3A7TWludGVkIj5OZXZlciZuYnNwO01pbnRlZDwvYnV0dG9uPgoKPGRpdiBpZD0iMHN0ZXAiIHN0eWxlPSJkaXNwbGF5Om5vbmU7Ij4KJm5ic3A7ICZuYnNwOyAmbmJzcDsgQXRvbWljQXNzZXQgTkZUIEJhc2ljcyB3aWxsIGdldCB5b3Ugc3RhcnRlZCBvbiB0aGUgcHJvY2VzcyBmb3IgbWludGluZyBhcyB3ZWxsIHNvbWUgaGVscCBpbiBmaW5kaW5nIGhvc3RpbmcgbG9jYXRpb25zIGJ1dCBtb3N0IGltcG9ydGFudGx5IGlmIHlvdSBmb2xsb3cgdGhlIHN0ZXBzIHlvdSBjYW4gbWludCB5b3VyIGZpcnN0IE5GVCBlZmZlY3RpdmVseS4gIEF0b21pY0Fzc2V0IE5GVHMgYXJlIG1pbnRlZCB3aXRoIHRlbXBsYXRlcyBmcm9tIHNjaGVtYXMgaW5zaWRlIGEgY29sbGVjdGlvbiBidXQgYmVmb3JlIHdlIGNhbiBzZXQgYW55IG9mIHRoYXQgdXAgd2UgbmVlZCBhIHdhbGxldCBhZGRyZXNzLCBzbyBsZXTigJlzIGdldCBhIHdhbGxldCBhZGRyZXNzLjxicj4mbmJzcDsgJm5ic3A7ICZuYnNwOyBXaXRoIGNyeXB0b2N1cnJlbmNpZXMgYW5kIHNvbWUgZGlnaXRhbCBjdXJyZW5jaWVzIHlvdSBuZWVkIGEgd2F5IHRvIGhvbGQgeW91ciBwcml2YXRlIGtleXMgYXMgd2VsbCBhcyBpbnRlcmFjdCB3aXRoIHRoZSBibG9ja2NoYWluIGluIHNvbWUgd2F5LiBOb3ctYS1kYXlzIGEgd2FsbGV0IHdpbGwgZ2l2ZSB5b3UgdGhlIGJhc2ljIHdheXMgdG8gZG8gdGhpcyBvciBhdCB0aGUgbGVhc3QgaG9sZCB5b3VyIGZ1bmRzIGZvciB5b3UuIFRoZSBvZmZsaW5lIHdhbGxldHMgYXJlIG1vcmUgc2VjdXJlIGFuZCBvbmxpbmUsIGFrYSA8aT5Ib3QgV2FsbGV0czwvaT4sIGFyZSBsZXNzIHNlY3VyZSBidXQgdGVuZCB0byBoYXZlIHRoZWlyIG93biBwZXJrcy4gIFlvdSBjYW4gYWx3YXlzIGNoYW5nZSB3YWxsZXRzIGFuZCBhZGRyZXNz4oCZIGxhdGVyIGJ1dCBpZiB5b3Ugd2FudCBhIHF1aWNrIGZyZWUgbm8tYXBwIHdhbGxldCB0byBnZXQgc3RhcnRlZCBqdXN0IGNsaWNrIDxhIGhyZWY9Imh0dHBzOi8vYWxsLWFjY2Vzcy53YXguaW8vIiB0YXJnZXQ9IuKAmV9ibGFua+KAmSIgc3R5bGU9InRleHQtZGVjb3JhdGlvbjpub25lOyI+aGVyZSB0byB2aXNpdCwgV2F4IENsb3VkIFdhbGxldDxzdXA+Kjwvc3VwPjwvYT4uIFlvdSBjYW4gYWxzbyB1c2UgdGhlIHJlc291cmNlcyBhdCA8YSBocmVmPSJodHRwczovL3dheC5pby8iIHRhcmdldD0i4oCZX2JsYW5r4oCZIiBzdHlsZT0idGV4dC1kZWNvcmF0aW9uOm5vbmU7IiByZWw9IuKAmW5vcmVmZXJyZXIiIG5vb3BlbmVy4oCZPSIiPldheC5pbzxzdXA+Kjwvc3VwPjwvYT4sIGV2ZXJ5b25lIGVsc2UgaGF2ZSBmdW4gZ2V0dGluZyB5b3VyIGZhdm9yaXRlIHdhbGxldCByZWFkeSBmb3IgdGhlIG5leHQgc3RlcHMuIEp1c3QgcmVtZW1iZXIgMkZBIGlzIGdyZWF0IGZvciB0aGUgV2F4IENsb3VkIFdhbGxldCBiZWNhdXNlIGl0IGlzIGEgaG90IHdhbGxldCBhbmQgMkZBIHdpbGwgaW5jcmVhc2UgeW91ciBzZWN1cml0eSB3aGVuIHVzZWQgd2VsbC4KPG9sPkFkZGluZyBBdHRyaWJ1dGVzOiA8aT5CYXNpY2FsbHkgd2UgYXJlIGFkZGluZyBhdHRyaWJ1dGVzIHRvIHRoZSBORlQgdG8gZGlzcGxheSB3aXRoLiBTbyB0aGUgbGVmdCBzaWRlIG9mIGV2ZXJ5IGF0dHJpYnV0ZSBuZWVkcyB0byBiZSBsb3dlcmVkIGNhc2UsIG5vIGNhcHMuIFRoZSByaWdodCBzaWRlIHdpbGwgZGV0ZXJtaW5lIHdoYXQgdHlwZSBvZiBkYXRhIGNhbiBhcHBlYXIgdGhlcmUgbGlrZTogPGI+aW1hZ2VzLCBJUEZIIGhhc2gsIGJvb2xlYW4gKDEgb3IgMCkgb3IgbnVtYmVyczwvYj4uPC9pPjwvb2w+CjxvbD5BZGRpbmcgSW1hZ2VzOiA8aT5BZGRpbmcgaW1hZ2VzIHlvdSB3aWxsIHVzZSBhbiBhdHRyaWJ1dGUgd2l0aCDigJxpbWFnZeKAnSBmb3IgdGhlIHJpZ2h0IHNpZGUgc2VsZWN0aW9uIGJ1dCB5b3XigJlsbCBvbmx5IGRyb3AgeW91ciBQaW5hdGEgQ2xvdWQgb3IgSVBGUyBIYXNoIHRoZXJlLiBUaGUgd2Vic2l0ZSB3aWxsIGdhdGhlciB0aGUgaW1hZ2UgZnJvbSB0aGUgSVBGUyBoYXNoIHNvIHdoYXQgaW1hZ2UgaXMgc2V0IHRvIHRoYXQgaGFzaCBpcyB3aGF0IHdpbGwgc2hvdyB1cC48L2k+PC9vbD4KPG9sPkFkZGluZyBWaWRlb3M6IDxpPkFkZGluZyB2aWRlb3MgeW91IHdpbGwgdXNlIGFuIGF0dHJpYnV0ZSB3aXRoIOKAnElQRlMgSGFzaOKAnSBmb3IgdGhlIHJpZ2h0IHNpZGUgc2VsZWN0aW9uIGFuZCBmb3IgdGhlIGxlZnQgc2lkZSBzZWxlY3Rpb24geW914oCZbGwgbmVlZCDigJx2aWTigJ0gb3Ig4oCcdmlkZW/igJ0uIFlvdSBjYW4gYWRkIG51bWJlcnMgaWYgeW91IGhhdmUgbXVsdGlwbGUgdmlkZW9zLiBOb3QgYWxsIHdvcmRzIGxpa2Ug4oCcZmlsbeKAnSB3aWxsIHdvcmsgZm9yIHRoZSB2aWRlbyB0byBvdXRwdXQuIExpa2UgdGhlIGltYWdlcywgeW914oCZbGwgb25seSBkcm9wIHRoZSBJUEZTIGhhc2ggb2YgeW91ciB2aWRlbyBpbiB0aGUgcmlnaHQgc2lkZSBzZWxlY3Rpb24gZHVyaW5nIHRoZSB0ZW1wbGF0ZSBjcmVhdGlvbiBwcm9jZXNzLjwvaT48L29sPgogPG9sPkFkZGluZyBBdWRpby9NdXNpYzogPGk+QWRkaW5nIGF1ZGlvIHlvdSB3aWxsIHVzZSBhbiBhdHRyaWJ1dGUgd2l0aCDigJxJUEZTIEhhc2jigJ0gZm9yIHRoZSByaWdodCBzaWRlIHNlbGVjdGlvbiBhbmQgZm9yIHRoZSBsZWZ0IHNpZGUgc2VsZWN0aW9uIHlvdeKAmWxsIG5lZWQg4oCcdmlk4oCdIG9yIOKAnHZpZGVv4oCdLiBZb3UgY2FuIGFkZCBudW1iZXJzIGlmIHlvdSBoYXZlIG11bHRpcGxlIGF1ZGlvIHRyYWNrcyBpbiB0aGUgc2FtZSBORlQuIE5vdCBhbGwgd29yZHMgbGlrZSDigJxzb25n4oCdLCAiYXVkaW8iLCAic291bmQiIHdpbGwgd29yayBmb3IgdGhlIGF1ZGlvIHRvIG91dHB1dC4gTGlrZSB0aGUgdmlkZW9zLCB5b3XigJlsbCBvbmx5IGRyb3AgdGhlIElQRlMgaGFzaCBvZiB5b3VyIGF1ZGlvIGluIHRoZSByaWdodCBzaWRlIHNlbGVjdGlvbiBkdXJpbmcgdGhlIHRlbXBsYXRlIGNyZWF0aW9uIHByb2Nlc3MuIEVzc2VudGlhbGx5LCBhdWRpbyBpcyBsb29rZWQgYXQgYXMgYSB2aWRlbyBqdXN0IHdpdGhvdXQgYSBwaWN0dXJlIHRvIHNob3cuPC9pPjwvb2w+CjxvbD5BZGRpbmcgQm9va3MvRS1Cb29rczogPGk+QWRkaW5nIEJvb2tzIGxpa2UgZS1ib29rcyB5b3Ugd2lsbCB1c2UgYW4gYXR0cmlidXRlIHdpdGgg4oCcaW1hZ2XigJ0gZm9yIHRoZSByaWdodCBzaWRlIHNlbGVjdGlvbi4gRm9yIHRoZSBsZWZ0IHNpZGUgc2VsZWN0aW9uIHdvcmRzIGxpa2UsIOKAnHBhZ2XigJ0gYW5kIOKAnHBn4oCdIHdvcmsgYmVzdCBhbmQgb2YgY291cnNlIHlvdSBjYW4gYWRkIG51bWJlcnMgYXQgdGhlIGVuZCBvZiB0aGUgd29yZHMuIElmIGFkZGluZyBhbiBhdWRpbyBmaWxlIG9mIHRoZSBib29rIGJlaW5nIHJlYWQsIHRyZWF0IHRoZSBhdWRpbyBhcyBhIHZpZGVvLiBJZiBhZGRpbmcgYSBQREYgdG8gSVBGUywgdXNlIOKAnHBkZuKAnSBpbnN0ZWFkIG9mIOKAnFBERuKAnSBiZWNhdXNlIG5vLWNhcHMgaW4gdGhlIGxlZnQgc2lkZSBzZWxlY3Rpb24gaW4gdGhlIHNjaGVtYXMuIE1hbnkgcGVvcGxlIGFkZCB0aGUgUERGIGFzIGEgbGluayB2aWEgYSBRUiB3aXRoIOKAnHBpY+KAnSBhcyB0aGUgbGVmdCBzaWRlIHNlbGVjdGlvbi4gVGhlIHVzZXIgc2NhbnMgdGhlIFFSIHRvIGFjY2VzcyB0aGUgYm9vay4gVXNlIGEgbG9ja2VkIGxpbmsgbGlrZSA8YSBocmVmPSJodHRwczovL2pzdHJpZWIuZ2l0aHViLmlvL2xpbmstbG9jay9jcmVhdGUiIHRhcmdldD0i4oCZX2JsYW5r4oCZIiByZWw9IuKAmW5vcmVmZXJyZXIiIG5vb3BlbmVy4oCZPSIiIHN0eWxlPSJ0ZXh0LWRlY29yYXRpb246bm9uZTsiPkpzdHJpZWLigJlzLCA8c3VwPiogQ2xpY2sgSGVyZSB0byBWaXNpdCBKc3RyaWVi4oCZcyBMaW5rLUxvY2sgKjwvc3VwPjwvYT4gd2l0aCBpbmZvIGZyb20gdGhlIE5GVCBhcyBhIGxvY2sgcGFzc3dvcmQsIGluY2x1ZGluZyBhZGRpbmcgYSDigJxwc3PigJ0gZm9yIHBhc3N3b3JkIGF0dHJpYnV0ZSB3aXRoIOKAnHRleHTigJ0gYXMgdGhlIHJpZ2h0IGhhbmQgc2VsZWN0b3IuPC9pPjwvb2w+PGJyPiZuYnNwOyAmbmJzcDsgJm5ic3A7IEF0IHRoZSBlbmQgb2YgdGhlIGRheSB5b3VyIGRhdGEgaGFzIHRvIGZpdCBvbmUgb2YgYSBmZXcgY2F0ZWdvcmllczogPGk+PGI+aW1hZ2U8L2I+IChpbmNsdWRlcyBnaWZzKSwgPGI+SVBGUyBIYXNoPC9iPiAobXVsdGkgZm9ybWF0KSwgPGI+VGV4dDwvYj4gKGluY2x1ZGluZyBsaW5rcyksIDxiPkJvb2xlYW48L2I+ICgxIGZvciBZZXMsIDAgZm9yIEZhbHNlKSwgPGI+SW50YWdlcnM8L2I+IChudW1iZXJzKSwgPGI+RmxvYXRpbmcgUG9pbnQgTnVtYmVyPC9iPiAobnVtYmVycyB3aXRoIGRlY2ltYWxzKTwvaT4uICBXaGF0IHlvdSBkbyB3aXRoIHRoZXNlIG9wdGlvbnMgYXJlIHlvdXIgb3duIGJ1dCBoZXJlJ3Mgc29tZSBxdWljayB0aXBzIHRvIGhlbHAgYm9vc3QgaWRlYXMuICBCb29sZWFuIGFuZCBmbG9hdGluZyBwb2ludCBudW1iZXJzIGFyZSBncmVhdCBmb3IgY29udHJhY3RzIHdoaWxlIGV2ZXJ5dGhpbmcgZWxzZSBpcyBncmVhdCBmb3IgdXNlcnMgYW5kIGNyZWF0b3JzLiBEb27igJl0IGxldCBhbGwgdGhlIG9wdGlvbnMgc2NhcmUgeW91LiBJZiB5b3Ugb25seSB1c2UgSVBGUyBIYXNoLCBJbWFnZSBhbmQgVGV4dCB0aGVuIHlvdeKAmXJlIGFtb25nIHRoZSBncmVhdHMgYmVjYXVzZSBtb3N0IE5GVHMgb25seSB1c2UgYSBjb21iaW5hdGlvbiBvZiB0aG9zZSB0aHJlZSBvcHRpb25zLiBPbmNlIHlvdeKAmXZlIGxhaWQgb3V0IHdoYXQgZGF0YSB3aWxsIGJlIGFkZGVkIGludG8gdGhlIG1ldGFkYXRhIG9mIHlvdXIgTkZUcyBmb3IgdGhpcyBzY2hlbWEsIGdpdmUgaXQgYSBuYW1lIHdoaWNoIGlzIG1vcmUgbGlrZSBhIGdlbnJlLiBGb3IgbWFueSBwZW9wbGUgaGVhcmluZyB0aGlzIG1ha2VzIG1vcmUgc2Vuc2UgdGhhbiB0aGUgY29sbGVjdGlvbiBncm91cCwgd2hpY2ggaXQgaXMgYXMgd2VsbC4gV2hlbiBwZW9wbGUgbG9vayBmb3IgeW91ciBORlRzLCB0aGV5IHdpbGwgZ28gZnJvbSBhbGwgTkZUcyB0byB5b3VyIDxpPkNvbGxlY3Rpb24ocyk8L2k+IHRoZW4gdG8geW91ciA8aT5TY2hlbWEocyk8L2k+IG9uY2UgaW4geW91ciBjb2xsZWN0aW9ucy4gU28geW91ciBzY2hlbWEgbmFtZSBzaG91bGQgYm90aCBiZSB3aXRoaW4gdGhlIGxpbmVzIG9mIHlvdXIgY29sbGVjdGlvbiB0aGVtZSBidXQgYXMgd2VsbCBhcyB5b3VyIE5GVOKAmXMgdGhlbWUocykuIElmIHlvdSB3ZXJlIG1pbnRpbmcgbXVzaWMsIHlvdSB3b3VsZCBjYWxsIHNjaGVtYXMgYnkgeW91ciB2YXJpb3VzIGdlbnJlcyBvciBpZiB5b3UgcGVyZm9ybSBsaXZlIGFuZCBub3QtbGl2ZSBtYXliZSBsaXZlIGV2ZW50IE5GVHMgYmUgb25lIHNjaGVtYSBsaWtlLCDigJxsaXZlc25hcHMnJyBhbmQgYW5vdGhlciBzY2hlbWEgbGlrZSwg4oCcc25hcHPigJ0gc28gd2l0aG91dCB0ZWxsaW5nIHlvdXIgY29tbXVuaXR5LCDigJxoZXkgdGhlc2UgYXJlIGZyb20gbGl2ZSBldmVudHMgYW5kIHRoZXNlIGFyZSBub3Qu4oCdIEZpbmFsbHksIGp1c3Qgc2F2ZSB3aGVuIHlvdSBhcmUgcmVhZHkhCjxicj4mbmJzcDsgJm5ic3A7ICZuYnNwOyBXaGV3LCBjcmVhdGVkIGEgY29sbGVjdGlvbiBhbmQgYSBzY2hlbWEsIG5vdyBpdOKAmXMgdGltZSB0byBzZXQgdXAgc29tZSBORlQgdGVtcGxhdGVzISBORlQgdGVtcGxhdGVzIGFsbG93IHRoZSBibG9ja2NoYWluIGludGVyYWN0b3JzIHRvIGZpZ3VyZSBvdXQgZGF0YSBsaWtlLCB3aGljaCBORlQgaXMgd2hpY2ggbWludCBudW1iZXIgYW5kIG90aGVyIGFjdGlvbnMgcGVvcGxlIHRoaW5rIGFyZSBhdXRvbWF0aWMuIE9uIEV0aGVyZXVtIChhIGxlYWRpbmcgTkZUIGhvc3RpbmcgYmxvY2tjaGFpbiksIHRoZXJl4oCZcyBubyBtaW50IG51bWJlcnMgYW5kIHRoYXTigJlzIHJlbGllZCBhbG1vc3QgY29tcGxldGVseSBvbiB0aGUgYXJ0aXN0cy4gVGhlcmUgYXJlIGNhc2VzIHdoZXJlIGV2ZW4ga25vd2luZyB0aGF0IGRhdGEgYW5kIGRlbGl2ZXJpbmcgdGhhdCBkYXRhIGlzIG5lYXJseSBpbXBvc3NpYmxlIHRvIGRvIHNvLCB0aGVzZSB0ZW1wbGF0ZXMgaGVscCBtYWtlIGxpdHRsZSBhY3Rpb25zIHBvc3NpYmxlLiBBbm90aGVyIGdyZWF0IHRoaW5nIGFib3V0IHRlbXBsYXRlcyBpcywgeW91IGNhbiBzZXQgdXAgYW4gTkZUIHRoZW4gbWludCBpdCBsYXRlciBpbmNsdWRpbmcgcGVyZm9ybWluZyB0YXNrcyBsaWtlLCDigJxtaW50aW5nIG9uIGRlbWFuZOKAnSBhbmQg4oCccGFjayBtaW50aW5n4oCdICh0aGF04oCZcyB3aGVuIHRoZXkgY29tZSBpbiBwYWNrcyBhbmQgYnkgb3BlbmluZyB0aGUgcGFjaywgdGhlIHBhY2sgb3BlbmluZyBtaW50cyB0aGUgTkZUcyBuZWVkZWQgb24gZGVtYW5kIGFuZCBsb3dlciBtaW50aW5nIGNvc3RzIGZvciBiaWdnZXIgcHJvamVjdHMpLiBBbG1vc3QgYWxsIG9uLWRlbWFuZCBtaW50aW5nIGxvd2VycyB0aGUgb3ZlcmFsbCBtaW50aW5nIGNvc3QgYnV0IHRoZXNlIGFyZSBtb3JlIGFkdmFuY2VkIE5GVCBpbnRlcmFjdGlvbnMuIFdlIHdpbGwgc3RpY2sgdG8gdGhlIGJhc2ljcywgdGVtcGxhdGUsIG1pbnQsIHNlbGwvZ2l2ZS90cmFkZS48YnI+ICZuYnNwOyAmbmJzcDsgJm5ic3A7IFNvIHdoZW4gYnVpbGRpbmcgYSBuZXcgdGVtcGxhdGUgeW914oCZbGwgbm90aWNlIHlvdSBjYW4gb25seSBpbnB1dCBkYXRhIGJhc2VkIG9uIHdoYXTigJlzIGluIHRoZSBzY2hlbWEgYXQgdGhpcyBwb2ludCBpbiB0aW1lLiBJZiB5b3UgZG9u4oCZdCBpbnB1dCBkYXRhIGNvcnJlY3RseSwgaXQgd2lsbCBlaXRoZXIgbm90IGxldCB5b3Ugc2F2ZSBvciBpdCB3aWxsIGp1c3Qgbm90IGRpc3BsYXkuIE5vdyBpZiB5b3UgaGF2ZSBhIHR5cG8gb3IgbWlzcy1zcGVsbGluZywgdGhlIHN5c3RlbSB3aWxsIG5ldmVyIHRlbGwgeW91IGFib3V0IHRoZXNlIGFuZCB0aGV5IHdpbGwgbm90IHN0b3AgdGhlIHN5c3RlbSBzbyB5b3VyIHR5cG9zIHdpbGwgZ2V0IG1pbnRlZC4gQmUgY2FyZWZ1bCBiZWNhdXNlIGp1c3QgbGlrZSBzY2hlbWFzLCB0ZW1wbGF0ZXMgYXJlIGZvcmV2ZXIuIE5vIGRlbGV0aW5nLiBZb3UgY2FuIGhvd2V2ZXIsIG1pbnQgb3V0IHRoZSBxdWFudGl0eSBvZiBORlRzIGZvciB0aGF0IHRlbXBsYXRlIHRoZW4gYnVybiB0aGUgTkZUcy4gS2lsbGluZyB0aGUgdGVtcGxhdGUgKGVzc2VudGlhbGx5KS4gRmlsbCBvdXQgeW91ciBkYXRhIGFuZCBpZiB5b3Ugd2FudCB0aGlzIHRlbXBsYXRlIHRvIGhhdmUgYSBsaW1pdGF0aW9uIHRvIGhvdyBtYW55IGNhbiBleGlzdCwgaW5wdXQgdGhlIG1heC1udW1iZXIgaW4gdGhlIHRvcC4gSWYgeW91IHdhbnQgYW4gdW5saW1pdGVkIG1pbnQgcG9zc2libGUgb3IgeW91IGRvbuKAmXQga25vdyBob3cgbWFueSB5b3UgbmVlZCwganVzdCBkb27igJl0IGlucHV0IGEgbWF4IHN1cHBseSBudW1iZXIuIFNhdmUgYW5kIHNpZ24gdGhlIHRyYW5zYWN0aW9uIGp1c3QgbGlrZSB3aXRoIHRoZSBjb2xsZWN0aW9uIGFuZCBzY2hlbWEuICBZb3UgaGF2ZW7igJl0IG1pbnRlZCBhbiBORlQgeWV0IGJ1dCB5b3UgYXJlIDEgc3RlcCBhd2F5IGZyb20gaGF2aW5nIHNvbWUgdG8gcHV0IHVwIGZvciBzYWxlIG9yIHdoYXQgeW91IHdpc2ggdG8gZG8gd2l0aCB0aGVtLiBIZWFkIG92ZXIgdG8geW91ciBzY2hlbWEsIG9mdGVudGltZXMgaXTigJlzIGVhc2llciB0byBqdXN0IHRvIGhhdmUgdGhlIHNjaGVtYSBwYWdlIGFscmVhZHkgdXAgaW4gYW5vdGhlciB0YWIvdGFiLWdyb3VwIGFuZCByZWZyZXNoIHRoZW4gaXQgaXMgdG8gZ28gYmFja3dhcmRzICZhbXA7IHJlZnJlc2ggdGhlIHNjaGVtYSBwYWdlLjxicj4gJm5ic3A7ICZuYnNwOyAmbmJzcDsgT25jZSBiYWNrIGludG8gdGhlIHNjaGVtYSB5b3UgY2FuIOKAnE1pbnQgbmV3IEFzc2V04oCdIHRvIGNyZWF0ZSB5b3VyIE5GVChzKS4gSG9wIGluIGFuZCBjbGljayBvbiB3aGF0IHRlbXBsYXRlIHlvdSB3YW50IHRvIHVzZSwgSSBhbHdheXMgc2F5IHNldCB0aGUgdGVtcGxhdGUgZmlyc3QgYmVjYXVzZSBpdOKAmXMgc28gZWFzeSB0byBqdXN0IGZvcmdldCB0byB1c2UgdGhlIHRlbXBsYXRlIGFuZCBub3QgZ2V0IHRoZSBtaW50IG51bWJlcnMgd2l0aCB5b3VyIE5GVC4gTmV4dCBhZGQgdGhlIHdhbGxldCB5b3Ugd2FudCB0byBtaW50IHRvIHVuZGVyICJhc3NldCBvd25lciIsIG1vc3QgdGltZXMgeW91IHdpbGwgd2FudCB0byB1c2UgeW91ciB3YWxsZXQgYWRkcmVzcy4gSWYgeW91IGp1c3QgY2xpY2sgdG8gbWludCwgeW91ciBhZGRyZXNzIHNob3VsZCBiZSB0aGUgYXV0by1zZWxlY3RlZCBhY2NvdW50IGluIHRoZSBhc3NldCBvd25lciBzbG90IGJ1dCBhbHdheXMgZG91YmxlIGNoZWNrLiBBZGQgaG93IG1hbnkgb2YgdGhlc2UgeW91IHdhbnQgdG8gbWludCB0byB0aGF0IHdhbGxldC4gVGhpcyB3aWxsIG1pbnQgdGhlIE5GVHMgdXAgdG8gdGhlIG51bWJlciBvZiBORlRzIHlvdXIgdGVtcGxhdGUgd2lsbCBhbGxvdy4gVGhlcmUgaXMgYSBzb2Z0LWNhcCBvZiAxMDAgTkZUcyB0aGF0IGNhbiBiZSBtaW50ZWQgYXQgYSB0aW1lIGJ1dCB5b3UgY2FuIHJlcGVhdCBhcyBuZWVkZWQuIE5vdyBpZiB5b3UgcGxhbiBvbiByZWxlYXNpbmcgYSBidW5jaCBvZiBORlRzIGZvciBhIHRlbXBsYXRlLCB5b3UgbWF5IHdhbnQgdG8gZG8gYSBEcm9wIHdoaWNoIHdpbGwgbWludCB0aGVzZSBvbiBkZW1hbmQuIFlvdSBjYW4gc3RpbGwgZG8gdGhpcyBwYXJ0IGFuZCBtaW50IHRoZSBmaXJzdCB4LW51bWJlciBvZiBORlRzIHRvIHlvdXJzZWxmIGZvciBhdWN0aW9ucywgZ2l2ZWF3YXlzIGFuZCBhaXJkcm9wcyB0aGVuIGRvIHRoZSBEcm9wIGFmdGVyd2FyZHMuIEl0IGlzIGNvbXBsZW1lbnRhcnkgdG8gbGV0IGJ1eWVycyBkZWNpZGUgd2hvbSBnZXRzIHRoZSBmaXJzdCBtaW50IG51bWJlciAodGhlIGZpcnN0IGJvdWdodCBpbiBhbiBORlQgRHJvcCkuIE9uY2UgeW91IHNpZ24gdGhlIHRyYW5zYWN0aW9uIGFuZCBnZXQgdGhlIGNvbmZpcm1hdGlvbiBoYXNoLCB5b3VyIE5GVHMgc2hvdWxkIGJlIGluIHlvdXIgaW52ZW50b3J5ISBTbywgY2xpY2sgb24gdGhlIHRvcCByaWdodCBjb3JuZXIgYnV0dG9uIHRvIGRyb3Bkb3duIHRoZSBtZW51IGFuZCBjbGljayBvbiB5b3VyIGFjY291bnQgZG93bi1hcnJvdyB0byBmaW5kLCDigJxpbnZlbnRvcnnigJ0gdG8gY2xpY2sgb24gaXQgYW5kIHZpc2l0Ljxicj4mbmJzcDsgJm5ic3A7ICZuYnNwOyBJbiB5b3VyIGludmVudG9yeSB5b3UgY2FuIGZpbmQgdGhlIE5GVHMgeW91IHdhbnQgdG8gc2VsbCBhbmQgd2l0aG91dCBjbGlja2luZyBvbiB0aGUgTkZUIHlvdeKAmWxsIHNlZSBhIGxpdHRsZSBidXR0b24gcGFuZWwgdW5kZXJuZWF0aCBlYWNoIE5GVC4gSW4gdGhhdCBwYW5lbCB5b3Ugc2hvdWxkIHNlZSBhIOKAnExpc3Qgb24gTWFya2V04oCdIGJ1dHRvbiBhbmQgaWYgeW91IGNsaWNrIHRoYXQsIHlvdeKAmWxsIGJlIHByZXNlbnRlZCB3aXRoIGEgbmV3IHNjcmVlbiB3aGVyZSB0aGF0IE5GVCBpcyBwcmVzZWxlY3RlZCBhbmQgeW91IGp1c3QgaW5wdXQgdGhlIHByaWNlIGluIFdBWCB5b3Ugd2FudCBmb3IgdGhlIE5GVC4gQXQgdGhlIGJvdHRvbSB5b3XigJlsbCBzZWUgYSBzZWN0aW9uIHRlbGxpbmcgeW91IHlvdXIgcmV0dXJuIG9uIHRoZSBzYWxlIG9mIHRoYXQgTkZUIG92ZXIgdGhlIEF0b21pY2h1YiBNYXJrZXQuIEltbWVkaWF0ZWx5IGJlbG93IHRoYXQgeW914oCZbGwgc2VlIHRoZSDigJxDb25maXJt4oCdIGJ1dHRvbi4gSWYgeW91ciBORlQgaGFzIHNlY29uZGFyeSBzYWxlcyAoc2FsZXMgYWZ0ZXIgb3JpZ2luYWwgc2FsZSksIHlvdeKAmWxsIHNlZSB0aGF0IGRhdGEgdW5kZXIgdGhlIE5GVCBvbiB0aGlzIHNjcmVlbi4gU29tZXRpbWVzIGEgcHJpY2Ugd2lsbCBiZSBzdWdnZXN0ZWQsIHRyeSBnb2luZyAzNSUgaGlnaGVyIHRoYW4gdGhhdCBwcmljZS48YnI+ICZuYnNwOyAmbmJzcDsgJm5ic3A7IE92ZXJwcmljaW5nIGNhbiBib3RoIGJlIHN0cmF0ZWdpY2FsIGFuZCBhIHBvb3IgZGVjaXNpb24sIHVsdGltYXRlbHkgaXTigJlzIHVwIHRvIHlvdSBvbiB5b3VyIHByaWNlcyBidXQgeW91IGhhdmUgdG8gdGhpbmsgb2YgMyBtYWpvciBmYWN0b3JzIHRvIHNldHRpbmcgaW5pdGlhbCBwcmljaW5nOiA8Yj5EZW1hbmQsIFlvdXIgQXZnIEJ1eWVyIFByaWNlIFJhbmdlLCBSZXNlbGxzPC9iPi4gVGhlIGFtb3VudCBvZiBkZW1hbmQgaW4geW91ciBORlQgc2FsZXMgaXMgdGhlIDFzdCBmYWN0b3IuIElmIHlvdXIgTkZUcyBzaXQgYXJvdW5kLCB0aGV5IG1heSBiZSBvdmVycHJpY2VkLiBJZiB5b3VyIE5GVHMgYXJlIHNlbGxpbmcsIHdoaWNoIGFyZSBzZWxsaW5nIHRoZSBiZXN0PyBXaGljaCBzZXRzIHNlbGwgb3V0IG9yIHdoaWNoIGFyZSB0aGUgZmlyc3QgcGlja2VkIHVwPyBUaGlzIHdpbGwgaGVscCB5b3UgZmluZCB0aGUgcHJpY2UgcmFuZ2UgeW91ciBidXllcnMgYXJlIGJ1eWluZyBhdC4gUHJvZHVjaW5nIGFydCBvciB3b3JrcyBmb3IgeW91ciBORlRzIHRoYXQgYXJlIHdheSBvdmVyIHRoZSBwcmljZSBvZiB3aGF0IHlvdSdyZSB3YW50aW5nIHRvIGdldCwgeW91IGNhbiB0YWtlIGEgc3RyYXRlZ2ljIHJvdXRlIGFuZCBtYWtlIHlvdXIgdmVyeSBmaXJzdCBORlRzIGVpdGhlciB1YmVyIGNoZWFwIGZvciBub3cgYnV5ZXJzIG9yIHJlYWxseSBleHBlbnNpdmUgdG8gbWFrZSB0aGVtIG1vcmUgc291Z2h0IGFmdGVyIHdoZW4gYSBkZW1hbmQgY29tZXMgaW4uIEFmdGVyIHRoYXQgeW91IG5lZWQgeW91ciB3b3JrIHRvIGVpdGhlciB1cGdyYWRlIG9yIHN0YXkgcm91Z2hseSB0aGUgc2FtZS4gUmVzZWxsaW5nIG9mIHlvdXIgTkZUcyBpcyBhIGdvb2QgdGhpbmcgYW5kIG9mdGVudGltZXMgaWYgdGhlIHJpZ2h0IHBlcnNvbiBnZXRzIGEgaG9sZCBvZiB5b3VyIE5GVCB0aGV5IGNhbiBzZWxsIGl0IG9uIHRoZSBzZWNvbmQgbWFya2V0IHdoaWNoIHlvdeKAmWxsIGdldCBhIGN1dCBiYXNlZCBvbiB5b3VyIGNvbGxlY2l0b27igJlzIG1hcmtldCBmZWUgYXQgdGhlIHRpbWUgb2YgY3JlYXRpbmcgdGhlIE5GVC4gUmVzZWxscyBjYW4gYWxzbyBpbmNyZWFzZSB0aGUgdmFsdWUgb2YgeW91ciBjb2xsZWN0aW9uL05GVHMuIFJlc2VsbHMgY2FuIGFsc28gZ2V0IHlvdSBtb3JlIHB1YmxpY2l0eSEgSG9uZXN0bHksIGV2ZXJ5IE5GVCBjcmVhdG9yIHNob3VsZCBob3BlIGZvciBtb3JlIHJlc2VsbHMgdGhlbiBob2RsZXJzLCBpdOKAmXMgYWZ0ZXIgeW91IGdldCBhIGhpZ2ggZGVtYW5kIHdoZXJlIE5GVCBkcm9wcyBzZWxsIG91dCBpbiBtaW51dGVzIG9yIGxlc3MgdGhhdCB5b3UgaG9wZSBmb3IgaG9kbGVycyBiZWNhdXNlIGEgY29uc3RhbnRseSB0cmFkaW5nIE5GVOKAmXMgdmFsdWUgaXMgbW9zdCBvZnRlbiBiYXNlZCBvbiB0aGUgcG9wdWxhcml0eSBvZiAoZGVtYW5kIGZvciBwZW9wbGUgd2FudGluZykgdGhhdCBORlQuIEEgaG9kbGVyLCBpcyBzb21lb25lIHdob20gd2lsbCBob2xkIG9udG8gdGhhdCBhc3NldCBmb3IgbG9uZyBwZXJpb2RzIG9mIHRpbWUgYnVpbGRpbmcgYSBiYXNlIHZhbHVlIGZvciB5b3VyIE5GVHMuPGJyPiZuYnNwOyAmbmJzcDsgJm5ic3A7IE9uY2UgeW91IHN0YXJ0IGdldHRpbmcgZGVtYW5kIGFuZCBzZWxsLW91dCBORlQgZHJvcHMsIHlvdSBtYXkgc3RhcnQgdG8gYXVjdGlvbiBvZmYgbWludCAjMeKAmXMgZm9yIGV4dHJhIHJldHVybnMuIFRvIGRvIGFuIGF1Y3Rpb24sIOKAnExpc3Qgb24gTWFya2V04oCdIHRoZW4gc2VsZWN0IOKAnEF1Y3Rpb27igJ0gaW4gdGhlIHRvcCBzZWxlY3Rpb24gb3B0aW9ucy4gU2VsbGluZyBORlRzIHJlcXVpcmVzIFJBTSB3aXRoIHlvdXIgd2FsbGV0LiBNaW50aW5nIGxpa2UgYWxsIG1ham9yIGNoYWluIGFjdGlvbnMgcmVxdWlyZXMgUkFNIGFuZCBpbiB0aGUgTkZUIGNyZWF0b3IgYXQgYW55IHBvaW50IGluIHRpbWUsIGl0IGRpc3BsYXlzIHlvdXIgUkFNIGFuZCB5b3UgY2FuIGNsaWNrIHRoZSBwbHVzIHN5bWJvbCB0byBidXkgbW9yZSBSQU0gd2hpY2ggaXMgcGFpZCBpbiBXQVguIFdoZW4geW91IHN0YWtlIFdBWCB5b3UgY2FuIGFsc28gc3Rha2UgeW91ciBSQU0gdGhlcmUuIFN0YWtpbmcgdG8geW91ciBDUFUgKG5vcm1hbGx5IGZpcnN0IG9wdGlvbiBpbiBzdGFraW5nKSwgY2FuIGVhcm4geW91IHJldHVybnMgb3ZlciB0aW1lLiBTdGFraW5nIENQVSBpcyBhIGdyZWF0IHdheSB0byBzYXZlIHdheCBmb3IgbGF0ZXIgYW5kIHN0YWtpbmcgdG8gUkFNIGxldHMgeW91IHNlbGwgYW5kIG1pbnQuIFRoaXMgaXMgaG93IE5GVHMgY2FuIGJlIHZlcnkgYWZmb3JkYWJsZS4gU3Rha2UgdG8gdGhlIFJBTSBhbmQgaXQgZ2V0cyB1c2VkIGFzIG5lZWRlZC48YnI+PGJyPiZuYnNwOyAmbmJzcDsgJm5ic3A7IEdldHRpbmcgV2F4IGlzIHByb2JhYmx5IHlvdXIgbGFzdCBzdGVwIGluIHRoaXMgZW5kZWF2b3VyLiBPZnRlbiB0aW1lcyB5b3UgY2FuIGdldCB5b3VyIGZpcnN0IG1pbnQgb3IgdHdvIHdpdGhvdXQgY29zdCBvbiBhdG9taWNodWIgaWYgeW91IGhhdmUgYSB3YXggY2xvdWQgd2FsbGV0IHNvIGdldHRpbmcgc29tZSB3YXggZm9yIHN0YWtpbmcsIFJBTSAmYW1wOyBidXlpbmcgTkZUcyBpcyBsYXN0LiBJZiB5b3UgZ28gdG8gdGhlIDxhIGhyZWY9Imh0dHBzOi8vYWxsLWFjY2Vzcy53YXguaW8iIHRhcmdldD0iX2JsYW5rIiByZWwtIm5vb3BlbmVyPSIiIG5vcmVmZXJyZXIiPSIiIHN0eWxlPSJ0ZXh0LWRlY29yYXRpb246bm9uZTsiPndheC1jbG91ZCB3YWxsZXQgPHN1cD50cnkgY2xpY2tpbmcgaGVyZSAqPC9zdXA+PC9hPiB5b3UgY2FuIGZpbmQgdGhlIGVhc2llc3Qgd2F5cyB0byBidXkgV0FYLiBGb3IgZXhhbXBsZSwgdGhlIDxpPkNoYW5nZU5vdzwvaT4gb3B0aW9uIHRvIGJ1eSBXQVggKGFrYSBXQVhQKSB3aXRoIEVUSCBvciBCVEMgaXNuJ3Qgb2ZmZXJlZCBhbnl3aGVyZSBlbHNlIDxpPkNoYW5nZU5vdzwvaT4gY3J5cHRvIGJ1eWVyIHBvcC11cCBzdG9yZXMuIFRoZXkgYWxzbyBoYXZlIGEgbGFyZ2Uga25vd24gc2VsZWN0aW9uIG9mIGV4Y2hhbmdlcyBsaXN0ZWQgdW5kZXIgdGhlICJCdXkgV0FYUCIgc2VjdGlvbiBvZiB0aGUgY2xvdWQgd2FsbGV0LiBJZiB0aGVyZSdzIGFueSByZWFzb24gdG8gaGF2ZSBhIGNsb3VkIHdhbGxldCwgaXQncyB0byBnZXQgYWNjZXNzIHRvIHRoZSB3YXggYnV5aW5nIHRvb2xzLiBBbmNob3Igd2FsbGV0IGlzIHRoZSBtb3N0IHJlY29tbWVuZGVkIHdhbGxldCBiZXlvbmQgaGFyZHdhcmUgd2FsbGV0cy48YnI+Jm5ic3A7ICZuYnNwOyAmbmJzcDsgVGhhdCdzIGl0LCB5b3UgaGF2ZSB0aGUgYWJpbGl0eSBhbmQgcG9zc2libHkganVzdCBtaW50ZWQgeW91ciBmaXJzdCBORlQgdGhlbiBsaXN0ZWQgaXQgZm9yIHNhbGUhIFRoZXJlJ3Mgb3RoZXIgb3B0aW9ucyBzdGlsbCBhdCB5b3VyIGZpbmdlcnRpcHMgc28gaWYgeW91IGhlYWQgYmFjayB0byB5b3VyIGludmVudG9yeSwgeW91IGNhbiBjbGljayBvbiB0aGUgIm1vcmUiIGJ1dHRvbiB0byByZXZlYWwgc29tZSBmdW4gb3B0aW9ucyB3aXRoaW4gQXRvbWljaHViLjxvbD48Yj5DcmVhdGUgQnVuZGxlPC9iPjogVGhpcyBsZXRzIHlvdSBzZWxsIG11bHRpcGxlIE5GVHMgaW4gYSBzaW5nbGUgdHJhbnNhY3Rpb24uIFNldCB1cCB5b3VyIGJsZW5kIHNldHMsIG9yIG1heWJlIGRvdWJsZSB1cCBwYWNrcyBmb3IgYSBzaW5nbGUgc2VsbC4gQnVuZGxpbmcgYSBidW5jaCBvZiBzbWFsbCBpdGVtcyB0aGF0IGFsbCB3b3JrIHRvZ2V0aGVyIChsaWtlIEFsaWVuIFdvcmxkcyBORlRzKSBjYW4gbGV0IHlvdSBzZWxsIHRoZW0gYXMgYSB3aG9sZSB3aXRoIGEgMzUtNTAlIG1hcmt1cCBjb21wYXJlZCB0byB0cnlpbmcgdG8gYWRkIHRoZSBzYW1lIG1hcmt1cCBwZXIgTkZULiBBbHNvIHNhdmVzIHlvdSB0aGUgZXh0cmEgaGFzc2xlIG9mIHB1dHRpbmcgdGhlbSBhbGwgb24gc2FsZSBpbmRpdmlkdWFsbHkuPC9vbD4KPG9sPjxiPlRyYW5zZmVyPC9iPjogVGhpcyBsZXRzIHlvdSBzZW5kIE5GVHMgdG8gb3RoZXIgcGVvcGxlLCBsaWtlIGEgZ2lmdCBvciBwYXltZW50IGZvciBQZWVyLTItUGVlciB0cmFkZXMuIEluIHRoZSBUcmFuc2ZlciBwYWdlLCB5b3UgY2FuIGNsaWNrIHRvIGFkZCBhZGRpdGlvbmFsIE5GVHMgYW5kIGVzc2VudGlhbGx5IHNlbmQgYSBidW5kbGUgb2YgTkZUcyB0byBhIHNpbmdsZSB3YWxsZXQuIEdyZWF0IGZvciBkdW1waW5nIGFuIG9sZCB3YWxsZXQgYWRkcmVzcy48L29sPgo8b2w+PGI+Q3JlYXRlIExpbms8L2I+OiBUaGlzIGxldHMgeW91IGNyZWF0ZSBhIHNoYXJlIGxpbmsuIFRoaXMgbGV0cyB5b3Ugc2VuZCB5b3VyIE5GVCB0byBzb21lb25lIHdpdGhvdXQga25vd2luZyB0aGVpciB3YWxsZXQgYWRkcmVzcyBvciBldmVuIHdpdGhvdXQgdGhlbSBoYXZpbmcgb25lLiBHcmVhdCBmb3IgZ2l2ZWF3YXlzLCB0aGUgY2xhaW1lciBqdXN0IGNsaWNrcyBhbmQgY2xhaW1zLiBCb29tIGRvbmUhPC9vbD4KPG9sPjxiPk5ldyBUcmFkZTwvYj46IFRoaXMgd2lsbCBzZXQgdXAgYSB0cmFkZSwgc28geW91J2xsIGVudGVyIGEgc2NyZWVuIHNpbWlsYXIgdG8gdHJhbnNmZXIgYW5kIHlvdSBjYW4gY2xpY2sgdG8gYWRkIG1vcmUgTkZUcyB0byB0aGUgc2VsZWN0aW9uIGZvciB0cmFkaW5nIHRoZW4geW91IGNhbiBjbGljaywgIlNlbmQgVHJhZGUgT2ZmZXIiLiBUaGlzIGdpdmVzIHlvdSBhIGluayB0byBzZW5kIHRvIHRoZSBvdGhlciBwZXJzb24gZm9yIHRoZW0gdG8gZmluZCB0aGUgdHJhZGUgYW5kIHlvdSBjYW4gdHJhZGUgYW5vbnltb3VzbHkgd2l0aG91dCBhIGZvdXJ0aCBwYXJ0eS48L29sPgo8b2w+PGI+QmFjayBUb2tlbnM8L2I+OiBUaGlzIGxldHMgeW91IGJhY2sgdGhlIE5GVCB3aXRoIFdBWCB0b2tlbnMuIERvaW5nIHRoaXMgbWVhbnMgdGhlIE5GVCB3aWxsIGhhdmUgdG8gYmUgYnVybmVkIHRvIGdldCB0aGUgdG9rZW5zIGJhY2suIFRoaXMgaXMgZ3JlYXQgZm9yIGdldHRpbmcgYnV5ZXJzIGJ1dCB5b3UgcnVuIHRoZSByaXNrIG9mIHRoZSBpbmNlbnRpdmUgdG8gYnVybiB0aGUgdG9rZW4gaXMgdG9vIGhpZ2ggYW5kIHBlb3BsZSB3aWxsIGJ1cm4gaXQgaW5zdGVhZCBvZiB0cmFkaW5nL2hvZGxpbmcuPC9vbD4KPG9sPjxiPkJ1cm48L2I+OiA8Yj48aT5UaGlzIGlzIG5vdCB0aGUgYnVybiB0b29sIHlvdSBhcmUgbG9va2luZyBmb3IhPGk+PC9pPjwvaT48L2I+PGk+PGk+IE9mdGVudGltZXMgd2hlbiB5b3UgYXJlIHRvbGQgdG8gYnVybiBhbiBORlQgdGhleSBoYXZlIGEgY29udHJhY3QgeW91IGFyZSBzdXBwb3NlZCB0byBzZW5kIHRoZSBORlQgdG8uIFRoZSBvbmx5IHRpbWUgeW91J2xsIHVzZSB0aGlzIGJ1cm4gdG9vbCBpcyB0byBkZXN0cm95IGFuIE5GVCBvciB0byByZW1vdmUgYmFja2VkIHRva2VucyBmcm9tIHRoZSBORlQuPC9pPjwvaT48L29sPjxpPjxpPgogJm5ic3A7ICZuYnNwOyAmbmJzcDsgQ2xpY2tpbmcgIkRldGFpbHMiIHdpbGwgc2hvdyB0aGUgZXh0cmEgZGF0YSBpbnNpZGUgdGhlIE5GVCBhbmQgYW55IG90aGVyIG1lZGlhIGl0IG1heSBoYXZlLiBBZnRlciB0aGF0LCB5b3UgaGF2ZSBhbGwgdGhlIGtleXMgdG8gdGhlIGJhc2ljIE5GVCBnYW1lLiBCdXksIFNlbGwsIFRyYWRlLCBNaW50LCBTZWxsLCBCdXkuIFRoZSBjb21tdW5pdHkgeW91IGJ1aWxkIHVwIGlzIHdoYXQgd2lsbCBrZWVwIHlvdSBtb3RpdmF0ZWQgdG8gbWludCBtb3JlIGFuZCBkbyBtb3JlIE5GVHMuIElmIHlvdSBkb24ndCBmZWVsIHRoYXQgdXBmaCBmcm9tIE5GVCBjcmVhdGluZywgdGhlbiBmaW5kIHlvdXIgcGFzc2lvbiB3aXRoIE5GVHMuIE5vdCBldmVyeW9uZSBpcyBhIG1pbnRlciwgc29tZSBwZW9wbGUgZmxpcCBORlRzIGluc3RlYWQgYW5kIG90aGVycyBiZWNvbWUgQXVjdGlvbmVlcnMuIFlvdSBmaW5kIHlvdXIgYmVzdCB3YXkgdG8gZml0IGludG8gdGhlIE5GVCBzcGFjZSBidXQgYXQgbGVhc3Qgbm93IHlvdSBjYW4gZG8gYWxsIHRoZSBiYXNpY3Mgb24gQXRvbWljaHViIQo8aHI+PHAgYWxpZ249ImNlbnRlciIgc3R5bGU9ImJvcmRlci1yYWRpdXM6NSU7Ym9yZGVyOjJweCBzb2xpZCB3aGl0ZTsgYm94LXNoYWRvdzowcHggMXB4IDVweCBkaW1ncmV5O2JhY2tncm91bmQtY29sb3I6b3JhbmdlO29wYWNpdHk6MC43OyI+PGJ1dHRvbiBvbmNsaWNrPSJkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgmcXVvdDswc3RlcCZxdW90Oykuc3R5bGU9JnF1b3Q7ZGlzcGxheTpub25lJnF1b3Q7O2RvY3VtZW50LmdldEVsZW1lbnRCeUlkKCZxdW90O3N0ZXAwJnF1b3Q7KS5zdHlsZT0mcXVvdDtkaXNwbGF5OmJsb2NrO2JhY2tncm91bmQtY29sb3I6bGlnaHRncmVlbjtjb2xvcjpibGFjaztib3JkZXI6MnB4IHNvbGlkIGdyZWVuOyZxdW90OzsiIHN0eWxlPSJib3gtc2hhZG93OjFweCAxcHggNXB4IGRpbWdyZXk7YmFja2dyb3VuZC1jb2xvcjpibGFjaztjb2xvcjpvcmFuZ2U7Ym9yZGVyLXJhZGl1czo1JTsiPkNsb3NlIFRoaXMgU2VjdGlvbjwvYnV0dG9uPjwvcD4KPC9pPjwvaT48L2Rpdj48aT48aT4KCgo8YnV0dG9uIGlkPSJzdGVwMSIgb25jbGljaz0id2luZG93Lm9wZW4oJnF1b3Q7aHR0cHM6Ly8zZGQuaW4vYXRvbWljcGcyJnF1b3Q7KTsiIHRhcmdldD0iX2JsYW5rIiByZWw9Im5vb3BlbmVyIG5vcmVmZXJyZXIiIHN0eWxlPSJiYWNrZ3JvdW5kLWNvbG9yOmxpZ2h0Z3JlZW47Y29sb3I6YmxhY2s7Ym9yZGVyOjJweCBzb2xpZCBncmVlbjsiIHZhbHVlPSJNaW50Jm5ic3A7Tm9vYiI+TWludCZuYnNwO05vb2I8L2J1dHRvbj4KCgoKPGJ1dHRvbiBpZD0ic3RlcDIiIG9uY2xpY2s9IndpbmRvdy5vcGVuKCZxdW90O2h0dHBzOi8vM2RkLmluL2F0b21pY3BnMyZxdW90Oyk7IiB0YXJnZXQ9Il9ibGFuayIgcmVsPSJub29wZW5lciBub3JlZmVycmVyIiBzdHlsZT0iYmFja2dyb3VuZC1jb2xvcjpsaWdodGdyZWVuO2NvbG9yOmJsYWNrO2JvcmRlcjoycHggc29saWQgZ3JlZW47IiB2YWx1ZT0iU2xpZ2h0bHkmbmJzcDtBZHZhbmNlZCI+U2xpZ2h0bHkmbmJzcDtBZHZhbmNlZDwvYnV0dG9uPgoKCgo8YnV0dG9uIGlkPSJzdGVwMyIgb25jbGljaz0id2luZG93Lm9wZW4oJnF1b3Q7aHR0cHM6Ly8zZGQuaW4vYXRvbWljcGc0JnF1b3Q7KTsiIHRhcmdldD0iX2JsYW5rIiByZWw9Im5vb3BlbmVyIG5vcmVmZXJyZXIiIHN0eWxlPSJiYWNrZ3JvdW5kLWNvbG9yOmxpZ2h0Z3JlZW47Y29sb3I6YmxhY2s7Ym9yZGVyOjJweCBzb2xpZCBncmVlbjsiIHZhbHVlPSJBZHZhbmNlZCZuYnNwO01pbnRpbmciPkFkdmFuY2VkJm5ic3A7TWludGluZzwvYnV0dG9uPgoKCjxidXR0b24gaWQ9InN0ZXA0IiBvbmNsaWNrPSJ3aW5kb3cub3BlbigmcXVvdDtodHRwczovLzNkZC5pbi9hdG9taWNwZzUmcXVvdDspOyIgdGFyZ2V0PSJfYmxhbmsiIHJlbD0ibm9vcGVuZXIgbm9yZWZlcnJlciIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6bGlnaHRncmVlbjtjb2xvcjpibGFjaztib3JkZXI6MnB4IHNvbGlkIGdyZWVuOyIgdmFsdWU9IkV4cGVyaW1lbnRhbCZuYnNwOyZhbXA7Jm5ic3A7VGlwcyI+RXh0cmEmbmJzcDtEYXRhPC9idXR0b24+Cgo8aHI+PGJyPjxicj4mbmJzcDsgJm5ic3A7ICZuYnNwOyBUaGF0J3MgdGhlIGdpc3Qgb2YgaXQsIGhvcGVmdWxseSB5b3UgZ2V0IGEgZ29vZCBhbW91bnQgb2YgaW5mb3JtYXRpb24gZm9ybSB0aGlzIGFuZCB5b3UgY2FuIHVwIHlvdXIgTkZUIGdhbWUgdG8gbWFrZSB5b3VyIG5leHQgTkZUIHN0YW5kIG91dCBhbW9uZyB0aGUgcmVzdC4gQmVzdCBvZiBsdWNrIHRvIHlvdSBpbiB5b3VyIE5GVCBlbmRlYXZvdXJzLjxicj48YnI+Jm5ic3A7ICZuYnNwOyAmbmJzcDsgVGhpcyBhcnRpY2xlIHdhcyBzcGxpdCBpbnRvIHNlY3Rpb25zIHRvIG1ha2UgcHVibGljIHNoYXJpbmcgZWFzaWVyLiBUSGUgb3JpZ2luaWFsIGlzIHN0b3JlZCBvbiBJUEZTIChjaGVjayB5b3VyIE5GVCBmb3IgbW9yZSBpbmZvKS48YnI+PGhyPjxicj4mbmJzcDsgJm5ic3A7ICZuYnNwOyBDbGljayB0aGUgbmV4dCBzZWN0aW9ucyB0byB2aXNpdCB0aGF0IGFydGljbGUgc2VjdGlvbi48c3VwPjxzdWI+VGhpcyB3aWxsIGJlIG9mZmVyZWQgYXMgYW4gTkZUIHdoaWxlIGl0J3MgYXBhcnQgb2YgdGhlIDxhIGhyZWY9Imh0dHBzOi8vM2RkLmluLzNkLXBvdiIgdGFyZ2V0PSJfYmxhbmsiIHJlbD0ibm9vcGVuZXIgbm9yZWZlcnJlciIgc3R5bGU9InRleHQtZGVjb3JhdGlvbjpub25lIj48Yj4zRCdzIFBvaW50IG9mIFZpZXcgPGk+TmV3c2NoYWluPC9pPjwvYj48L2E+LiBFbmpveSBhbmQgdGhhbmsgeW91IGZvciByZWFkaW5nLgoKPC9zdWI+PC9zdXA+PC9pPjwvaT48L2Rpdj48L3NwYW4+PC9oND48L2xhYmVsPiZuYnNwOyA8bGFiZWw+PHNwYW4gYWxpZ249InJpZ2h0IiBzdHlsZT0icmlnaHQ6MDsiPjxoNCBzdHlsZT0ibWFyZ2luLXRvcDotMi41dnc7bWFyZ2luLWJvdHRvbTotMnZ3OyI+PHNwYW4gYWxpZ249InJpZ2h0IiBzdHlsZT0icmlnaHQ6MDsiIGlkPSJvdXRib3R0Ij4zRG91Z2xhcyA8cT4zRDwvcT4gUGlobDwvc3Bhbj4gJm5ic3A7IEA8c3BhbiBpZD0iYXV0aG9ybmFtZSI+SUZ0VWFHRnVheUI1YjNVZ1ptOXlJSEpsWVdScGJtY2hJQzB0TTBSZG9DQ2dRRE5FYjNWbmJHRnpJRHh4UGpORVBDOXhQaUJRYVdoc29DQ2dJRnNqVnpBeFZWZFliRTVTUlZZelZHeFNWazFyT1VWaGVsSlFVVlF3T1ZoVFFUWlBhVUppVTJ0R1QwNUVTWGROYWtaa1hTQT08L3NwYW4+PC9oND4KJm5ic3A7ICZuYnNwOzxzcGFuIHN0eWxlPSJ3aWR0aDo1dnc7bWFyZ2luLXRvcDotMy41dnc7bWFyZ2luLWJvdHRvbTotMC41dnc7IiBpZD0iYWRoZXJlIiBhbGlnbj0ibGVmdCIgb25jbGljaz0idGhpcy5zdHlsZS5kaXNwbGF5PSdub25lJzsgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2FkbGluaycpLnN0eWxlLmRpc3BsYXk9J25vbmUnOyBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnYWR0ZXh0aW4nKS5zdHlsZS5kaXNwbGF5PSdub25lJzsiPjxhIHR5cGU9ImJ1dHRvbiIgc3R5bGU9ImJvcmRlci1yYWRpdXM6MzYwJTsgYmFja2dyb3VuZC1jb2xvcjpibGFjazsgdGV4dC1kZWNvcmF0aW9uOm5vbmU7IGNvbG9yOmxpbWVncmVlbjsgYm9yZGVyLWNvbG9yOm9yYW5nZTsgYm9yZGVyLXdpZHRoOjJ2dzsgd2lkdGg6YXV0bzsgYWxpZ246cmlnaHQ7IG92ZXJmbG93OmhpZGRlbjsgcmlnaHQ6MDsgbWFyZ2luLWJvdHRvbTotMS41dnc7IiBhbGlnbj0icmlnaHQ7IiBocmVmPSJodHRwczovLzNkZC5pbi93YXhzdG9yZSIgdGFyZ2V0PSJfYmxhbmsiIDvCoD0iIiByZWw9Im5vcmVmZXJyZXIgbm9vcGVuZXIiPjxzcGFuIGlkPSJhZHRleHQiIHN0eWxlPSJtYXJnaW46MHZ3IDEuNXZ3IDAuMXZ3IDEuNXZ3OyI+PHN1cD48c3ViPiZuYnNwOyZuYnNwOyZuYnNwO1Zpc2l0IDNEJ3MgPGk+V2F4IFN0b3JlPC9pPiZuYnNwOyZuYnNwOyZuYnNwOzwvc3ViPjwvc3VwPjwvc3Bhbj48L2E+PHNwYW4gaWQ9ImFkdHh0IiBzdHlsZT0iZm9udC1zaXplOjhweCI+PGJyPiAmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsgPGIgaWQ9ImFkdHh0Ym90dG9tIj5hZDwvYj48L3NwYW4+ICZuYnNwOyZuYnNwOyZuYnNwOzwvc3Bhbj48c3BhbiBhbGlnbj0iY2VudGVyIiBpZD0iYWRpbWciIHN0eWxlPSJ3aWR0aDo5OCU7cmlnaHQ6NTA7bGVmdDo1MDtoZWlnaHQ6YXV0bzsiIG9uY2xpY2s9InRoaXMuc3R5bGUuZGlzcGxheT0nbm9uZSc7Ij48YSBhbGlnbj0iY2VudGVyIiBocmVmPSJodHRwczovLzNkZC5pbi9kaXNwZW5zYXJ5IiB0YXJnZXQ9Il9ibGFuayIgOz0iIiByZWw9Im5vcmVmZXJyZXIgbm9vcGVuZXIiPjxpbWcgc3JjPSJodHRwczovL2dhdGV3YXkucGluYXRhLmNsb3VkL2lwZnMvUW1aajI5Vkxka1JpZ1hZaHI4dWhTOE01V2lSVFlOeTZFdTVqNWVyU1REZnluVyIgc3R5bGU9IndpZHRoOjk4JTsgYWxpZ246Y2VudGVyOyIgYWxpZ249ImNlbnRlciI+PC9hPjwvc3Bhbj4KJm5ic3A7PGxhYmVsPjxociBzdHlsZT0ibWFyZ2luLXRvcDowLjV2dzttYXJnaW4tYm90dG9tOi0wLjc1dnc7Ij48aDMgYWxpZ249ImNlbnRlciI+PHN1Yj5JZiB5b3UgbGlrZWQgdGhpcyBQdnRQcHIgcGxlYXNlIGNvbnNpZGVyIGRvbmF0aW5nIHRvIHRoZSBhdXRob3IsIDxzcGFuIGlkPSJhdXRobmFtZSI+M0RvdWdsYXMgPHE+M0Q8L3E+IFBpaGw8L3NwYW4+IGJ5IHVzaW5nIHRoZSBjcnlwdG8tYWRkcmVzc2VzIGJlbG93LiAmbmJzcDsgVGhhbmsgeW91Ljwvc3ViPjxicj48c3ViPjxzcGFuIGFsaWduPSJsZWZ0Ij48Yj7igr86Ly88aT48c3BhbiBpZD0iYnRjYWRkeSI+MUsxVkVGVlA4dmVlWmN0VTh1WTczcHprQzlMRzhhSHc3Uzwvc3Bhbj48L2k+PC9iPjwvc3Bhbj4gJm5ic3A7IDxiPjxzcGFuIGFsaWduPSJyaWdodCI+PGk+PHNwYW4gaWQ9Imx0Y2FkZHkiPjxhIGhyZWY9Imh0dHBzOi8vY29pbnRyLmVlLzNEXyIgdGFyZ2V0PSJfYmxhbmsiIHN0eWxlPSJ0ZXh0LWRlY29yYXRpb246bm9uZTtjb2xvcjpkYXJrZ3JlZW47Ij4zRF8ncyBDb2ludHIuZWU8L2E+PC9zcGFuPjwvaT48L3NwYW4+PC9iPjwvc3ViPjwvaDM+PGg0IGFsaWduPSJjZW50ZXIiPjxzdXA+UHZ0UHBycyBjYW4gYmUgbW9uZXRpemVkIGJ5IEJpdHR1YmUgQWlydGltZSAmYW1wOyB0byBoZWxwIHRoZSBhdXRob3IgZ2lhbiAkPGk+VFVCRVM8L2k+IGZyb20geW91IHJlYWRpbmcgdGhpcyBwYXBlciwgcGxlYXNlIHVzZSBvciBpbnN0YWxsIHRoZSA8c3BhbiBvbmNsaWNrPSJ3aW5kb3cub3BlbignaHR0cHM6Ly9jaHJvbWUuZ29vZ2xlLmNvbS93ZWJzdG9yZS9kZXRhaWwvYml0dHViZS1haXJ0aW1lLWRvbmF0aW9ucy9jbm9nYmJtY2lmZnBpYm1rcGhvaHBlYmdobW9tYWVtaScpIiBzdHlsZT0iY29sb3I6Z3JlZW47Ij5CaXR0dWJlIEFpcnRpbWUgRXh0ZW5zaW9uPC9zcGFuPiBvciB1c2UgdGhlIDxzcGFuIHN0eWxlPSJjb2xvcjpncmVlbiIgb25jbGljaz0id2luZG93Lm9wZW4oJ2h0dHBzOi8vYml0dHViZS5hcHAnKSI+Qml0dHViZSBCcm93c2VyPC9zcGFuPi48L3N1cD48L2g0PjwvbGFiZWw+CiZuYnNwOzxkaXYgYWxpZ249ImNlbnRlciI+PGxhYmVsPjxoNSBzdHlsZT0ibWFyZ2luLXRvcDotMnZ3OyI+PHNwYW4gc3R5bGU9ImxlZnQ6MDsgbWFyZ2luLXJpZ2h0OjIuNXZ3O21hcmdpbi1sZWZ0Oi0xLjV2dzsiIGFsaWduPSJsZWZ0Ij5NYWRlJm5ic3A7d2l0aCZuYnNwOzxzcGFuIGlkPSJERkNhYmluZXQiIHN0eWxlPSJ0ZXh0LWRlY29yYXRpb246bm9uZTsiPjxhIGhyZWY9Imh0dHBzOi8vM2RkLmluL3BwZ2VuIiB0YXJnZXQ9Il9ibGFuayI+UHZ0UHByJm5ic3A7R2VuZXJhdG9yJm5ic3A7TGl0ZTwvYT48L3NwYW4+PHN1cD48c3VwPjIwMjE8L3N1cD48L3N1cD48L3NwYW4+IDxzcGFuIGlkPSJwcmV2IiBzdHlsZT0ibWFyZ2luLXRvcDotMS41cHg7bWFyZ2luLWJvdHRvbToxLjVweDsgbWFyZ2luLWxlZnQ6Mi41dnc7IHJpZ2h0OjA7IG1hcmdpbi1yaWdodDotMS41dnc7Ym9yZGVyLXJhZGl1czoxNSU7cGFkZGluZzozcHg7IiBhbGlnbj0icmlnaHQiPjxhIGhyZWY9Imh0dHBzOi8vdGlueXVybC5jb20veTUzbzR3M3kiIHRhcmdldD0iX2JsYW5rIiByZWw9Im5vb3BlbmVyIG5vcmVmZXJyZXIiIHN0eWxlPSJib3JkZXI6IDAuMDF2dyBzb2xpZCBkYXJrZ3JlZW47IGJhY2tncm91bmQtY29sb3I6bGltZWdyZWVuOyBjb2xvcjpibGFjazsgYm94LXNoYWRvdzpkaW1ncmV5IDNweCA2cHggOXB4OyB0ZXh0LWRlY29yYXRpb246bm9uZTsiPlByZXZpb3VzJm5ic3A7UGFwZXI8L2E+PC9zcGFuPjwvaDU+PC9sYWJlbD48c3BhbiBzdHlsZT0iYm94LXNoYWRvdzpkaW1ncmV5IDNweCA2cHggOXB4O2xlZnQ6MDsiIGFsaWduPSJsZWZ0IiBpZD0iY2VydGFibGUiPjxhIGhyZWY9Imh0dHBzOi8vM2RkLmluL1B2dFBwci1QYWdlLUNlcnQiIHRhcmdldD0iX2JsYW5rIiBzdHlsZT0idGV4dC1kZWNvcmF0aW9uOm5vbmU7YmFja2dyb3VuZC1jb2xvcjpibGFjaztjb2xvcjp3aGl0ZTsiPlZpZXcmbmJzcDt0aGlzJm5ic3A7b2JqZWN0J3MmbmJzcDtDZXJ0YWJsZTwvYT48L3NwYW4+PC9kaXY+CiZuYnNwOzxocj48c3BhbiBpZD0icXJpbWciIGNsYXNzPSJxcmltZyIgYWxpZ249InJpZ2h0IiBzdHlsZT0icmlnaHQ6MDttYXJnaW4tbGVmdDo1MCU7Ij48aW1nIGNsYXNzPSJxcmltZyIgc3JjPSJodHRwczovL3p4aW5nLm9yZy93L2NoYXJ0P2NodD1xciZhbXA7Y2hzPTExNXgxMTUmYW1wO2NobGQ9SHwxJmFtcDtjaG9lPVVURi04JmFtcDtjaGw9aHR0cHM6Ly90d2l0dGVyLmNvbS9yYWRpb2FjdGl2ZTNkIiBhbGlnbj0icmlnaHQiPjwvc3Bhbj48c3BhbiBzdHlsZT0ib3BhY2l0eTowLjUzO2NvbG9yOmdyZXk7IiBhbGlnbj0ibGVmdCI+Jm5ic3A7CiZuYnNwOyA8YnI+PHNwYW4gb25jbGljaz0iYWxhbGVydCgpIj5QdnRQcHIuIDIwMTgtMjAyMSA8YnI+IFByaXZhdGUgUGFwZXIgMjAxOC0yMDIxPC9zcGFuPiA8YnI+CjxzcGFuIGlkPSJmb290ZW4iIG9uY2xpY2s9InRoaXMuc3R5bGUuZGlzcGxheT0nbm9uZSc7IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdmb290c3AnKS5zdHlsZS5kaXNwbGF5PSdibG9jayc7Ij5BIFRob3VnaHQgQ2hpbGQgb2YgdGhlIDMgSm9rZXJzPC9zcGFuPgo8c3BhbiBpZD0iZm9vdHNwIiBvbmNsaWNrPSJ0aGlzLnN0eWxlLmRpc3BsYXk9J25vbmUnOyBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnZm9vdGNoJykuc3R5bGUuZGlzcGxheT0nYmxvY2snOyIgc3R5bGU9ImRpc3BsYXk6bm9uZSI+VW4gcGVuc2FtaWVudG8gaGlqbyBkZSBsb3MgMyBjb21vZGluZXM8L3NwYW4+CjxzcGFuIGlkPSJmb290Y2giIG9uY2xpY2s9InRoaXMuc3R5bGUuZGlzcGxheT0nbm9uZSc7IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdmb290anAnKS5zdHlsZS5kaXNwbGF5PSdibG9jayc7IiBzdHlsZT0iZGlzcGxheTpub25lIj7kuInkuKrlsI/kuJHnmoTmgJ3mg7PlranlrZA8L3NwYW4+CjxzcGFuIGlkPSJmb290anAiIG9uY2xpY2s9InRoaXMuc3R5bGUuZGlzcGxheT0nbm9uZSc7IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdmb290cnUnKS5zdHlsZS5kaXNwbGF5PSdibG9jayc7IiBzdHlsZT0iZGlzcGxheTpub25lIj4z5Lq644Gu44K444On44O844Kr44O844Gu5oCd6ICD44Gu5a2QPC9zcGFuPgo8c3BhbiBpZD0iZm9vdHJ1IiBvbmNsaWNrPSJ0aGlzLnN0eWxlLmRpc3BsYXk9J25vbmUnOyBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnZm9vdHN3Jykuc3R5bGUuZGlzcGxheT0nYmxvY2snOyIgc3R5bGU9ImRpc3BsYXk6bm9uZSI+0JzRi9GB0LvQtdC90L3QvtC1INCU0LjRgtGPIDMg0JTQttC+0LrQtdGA0L7Qsjwvc3Bhbj4KPHNwYW4gaWQ9ImZvb3RzdyIgb25jbGljaz0idGhpcy5zdHlsZS5kaXNwbGF5PSdub25lJzsgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2Zvb3RkdScpLnN0eWxlLmRpc3BsYXk9J2Jsb2NrJzsiIHN0eWxlPSJkaXNwbGF5Om5vbmUiPkV0dCB0w6Rua3QgYmFybiBhdiBkZSAzIGpva2FybmE8L3NwYW4+CjxzcGFuIGlkPSJmb290ZHUiIG9uY2xpY2s9InRoaXMuc3R5bGUuZGlzcGxheT0nbm9uZSc7IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdmb290ZW4nKS5zdHlsZS5kaXNwbGF5PSdibG9jayc7IiBzdHlsZT0iZGlzcGxheTpub25lIj5FaW4gR2VkYW5rZW5raW5kIGRlciAzIEpva2VyPC9zcGFuPgo8L3NwYW4+PGJyPjxwIGFsaWduPSJjZW50ZXIiPjwvcD48cCBzdHlsZT0iYmFja2dyb3VuZC1jb2xvcjpibGFjaztjb2xvcjpzaWx2ZXI7Ym94LXNoYWRvdzpkaW1ncmV5IDNweCA2cHggOXB4O3RleHQtYWxpZ246bGVmdDtsZWZ0OjA7d2lkdGg6YXV0bzsiIGFsaWduPSJsZWZ0IiByZWw9Im5vcmVmZXJyZXIgbm9vcGVuZXIiIHRhcmdldD0iX3NlbGYiIG9uY2xpY2s9IndpbmRvdy5vcGVuKCdodHRwczovLzNkZC5pbi9QdnRQcHInKTsiPlJlYWQmbmJzcDt0aGUmbmJzcDtPZmZpY2lhbCZuYnNwO1B2dFBwciZuYnNwOzxiPjxpPk5ld3NjaGFpbjwvaT48L2I+PC9wPiA8cCBvbmNsaWNrPSJBbGVydENoZWNrKCk7IiBpZD0iTGlua0NvdmVyIiBhbGlnbj0icmlnaHQiIHN0eWxlPSJjb2xvcjpzaWx2ZXI7dGV4dC1hbGlnbjpyaWdodDtyaWdodDowO21hcmdpbi10b3A6LTIuODV2dzticmVhay13b3JkOmtlZXAtYWxsO3dvcmQtYnJlYWs6a2VlcC1hbGw7Ij4zRDombmJzcDs8Yj4jPGk+MTUzMTdmZXV3Z3M4am88L2k+PC9iPjwvcD48cD48L3A+PGhyPjxicj48YnI+PC9zcGFuPjwvbGFiZWw+PC9kaXY+CjxzY3JpcHQ+wqAKCgrCoCDCoCAvLyBBZGRlZCBldmVudCBsaXN0ZW5lciB0byB0aGUgc2Nyb2xswqAKwqAgwqAgd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoJ3Njcm9sbCcswqAKwqAgwqAgwqAgwqAgwqAgwqAgbW92ZVNjcm9sbEluZGljYXRvcik7wqAKCgrCoCDCoCAvLyBHZXR0aW5nIHNjcm9sbEluZGljYXRvciBlbGVtZW50IGJ5IElEwqAKwqAgwqAgY29uc3Qgc2Nyb2xsSW5kaWNhdG9yRWx0ID3CoMKgCsKgIMKgIMKgIMKgIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdzY3JvbGxJbmRpY2F0b3InKTvCoAoKCsKgIMKgIC8vIEhlaWdodCBvZiBlbnRpcmUgd2ViIHBhZ2UgLSBoZWlnaHTCoArCoCDCoCAvLyBvZiB2aWV3YWJsZSBwb3J0aW9uIG9mIGJyb3dzZXLCoArCoCDCoCBjb25zdCBtYXhIZWlnaHQgPcKgwqAKwqAgwqAgwqAgwqAgd2luZG93LmRvY3VtZW50LmJvZHkuc2Nyb2xsSGVpZ2h0wqDCoArCoCDCoCDCoCDCoCAtIHdpbmRvdy5pbm5lckhlaWdodDvCoAoKCsKgIMKgIGZ1bmN0aW9uIG1vdmVTY3JvbGxJbmRpY2F0b3IoZSkge8KgCgoKwqAgwqAgwqAgwqAgLy8gQ2FsY3VsYXRpbmcgd2lkdGggb2YgdGhlwqDCoArCoCDCoCDCoCDCoCAvLyBzY3JvbGxJbmRpY2F0b3IgZWxlbWVudMKgCsKgIMKgIMKgIMKgIGNvbnN0IHBlcmNlbnRhZ2UgPcKgwqAKwqAgwqAgwqAgwqAgwqAgwqAgKCh3aW5kb3cuc2Nyb2xsWSkgLyBtYXhIZWlnaHQpICogMTAwO8KgCgoKwqAgwqAgwqAgwqAgLy8gUGl4ZWxzIHNjcm9sbGVkIGJ5IHRoZSB1c2VywqDCoArCoCDCoCDCoCDCoCAvLyB0byB0b3RhbCBzY3JvbGxhYmxlIFBpeGVsc8KgCsKgIMKgIMKgIMKgIHNjcm9sbEluZGljYXRvckVsdC5zdHlsZS53aWR0aMKgCsKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgPSBwZXJjZW50YWdlICsgJyUnO8KgCsKgIMKgIH3CoAo8L3NjcmlwdD4mbmJzcDsKPHNjcmlwdD4KwqAKwqBmdW5jdGlvbiBhbGFsZXJ0KCl7CsKgIGFsZXJ0KCdIZWxsbyAmIFdlbGNvbWUgdG8gdGhlIHRoaXMgUHZ0UHByIFtwcsSrdml0IHDEgXDJmXJdLlxuXG5QdnRQcHIgaXMgYnJvdWdodCB0byB5b3UgYnkgM0csIDNEICYgRS1ULlxuXG5UaGlzIGlzIGhvYXN0ZWQgYnkgZXhwZXJpbWVudGFsIHRlY2hub2xvZ3kgaW4gaGFzaC1iYXNlZC1saW5rcyB0byBzdG9yZSBhbGwgb2YgdGhlIHdlYnNpdGUgY29kZSArIHRleHQgb2ZmIHNlcnZlcnMuXG5cblNlcnZlcnMgYXJlIHVzZWQgZm9yIGRlY3J5dGluZyB0aGUgaGFzaGxpbmsgZm9yIHRoZSBicm93c2VyIHRvIGRpc3BsYXkgdGhlIHdlYnNpdGUvd2ViYXBwLlxuXG5Ib3N0ZWQgYnkgSXR0eS5CaXR0eS5TaXRlIChieSBBbGNvcikuXG5cblxuVGhhbmsgeW91LlxuwqAgwqAgwqBbTFMwelJBOjpKQU4xNjIwMjBdXG5cbsKgIMKgIMKgTGFzdCBVcGRhdGUgW0pBTjIwMjAyMTo6TFMwelJBXScpOwrCoH0KwqBmdW5jdGlvbiBBbGVydENoZWNrKCkgewrCoCBhbGVydCgiWW91IGNsaWNrZWQgb24gYW4gZWFzdGVyIGVnZy4gUGxlYXNlIGVuam95IVxuXG5UaGlzIFB2dFBwciB3YXMgbWFkZSB3aXRoIHRoZSBQdnRQcHIgR2VuZXJhdG9yIChQUEdlbikuIFRoaXMgaXMgYSBuZXdzcGFwZXIgc3lzdGVtIHdpdGggZXZlcnlvbmUgaW4gbWluZC4gQW55b25lIGNhbiB1c2UgUFBHZW4gdG8gYnVpbGQgdGhlaXIgb3duIHByaXZhdGUgcGFwZXIgY29tcGxldGUgd2l0aCBhIHVzYWJsZSBsaW5rLlxuXG5UaGlzIGlzIHRoZSBsaXRlLXZlcnNpb24gb2YgdGhlIFB2dFBwciBHZW5lcmF0b3JcblxuXG5cblRoYW5rIFlvdVxuwqAgwqAgwqBbTFMwelJBOjpKQU4xNjIwMjBdXG5cbsKgIMKgIMKgTGFzdCBVcGRhdGUgW0pBTjIwMjAyMTo6TFMwelJBXSIpOwrCoH0KwqAKPC9zY3JpcHQ+CjxtZXRhIG5hbWU9ImFpcnRpbWUtcGxhdGZvcm0tZGlzcGxheSIgY29udGVudD0iYXJ0aWNsZXMiPjxtZXRhIG5hbWU9ImFpcnRpbWUtcGxhdGZvcm0taWQiIGNvbnRlbnQ9Ijk5YTc5MGQ4LTg3MDctZTRhOS05OTZmLWE1ZjAxODEzYzQ1YyI+PHNjcmlwdCBzcmM9Imh0dHBzOi8vYml0dHViZWFwcC5jb20vdHViZXBheS9haXJ0aW1lLmxvYWRlci5qcyIgZGF0YS12ZXJpZnk9Im1ldGEiIGRhdGEtYXV0b3N0YXJ0PSJ0cnVlIj48L3NjcmlwdD48L2E+
- Protocol
- H2
- Security
- TLS 1.3,
, AES_128_GCM
- Server
-
2606:4700::6811:d166
, United States,
ASN13335
(CLOUDFLARENET, US),
- Reverse DNS
- Software
-
cloudflare /
- Resource Hash
- a55158400e1fbde1af71eb4874f05c81521f02b943082f15d4126c74a632b89a
- Security Headers
-
Name |
Value |
X-Content-Type-Options |
nosniff |
|
GET
H2
|
200
|
QmZj29VLdkRigXYhr8uhS8M5WiRTYNy6Eu5j5erSTDfynW
gateway.pinata.cloud/ipfs/
Frame FD4C
|
604 KB
0
|
2046ms
1982ms
|
Image
image/gif |
2606:4700:4400::ac40:9ae1
CLOUDFLARENET
|
|
General
- Full URL
- https://gateway.pinata.cloud/ipfs/QmZj29VLdkRigXYhr8uhS8M5WiRTYNy6Eu5j5erSTDfynW
- Requested by
- Host: text
URL: data:text/html;charset=utf-8;base64,PG1ldGEgY2hhcnNldD0idXRmLTgiPjxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgiPjxiYXNlIHRhcmdldD0iX3RvcCI+PHN0eWxlIHR5cGU9InRleHQvY3NzIj5ib2R5e21hcmdpbjowIGF1dG87cGFkZGluZzoxMnZtaW4gMTB2bWluO21heC13aWR0aDozNWVtO2xpbmUtaGVpZ2h0OjEuNWVtO2ZvbnQtZmFtaWx5Oi1hcHBsZS1zeXN0ZW0sQmxpbmtNYWNTeXN0ZW1Gb250LHNhbnMtc2VyaWY7d29yZC13cmFwOmJyZWFrLXdvcmQ7fUBtZWRpYShwcmVmZXJzLWNvbG9yLXNjaGVtZTogZGFyayl7Ym9keXtjb2xvcjp3aGl0ZTtiYWNrZ3JvdW5kLWNvbG9yOmJsYWNrO319PC9zdHlsZT4gPGEgdGFyZ2V0PSJfdG9wIiBpZD0ibGluayIgbmFtZT0ibGluayIgc3R5bGU9ImRpc3BsYXk6IGJsb2NrOyBvdmVyZmxvdy13cmFwOiBicmVhay13b3JkOyBzY3JvbGwtYmVoYXZpb3I6IHNtb290aDsiPjxkaXYgaWQ9ImljaGVjayIgc3R5bGU9Im1hcmdpbi10b3A6LTd2dzsiPgoKCiZuYnNwOzxzdHlsZT4gLmxpbmUge2JhY2tncm91bmQ6IGJsYWNrO29wYWNpdHk6IDAuNTtoZWlnaHQ6IDQuNXB4Oy13ZWJraXQtYm94LXNoYWRvdzogMnB4IC0ycHggM3B4IGRpbWdyZXk7Ym94LXNoYWRvdzogMnB4IC0ycHggM3B4IGRpbWdyZXk7d2lkdGg6IDAlO3Bvc2l0aW9uOiBmaXhlZDtib3R0b206IDA7bGVmdDowO2FsaWduOmNlbnRlcjt6LWluZGV4Ojg7fcKgIMKgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogOS45aW4pIHsgLnFyaW1nIHthbGlnbjogcmlnaHQ7cmlnaHQ6MDttYXJnaW4tcmlnaHQ6LTMuNSU7bWFyZ2luLWJvdHRvbTotNTAlO3BhZGRpbmctcmlnaHQ6LTEuNSU7d2lkdGg6MzAlO30gLnRvcGJhciB7bWFyZ2luLXRvcDotM3Z3O21hcmdpbi1sZWZ0Oi0zdnc7bWFyZ2luLXJpZ2h0Oi0zdnc7fSAubGluZSB7bWFyZ2luLWxlZnQ6MC41JTthbGlnbjpjZW50ZXI7bGVmdDowO319IEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEwaW4pIHsgLnFyaW1nIHthbGlnbjogcmlnaHQ7bWFyZ2luLWJvdHRvbTotNTAlO3dpZHRoOjIwJTt9LmxpbmUge21hcmdpbi1sZWZ0OjAlO2FsaWduOmNlbnRlcjtsZWZ0OjA7fX3CoCA8L3N0eWxlPiZuYnNwOyA8ZGl2IGNsYXNzPSJsaW5lIiBpZD0ic2Nyb2xsSW5kaWNhdG9yIj48L2Rpdj48L2Rpdj48c2NyaXB0IHNyYz0iaHR0cHM6Ly91bnBrZy5jb20vZW1iZWRkYWJsZS1uZnRzL2Rpc3QvbmZ0LWNhcmQubWluLmpzIj48L3NjcmlwdD48ZGl2IGlkPSJiYWNrZ3JvdW5kIiBzdHlsZT0ibWFyZ2luLWJvdHRvbTotMTV2dzsiPjxsYWJlbD48aDEgc3R5bGU9Im1hcmdpbi1ib3R0b206LTJ2dzsiPjxzcGFuIHN0eWxlPSJsZWZ0OjA7IiBhbGlnbj0ibGVmdCIgaWQ9Im91dHRvcCI+PGRpdiBpZD0idG9wYmFyIiB6LWluZGV4Ojk7PSIiIGNsYXNzPSJ0b3BiYXIiIGFsaWduPSJjZW50ZXIiIHN0eWxlPSJwb3NpdGlvbjpmaXhlZDt0ZXh0LWFsaWduOmNlbnRlcjtiYWNrZ3JvdW5kOiByZ2IoMjU1LDI1MCwyNTApOyBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoNmRlZywgcmdiKDI1NSwyNTUsMjU1LDAuNTApIDAlLCByZ2IoMjU1LDI1NSwyNTUsMC43NSkgMTglLCByZ2IoMjU1LDI1NSwyNTUsMSkgMjUlKTtwYWRkaW5nLXRvcDozMHZ3OyBwYWRkaW5nLWxlZnQ6MTB2dzsgcGFkZGluZy1ib3R0b206LTEwdnc7IHBhZGRpbmctcmlnaHQ6MTB2dzt0b3A6MDtsZWZ0OjUwO3JpZ2h0OjUwO21hcmdpbi10b3A6LTI3LjV2dzttYXJnaW4tbGVmdDotMTQuNXZ3O21hcmdpbi1ib3R0b206LTV2dzttYXJnaW4tcmlnaHQ6LTE2dnc7Ij48aDMgY2xhc3M9Im5hdnQiIGlkPSJuYXZ0IiBhbGlnbj0iY2VudGVyIiBzdHlsZT0icGFkZGluZzoxLjVweCAxLjVweCAxLjUlIDEuNXB4O21hcmdpbjotMC4xJSAxNSUgMCUgMTUlO3otaW5kZXg6OTk7IiByZWw9Im5vcmVmZXJyZXIgbm9vcGVuZXIiIHRhcmdldD0iX2JsYW5rIj5BdG9taWNBc3NldCBHdWlkZSA8c3VwPjxzdWI+KDxiPjxpPldBWCA8c3ViPnZlcnNpb248L3N1Yj48L2k+PC9iPik8L3N1Yj48L3N1cD48L2gzPiA8aHIgc3R5bGU9ImJvcmRlcjoxLjVweCBzb2xpZCBsaWdodGdyZXk7Ym94LXNoYWRvdzoxcHggMXB4IDFweCBzaWx2ZXIgaW5zZXQ7bWFyZ2luLXRvcDotMC43NSU7d2lkdGg6OTglO21hcmdpbi1ib3R0b206LTJ2dzsiPiZuYnNwOyA8ZGl2IGNsYXNzPSJuYXYiIGFsaWduPSJjZW50ZXIiIHN0eWxlPSJvdmVyZmxvdzphdXRvO2RpcmVjdGlvbjpsdHI7bWFyZ2luLWJvdHRvbTotMi4yNSU7c2Nyb2xsLWJlaGF2aW9yOnNtb290aDtzY3JvbGwtYmFyOnRyYW5zcGFyZW50OyB3aGl0ZS1zcGFjZTpub3dyYXA7YnJlYWstd29yZDprZWVwLWFsbDsiPiZuYnNwOzxidXR0b24gY2xhc3M9Im5hdmJ1dHRvbiIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6cmdiKDI1NSwyNTAsMjUwLDAuNzcpO2NvbG9yOmJsYWNrO2JvcmRlcjoxcHggc29saWQgc2lsdmVyO2JveC1zaGFkb3c6MnB4IDJweCA0cHggc2lsdmVyIGluc2V0O3BhZGRpbmc6MCUgMS41JSAwJSAxLjUlO21hcmdpbjotM3Z3IDB2dyAxLjV2dyAwdnc7IiBvbmNsaWNrPSJ3aW5kb3cub3BlbignaHR0cHM6Ly93YXguaW8nKSIgdGFyZ2V0PSJfYmxhbmsiIHJlbD0ibm9vcGVuZXIgbm9yZWZlcnJlciI+R2V0IGEgV2F4IFdhbGxldDwvYnV0dG9uPiZuYnNwOyZuYnNwOzxidXR0b24gY2xhc3M9Im5hdmJ1dHRvbiIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6cmdiKDI1NSwyNTAsMjUwLDAuNzcpO2NvbG9yOmJsYWNrO2JvcmRlcjoxcHggc29saWQgc2lsdmVyO2JveC1zaGFkb3c6MnB4IDJweCA0cHggc2lsdmVyIGluc2V0O3BhZGRpbmc6MCUgMS41JSAwJSAxLjUlO21hcmdpbjotM3Z3IDB2dyAxLjV2dyAwdnc7IiBvbmNsaWNrPSJ3aW5kb3cub3BlbignaHR0cHM6Ly9hbGwtYWNjZXNzLndheC5pbycpIiB0YXJnZXQ9Il9ibGFuayIgcmVsPSJub29wZW5lciBub3JlZmVycmVyIj5XYXggQ2xvdWQgV2FsbGV0IDxzdXA+PHN1Yj4oZ3JlYXQgZm9yIHN0YXJ0ZXJzKTwvc3ViPjwvc3VwPjwvYnV0dG9uPiZuYnNwOyZuYnNwOzxidXR0b24gY2xhc3M9Im5hdmJ1dHRvbiIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6cmdiKDI1NSwyNTAsMjUwLDAuNzcpO2NvbG9yOmJsYWNrO2JvcmRlcjoxcHggc29saWQgc2lsdmVyO2JveC1zaGFkb3c6MnB4IDJweCA0cHggc2lsdmVyIGluc2V0O3BhZGRpbmc6MCUgMS41JSAwJSAxLjUlO21hcmdpbjotM3Z3IDB2dyAxLjV2dyAwdnc7IiBvbmNsaWNrPSJ3aW5kb3cub3BlbignaHR0cHM6Ly93YXguYXRvbWljaHViLmlvL2NyZWF0b3InKSIgdGFyZ2V0PSJfYmxhbmsiIHJlbD0ibm9vcGVuZXIgbm9yZWZlcnJlciI+QXRvbWljaHViIChjcmVhdG9yKTwvYnV0dG9uPiZuYnNwOyZuYnNwOzxidXR0b24gY2xhc3M9Im5hdmJ1dHRvbiIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6cmdiKDI1NSwyNTAsMjUwLDAuNzcpO2NvbG9yOmJsYWNrO2JvcmRlcjoxcHggc29saWQgc2lsdmVyO2JveC1zaGFkb3c6MnB4IDJweCA0cHggc2lsdmVyIGluc2V0O3BhZGRpbmc6MCUgMS41JSAwJSAxLjUlO21hcmdpbjotM3Z3IDB2dyAxLjV2dyAwdnc7IiBvbmNsaWNrPSJ3aW5kb3cub3BlbignaHR0cHM6Ly93YXguYmxva3MuaW8vJykiIHRhcmdldD0iX2JsYW5rIiByZWw9Im5vb3BlbmVyIG5vcmVmZXJyZXIiPldheCBCbG9rcy5pbzwvYnV0dG9uPiZuYnNwOyZuYnNwOzxidXR0b24gY2xhc3M9Im5hdmJ1dHRvbiIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6cmdiKDI1NSwyNTAsMjUwLDAuNzcpO2NvbG9yOmJsYWNrO2JvcmRlcjoxcHggc29saWQgc2lsdmVyO2JveC1zaGFkb3c6MnB4IDJweCA0cHggc2lsdmVyIGluc2V0O3BhZGRpbmc6MCUgMS41JSAwJSAxLjUlO21hcmdpbjotM3Z3IDB2dyAxLjV2dyAwdnc7IiBvbmNsaWNrPSJ3aW5kb3cub3BlbignaHR0cHM6Ly93YXguYmxva3MuaW8vYWNjb3VudC9hdG9taWNkcm9wc3g/bG9hZENvbnRyYWN0PXRydWUmYW1wO3RhYj1BY3Rpb25zJmFtcDthY2NvdW50PWF0b21pY2Ryb3BzeCZhbXA7c2NvcGU9YXRvbWljZHJvcHN4JmFtcDtsaW1pdD0xMDAmYW1wO2FjdGlvbj1jcmVhdGVkcm9wJykiIHRhcmdldD0iX2JsYW5rIiByZWw9Im5vb3BlbmVyIG5vcmVmZXJyZXIiPkZpbmQgQXRvbWljZHJvcHN4PC9idXR0b24+Jm5ic3A7Jm5ic3A7PGJ1dHRvbiBjbGFzcz0ibmF2YnV0dG9uIiBzdHlsZT0iYmFja2dyb3VuZC1jb2xvcjpyZ2IoMjU1LDI1MCwyNTAsMC43Nyk7Y29sb3I6YmxhY2s7Ym9yZGVyOjFweCBzb2xpZCBzaWx2ZXI7Ym94LXNoYWRvdzoycHggMnB4IDRweCBzaWx2ZXIgaW5zZXQ7cGFkZGluZzowJSAxLjUlIDAlIDEuNSU7bWFyZ2luOi0zdncgMHZ3IDEuNXZ3IDB2dzsiIG9uY2xpY2s9IndpbmRvdy5vcGVuKCdodHRwczovL3dheC5ibG9rcy5pby9hY2NvdW50L2JsZW5kZXJpemVyeD9sb2FkQ29udHJhY3Q9dHJ1ZSZhbXA7dGFiPUFjdGlvbnMmYW1wO2FjY291bnQ9YmxlbmRlcml6ZXJ4JmFtcDtzY29wZT1ibGVuZGVyaXplcngmYW1wO2xpbWl0PTEwMCZhbXA7YWN0aW9uPWNyZWF0ZWJsZW5kJykiIHRhcmdldD0iX2JsYW5rIiByZWw9Im5vb3BlbmVyIG5vcmVmZXJyZXIiPkZpbmQgQmxlbmRlcmlzZXJ4PC9idXR0b24+Jm5ic3A7Jm5ic3A7PGJ1dHRvbiBjbGFzcz0ibmF2YnV0dG9uIiBzdHlsZT0iYmFja2dyb3VuZC1jb2xvcjpyZ2IoMjU1LDI1MCwyNTAsMC43Nyk7Y29sb3I6YmxhY2s7Ym9yZGVyOjFweCBzb2xpZCBzaWx2ZXI7Ym94LXNoYWRvdzoycHggMnB4IDRweCBzaWx2ZXIgaW5zZXQ7cGFkZGluZzowJSAxLjUlIDAlIDEuNSU7bWFyZ2luOi0zdncgMHZ3IDEuNXZ3IDB2dzsiIG9uY2xpY2s9IndpbmRvdy5vcGVuKCdodHRwczovL3dheC5ibG9rcy5pby9hY2NvdW50L2F0b21pY3BhY2tzeD9sb2FkQ29udHJhY3Q9dHJ1ZSZhbXA7dGFiPUFjdGlvbnMmYW1wO2FjY291bnQ9YXRvbWljcGFja3N4JmFtcDtzY29wZT1hdG9taWNwYWNrc3gnKSIgdGFyZ2V0PSJfYmxhbmsiIHJlbD0ibm9vcGVuZXIgbm9yZWZlcnJlciI+RmluZCBBdG9taWNwYWNrc3g8L2J1dHRvbj4mbmJzcDsmbmJzcDs8YnV0dG9uIGNsYXNzPSJuYXZidXR0b24iIHN0eWxlPSJiYWNrZ3JvdW5kLWNvbG9yOnJnYigyNTUsMjUwLDI1MCwwLjc3KTtjb2xvcjpibGFjaztib3JkZXI6MXB4IHNvbGlkIHNpbHZlcjtib3gtc2hhZG93OjJweCAycHggNHB4IHNpbHZlciBpbnNldDtwYWRkaW5nOjAlIDEuNSUgMCUgMS41JTttYXJnaW46LTN2dyAwdncgMS41dncgMHZ3OyIgb25jbGljaz0id2luZG93Lm9wZW4oJ2h0dHBzOi8vbmVmdHlibG9ja3MuY29tLycpIiB0YXJnZXQ9Il9ibGFuayIgcmVsPSJub29wZW5lciBub3JlZmVycmVyIj5GaW5kIE5lZnR5Qmxva3M8L2J1dHRvbj4mbmJzcDsmbmJzcDs8YnV0dG9uIGNsYXNzPSJuYXZidXR0b24iIHN0eWxlPSJiYWNrZ3JvdW5kLWNvbG9yOnJnYigyNTUsMjUwLDI1MCwwLjc3KTtjb2xvcjpibGFjaztib3JkZXI6MXB4IHNvbGlkIHNpbHZlcjtib3gtc2hhZG93OjJweCAycHggNHB4IHNpbHZlciBpbnNldDtwYWRkaW5nOjAlIDEuNSUgMCUgMS41JTttYXJnaW46LTN2dyAwdncgMS41dncgMHZ3OyIgb25jbGljaz0id2luZG93Lm9wZW4oJ2h0dHBzOi8vM2RkLmluL2F0b21pY2Fzc2V0cHByJykiIHRhcmdldD0iX2JsYW5rIiByZWw9Im5vb3BlbmVyIG5vcmVmZXJyZXIiPkJ1eSBUaGlzIGFzIGFuIE5GVDwvYnV0dG9uPiZuYnNwOyZuYnNwOzwvZGl2PjwvZGl2Pjxicj48YnI+PGJyPjwvc3Bhbj48L2gxPjwvbGFiZWw+Jm5ic3A7IDxsYWJlbD48aDQgYWxpZ249InJpZ2h0IiBzdHlsZT0icmlnaHQ6MDsiPjxzcGFuIGFsaWduPSJyaWdodCIgc3R5bGU9InJpZ2h0OjA7IiBpZD0ib3V0bWlkIj48YnI+PGJyPkNyZWF0aW5nIE5GVHMgZm9yIEFsbW9zdCBBbnkgT2NjYXNzaW9uPGJyPjxicj5TZWN0aW9uIDE8L3NwYW4+PGhyIHN0eWxlPSJtYXJnaW4tYm90dG9tOi0zdnc7Ij48L2g0PjwvbGFiZWw+CiZuYnNwOyAmbmJzcDs8c3BhbiBhbGlnbj0iY2VudGVyIiBpZD0iaW1nMSIgc3R5bGU9IndpZHRoOjk2dnc7cmlnaHQ6NTA7bGVmdDo1MDtoZWlnaHQ6YXV0bzsiPjxpbWcgc3JjPSJodHRwczovL2ltYWdlcy5wZXhlbHMuY29tL3Bob3Rvcy82MzkzMzcwL3BleGVscy1waG90by02MzkzMzcwLmpwZWciIHN0eWxlPSJ3aWR0aDo5OSU7IiBhbGlnbj0iY2VudGVyIj48L3NwYW4+CjxsYWJlbD48aDQgc3R5bGU9ImZvbnQtd2VpZ2h0Om5vcm1hbDsiPjxzcGFuIGlkPSJvdXRvdXQiIHN0eWxlPSJmb250LXdlaWdodDpub3JtYWw7Ij4mbmJzcDsgJm5ic3A7ICZuYnNwOyBUaGlzIGlzIHRoZSBtb3N0IGluZm9ybWF0aXZlIFdheCBCbG9ja2NoYWluIEF0b21pY0Fzc2V0IE5GVCBndWlkZS4gWW91IGNhbiBnbyBmcm9tIG5ldmVyIG1pbnRlZCB0byBtaW50aW5nIHNlbWktcHJvIHdpdGggdGhpcyAxIHNpbmdsZSBpbnRlcmFjdGl2ZSBhcnRpY2xlLiBFYWNoIHNlY3Rpb27igJlzIGRpZmZpY3VsdHkgaXMgY2xlYXJseSBtYXJrZWQgYmVmb3JlIGl04oCZcyByZWFkYWJsZS4gSWYgeW91IGFyZSB1bnN1cmUgeW91ciBsZXZlbCBvZiBtaW50aW5nIGFiaWxpdGllcyBqdXN0IGdvIGluIG9yZGVyIGFuZCBzZWUgd2hhdCB5b3UgbWF5IGxlYXJuLCB0aXBzIGFuZCB0cmlja3MgYXJlIHNjYXR0ZXJlZCB0aHJvdWdob3V0IHRoZSBndWlkZS4gRG9u4oCZdCB3b3JyeSwgYWxsIHRoZSB0ZWNobmljYWxzIGluIHRoaXMgc2VjdGlvbiBhcmUgYnJva2VuIHVwIGludG8gc21hbGwgZnJhZ21lbnRzIHRvIG1ha2UgaXQgZWFzaWVyIHRvIGdyYXNwLiAgWW91IHdpbGwgYmUgYWJsZSB0byBtaW50IHlvdXIgb3duIE5GVHMgYXMgd2VsbCBhcyBiZSBhYmxlIHRvIGRvIHNvbWUgcHJldHR5IGZ1biBzdHVmZiBpbmNsdWRpbmcgbWludGluZyBvbiBkZW1hbmQgYW5kIE5GVCBibGVuZGluZy4gTGV04oCZcyBwdXQgeW91ciB3b3JyeSB0byBlYXNlIGFuZCBnaXZlIHlvdSB0aGUgM0QgZXhwZXJpZW5jZSB3aXRoIEF0b21pY0Fzc2V0IE5GVHMhPGJyPiZuYnNwOyAmbmJzcDsgJm5ic3A7IFRvIHB1dCB3aGF0IGFuIE5GVCBpcyBpbnRvIGEgYml0IG1vcmUgdW5kZXJzdGFuZGFibGUgZm9ybWF0LCBORlRzIGFyZSBzdHJpbmdzIG9mIGNoYXJhY3RlcnMgdG8gcmVwcmVzZW50LCBkZWxpdmVyIG9yIGNvbnRhaW4gZGF0YSBmb3IgdGhlIHVzZXIuIFRoYXTigJlzIHdoYXQgYW4gTkZUIGlzIGJ1dCB3aGF0IGFuIE5GVCBkb2VzIGlzIHdoYXQgbW9zdCBwZW9wbGUgYXJlIGZhbWlsaWFyIHdpdGguPGJyPgo8aDEgYWxpZ249ImNlbnRlciIgc3R5bGU9IuKAmXRleHQtc2hhZG93OjJweCIgMnB4PSIiIDRweD0iIiBkaW1ncmV5O+KAmT0iIj48Yj5ORlRzIGFyZSBzdHJpbmdzIG9mIGNoYXJhY3RlcnMgdGhhdCBlaXRoZXIgcmVwcmVzZW50LCBkZWxpdmVyIG9yIGNvbnRhaW4gZGF0YSBmb3IgdGhlIHVzZXIuPC9iPjxicj48L2gxPjxoMyBhbGlnbj0iY2VudGVyIj48aT48Yj4zREM0PC9iPjwvaT48Yj4gaXMgYSBzdHJpbmcgb2YgY2hhcmFjdGVycywgPGk+M0RDNDwvaT4gaXMgbGlrZSBhbiA8aT5ORlQ8L2k+PC9iPjwvaDM+PGJyPgombmJzcDsgJm5ic3A7ICZuYnNwOyA8aT4zREM0PC9pPiBkb2VzbuKAmXQgc2VlbSB0byBjb250YWluIGRhdGEgYnV0IGl0IGRvZXMsIGZvciBleGFtcGxlLCBteSBuaWNrbmFtZSA8cT48Yj4zRDwvYj48L3E+IGlzIHByZXNlbnQgYXMgd2VsbCBhcyA8cT48Yj5DNDwvYj48L3E+IHdoaWNoIGlzIHRoZSByZXByZXNlbnRhdGlvbiBvZiA8aT4zRDwvaT4gYmVjYXVzZSBEIGlzIHRoZSA0dGggY2hhcmFjdGVyIGluIHRoZSBhbWVyaWNhbiBhbHBoYWJldCB3aGlsZSBDIGlzIHRoZSAzcmQgYnV0IHRoYXQgbWVhbnMgM0QgaXMgZXF1YWwgdG8gQzQuIERvbuKAmXQgZm9yZ2V0IDxpPkM0PC9pPiBpcyB0aGUgbmFtZSBvZiBhIHR5cGUgb2YgZXhwbG9zaXZlLiBJbiB0dXJuLCA8aT4zREM0PC9pPiBkZWxpdmVycyB0aGUgbmFtZXMsIDNE4oCdIGFuZCDigJxDNOKAnSwgd2hpbGUgcmVwcmVzZW50aW5nIGVhY2ggb3RoZXIgaW4gcGVyZmVjdCBvcHBvc2l0ZSBhbHBoYW51bWVyaWMgdW5pc2Vuc2UuIEFsdGhvdWdoIHlvdSBtYXkgbm90IHBheSBhIGZldyB0aG91c2FuZCBVUyBmb3IgdGhlIHN0cmluZywgM0RDNCwgdGhlcmUgYXJlIHN0cmluZ3Mgb2YgY2hhcmFjdGVycyB0aGF0IHBlb3BsZSBoYXZlIHBhaWQgaW50byB0aGUgbWlsbGlvbnMgb2YgZG9sbGFycyBmb3IgYmVjYXVzZSB0aGUgaW1hZ2UgdGhhdCBpcyBkZWxpdmVyZWQgYnkgdGhpcyBzdHJpbmcgb2YgY2hhcmFjdGVycyB3YXMgbWFkZSBieSBhIHZlcnkgZmFtb3VzIGFydGlzdC4gVGhlIGJlc3Qgc2VsbGluZyBORlQgd2FzIGJ5IHRoZSBpbnRlcm5ldCBmYW1vdXMgYXJ0aXN0LCA8aT5CZWVwbGU8L2k+IGZvciBvdmVyIDYwIG1pbGxpb24gZG9sbGFycy48YnI+Jm5ic3A7ICZuYnNwOyAmbmJzcDsgVGhlIHN0cmluZyBmb3IgdGhpcyBiZWVwbGUgY3JlYXRlZCBORlQgZGVsaXZlcnMgZGF0YSBmcm9tIGEgc2VydmVyLCBtb3N0IGxpa2VseSBJUEZTICg8aT48Yj5JPC9iPm50ZXI8Yj5QPC9iPmxhbnRlcnkgPGI+RjwvYj5pbGUgPGI+UzwvYj55c3RlbTwvaT4pLCB3aGVyZSB0aGUgaW1hZ2UgaXMgaG9zdGVkLiBWZXJ5IGZldyBORlQgaW1hZ2VzLCB2aWRlb3MsIGdpZnMgYXJlIGhvc3RlZCBieSB0aGUgYmxvY2tjaGFpbiB0aGV5IHJlc2lkZSBpbi4gVGhlIHN0cmluZyB0aGF0IHJlcHJlc2VudHMgdGhlIE5GVCBvbiB0aGUgYmxvY2tjaGFpbiBpcyBvbiB0aGUgYmxvY2tjaGFpbiBhbmQgdGhlIGNvbnRyYWN0IHRoYXQgdGhlIE5GVCBpcyB1dGlsaXppbmcgdG8gZXhpc3Qgb3IgdG8gaW50ZXJhY3Qgd2l0aCBtb3N0IGxpa2VseSBpcyBvbiB0aGUgYmxvY2tjaGFpbiBidXQgaW50ZXJhY3RpbmcgY29udHJhY3RzIGFyZSBub3QgYWx3YXlzIG9uIGNoYWluLiBXaGF0IHRoaXMgbWVhbnMgaXMgdGhlIGRhdGEgaXNu4oCZdCBob3N0ZWQgb24tY2hhaW4gc28gaG9zdGluZyBpcyBzdGlsbCBuZWVkaW5nIHRvIGJlIGRvbmUgYnkgdGhlIE5GVCBjcmVhdG9yLiBCYXNlZCBvbiBob3cgdGhlIE5GVCBjcmVhdGlvbiBwbGF0Zm9ybSB3b3JrcyB3aXRoIGl04oCZcyB1c2VycywgeW91IG5lZWQgdG8gZGV0ZXJtaW5lIHlvdXIgaG9zdGluZyBuZWVkcy4gQmVjYXVzZSB0aGlzIGlzIGFuIEF0b21pY0Fzc2V0cyBndWlkZSwgd2Ugd2lsbCBiZSBzdG9yaW5nIG91ciBkYXRhIHdpdGggPGI+SVBGUzwvYj4gYW5kIHRoZSBtb3N0IGNvbW1vbiBwbGFjZSB3aXRoIHRoZSBwZXJmZWN0IHNldHVwIGZvciA8aT5BdG9taWNBc3NldHM8L2k+IGlzIDxhIGhyZWY9Imh0dHBzOi8vcGluYXRhLmNsb3VkIiBzdHlsZT0idGV4dC1kZWNvcmF0aW9uOm5vbmU7IiB0YXJnZXQ9IuKAmV9ibGFua+KAmSIgcmVsPSLigJlub3JlZmVycmVyIiBub29wZW5lcuKAmT0iIj48Yj5QaW5hdGEgQ2xvdWQ8c3VwPio8L3N1cD48L2I+PC9hPi4gVGhlcmXigJlzIHRvbnMgb2Ygd2F5cyB0byBzdG9yZSB5b3VyIGRhdGEgdG8gSVBGUyBhbmQgUGluYXRhIENsb3VkIGhhcyBhIHNldHVwIHRoYXQgd29ya3MgcGVyZmVjdGx5IHdpdGggdGhlICBBdG9taWNBc3NldCBORlRzIHlvdSB3aWxsIGJlIGJ1aWxkaW5nIHdpdGggdGhpcyBndWlkZS4KPGhyPgo8ZGl2IGFsaWduPSJjZW50ZXIiIHN0eWxlPSJhbGlnbjpjZW50ZXI7Ij4KPGJ1dHRvbiBpZD0ic3RlcDAiIG9uY2xpY2s9ImRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCZxdW90OzBzdGVwJnF1b3Q7KS5zdHlsZT0mcXVvdDtkaXNwbGF5OmJsb2NrJnF1b3Q7O3RoaXMuc3R5bGU9JnF1b3Q7ZGlzcGxheTpub25lJnF1b3Q7OyIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6bGlnaHRncmVlbjtjb2xvcjpibGFjaztib3JkZXI6MnB4IHNvbGlkIGdyZWVuOyIgdmFsdWU9Ik5ldmVyJm5ic3A7TWludGVkIj5OZXZlciZuYnNwO01pbnRlZDwvYnV0dG9uPgoKPGRpdiBpZD0iMHN0ZXAiIHN0eWxlPSJkaXNwbGF5Om5vbmU7Ij4KJm5ic3A7ICZuYnNwOyAmbmJzcDsgQXRvbWljQXNzZXQgTkZUIEJhc2ljcyB3aWxsIGdldCB5b3Ugc3RhcnRlZCBvbiB0aGUgcHJvY2VzcyBmb3IgbWludGluZyBhcyB3ZWxsIHNvbWUgaGVscCBpbiBmaW5kaW5nIGhvc3RpbmcgbG9jYXRpb25zIGJ1dCBtb3N0IGltcG9ydGFudGx5IGlmIHlvdSBmb2xsb3cgdGhlIHN0ZXBzIHlvdSBjYW4gbWludCB5b3VyIGZpcnN0IE5GVCBlZmZlY3RpdmVseS4gIEF0b21pY0Fzc2V0IE5GVHMgYXJlIG1pbnRlZCB3aXRoIHRlbXBsYXRlcyBmcm9tIHNjaGVtYXMgaW5zaWRlIGEgY29sbGVjdGlvbiBidXQgYmVmb3JlIHdlIGNhbiBzZXQgYW55IG9mIHRoYXQgdXAgd2UgbmVlZCBhIHdhbGxldCBhZGRyZXNzLCBzbyBsZXTigJlzIGdldCBhIHdhbGxldCBhZGRyZXNzLjxicj4mbmJzcDsgJm5ic3A7ICZuYnNwOyBXaXRoIGNyeXB0b2N1cnJlbmNpZXMgYW5kIHNvbWUgZGlnaXRhbCBjdXJyZW5jaWVzIHlvdSBuZWVkIGEgd2F5IHRvIGhvbGQgeW91ciBwcml2YXRlIGtleXMgYXMgd2VsbCBhcyBpbnRlcmFjdCB3aXRoIHRoZSBibG9ja2NoYWluIGluIHNvbWUgd2F5LiBOb3ctYS1kYXlzIGEgd2FsbGV0IHdpbGwgZ2l2ZSB5b3UgdGhlIGJhc2ljIHdheXMgdG8gZG8gdGhpcyBvciBhdCB0aGUgbGVhc3QgaG9sZCB5b3VyIGZ1bmRzIGZvciB5b3UuIFRoZSBvZmZsaW5lIHdhbGxldHMgYXJlIG1vcmUgc2VjdXJlIGFuZCBvbmxpbmUsIGFrYSA8aT5Ib3QgV2FsbGV0czwvaT4sIGFyZSBsZXNzIHNlY3VyZSBidXQgdGVuZCB0byBoYXZlIHRoZWlyIG93biBwZXJrcy4gIFlvdSBjYW4gYWx3YXlzIGNoYW5nZSB3YWxsZXRzIGFuZCBhZGRyZXNz4oCZIGxhdGVyIGJ1dCBpZiB5b3Ugd2FudCBhIHF1aWNrIGZyZWUgbm8tYXBwIHdhbGxldCB0byBnZXQgc3RhcnRlZCBqdXN0IGNsaWNrIDxhIGhyZWY9Imh0dHBzOi8vYWxsLWFjY2Vzcy53YXguaW8vIiB0YXJnZXQ9IuKAmV9ibGFua+KAmSIgc3R5bGU9InRleHQtZGVjb3JhdGlvbjpub25lOyI+aGVyZSB0byB2aXNpdCwgV2F4IENsb3VkIFdhbGxldDxzdXA+Kjwvc3VwPjwvYT4uIFlvdSBjYW4gYWxzbyB1c2UgdGhlIHJlc291cmNlcyBhdCA8YSBocmVmPSJodHRwczovL3dheC5pby8iIHRhcmdldD0i4oCZX2JsYW5r4oCZIiBzdHlsZT0idGV4dC1kZWNvcmF0aW9uOm5vbmU7IiByZWw9IuKAmW5vcmVmZXJyZXIiIG5vb3BlbmVy4oCZPSIiPldheC5pbzxzdXA+Kjwvc3VwPjwvYT4sIGV2ZXJ5b25lIGVsc2UgaGF2ZSBmdW4gZ2V0dGluZyB5b3VyIGZhdm9yaXRlIHdhbGxldCByZWFkeSBmb3IgdGhlIG5leHQgc3RlcHMuIEp1c3QgcmVtZW1iZXIgMkZBIGlzIGdyZWF0IGZvciB0aGUgV2F4IENsb3VkIFdhbGxldCBiZWNhdXNlIGl0IGlzIGEgaG90IHdhbGxldCBhbmQgMkZBIHdpbGwgaW5jcmVhc2UgeW91ciBzZWN1cml0eSB3aGVuIHVzZWQgd2VsbC4KPG9sPkFkZGluZyBBdHRyaWJ1dGVzOiA8aT5CYXNpY2FsbHkgd2UgYXJlIGFkZGluZyBhdHRyaWJ1dGVzIHRvIHRoZSBORlQgdG8gZGlzcGxheSB3aXRoLiBTbyB0aGUgbGVmdCBzaWRlIG9mIGV2ZXJ5IGF0dHJpYnV0ZSBuZWVkcyB0byBiZSBsb3dlcmVkIGNhc2UsIG5vIGNhcHMuIFRoZSByaWdodCBzaWRlIHdpbGwgZGV0ZXJtaW5lIHdoYXQgdHlwZSBvZiBkYXRhIGNhbiBhcHBlYXIgdGhlcmUgbGlrZTogPGI+aW1hZ2VzLCBJUEZIIGhhc2gsIGJvb2xlYW4gKDEgb3IgMCkgb3IgbnVtYmVyczwvYj4uPC9pPjwvb2w+CjxvbD5BZGRpbmcgSW1hZ2VzOiA8aT5BZGRpbmcgaW1hZ2VzIHlvdSB3aWxsIHVzZSBhbiBhdHRyaWJ1dGUgd2l0aCDigJxpbWFnZeKAnSBmb3IgdGhlIHJpZ2h0IHNpZGUgc2VsZWN0aW9uIGJ1dCB5b3XigJlsbCBvbmx5IGRyb3AgeW91ciBQaW5hdGEgQ2xvdWQgb3IgSVBGUyBIYXNoIHRoZXJlLiBUaGUgd2Vic2l0ZSB3aWxsIGdhdGhlciB0aGUgaW1hZ2UgZnJvbSB0aGUgSVBGUyBoYXNoIHNvIHdoYXQgaW1hZ2UgaXMgc2V0IHRvIHRoYXQgaGFzaCBpcyB3aGF0IHdpbGwgc2hvdyB1cC48L2k+PC9vbD4KPG9sPkFkZGluZyBWaWRlb3M6IDxpPkFkZGluZyB2aWRlb3MgeW91IHdpbGwgdXNlIGFuIGF0dHJpYnV0ZSB3aXRoIOKAnElQRlMgSGFzaOKAnSBmb3IgdGhlIHJpZ2h0IHNpZGUgc2VsZWN0aW9uIGFuZCBmb3IgdGhlIGxlZnQgc2lkZSBzZWxlY3Rpb24geW914oCZbGwgbmVlZCDigJx2aWTigJ0gb3Ig4oCcdmlkZW/igJ0uIFlvdSBjYW4gYWRkIG51bWJlcnMgaWYgeW91IGhhdmUgbXVsdGlwbGUgdmlkZW9zLiBOb3QgYWxsIHdvcmRzIGxpa2Ug4oCcZmlsbeKAnSB3aWxsIHdvcmsgZm9yIHRoZSB2aWRlbyB0byBvdXRwdXQuIExpa2UgdGhlIGltYWdlcywgeW914oCZbGwgb25seSBkcm9wIHRoZSBJUEZTIGhhc2ggb2YgeW91ciB2aWRlbyBpbiB0aGUgcmlnaHQgc2lkZSBzZWxlY3Rpb24gZHVyaW5nIHRoZSB0ZW1wbGF0ZSBjcmVhdGlvbiBwcm9jZXNzLjwvaT48L29sPgogPG9sPkFkZGluZyBBdWRpby9NdXNpYzogPGk+QWRkaW5nIGF1ZGlvIHlvdSB3aWxsIHVzZSBhbiBhdHRyaWJ1dGUgd2l0aCDigJxJUEZTIEhhc2jigJ0gZm9yIHRoZSByaWdodCBzaWRlIHNlbGVjdGlvbiBhbmQgZm9yIHRoZSBsZWZ0IHNpZGUgc2VsZWN0aW9uIHlvdeKAmWxsIG5lZWQg4oCcdmlk4oCdIG9yIOKAnHZpZGVv4oCdLiBZb3UgY2FuIGFkZCBudW1iZXJzIGlmIHlvdSBoYXZlIG11bHRpcGxlIGF1ZGlvIHRyYWNrcyBpbiB0aGUgc2FtZSBORlQuIE5vdCBhbGwgd29yZHMgbGlrZSDigJxzb25n4oCdLCAiYXVkaW8iLCAic291bmQiIHdpbGwgd29yayBmb3IgdGhlIGF1ZGlvIHRvIG91dHB1dC4gTGlrZSB0aGUgdmlkZW9zLCB5b3XigJlsbCBvbmx5IGRyb3AgdGhlIElQRlMgaGFzaCBvZiB5b3VyIGF1ZGlvIGluIHRoZSByaWdodCBzaWRlIHNlbGVjdGlvbiBkdXJpbmcgdGhlIHRlbXBsYXRlIGNyZWF0aW9uIHByb2Nlc3MuIEVzc2VudGlhbGx5LCBhdWRpbyBpcyBsb29rZWQgYXQgYXMgYSB2aWRlbyBqdXN0IHdpdGhvdXQgYSBwaWN0dXJlIHRvIHNob3cuPC9pPjwvb2w+CjxvbD5BZGRpbmcgQm9va3MvRS1Cb29rczogPGk+QWRkaW5nIEJvb2tzIGxpa2UgZS1ib29rcyB5b3Ugd2lsbCB1c2UgYW4gYXR0cmlidXRlIHdpdGgg4oCcaW1hZ2XigJ0gZm9yIHRoZSByaWdodCBzaWRlIHNlbGVjdGlvbi4gRm9yIHRoZSBsZWZ0IHNpZGUgc2VsZWN0aW9uIHdvcmRzIGxpa2UsIOKAnHBhZ2XigJ0gYW5kIOKAnHBn4oCdIHdvcmsgYmVzdCBhbmQgb2YgY291cnNlIHlvdSBjYW4gYWRkIG51bWJlcnMgYXQgdGhlIGVuZCBvZiB0aGUgd29yZHMuIElmIGFkZGluZyBhbiBhdWRpbyBmaWxlIG9mIHRoZSBib29rIGJlaW5nIHJlYWQsIHRyZWF0IHRoZSBhdWRpbyBhcyBhIHZpZGVvLiBJZiBhZGRpbmcgYSBQREYgdG8gSVBGUywgdXNlIOKAnHBkZuKAnSBpbnN0ZWFkIG9mIOKAnFBERuKAnSBiZWNhdXNlIG5vLWNhcHMgaW4gdGhlIGxlZnQgc2lkZSBzZWxlY3Rpb24gaW4gdGhlIHNjaGVtYXMuIE1hbnkgcGVvcGxlIGFkZCB0aGUgUERGIGFzIGEgbGluayB2aWEgYSBRUiB3aXRoIOKAnHBpY+KAnSBhcyB0aGUgbGVmdCBzaWRlIHNlbGVjdGlvbi4gVGhlIHVzZXIgc2NhbnMgdGhlIFFSIHRvIGFjY2VzcyB0aGUgYm9vay4gVXNlIGEgbG9ja2VkIGxpbmsgbGlrZSA8YSBocmVmPSJodHRwczovL2pzdHJpZWIuZ2l0aHViLmlvL2xpbmstbG9jay9jcmVhdGUiIHRhcmdldD0i4oCZX2JsYW5r4oCZIiByZWw9IuKAmW5vcmVmZXJyZXIiIG5vb3BlbmVy4oCZPSIiIHN0eWxlPSJ0ZXh0LWRlY29yYXRpb246bm9uZTsiPkpzdHJpZWLigJlzLCA8c3VwPiogQ2xpY2sgSGVyZSB0byBWaXNpdCBKc3RyaWVi4oCZcyBMaW5rLUxvY2sgKjwvc3VwPjwvYT4gd2l0aCBpbmZvIGZyb20gdGhlIE5GVCBhcyBhIGxvY2sgcGFzc3dvcmQsIGluY2x1ZGluZyBhZGRpbmcgYSDigJxwc3PigJ0gZm9yIHBhc3N3b3JkIGF0dHJpYnV0ZSB3aXRoIOKAnHRleHTigJ0gYXMgdGhlIHJpZ2h0IGhhbmQgc2VsZWN0b3IuPC9pPjwvb2w+PGJyPiZuYnNwOyAmbmJzcDsgJm5ic3A7IEF0IHRoZSBlbmQgb2YgdGhlIGRheSB5b3VyIGRhdGEgaGFzIHRvIGZpdCBvbmUgb2YgYSBmZXcgY2F0ZWdvcmllczogPGk+PGI+aW1hZ2U8L2I+IChpbmNsdWRlcyBnaWZzKSwgPGI+SVBGUyBIYXNoPC9iPiAobXVsdGkgZm9ybWF0KSwgPGI+VGV4dDwvYj4gKGluY2x1ZGluZyBsaW5rcyksIDxiPkJvb2xlYW48L2I+ICgxIGZvciBZZXMsIDAgZm9yIEZhbHNlKSwgPGI+SW50YWdlcnM8L2I+IChudW1iZXJzKSwgPGI+RmxvYXRpbmcgUG9pbnQgTnVtYmVyPC9iPiAobnVtYmVycyB3aXRoIGRlY2ltYWxzKTwvaT4uICBXaGF0IHlvdSBkbyB3aXRoIHRoZXNlIG9wdGlvbnMgYXJlIHlvdXIgb3duIGJ1dCBoZXJlJ3Mgc29tZSBxdWljayB0aXBzIHRvIGhlbHAgYm9vc3QgaWRlYXMuICBCb29sZWFuIGFuZCBmbG9hdGluZyBwb2ludCBudW1iZXJzIGFyZSBncmVhdCBmb3IgY29udHJhY3RzIHdoaWxlIGV2ZXJ5dGhpbmcgZWxzZSBpcyBncmVhdCBmb3IgdXNlcnMgYW5kIGNyZWF0b3JzLiBEb27igJl0IGxldCBhbGwgdGhlIG9wdGlvbnMgc2NhcmUgeW91LiBJZiB5b3Ugb25seSB1c2UgSVBGUyBIYXNoLCBJbWFnZSBhbmQgVGV4dCB0aGVuIHlvdeKAmXJlIGFtb25nIHRoZSBncmVhdHMgYmVjYXVzZSBtb3N0IE5GVHMgb25seSB1c2UgYSBjb21iaW5hdGlvbiBvZiB0aG9zZSB0aHJlZSBvcHRpb25zLiBPbmNlIHlvdeKAmXZlIGxhaWQgb3V0IHdoYXQgZGF0YSB3aWxsIGJlIGFkZGVkIGludG8gdGhlIG1ldGFkYXRhIG9mIHlvdXIgTkZUcyBmb3IgdGhpcyBzY2hlbWEsIGdpdmUgaXQgYSBuYW1lIHdoaWNoIGlzIG1vcmUgbGlrZSBhIGdlbnJlLiBGb3IgbWFueSBwZW9wbGUgaGVhcmluZyB0aGlzIG1ha2VzIG1vcmUgc2Vuc2UgdGhhbiB0aGUgY29sbGVjdGlvbiBncm91cCwgd2hpY2ggaXQgaXMgYXMgd2VsbC4gV2hlbiBwZW9wbGUgbG9vayBmb3IgeW91ciBORlRzLCB0aGV5IHdpbGwgZ28gZnJvbSBhbGwgTkZUcyB0byB5b3VyIDxpPkNvbGxlY3Rpb24ocyk8L2k+IHRoZW4gdG8geW91ciA8aT5TY2hlbWEocyk8L2k+IG9uY2UgaW4geW91ciBjb2xsZWN0aW9ucy4gU28geW91ciBzY2hlbWEgbmFtZSBzaG91bGQgYm90aCBiZSB3aXRoaW4gdGhlIGxpbmVzIG9mIHlvdXIgY29sbGVjdGlvbiB0aGVtZSBidXQgYXMgd2VsbCBhcyB5b3VyIE5GVOKAmXMgdGhlbWUocykuIElmIHlvdSB3ZXJlIG1pbnRpbmcgbXVzaWMsIHlvdSB3b3VsZCBjYWxsIHNjaGVtYXMgYnkgeW91ciB2YXJpb3VzIGdlbnJlcyBvciBpZiB5b3UgcGVyZm9ybSBsaXZlIGFuZCBub3QtbGl2ZSBtYXliZSBsaXZlIGV2ZW50IE5GVHMgYmUgb25lIHNjaGVtYSBsaWtlLCDigJxsaXZlc25hcHMnJyBhbmQgYW5vdGhlciBzY2hlbWEgbGlrZSwg4oCcc25hcHPigJ0gc28gd2l0aG91dCB0ZWxsaW5nIHlvdXIgY29tbXVuaXR5LCDigJxoZXkgdGhlc2UgYXJlIGZyb20gbGl2ZSBldmVudHMgYW5kIHRoZXNlIGFyZSBub3Qu4oCdIEZpbmFsbHksIGp1c3Qgc2F2ZSB3aGVuIHlvdSBhcmUgcmVhZHkhCjxicj4mbmJzcDsgJm5ic3A7ICZuYnNwOyBXaGV3LCBjcmVhdGVkIGEgY29sbGVjdGlvbiBhbmQgYSBzY2hlbWEsIG5vdyBpdOKAmXMgdGltZSB0byBzZXQgdXAgc29tZSBORlQgdGVtcGxhdGVzISBORlQgdGVtcGxhdGVzIGFsbG93IHRoZSBibG9ja2NoYWluIGludGVyYWN0b3JzIHRvIGZpZ3VyZSBvdXQgZGF0YSBsaWtlLCB3aGljaCBORlQgaXMgd2hpY2ggbWludCBudW1iZXIgYW5kIG90aGVyIGFjdGlvbnMgcGVvcGxlIHRoaW5rIGFyZSBhdXRvbWF0aWMuIE9uIEV0aGVyZXVtIChhIGxlYWRpbmcgTkZUIGhvc3RpbmcgYmxvY2tjaGFpbiksIHRoZXJl4oCZcyBubyBtaW50IG51bWJlcnMgYW5kIHRoYXTigJlzIHJlbGllZCBhbG1vc3QgY29tcGxldGVseSBvbiB0aGUgYXJ0aXN0cy4gVGhlcmUgYXJlIGNhc2VzIHdoZXJlIGV2ZW4ga25vd2luZyB0aGF0IGRhdGEgYW5kIGRlbGl2ZXJpbmcgdGhhdCBkYXRhIGlzIG5lYXJseSBpbXBvc3NpYmxlIHRvIGRvIHNvLCB0aGVzZSB0ZW1wbGF0ZXMgaGVscCBtYWtlIGxpdHRsZSBhY3Rpb25zIHBvc3NpYmxlLiBBbm90aGVyIGdyZWF0IHRoaW5nIGFib3V0IHRlbXBsYXRlcyBpcywgeW91IGNhbiBzZXQgdXAgYW4gTkZUIHRoZW4gbWludCBpdCBsYXRlciBpbmNsdWRpbmcgcGVyZm9ybWluZyB0YXNrcyBsaWtlLCDigJxtaW50aW5nIG9uIGRlbWFuZOKAnSBhbmQg4oCccGFjayBtaW50aW5n4oCdICh0aGF04oCZcyB3aGVuIHRoZXkgY29tZSBpbiBwYWNrcyBhbmQgYnkgb3BlbmluZyB0aGUgcGFjaywgdGhlIHBhY2sgb3BlbmluZyBtaW50cyB0aGUgTkZUcyBuZWVkZWQgb24gZGVtYW5kIGFuZCBsb3dlciBtaW50aW5nIGNvc3RzIGZvciBiaWdnZXIgcHJvamVjdHMpLiBBbG1vc3QgYWxsIG9uLWRlbWFuZCBtaW50aW5nIGxvd2VycyB0aGUgb3ZlcmFsbCBtaW50aW5nIGNvc3QgYnV0IHRoZXNlIGFyZSBtb3JlIGFkdmFuY2VkIE5GVCBpbnRlcmFjdGlvbnMuIFdlIHdpbGwgc3RpY2sgdG8gdGhlIGJhc2ljcywgdGVtcGxhdGUsIG1pbnQsIHNlbGwvZ2l2ZS90cmFkZS48YnI+ICZuYnNwOyAmbmJzcDsgJm5ic3A7IFNvIHdoZW4gYnVpbGRpbmcgYSBuZXcgdGVtcGxhdGUgeW914oCZbGwgbm90aWNlIHlvdSBjYW4gb25seSBpbnB1dCBkYXRhIGJhc2VkIG9uIHdoYXTigJlzIGluIHRoZSBzY2hlbWEgYXQgdGhpcyBwb2ludCBpbiB0aW1lLiBJZiB5b3UgZG9u4oCZdCBpbnB1dCBkYXRhIGNvcnJlY3RseSwgaXQgd2lsbCBlaXRoZXIgbm90IGxldCB5b3Ugc2F2ZSBvciBpdCB3aWxsIGp1c3Qgbm90IGRpc3BsYXkuIE5vdyBpZiB5b3UgaGF2ZSBhIHR5cG8gb3IgbWlzcy1zcGVsbGluZywgdGhlIHN5c3RlbSB3aWxsIG5ldmVyIHRlbGwgeW91IGFib3V0IHRoZXNlIGFuZCB0aGV5IHdpbGwgbm90IHN0b3AgdGhlIHN5c3RlbSBzbyB5b3VyIHR5cG9zIHdpbGwgZ2V0IG1pbnRlZC4gQmUgY2FyZWZ1bCBiZWNhdXNlIGp1c3QgbGlrZSBzY2hlbWFzLCB0ZW1wbGF0ZXMgYXJlIGZvcmV2ZXIuIE5vIGRlbGV0aW5nLiBZb3UgY2FuIGhvd2V2ZXIsIG1pbnQgb3V0IHRoZSBxdWFudGl0eSBvZiBORlRzIGZvciB0aGF0IHRlbXBsYXRlIHRoZW4gYnVybiB0aGUgTkZUcy4gS2lsbGluZyB0aGUgdGVtcGxhdGUgKGVzc2VudGlhbGx5KS4gRmlsbCBvdXQgeW91ciBkYXRhIGFuZCBpZiB5b3Ugd2FudCB0aGlzIHRlbXBsYXRlIHRvIGhhdmUgYSBsaW1pdGF0aW9uIHRvIGhvdyBtYW55IGNhbiBleGlzdCwgaW5wdXQgdGhlIG1heC1udW1iZXIgaW4gdGhlIHRvcC4gSWYgeW91IHdhbnQgYW4gdW5saW1pdGVkIG1pbnQgcG9zc2libGUgb3IgeW91IGRvbuKAmXQga25vdyBob3cgbWFueSB5b3UgbmVlZCwganVzdCBkb27igJl0IGlucHV0IGEgbWF4IHN1cHBseSBudW1iZXIuIFNhdmUgYW5kIHNpZ24gdGhlIHRyYW5zYWN0aW9uIGp1c3QgbGlrZSB3aXRoIHRoZSBjb2xsZWN0aW9uIGFuZCBzY2hlbWEuICBZb3UgaGF2ZW7igJl0IG1pbnRlZCBhbiBORlQgeWV0IGJ1dCB5b3UgYXJlIDEgc3RlcCBhd2F5IGZyb20gaGF2aW5nIHNvbWUgdG8gcHV0IHVwIGZvciBzYWxlIG9yIHdoYXQgeW91IHdpc2ggdG8gZG8gd2l0aCB0aGVtLiBIZWFkIG92ZXIgdG8geW91ciBzY2hlbWEsIG9mdGVudGltZXMgaXTigJlzIGVhc2llciB0byBqdXN0IHRvIGhhdmUgdGhlIHNjaGVtYSBwYWdlIGFscmVhZHkgdXAgaW4gYW5vdGhlciB0YWIvdGFiLWdyb3VwIGFuZCByZWZyZXNoIHRoZW4gaXQgaXMgdG8gZ28gYmFja3dhcmRzICZhbXA7IHJlZnJlc2ggdGhlIHNjaGVtYSBwYWdlLjxicj4gJm5ic3A7ICZuYnNwOyAmbmJzcDsgT25jZSBiYWNrIGludG8gdGhlIHNjaGVtYSB5b3UgY2FuIOKAnE1pbnQgbmV3IEFzc2V04oCdIHRvIGNyZWF0ZSB5b3VyIE5GVChzKS4gSG9wIGluIGFuZCBjbGljayBvbiB3aGF0IHRlbXBsYXRlIHlvdSB3YW50IHRvIHVzZSwgSSBhbHdheXMgc2F5IHNldCB0aGUgdGVtcGxhdGUgZmlyc3QgYmVjYXVzZSBpdOKAmXMgc28gZWFzeSB0byBqdXN0IGZvcmdldCB0byB1c2UgdGhlIHRlbXBsYXRlIGFuZCBub3QgZ2V0IHRoZSBtaW50IG51bWJlcnMgd2l0aCB5b3VyIE5GVC4gTmV4dCBhZGQgdGhlIHdhbGxldCB5b3Ugd2FudCB0byBtaW50IHRvIHVuZGVyICJhc3NldCBvd25lciIsIG1vc3QgdGltZXMgeW91IHdpbGwgd2FudCB0byB1c2UgeW91ciB3YWxsZXQgYWRkcmVzcy4gSWYgeW91IGp1c3QgY2xpY2sgdG8gbWludCwgeW91ciBhZGRyZXNzIHNob3VsZCBiZSB0aGUgYXV0by1zZWxlY3RlZCBhY2NvdW50IGluIHRoZSBhc3NldCBvd25lciBzbG90IGJ1dCBhbHdheXMgZG91YmxlIGNoZWNrLiBBZGQgaG93IG1hbnkgb2YgdGhlc2UgeW91IHdhbnQgdG8gbWludCB0byB0aGF0IHdhbGxldC4gVGhpcyB3aWxsIG1pbnQgdGhlIE5GVHMgdXAgdG8gdGhlIG51bWJlciBvZiBORlRzIHlvdXIgdGVtcGxhdGUgd2lsbCBhbGxvdy4gVGhlcmUgaXMgYSBzb2Z0LWNhcCBvZiAxMDAgTkZUcyB0aGF0IGNhbiBiZSBtaW50ZWQgYXQgYSB0aW1lIGJ1dCB5b3UgY2FuIHJlcGVhdCBhcyBuZWVkZWQuIE5vdyBpZiB5b3UgcGxhbiBvbiByZWxlYXNpbmcgYSBidW5jaCBvZiBORlRzIGZvciBhIHRlbXBsYXRlLCB5b3UgbWF5IHdhbnQgdG8gZG8gYSBEcm9wIHdoaWNoIHdpbGwgbWludCB0aGVzZSBvbiBkZW1hbmQuIFlvdSBjYW4gc3RpbGwgZG8gdGhpcyBwYXJ0IGFuZCBtaW50IHRoZSBmaXJzdCB4LW51bWJlciBvZiBORlRzIHRvIHlvdXJzZWxmIGZvciBhdWN0aW9ucywgZ2l2ZWF3YXlzIGFuZCBhaXJkcm9wcyB0aGVuIGRvIHRoZSBEcm9wIGFmdGVyd2FyZHMuIEl0IGlzIGNvbXBsZW1lbnRhcnkgdG8gbGV0IGJ1eWVycyBkZWNpZGUgd2hvbSBnZXRzIHRoZSBmaXJzdCBtaW50IG51bWJlciAodGhlIGZpcnN0IGJvdWdodCBpbiBhbiBORlQgRHJvcCkuIE9uY2UgeW91IHNpZ24gdGhlIHRyYW5zYWN0aW9uIGFuZCBnZXQgdGhlIGNvbmZpcm1hdGlvbiBoYXNoLCB5b3VyIE5GVHMgc2hvdWxkIGJlIGluIHlvdXIgaW52ZW50b3J5ISBTbywgY2xpY2sgb24gdGhlIHRvcCByaWdodCBjb3JuZXIgYnV0dG9uIHRvIGRyb3Bkb3duIHRoZSBtZW51IGFuZCBjbGljayBvbiB5b3VyIGFjY291bnQgZG93bi1hcnJvdyB0byBmaW5kLCDigJxpbnZlbnRvcnnigJ0gdG8gY2xpY2sgb24gaXQgYW5kIHZpc2l0Ljxicj4mbmJzcDsgJm5ic3A7ICZuYnNwOyBJbiB5b3VyIGludmVudG9yeSB5b3UgY2FuIGZpbmQgdGhlIE5GVHMgeW91IHdhbnQgdG8gc2VsbCBhbmQgd2l0aG91dCBjbGlja2luZyBvbiB0aGUgTkZUIHlvdeKAmWxsIHNlZSBhIGxpdHRsZSBidXR0b24gcGFuZWwgdW5kZXJuZWF0aCBlYWNoIE5GVC4gSW4gdGhhdCBwYW5lbCB5b3Ugc2hvdWxkIHNlZSBhIOKAnExpc3Qgb24gTWFya2V04oCdIGJ1dHRvbiBhbmQgaWYgeW91IGNsaWNrIHRoYXQsIHlvdeKAmWxsIGJlIHByZXNlbnRlZCB3aXRoIGEgbmV3IHNjcmVlbiB3aGVyZSB0aGF0IE5GVCBpcyBwcmVzZWxlY3RlZCBhbmQgeW91IGp1c3QgaW5wdXQgdGhlIHByaWNlIGluIFdBWCB5b3Ugd2FudCBmb3IgdGhlIE5GVC4gQXQgdGhlIGJvdHRvbSB5b3XigJlsbCBzZWUgYSBzZWN0aW9uIHRlbGxpbmcgeW91IHlvdXIgcmV0dXJuIG9uIHRoZSBzYWxlIG9mIHRoYXQgTkZUIG92ZXIgdGhlIEF0b21pY2h1YiBNYXJrZXQuIEltbWVkaWF0ZWx5IGJlbG93IHRoYXQgeW914oCZbGwgc2VlIHRoZSDigJxDb25maXJt4oCdIGJ1dHRvbi4gSWYgeW91ciBORlQgaGFzIHNlY29uZGFyeSBzYWxlcyAoc2FsZXMgYWZ0ZXIgb3JpZ2luYWwgc2FsZSksIHlvdeKAmWxsIHNlZSB0aGF0IGRhdGEgdW5kZXIgdGhlIE5GVCBvbiB0aGlzIHNjcmVlbi4gU29tZXRpbWVzIGEgcHJpY2Ugd2lsbCBiZSBzdWdnZXN0ZWQsIHRyeSBnb2luZyAzNSUgaGlnaGVyIHRoYW4gdGhhdCBwcmljZS48YnI+ICZuYnNwOyAmbmJzcDsgJm5ic3A7IE92ZXJwcmljaW5nIGNhbiBib3RoIGJlIHN0cmF0ZWdpY2FsIGFuZCBhIHBvb3IgZGVjaXNpb24sIHVsdGltYXRlbHkgaXTigJlzIHVwIHRvIHlvdSBvbiB5b3VyIHByaWNlcyBidXQgeW91IGhhdmUgdG8gdGhpbmsgb2YgMyBtYWpvciBmYWN0b3JzIHRvIHNldHRpbmcgaW5pdGlhbCBwcmljaW5nOiA8Yj5EZW1hbmQsIFlvdXIgQXZnIEJ1eWVyIFByaWNlIFJhbmdlLCBSZXNlbGxzPC9iPi4gVGhlIGFtb3VudCBvZiBkZW1hbmQgaW4geW91ciBORlQgc2FsZXMgaXMgdGhlIDFzdCBmYWN0b3IuIElmIHlvdXIgTkZUcyBzaXQgYXJvdW5kLCB0aGV5IG1heSBiZSBvdmVycHJpY2VkLiBJZiB5b3VyIE5GVHMgYXJlIHNlbGxpbmcsIHdoaWNoIGFyZSBzZWxsaW5nIHRoZSBiZXN0PyBXaGljaCBzZXRzIHNlbGwgb3V0IG9yIHdoaWNoIGFyZSB0aGUgZmlyc3QgcGlja2VkIHVwPyBUaGlzIHdpbGwgaGVscCB5b3UgZmluZCB0aGUgcHJpY2UgcmFuZ2UgeW91ciBidXllcnMgYXJlIGJ1eWluZyBhdC4gUHJvZHVjaW5nIGFydCBvciB3b3JrcyBmb3IgeW91ciBORlRzIHRoYXQgYXJlIHdheSBvdmVyIHRoZSBwcmljZSBvZiB3aGF0IHlvdSdyZSB3YW50aW5nIHRvIGdldCwgeW91IGNhbiB0YWtlIGEgc3RyYXRlZ2ljIHJvdXRlIGFuZCBtYWtlIHlvdXIgdmVyeSBmaXJzdCBORlRzIGVpdGhlciB1YmVyIGNoZWFwIGZvciBub3cgYnV5ZXJzIG9yIHJlYWxseSBleHBlbnNpdmUgdG8gbWFrZSB0aGVtIG1vcmUgc291Z2h0IGFmdGVyIHdoZW4gYSBkZW1hbmQgY29tZXMgaW4uIEFmdGVyIHRoYXQgeW91IG5lZWQgeW91ciB3b3JrIHRvIGVpdGhlciB1cGdyYWRlIG9yIHN0YXkgcm91Z2hseSB0aGUgc2FtZS4gUmVzZWxsaW5nIG9mIHlvdXIgTkZUcyBpcyBhIGdvb2QgdGhpbmcgYW5kIG9mdGVudGltZXMgaWYgdGhlIHJpZ2h0IHBlcnNvbiBnZXRzIGEgaG9sZCBvZiB5b3VyIE5GVCB0aGV5IGNhbiBzZWxsIGl0IG9uIHRoZSBzZWNvbmQgbWFya2V0IHdoaWNoIHlvdeKAmWxsIGdldCBhIGN1dCBiYXNlZCBvbiB5b3VyIGNvbGxlY2l0b27igJlzIG1hcmtldCBmZWUgYXQgdGhlIHRpbWUgb2YgY3JlYXRpbmcgdGhlIE5GVC4gUmVzZWxscyBjYW4gYWxzbyBpbmNyZWFzZSB0aGUgdmFsdWUgb2YgeW91ciBjb2xsZWN0aW9uL05GVHMuIFJlc2VsbHMgY2FuIGFsc28gZ2V0IHlvdSBtb3JlIHB1YmxpY2l0eSEgSG9uZXN0bHksIGV2ZXJ5IE5GVCBjcmVhdG9yIHNob3VsZCBob3BlIGZvciBtb3JlIHJlc2VsbHMgdGhlbiBob2RsZXJzLCBpdOKAmXMgYWZ0ZXIgeW91IGdldCBhIGhpZ2ggZGVtYW5kIHdoZXJlIE5GVCBkcm9wcyBzZWxsIG91dCBpbiBtaW51dGVzIG9yIGxlc3MgdGhhdCB5b3UgaG9wZSBmb3IgaG9kbGVycyBiZWNhdXNlIGEgY29uc3RhbnRseSB0cmFkaW5nIE5GVOKAmXMgdmFsdWUgaXMgbW9zdCBvZnRlbiBiYXNlZCBvbiB0aGUgcG9wdWxhcml0eSBvZiAoZGVtYW5kIGZvciBwZW9wbGUgd2FudGluZykgdGhhdCBORlQuIEEgaG9kbGVyLCBpcyBzb21lb25lIHdob20gd2lsbCBob2xkIG9udG8gdGhhdCBhc3NldCBmb3IgbG9uZyBwZXJpb2RzIG9mIHRpbWUgYnVpbGRpbmcgYSBiYXNlIHZhbHVlIGZvciB5b3VyIE5GVHMuPGJyPiZuYnNwOyAmbmJzcDsgJm5ic3A7IE9uY2UgeW91IHN0YXJ0IGdldHRpbmcgZGVtYW5kIGFuZCBzZWxsLW91dCBORlQgZHJvcHMsIHlvdSBtYXkgc3RhcnQgdG8gYXVjdGlvbiBvZmYgbWludCAjMeKAmXMgZm9yIGV4dHJhIHJldHVybnMuIFRvIGRvIGFuIGF1Y3Rpb24sIOKAnExpc3Qgb24gTWFya2V04oCdIHRoZW4gc2VsZWN0IOKAnEF1Y3Rpb27igJ0gaW4gdGhlIHRvcCBzZWxlY3Rpb24gb3B0aW9ucy4gU2VsbGluZyBORlRzIHJlcXVpcmVzIFJBTSB3aXRoIHlvdXIgd2FsbGV0LiBNaW50aW5nIGxpa2UgYWxsIG1ham9yIGNoYWluIGFjdGlvbnMgcmVxdWlyZXMgUkFNIGFuZCBpbiB0aGUgTkZUIGNyZWF0b3IgYXQgYW55IHBvaW50IGluIHRpbWUsIGl0IGRpc3BsYXlzIHlvdXIgUkFNIGFuZCB5b3UgY2FuIGNsaWNrIHRoZSBwbHVzIHN5bWJvbCB0byBidXkgbW9yZSBSQU0gd2hpY2ggaXMgcGFpZCBpbiBXQVguIFdoZW4geW91IHN0YWtlIFdBWCB5b3UgY2FuIGFsc28gc3Rha2UgeW91ciBSQU0gdGhlcmUuIFN0YWtpbmcgdG8geW91ciBDUFUgKG5vcm1hbGx5IGZpcnN0IG9wdGlvbiBpbiBzdGFraW5nKSwgY2FuIGVhcm4geW91IHJldHVybnMgb3ZlciB0aW1lLiBTdGFraW5nIENQVSBpcyBhIGdyZWF0IHdheSB0byBzYXZlIHdheCBmb3IgbGF0ZXIgYW5kIHN0YWtpbmcgdG8gUkFNIGxldHMgeW91IHNlbGwgYW5kIG1pbnQuIFRoaXMgaXMgaG93IE5GVHMgY2FuIGJlIHZlcnkgYWZmb3JkYWJsZS4gU3Rha2UgdG8gdGhlIFJBTSBhbmQgaXQgZ2V0cyB1c2VkIGFzIG5lZWRlZC48YnI+PGJyPiZuYnNwOyAmbmJzcDsgJm5ic3A7IEdldHRpbmcgV2F4IGlzIHByb2JhYmx5IHlvdXIgbGFzdCBzdGVwIGluIHRoaXMgZW5kZWF2b3VyLiBPZnRlbiB0aW1lcyB5b3UgY2FuIGdldCB5b3VyIGZpcnN0IG1pbnQgb3IgdHdvIHdpdGhvdXQgY29zdCBvbiBhdG9taWNodWIgaWYgeW91IGhhdmUgYSB3YXggY2xvdWQgd2FsbGV0IHNvIGdldHRpbmcgc29tZSB3YXggZm9yIHN0YWtpbmcsIFJBTSAmYW1wOyBidXlpbmcgTkZUcyBpcyBsYXN0LiBJZiB5b3UgZ28gdG8gdGhlIDxhIGhyZWY9Imh0dHBzOi8vYWxsLWFjY2Vzcy53YXguaW8iIHRhcmdldD0iX2JsYW5rIiByZWwtIm5vb3BlbmVyPSIiIG5vcmVmZXJyZXIiPSIiIHN0eWxlPSJ0ZXh0LWRlY29yYXRpb246bm9uZTsiPndheC1jbG91ZCB3YWxsZXQgPHN1cD50cnkgY2xpY2tpbmcgaGVyZSAqPC9zdXA+PC9hPiB5b3UgY2FuIGZpbmQgdGhlIGVhc2llc3Qgd2F5cyB0byBidXkgV0FYLiBGb3IgZXhhbXBsZSwgdGhlIDxpPkNoYW5nZU5vdzwvaT4gb3B0aW9uIHRvIGJ1eSBXQVggKGFrYSBXQVhQKSB3aXRoIEVUSCBvciBCVEMgaXNuJ3Qgb2ZmZXJlZCBhbnl3aGVyZSBlbHNlIDxpPkNoYW5nZU5vdzwvaT4gY3J5cHRvIGJ1eWVyIHBvcC11cCBzdG9yZXMuIFRoZXkgYWxzbyBoYXZlIGEgbGFyZ2Uga25vd24gc2VsZWN0aW9uIG9mIGV4Y2hhbmdlcyBsaXN0ZWQgdW5kZXIgdGhlICJCdXkgV0FYUCIgc2VjdGlvbiBvZiB0aGUgY2xvdWQgd2FsbGV0LiBJZiB0aGVyZSdzIGFueSByZWFzb24gdG8gaGF2ZSBhIGNsb3VkIHdhbGxldCwgaXQncyB0byBnZXQgYWNjZXNzIHRvIHRoZSB3YXggYnV5aW5nIHRvb2xzLiBBbmNob3Igd2FsbGV0IGlzIHRoZSBtb3N0IHJlY29tbWVuZGVkIHdhbGxldCBiZXlvbmQgaGFyZHdhcmUgd2FsbGV0cy48YnI+Jm5ic3A7ICZuYnNwOyAmbmJzcDsgVGhhdCdzIGl0LCB5b3UgaGF2ZSB0aGUgYWJpbGl0eSBhbmQgcG9zc2libHkganVzdCBtaW50ZWQgeW91ciBmaXJzdCBORlQgdGhlbiBsaXN0ZWQgaXQgZm9yIHNhbGUhIFRoZXJlJ3Mgb3RoZXIgb3B0aW9ucyBzdGlsbCBhdCB5b3VyIGZpbmdlcnRpcHMgc28gaWYgeW91IGhlYWQgYmFjayB0byB5b3VyIGludmVudG9yeSwgeW91IGNhbiBjbGljayBvbiB0aGUgIm1vcmUiIGJ1dHRvbiB0byByZXZlYWwgc29tZSBmdW4gb3B0aW9ucyB3aXRoaW4gQXRvbWljaHViLjxvbD48Yj5DcmVhdGUgQnVuZGxlPC9iPjogVGhpcyBsZXRzIHlvdSBzZWxsIG11bHRpcGxlIE5GVHMgaW4gYSBzaW5nbGUgdHJhbnNhY3Rpb24uIFNldCB1cCB5b3VyIGJsZW5kIHNldHMsIG9yIG1heWJlIGRvdWJsZSB1cCBwYWNrcyBmb3IgYSBzaW5nbGUgc2VsbC4gQnVuZGxpbmcgYSBidW5jaCBvZiBzbWFsbCBpdGVtcyB0aGF0IGFsbCB3b3JrIHRvZ2V0aGVyIChsaWtlIEFsaWVuIFdvcmxkcyBORlRzKSBjYW4gbGV0IHlvdSBzZWxsIHRoZW0gYXMgYSB3aG9sZSB3aXRoIGEgMzUtNTAlIG1hcmt1cCBjb21wYXJlZCB0byB0cnlpbmcgdG8gYWRkIHRoZSBzYW1lIG1hcmt1cCBwZXIgTkZULiBBbHNvIHNhdmVzIHlvdSB0aGUgZXh0cmEgaGFzc2xlIG9mIHB1dHRpbmcgdGhlbSBhbGwgb24gc2FsZSBpbmRpdmlkdWFsbHkuPC9vbD4KPG9sPjxiPlRyYW5zZmVyPC9iPjogVGhpcyBsZXRzIHlvdSBzZW5kIE5GVHMgdG8gb3RoZXIgcGVvcGxlLCBsaWtlIGEgZ2lmdCBvciBwYXltZW50IGZvciBQZWVyLTItUGVlciB0cmFkZXMuIEluIHRoZSBUcmFuc2ZlciBwYWdlLCB5b3UgY2FuIGNsaWNrIHRvIGFkZCBhZGRpdGlvbmFsIE5GVHMgYW5kIGVzc2VudGlhbGx5IHNlbmQgYSBidW5kbGUgb2YgTkZUcyB0byBhIHNpbmdsZSB3YWxsZXQuIEdyZWF0IGZvciBkdW1waW5nIGFuIG9sZCB3YWxsZXQgYWRkcmVzcy48L29sPgo8b2w+PGI+Q3JlYXRlIExpbms8L2I+OiBUaGlzIGxldHMgeW91IGNyZWF0ZSBhIHNoYXJlIGxpbmsuIFRoaXMgbGV0cyB5b3Ugc2VuZCB5b3VyIE5GVCB0byBzb21lb25lIHdpdGhvdXQga25vd2luZyB0aGVpciB3YWxsZXQgYWRkcmVzcyBvciBldmVuIHdpdGhvdXQgdGhlbSBoYXZpbmcgb25lLiBHcmVhdCBmb3IgZ2l2ZWF3YXlzLCB0aGUgY2xhaW1lciBqdXN0IGNsaWNrcyBhbmQgY2xhaW1zLiBCb29tIGRvbmUhPC9vbD4KPG9sPjxiPk5ldyBUcmFkZTwvYj46IFRoaXMgd2lsbCBzZXQgdXAgYSB0cmFkZSwgc28geW91J2xsIGVudGVyIGEgc2NyZWVuIHNpbWlsYXIgdG8gdHJhbnNmZXIgYW5kIHlvdSBjYW4gY2xpY2sgdG8gYWRkIG1vcmUgTkZUcyB0byB0aGUgc2VsZWN0aW9uIGZvciB0cmFkaW5nIHRoZW4geW91IGNhbiBjbGljaywgIlNlbmQgVHJhZGUgT2ZmZXIiLiBUaGlzIGdpdmVzIHlvdSBhIGluayB0byBzZW5kIHRvIHRoZSBvdGhlciBwZXJzb24gZm9yIHRoZW0gdG8gZmluZCB0aGUgdHJhZGUgYW5kIHlvdSBjYW4gdHJhZGUgYW5vbnltb3VzbHkgd2l0aG91dCBhIGZvdXJ0aCBwYXJ0eS48L29sPgo8b2w+PGI+QmFjayBUb2tlbnM8L2I+OiBUaGlzIGxldHMgeW91IGJhY2sgdGhlIE5GVCB3aXRoIFdBWCB0b2tlbnMuIERvaW5nIHRoaXMgbWVhbnMgdGhlIE5GVCB3aWxsIGhhdmUgdG8gYmUgYnVybmVkIHRvIGdldCB0aGUgdG9rZW5zIGJhY2suIFRoaXMgaXMgZ3JlYXQgZm9yIGdldHRpbmcgYnV5ZXJzIGJ1dCB5b3UgcnVuIHRoZSByaXNrIG9mIHRoZSBpbmNlbnRpdmUgdG8gYnVybiB0aGUgdG9rZW4gaXMgdG9vIGhpZ2ggYW5kIHBlb3BsZSB3aWxsIGJ1cm4gaXQgaW5zdGVhZCBvZiB0cmFkaW5nL2hvZGxpbmcuPC9vbD4KPG9sPjxiPkJ1cm48L2I+OiA8Yj48aT5UaGlzIGlzIG5vdCB0aGUgYnVybiB0b29sIHlvdSBhcmUgbG9va2luZyBmb3IhPGk+PC9pPjwvaT48L2I+PGk+PGk+IE9mdGVudGltZXMgd2hlbiB5b3UgYXJlIHRvbGQgdG8gYnVybiBhbiBORlQgdGhleSBoYXZlIGEgY29udHJhY3QgeW91IGFyZSBzdXBwb3NlZCB0byBzZW5kIHRoZSBORlQgdG8uIFRoZSBvbmx5IHRpbWUgeW91J2xsIHVzZSB0aGlzIGJ1cm4gdG9vbCBpcyB0byBkZXN0cm95IGFuIE5GVCBvciB0byByZW1vdmUgYmFja2VkIHRva2VucyBmcm9tIHRoZSBORlQuPC9pPjwvaT48L29sPjxpPjxpPgogJm5ic3A7ICZuYnNwOyAmbmJzcDsgQ2xpY2tpbmcgIkRldGFpbHMiIHdpbGwgc2hvdyB0aGUgZXh0cmEgZGF0YSBpbnNpZGUgdGhlIE5GVCBhbmQgYW55IG90aGVyIG1lZGlhIGl0IG1heSBoYXZlLiBBZnRlciB0aGF0LCB5b3UgaGF2ZSBhbGwgdGhlIGtleXMgdG8gdGhlIGJhc2ljIE5GVCBnYW1lLiBCdXksIFNlbGwsIFRyYWRlLCBNaW50LCBTZWxsLCBCdXkuIFRoZSBjb21tdW5pdHkgeW91IGJ1aWxkIHVwIGlzIHdoYXQgd2lsbCBrZWVwIHlvdSBtb3RpdmF0ZWQgdG8gbWludCBtb3JlIGFuZCBkbyBtb3JlIE5GVHMuIElmIHlvdSBkb24ndCBmZWVsIHRoYXQgdXBmaCBmcm9tIE5GVCBjcmVhdGluZywgdGhlbiBmaW5kIHlvdXIgcGFzc2lvbiB3aXRoIE5GVHMuIE5vdCBldmVyeW9uZSBpcyBhIG1pbnRlciwgc29tZSBwZW9wbGUgZmxpcCBORlRzIGluc3RlYWQgYW5kIG90aGVycyBiZWNvbWUgQXVjdGlvbmVlcnMuIFlvdSBmaW5kIHlvdXIgYmVzdCB3YXkgdG8gZml0IGludG8gdGhlIE5GVCBzcGFjZSBidXQgYXQgbGVhc3Qgbm93IHlvdSBjYW4gZG8gYWxsIHRoZSBiYXNpY3Mgb24gQXRvbWljaHViIQo8aHI+PHAgYWxpZ249ImNlbnRlciIgc3R5bGU9ImJvcmRlci1yYWRpdXM6NSU7Ym9yZGVyOjJweCBzb2xpZCB3aGl0ZTsgYm94LXNoYWRvdzowcHggMXB4IDVweCBkaW1ncmV5O2JhY2tncm91bmQtY29sb3I6b3JhbmdlO29wYWNpdHk6MC43OyI+PGJ1dHRvbiBvbmNsaWNrPSJkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgmcXVvdDswc3RlcCZxdW90Oykuc3R5bGU9JnF1b3Q7ZGlzcGxheTpub25lJnF1b3Q7O2RvY3VtZW50LmdldEVsZW1lbnRCeUlkKCZxdW90O3N0ZXAwJnF1b3Q7KS5zdHlsZT0mcXVvdDtkaXNwbGF5OmJsb2NrO2JhY2tncm91bmQtY29sb3I6bGlnaHRncmVlbjtjb2xvcjpibGFjaztib3JkZXI6MnB4IHNvbGlkIGdyZWVuOyZxdW90OzsiIHN0eWxlPSJib3gtc2hhZG93OjFweCAxcHggNXB4IGRpbWdyZXk7YmFja2dyb3VuZC1jb2xvcjpibGFjaztjb2xvcjpvcmFuZ2U7Ym9yZGVyLXJhZGl1czo1JTsiPkNsb3NlIFRoaXMgU2VjdGlvbjwvYnV0dG9uPjwvcD4KPC9pPjwvaT48L2Rpdj48aT48aT4KCgo8YnV0dG9uIGlkPSJzdGVwMSIgb25jbGljaz0id2luZG93Lm9wZW4oJnF1b3Q7aHR0cHM6Ly8zZGQuaW4vYXRvbWljcGcyJnF1b3Q7KTsiIHRhcmdldD0iX2JsYW5rIiByZWw9Im5vb3BlbmVyIG5vcmVmZXJyZXIiIHN0eWxlPSJiYWNrZ3JvdW5kLWNvbG9yOmxpZ2h0Z3JlZW47Y29sb3I6YmxhY2s7Ym9yZGVyOjJweCBzb2xpZCBncmVlbjsiIHZhbHVlPSJNaW50Jm5ic3A7Tm9vYiI+TWludCZuYnNwO05vb2I8L2J1dHRvbj4KCgoKPGJ1dHRvbiBpZD0ic3RlcDIiIG9uY2xpY2s9IndpbmRvdy5vcGVuKCZxdW90O2h0dHBzOi8vM2RkLmluL2F0b21pY3BnMyZxdW90Oyk7IiB0YXJnZXQ9Il9ibGFuayIgcmVsPSJub29wZW5lciBub3JlZmVycmVyIiBzdHlsZT0iYmFja2dyb3VuZC1jb2xvcjpsaWdodGdyZWVuO2NvbG9yOmJsYWNrO2JvcmRlcjoycHggc29saWQgZ3JlZW47IiB2YWx1ZT0iU2xpZ2h0bHkmbmJzcDtBZHZhbmNlZCI+U2xpZ2h0bHkmbmJzcDtBZHZhbmNlZDwvYnV0dG9uPgoKCgo8YnV0dG9uIGlkPSJzdGVwMyIgb25jbGljaz0id2luZG93Lm9wZW4oJnF1b3Q7aHR0cHM6Ly8zZGQuaW4vYXRvbWljcGc0JnF1b3Q7KTsiIHRhcmdldD0iX2JsYW5rIiByZWw9Im5vb3BlbmVyIG5vcmVmZXJyZXIiIHN0eWxlPSJiYWNrZ3JvdW5kLWNvbG9yOmxpZ2h0Z3JlZW47Y29sb3I6YmxhY2s7Ym9yZGVyOjJweCBzb2xpZCBncmVlbjsiIHZhbHVlPSJBZHZhbmNlZCZuYnNwO01pbnRpbmciPkFkdmFuY2VkJm5ic3A7TWludGluZzwvYnV0dG9uPgoKCjxidXR0b24gaWQ9InN0ZXA0IiBvbmNsaWNrPSJ3aW5kb3cub3BlbigmcXVvdDtodHRwczovLzNkZC5pbi9hdG9taWNwZzUmcXVvdDspOyIgdGFyZ2V0PSJfYmxhbmsiIHJlbD0ibm9vcGVuZXIgbm9yZWZlcnJlciIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6bGlnaHRncmVlbjtjb2xvcjpibGFjaztib3JkZXI6MnB4IHNvbGlkIGdyZWVuOyIgdmFsdWU9IkV4cGVyaW1lbnRhbCZuYnNwOyZhbXA7Jm5ic3A7VGlwcyI+RXh0cmEmbmJzcDtEYXRhPC9idXR0b24+Cgo8aHI+PGJyPjxicj4mbmJzcDsgJm5ic3A7ICZuYnNwOyBUaGF0J3MgdGhlIGdpc3Qgb2YgaXQsIGhvcGVmdWxseSB5b3UgZ2V0IGEgZ29vZCBhbW91bnQgb2YgaW5mb3JtYXRpb24gZm9ybSB0aGlzIGFuZCB5b3UgY2FuIHVwIHlvdXIgTkZUIGdhbWUgdG8gbWFrZSB5b3VyIG5leHQgTkZUIHN0YW5kIG91dCBhbW9uZyB0aGUgcmVzdC4gQmVzdCBvZiBsdWNrIHRvIHlvdSBpbiB5b3VyIE5GVCBlbmRlYXZvdXJzLjxicj48YnI+Jm5ic3A7ICZuYnNwOyAmbmJzcDsgVGhpcyBhcnRpY2xlIHdhcyBzcGxpdCBpbnRvIHNlY3Rpb25zIHRvIG1ha2UgcHVibGljIHNoYXJpbmcgZWFzaWVyLiBUSGUgb3JpZ2luaWFsIGlzIHN0b3JlZCBvbiBJUEZTIChjaGVjayB5b3VyIE5GVCBmb3IgbW9yZSBpbmZvKS48YnI+PGhyPjxicj4mbmJzcDsgJm5ic3A7ICZuYnNwOyBDbGljayB0aGUgbmV4dCBzZWN0aW9ucyB0byB2aXNpdCB0aGF0IGFydGljbGUgc2VjdGlvbi48c3VwPjxzdWI+VGhpcyB3aWxsIGJlIG9mZmVyZWQgYXMgYW4gTkZUIHdoaWxlIGl0J3MgYXBhcnQgb2YgdGhlIDxhIGhyZWY9Imh0dHBzOi8vM2RkLmluLzNkLXBvdiIgdGFyZ2V0PSJfYmxhbmsiIHJlbD0ibm9vcGVuZXIgbm9yZWZlcnJlciIgc3R5bGU9InRleHQtZGVjb3JhdGlvbjpub25lIj48Yj4zRCdzIFBvaW50IG9mIFZpZXcgPGk+TmV3c2NoYWluPC9pPjwvYj48L2E+LiBFbmpveSBhbmQgdGhhbmsgeW91IGZvciByZWFkaW5nLgoKPC9zdWI+PC9zdXA+PC9pPjwvaT48L2Rpdj48L3NwYW4+PC9oND48L2xhYmVsPiZuYnNwOyA8bGFiZWw+PHNwYW4gYWxpZ249InJpZ2h0IiBzdHlsZT0icmlnaHQ6MDsiPjxoNCBzdHlsZT0ibWFyZ2luLXRvcDotMi41dnc7bWFyZ2luLWJvdHRvbTotMnZ3OyI+PHNwYW4gYWxpZ249InJpZ2h0IiBzdHlsZT0icmlnaHQ6MDsiIGlkPSJvdXRib3R0Ij4zRG91Z2xhcyA8cT4zRDwvcT4gUGlobDwvc3Bhbj4gJm5ic3A7IEA8c3BhbiBpZD0iYXV0aG9ybmFtZSI+SUZ0VWFHRnVheUI1YjNVZ1ptOXlJSEpsWVdScGJtY2hJQzB0TTBSZG9DQ2dRRE5FYjNWbmJHRnpJRHh4UGpORVBDOXhQaUJRYVdoc29DQ2dJRnNqVnpBeFZWZFliRTVTUlZZelZHeFNWazFyT1VWaGVsSlFVVlF3T1ZoVFFUWlBhVUppVTJ0R1QwNUVTWGROYWtaa1hTQT08L3NwYW4+PC9oND4KJm5ic3A7ICZuYnNwOzxzcGFuIHN0eWxlPSJ3aWR0aDo1dnc7bWFyZ2luLXRvcDotMy41dnc7bWFyZ2luLWJvdHRvbTotMC41dnc7IiBpZD0iYWRoZXJlIiBhbGlnbj0ibGVmdCIgb25jbGljaz0idGhpcy5zdHlsZS5kaXNwbGF5PSdub25lJzsgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2FkbGluaycpLnN0eWxlLmRpc3BsYXk9J25vbmUnOyBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnYWR0ZXh0aW4nKS5zdHlsZS5kaXNwbGF5PSdub25lJzsiPjxhIHR5cGU9ImJ1dHRvbiIgc3R5bGU9ImJvcmRlci1yYWRpdXM6MzYwJTsgYmFja2dyb3VuZC1jb2xvcjpibGFjazsgdGV4dC1kZWNvcmF0aW9uOm5vbmU7IGNvbG9yOmxpbWVncmVlbjsgYm9yZGVyLWNvbG9yOm9yYW5nZTsgYm9yZGVyLXdpZHRoOjJ2dzsgd2lkdGg6YXV0bzsgYWxpZ246cmlnaHQ7IG92ZXJmbG93OmhpZGRlbjsgcmlnaHQ6MDsgbWFyZ2luLWJvdHRvbTotMS41dnc7IiBhbGlnbj0icmlnaHQ7IiBocmVmPSJodHRwczovLzNkZC5pbi93YXhzdG9yZSIgdGFyZ2V0PSJfYmxhbmsiIDvCoD0iIiByZWw9Im5vcmVmZXJyZXIgbm9vcGVuZXIiPjxzcGFuIGlkPSJhZHRleHQiIHN0eWxlPSJtYXJnaW46MHZ3IDEuNXZ3IDAuMXZ3IDEuNXZ3OyI+PHN1cD48c3ViPiZuYnNwOyZuYnNwOyZuYnNwO1Zpc2l0IDNEJ3MgPGk+V2F4IFN0b3JlPC9pPiZuYnNwOyZuYnNwOyZuYnNwOzwvc3ViPjwvc3VwPjwvc3Bhbj48L2E+PHNwYW4gaWQ9ImFkdHh0IiBzdHlsZT0iZm9udC1zaXplOjhweCI+PGJyPiAmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsgPGIgaWQ9ImFkdHh0Ym90dG9tIj5hZDwvYj48L3NwYW4+ICZuYnNwOyZuYnNwOyZuYnNwOzwvc3Bhbj48c3BhbiBhbGlnbj0iY2VudGVyIiBpZD0iYWRpbWciIHN0eWxlPSJ3aWR0aDo5OCU7cmlnaHQ6NTA7bGVmdDo1MDtoZWlnaHQ6YXV0bzsiIG9uY2xpY2s9InRoaXMuc3R5bGUuZGlzcGxheT0nbm9uZSc7Ij48YSBhbGlnbj0iY2VudGVyIiBocmVmPSJodHRwczovLzNkZC5pbi9kaXNwZW5zYXJ5IiB0YXJnZXQ9Il9ibGFuayIgOz0iIiByZWw9Im5vcmVmZXJyZXIgbm9vcGVuZXIiPjxpbWcgc3JjPSJodHRwczovL2dhdGV3YXkucGluYXRhLmNsb3VkL2lwZnMvUW1aajI5Vkxka1JpZ1hZaHI4dWhTOE01V2lSVFlOeTZFdTVqNWVyU1REZnluVyIgc3R5bGU9IndpZHRoOjk4JTsgYWxpZ246Y2VudGVyOyIgYWxpZ249ImNlbnRlciI+PC9hPjwvc3Bhbj4KJm5ic3A7PGxhYmVsPjxociBzdHlsZT0ibWFyZ2luLXRvcDowLjV2dzttYXJnaW4tYm90dG9tOi0wLjc1dnc7Ij48aDMgYWxpZ249ImNlbnRlciI+PHN1Yj5JZiB5b3UgbGlrZWQgdGhpcyBQdnRQcHIgcGxlYXNlIGNvbnNpZGVyIGRvbmF0aW5nIHRvIHRoZSBhdXRob3IsIDxzcGFuIGlkPSJhdXRobmFtZSI+M0RvdWdsYXMgPHE+M0Q8L3E+IFBpaGw8L3NwYW4+IGJ5IHVzaW5nIHRoZSBjcnlwdG8tYWRkcmVzc2VzIGJlbG93LiAmbmJzcDsgVGhhbmsgeW91Ljwvc3ViPjxicj48c3ViPjxzcGFuIGFsaWduPSJsZWZ0Ij48Yj7igr86Ly88aT48c3BhbiBpZD0iYnRjYWRkeSI+MUsxVkVGVlA4dmVlWmN0VTh1WTczcHprQzlMRzhhSHc3Uzwvc3Bhbj48L2k+PC9iPjwvc3Bhbj4gJm5ic3A7IDxiPjxzcGFuIGFsaWduPSJyaWdodCI+PGk+PHNwYW4gaWQ9Imx0Y2FkZHkiPjxhIGhyZWY9Imh0dHBzOi8vY29pbnRyLmVlLzNEXyIgdGFyZ2V0PSJfYmxhbmsiIHN0eWxlPSJ0ZXh0LWRlY29yYXRpb246bm9uZTtjb2xvcjpkYXJrZ3JlZW47Ij4zRF8ncyBDb2ludHIuZWU8L2E+PC9zcGFuPjwvaT48L3NwYW4+PC9iPjwvc3ViPjwvaDM+PGg0IGFsaWduPSJjZW50ZXIiPjxzdXA+UHZ0UHBycyBjYW4gYmUgbW9uZXRpemVkIGJ5IEJpdHR1YmUgQWlydGltZSAmYW1wOyB0byBoZWxwIHRoZSBhdXRob3IgZ2lhbiAkPGk+VFVCRVM8L2k+IGZyb20geW91IHJlYWRpbmcgdGhpcyBwYXBlciwgcGxlYXNlIHVzZSBvciBpbnN0YWxsIHRoZSA8c3BhbiBvbmNsaWNrPSJ3aW5kb3cub3BlbignaHR0cHM6Ly9jaHJvbWUuZ29vZ2xlLmNvbS93ZWJzdG9yZS9kZXRhaWwvYml0dHViZS1haXJ0aW1lLWRvbmF0aW9ucy9jbm9nYmJtY2lmZnBpYm1rcGhvaHBlYmdobW9tYWVtaScpIiBzdHlsZT0iY29sb3I6Z3JlZW47Ij5CaXR0dWJlIEFpcnRpbWUgRXh0ZW5zaW9uPC9zcGFuPiBvciB1c2UgdGhlIDxzcGFuIHN0eWxlPSJjb2xvcjpncmVlbiIgb25jbGljaz0id2luZG93Lm9wZW4oJ2h0dHBzOi8vYml0dHViZS5hcHAnKSI+Qml0dHViZSBCcm93c2VyPC9zcGFuPi48L3N1cD48L2g0PjwvbGFiZWw+CiZuYnNwOzxkaXYgYWxpZ249ImNlbnRlciI+PGxhYmVsPjxoNSBzdHlsZT0ibWFyZ2luLXRvcDotMnZ3OyI+PHNwYW4gc3R5bGU9ImxlZnQ6MDsgbWFyZ2luLXJpZ2h0OjIuNXZ3O21hcmdpbi1sZWZ0Oi0xLjV2dzsiIGFsaWduPSJsZWZ0Ij5NYWRlJm5ic3A7d2l0aCZuYnNwOzxzcGFuIGlkPSJERkNhYmluZXQiIHN0eWxlPSJ0ZXh0LWRlY29yYXRpb246bm9uZTsiPjxhIGhyZWY9Imh0dHBzOi8vM2RkLmluL3BwZ2VuIiB0YXJnZXQ9Il9ibGFuayI+UHZ0UHByJm5ic3A7R2VuZXJhdG9yJm5ic3A7TGl0ZTwvYT48L3NwYW4+PHN1cD48c3VwPjIwMjE8L3N1cD48L3N1cD48L3NwYW4+IDxzcGFuIGlkPSJwcmV2IiBzdHlsZT0ibWFyZ2luLXRvcDotMS41cHg7bWFyZ2luLWJvdHRvbToxLjVweDsgbWFyZ2luLWxlZnQ6Mi41dnc7IHJpZ2h0OjA7IG1hcmdpbi1yaWdodDotMS41dnc7Ym9yZGVyLXJhZGl1czoxNSU7cGFkZGluZzozcHg7IiBhbGlnbj0icmlnaHQiPjxhIGhyZWY9Imh0dHBzOi8vdGlueXVybC5jb20veTUzbzR3M3kiIHRhcmdldD0iX2JsYW5rIiByZWw9Im5vb3BlbmVyIG5vcmVmZXJyZXIiIHN0eWxlPSJib3JkZXI6IDAuMDF2dyBzb2xpZCBkYXJrZ3JlZW47IGJhY2tncm91bmQtY29sb3I6bGltZWdyZWVuOyBjb2xvcjpibGFjazsgYm94LXNoYWRvdzpkaW1ncmV5IDNweCA2cHggOXB4OyB0ZXh0LWRlY29yYXRpb246bm9uZTsiPlByZXZpb3VzJm5ic3A7UGFwZXI8L2E+PC9zcGFuPjwvaDU+PC9sYWJlbD48c3BhbiBzdHlsZT0iYm94LXNoYWRvdzpkaW1ncmV5IDNweCA2cHggOXB4O2xlZnQ6MDsiIGFsaWduPSJsZWZ0IiBpZD0iY2VydGFibGUiPjxhIGhyZWY9Imh0dHBzOi8vM2RkLmluL1B2dFBwci1QYWdlLUNlcnQiIHRhcmdldD0iX2JsYW5rIiBzdHlsZT0idGV4dC1kZWNvcmF0aW9uOm5vbmU7YmFja2dyb3VuZC1jb2xvcjpibGFjaztjb2xvcjp3aGl0ZTsiPlZpZXcmbmJzcDt0aGlzJm5ic3A7b2JqZWN0J3MmbmJzcDtDZXJ0YWJsZTwvYT48L3NwYW4+PC9kaXY+CiZuYnNwOzxocj48c3BhbiBpZD0icXJpbWciIGNsYXNzPSJxcmltZyIgYWxpZ249InJpZ2h0IiBzdHlsZT0icmlnaHQ6MDttYXJnaW4tbGVmdDo1MCU7Ij48aW1nIGNsYXNzPSJxcmltZyIgc3JjPSJodHRwczovL3p4aW5nLm9yZy93L2NoYXJ0P2NodD1xciZhbXA7Y2hzPTExNXgxMTUmYW1wO2NobGQ9SHwxJmFtcDtjaG9lPVVURi04JmFtcDtjaGw9aHR0cHM6Ly90d2l0dGVyLmNvbS9yYWRpb2FjdGl2ZTNkIiBhbGlnbj0icmlnaHQiPjwvc3Bhbj48c3BhbiBzdHlsZT0ib3BhY2l0eTowLjUzO2NvbG9yOmdyZXk7IiBhbGlnbj0ibGVmdCI+Jm5ic3A7CiZuYnNwOyA8YnI+PHNwYW4gb25jbGljaz0iYWxhbGVydCgpIj5QdnRQcHIuIDIwMTgtMjAyMSA8YnI+IFByaXZhdGUgUGFwZXIgMjAxOC0yMDIxPC9zcGFuPiA8YnI+CjxzcGFuIGlkPSJmb290ZW4iIG9uY2xpY2s9InRoaXMuc3R5bGUuZGlzcGxheT0nbm9uZSc7IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdmb290c3AnKS5zdHlsZS5kaXNwbGF5PSdibG9jayc7Ij5BIFRob3VnaHQgQ2hpbGQgb2YgdGhlIDMgSm9rZXJzPC9zcGFuPgo8c3BhbiBpZD0iZm9vdHNwIiBvbmNsaWNrPSJ0aGlzLnN0eWxlLmRpc3BsYXk9J25vbmUnOyBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnZm9vdGNoJykuc3R5bGUuZGlzcGxheT0nYmxvY2snOyIgc3R5bGU9ImRpc3BsYXk6bm9uZSI+VW4gcGVuc2FtaWVudG8gaGlqbyBkZSBsb3MgMyBjb21vZGluZXM8L3NwYW4+CjxzcGFuIGlkPSJmb290Y2giIG9uY2xpY2s9InRoaXMuc3R5bGUuZGlzcGxheT0nbm9uZSc7IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdmb290anAnKS5zdHlsZS5kaXNwbGF5PSdibG9jayc7IiBzdHlsZT0iZGlzcGxheTpub25lIj7kuInkuKrlsI/kuJHnmoTmgJ3mg7PlranlrZA8L3NwYW4+CjxzcGFuIGlkPSJmb290anAiIG9uY2xpY2s9InRoaXMuc3R5bGUuZGlzcGxheT0nbm9uZSc7IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdmb290cnUnKS5zdHlsZS5kaXNwbGF5PSdibG9jayc7IiBzdHlsZT0iZGlzcGxheTpub25lIj4z5Lq644Gu44K444On44O844Kr44O844Gu5oCd6ICD44Gu5a2QPC9zcGFuPgo8c3BhbiBpZD0iZm9vdHJ1IiBvbmNsaWNrPSJ0aGlzLnN0eWxlLmRpc3BsYXk9J25vbmUnOyBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnZm9vdHN3Jykuc3R5bGUuZGlzcGxheT0nYmxvY2snOyIgc3R5bGU9ImRpc3BsYXk6bm9uZSI+0JzRi9GB0LvQtdC90L3QvtC1INCU0LjRgtGPIDMg0JTQttC+0LrQtdGA0L7Qsjwvc3Bhbj4KPHNwYW4gaWQ9ImZvb3RzdyIgb25jbGljaz0idGhpcy5zdHlsZS5kaXNwbGF5PSdub25lJzsgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2Zvb3RkdScpLnN0eWxlLmRpc3BsYXk9J2Jsb2NrJzsiIHN0eWxlPSJkaXNwbGF5Om5vbmUiPkV0dCB0w6Rua3QgYmFybiBhdiBkZSAzIGpva2FybmE8L3NwYW4+CjxzcGFuIGlkPSJmb290ZHUiIG9uY2xpY2s9InRoaXMuc3R5bGUuZGlzcGxheT0nbm9uZSc7IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdmb290ZW4nKS5zdHlsZS5kaXNwbGF5PSdibG9jayc7IiBzdHlsZT0iZGlzcGxheTpub25lIj5FaW4gR2VkYW5rZW5raW5kIGRlciAzIEpva2VyPC9zcGFuPgo8L3NwYW4+PGJyPjxwIGFsaWduPSJjZW50ZXIiPjwvcD48cCBzdHlsZT0iYmFja2dyb3VuZC1jb2xvcjpibGFjaztjb2xvcjpzaWx2ZXI7Ym94LXNoYWRvdzpkaW1ncmV5IDNweCA2cHggOXB4O3RleHQtYWxpZ246bGVmdDtsZWZ0OjA7d2lkdGg6YXV0bzsiIGFsaWduPSJsZWZ0IiByZWw9Im5vcmVmZXJyZXIgbm9vcGVuZXIiIHRhcmdldD0iX3NlbGYiIG9uY2xpY2s9IndpbmRvdy5vcGVuKCdodHRwczovLzNkZC5pbi9QdnRQcHInKTsiPlJlYWQmbmJzcDt0aGUmbmJzcDtPZmZpY2lhbCZuYnNwO1B2dFBwciZuYnNwOzxiPjxpPk5ld3NjaGFpbjwvaT48L2I+PC9wPiA8cCBvbmNsaWNrPSJBbGVydENoZWNrKCk7IiBpZD0iTGlua0NvdmVyIiBhbGlnbj0icmlnaHQiIHN0eWxlPSJjb2xvcjpzaWx2ZXI7dGV4dC1hbGlnbjpyaWdodDtyaWdodDowO21hcmdpbi10b3A6LTIuODV2dzticmVhay13b3JkOmtlZXAtYWxsO3dvcmQtYnJlYWs6a2VlcC1hbGw7Ij4zRDombmJzcDs8Yj4jPGk+MTUzMTdmZXV3Z3M4am88L2k+PC9iPjwvcD48cD48L3A+PGhyPjxicj48YnI+PC9zcGFuPjwvbGFiZWw+PC9kaXY+CjxzY3JpcHQ+wqAKCgrCoCDCoCAvLyBBZGRlZCBldmVudCBsaXN0ZW5lciB0byB0aGUgc2Nyb2xswqAKwqAgwqAgd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoJ3Njcm9sbCcswqAKwqAgwqAgwqAgwqAgwqAgwqAgbW92ZVNjcm9sbEluZGljYXRvcik7wqAKCgrCoCDCoCAvLyBHZXR0aW5nIHNjcm9sbEluZGljYXRvciBlbGVtZW50IGJ5IElEwqAKwqAgwqAgY29uc3Qgc2Nyb2xsSW5kaWNhdG9yRWx0ID3CoMKgCsKgIMKgIMKgIMKgIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdzY3JvbGxJbmRpY2F0b3InKTvCoAoKCsKgIMKgIC8vIEhlaWdodCBvZiBlbnRpcmUgd2ViIHBhZ2UgLSBoZWlnaHTCoArCoCDCoCAvLyBvZiB2aWV3YWJsZSBwb3J0aW9uIG9mIGJyb3dzZXLCoArCoCDCoCBjb25zdCBtYXhIZWlnaHQgPcKgwqAKwqAgwqAgwqAgwqAgd2luZG93LmRvY3VtZW50LmJvZHkuc2Nyb2xsSGVpZ2h0wqDCoArCoCDCoCDCoCDCoCAtIHdpbmRvdy5pbm5lckhlaWdodDvCoAoKCsKgIMKgIGZ1bmN0aW9uIG1vdmVTY3JvbGxJbmRpY2F0b3IoZSkge8KgCgoKwqAgwqAgwqAgwqAgLy8gQ2FsY3VsYXRpbmcgd2lkdGggb2YgdGhlwqDCoArCoCDCoCDCoCDCoCAvLyBzY3JvbGxJbmRpY2F0b3IgZWxlbWVudMKgCsKgIMKgIMKgIMKgIGNvbnN0IHBlcmNlbnRhZ2UgPcKgwqAKwqAgwqAgwqAgwqAgwqAgwqAgKCh3aW5kb3cuc2Nyb2xsWSkgLyBtYXhIZWlnaHQpICogMTAwO8KgCgoKwqAgwqAgwqAgwqAgLy8gUGl4ZWxzIHNjcm9sbGVkIGJ5IHRoZSB1c2VywqDCoArCoCDCoCDCoCDCoCAvLyB0byB0b3RhbCBzY3JvbGxhYmxlIFBpeGVsc8KgCsKgIMKgIMKgIMKgIHNjcm9sbEluZGljYXRvckVsdC5zdHlsZS53aWR0aMKgCsKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgPSBwZXJjZW50YWdlICsgJyUnO8KgCsKgIMKgIH3CoAo8L3NjcmlwdD4mbmJzcDsKPHNjcmlwdD4KwqAKwqBmdW5jdGlvbiBhbGFsZXJ0KCl7CsKgIGFsZXJ0KCdIZWxsbyAmIFdlbGNvbWUgdG8gdGhlIHRoaXMgUHZ0UHByIFtwcsSrdml0IHDEgXDJmXJdLlxuXG5QdnRQcHIgaXMgYnJvdWdodCB0byB5b3UgYnkgM0csIDNEICYgRS1ULlxuXG5UaGlzIGlzIGhvYXN0ZWQgYnkgZXhwZXJpbWVudGFsIHRlY2hub2xvZ3kgaW4gaGFzaC1iYXNlZC1saW5rcyB0byBzdG9yZSBhbGwgb2YgdGhlIHdlYnNpdGUgY29kZSArIHRleHQgb2ZmIHNlcnZlcnMuXG5cblNlcnZlcnMgYXJlIHVzZWQgZm9yIGRlY3J5dGluZyB0aGUgaGFzaGxpbmsgZm9yIHRoZSBicm93c2VyIHRvIGRpc3BsYXkgdGhlIHdlYnNpdGUvd2ViYXBwLlxuXG5Ib3N0ZWQgYnkgSXR0eS5CaXR0eS5TaXRlIChieSBBbGNvcikuXG5cblxuVGhhbmsgeW91LlxuwqAgwqAgwqBbTFMwelJBOjpKQU4xNjIwMjBdXG5cbsKgIMKgIMKgTGFzdCBVcGRhdGUgW0pBTjIwMjAyMTo6TFMwelJBXScpOwrCoH0KwqBmdW5jdGlvbiBBbGVydENoZWNrKCkgewrCoCBhbGVydCgiWW91IGNsaWNrZWQgb24gYW4gZWFzdGVyIGVnZy4gUGxlYXNlIGVuam95IVxuXG5UaGlzIFB2dFBwciB3YXMgbWFkZSB3aXRoIHRoZSBQdnRQcHIgR2VuZXJhdG9yIChQUEdlbikuIFRoaXMgaXMgYSBuZXdzcGFwZXIgc3lzdGVtIHdpdGggZXZlcnlvbmUgaW4gbWluZC4gQW55b25lIGNhbiB1c2UgUFBHZW4gdG8gYnVpbGQgdGhlaXIgb3duIHByaXZhdGUgcGFwZXIgY29tcGxldGUgd2l0aCBhIHVzYWJsZSBsaW5rLlxuXG5UaGlzIGlzIHRoZSBsaXRlLXZlcnNpb24gb2YgdGhlIFB2dFBwciBHZW5lcmF0b3JcblxuXG5cblRoYW5rIFlvdVxuwqAgwqAgwqBbTFMwelJBOjpKQU4xNjIwMjBdXG5cbsKgIMKgIMKgTGFzdCBVcGRhdGUgW0pBTjIwMjAyMTo6TFMwelJBXSIpOwrCoH0KwqAKPC9zY3JpcHQ+CjxtZXRhIG5hbWU9ImFpcnRpbWUtcGxhdGZvcm0tZGlzcGxheSIgY29udGVudD0iYXJ0aWNsZXMiPjxtZXRhIG5hbWU9ImFpcnRpbWUtcGxhdGZvcm0taWQiIGNvbnRlbnQ9Ijk5YTc5MGQ4LTg3MDctZTRhOS05OTZmLWE1ZjAxODEzYzQ1YyI+PHNjcmlwdCBzcmM9Imh0dHBzOi8vYml0dHViZWFwcC5jb20vdHViZXBheS9haXJ0aW1lLmxvYWRlci5qcyIgZGF0YS12ZXJpZnk9Im1ldGEiIGRhdGEtYXV0b3N0YXJ0PSJ0cnVlIj48L3NjcmlwdD48L2E+
- Protocol
- H2
- Security
- TLS 1.3,
, AES_128_GCM
- Server
-
2606:4700:4400::ac40:9ae1
, United States,
ASN13335
(CLOUDFLARENET, US),
- Reverse DNS
- Software
-
cloudflare /
- Resource Hash
- Security Headers
-
Name |
Value |
Content-Security-Policy |
default-src 'self'; img-src * data: blob: 'unsafe-inline'; style-src * 'unsafe-inline'; |
|
GET
H2
|
400
|
chart
zxing.org/w/
Frame FD4C
|
0
48 B
|
479ms
144ms
|
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/radioactive3d
- Requested by
- Host: text
URL: data:text/html;charset=utf-8;base64,PG1ldGEgY2hhcnNldD0idXRmLTgiPjxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgiPjxiYXNlIHRhcmdldD0iX3RvcCI+PHN0eWxlIHR5cGU9InRleHQvY3NzIj5ib2R5e21hcmdpbjowIGF1dG87cGFkZGluZzoxMnZtaW4gMTB2bWluO21heC13aWR0aDozNWVtO2xpbmUtaGVpZ2h0OjEuNWVtO2ZvbnQtZmFtaWx5Oi1hcHBsZS1zeXN0ZW0sQmxpbmtNYWNTeXN0ZW1Gb250LHNhbnMtc2VyaWY7d29yZC13cmFwOmJyZWFrLXdvcmQ7fUBtZWRpYShwcmVmZXJzLWNvbG9yLXNjaGVtZTogZGFyayl7Ym9keXtjb2xvcjp3aGl0ZTtiYWNrZ3JvdW5kLWNvbG9yOmJsYWNrO319PC9zdHlsZT4gPGEgdGFyZ2V0PSJfdG9wIiBpZD0ibGluayIgbmFtZT0ibGluayIgc3R5bGU9ImRpc3BsYXk6IGJsb2NrOyBvdmVyZmxvdy13cmFwOiBicmVhay13b3JkOyBzY3JvbGwtYmVoYXZpb3I6IHNtb290aDsiPjxkaXYgaWQ9ImljaGVjayIgc3R5bGU9Im1hcmdpbi10b3A6LTd2dzsiPgoKCiZuYnNwOzxzdHlsZT4gLmxpbmUge2JhY2tncm91bmQ6IGJsYWNrO29wYWNpdHk6IDAuNTtoZWlnaHQ6IDQuNXB4Oy13ZWJraXQtYm94LXNoYWRvdzogMnB4IC0ycHggM3B4IGRpbWdyZXk7Ym94LXNoYWRvdzogMnB4IC0ycHggM3B4IGRpbWdyZXk7d2lkdGg6IDAlO3Bvc2l0aW9uOiBmaXhlZDtib3R0b206IDA7bGVmdDowO2FsaWduOmNlbnRlcjt6LWluZGV4Ojg7fcKgIMKgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogOS45aW4pIHsgLnFyaW1nIHthbGlnbjogcmlnaHQ7cmlnaHQ6MDttYXJnaW4tcmlnaHQ6LTMuNSU7bWFyZ2luLWJvdHRvbTotNTAlO3BhZGRpbmctcmlnaHQ6LTEuNSU7d2lkdGg6MzAlO30gLnRvcGJhciB7bWFyZ2luLXRvcDotM3Z3O21hcmdpbi1sZWZ0Oi0zdnc7bWFyZ2luLXJpZ2h0Oi0zdnc7fSAubGluZSB7bWFyZ2luLWxlZnQ6MC41JTthbGlnbjpjZW50ZXI7bGVmdDowO319IEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEwaW4pIHsgLnFyaW1nIHthbGlnbjogcmlnaHQ7bWFyZ2luLWJvdHRvbTotNTAlO3dpZHRoOjIwJTt9LmxpbmUge21hcmdpbi1sZWZ0OjAlO2FsaWduOmNlbnRlcjtsZWZ0OjA7fX3CoCA8L3N0eWxlPiZuYnNwOyA8ZGl2IGNsYXNzPSJsaW5lIiBpZD0ic2Nyb2xsSW5kaWNhdG9yIj48L2Rpdj48L2Rpdj48c2NyaXB0IHNyYz0iaHR0cHM6Ly91bnBrZy5jb20vZW1iZWRkYWJsZS1uZnRzL2Rpc3QvbmZ0LWNhcmQubWluLmpzIj48L3NjcmlwdD48ZGl2IGlkPSJiYWNrZ3JvdW5kIiBzdHlsZT0ibWFyZ2luLWJvdHRvbTotMTV2dzsiPjxsYWJlbD48aDEgc3R5bGU9Im1hcmdpbi1ib3R0b206LTJ2dzsiPjxzcGFuIHN0eWxlPSJsZWZ0OjA7IiBhbGlnbj0ibGVmdCIgaWQ9Im91dHRvcCI+PGRpdiBpZD0idG9wYmFyIiB6LWluZGV4Ojk7PSIiIGNsYXNzPSJ0b3BiYXIiIGFsaWduPSJjZW50ZXIiIHN0eWxlPSJwb3NpdGlvbjpmaXhlZDt0ZXh0LWFsaWduOmNlbnRlcjtiYWNrZ3JvdW5kOiByZ2IoMjU1LDI1MCwyNTApOyBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoNmRlZywgcmdiKDI1NSwyNTUsMjU1LDAuNTApIDAlLCByZ2IoMjU1LDI1NSwyNTUsMC43NSkgMTglLCByZ2IoMjU1LDI1NSwyNTUsMSkgMjUlKTtwYWRkaW5nLXRvcDozMHZ3OyBwYWRkaW5nLWxlZnQ6MTB2dzsgcGFkZGluZy1ib3R0b206LTEwdnc7IHBhZGRpbmctcmlnaHQ6MTB2dzt0b3A6MDtsZWZ0OjUwO3JpZ2h0OjUwO21hcmdpbi10b3A6LTI3LjV2dzttYXJnaW4tbGVmdDotMTQuNXZ3O21hcmdpbi1ib3R0b206LTV2dzttYXJnaW4tcmlnaHQ6LTE2dnc7Ij48aDMgY2xhc3M9Im5hdnQiIGlkPSJuYXZ0IiBhbGlnbj0iY2VudGVyIiBzdHlsZT0icGFkZGluZzoxLjVweCAxLjVweCAxLjUlIDEuNXB4O21hcmdpbjotMC4xJSAxNSUgMCUgMTUlO3otaW5kZXg6OTk7IiByZWw9Im5vcmVmZXJyZXIgbm9vcGVuZXIiIHRhcmdldD0iX2JsYW5rIj5BdG9taWNBc3NldCBHdWlkZSA8c3VwPjxzdWI+KDxiPjxpPldBWCA8c3ViPnZlcnNpb248L3N1Yj48L2k+PC9iPik8L3N1Yj48L3N1cD48L2gzPiA8aHIgc3R5bGU9ImJvcmRlcjoxLjVweCBzb2xpZCBsaWdodGdyZXk7Ym94LXNoYWRvdzoxcHggMXB4IDFweCBzaWx2ZXIgaW5zZXQ7bWFyZ2luLXRvcDotMC43NSU7d2lkdGg6OTglO21hcmdpbi1ib3R0b206LTJ2dzsiPiZuYnNwOyA8ZGl2IGNsYXNzPSJuYXYiIGFsaWduPSJjZW50ZXIiIHN0eWxlPSJvdmVyZmxvdzphdXRvO2RpcmVjdGlvbjpsdHI7bWFyZ2luLWJvdHRvbTotMi4yNSU7c2Nyb2xsLWJlaGF2aW9yOnNtb290aDtzY3JvbGwtYmFyOnRyYW5zcGFyZW50OyB3aGl0ZS1zcGFjZTpub3dyYXA7YnJlYWstd29yZDprZWVwLWFsbDsiPiZuYnNwOzxidXR0b24gY2xhc3M9Im5hdmJ1dHRvbiIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6cmdiKDI1NSwyNTAsMjUwLDAuNzcpO2NvbG9yOmJsYWNrO2JvcmRlcjoxcHggc29saWQgc2lsdmVyO2JveC1zaGFkb3c6MnB4IDJweCA0cHggc2lsdmVyIGluc2V0O3BhZGRpbmc6MCUgMS41JSAwJSAxLjUlO21hcmdpbjotM3Z3IDB2dyAxLjV2dyAwdnc7IiBvbmNsaWNrPSJ3aW5kb3cub3BlbignaHR0cHM6Ly93YXguaW8nKSIgdGFyZ2V0PSJfYmxhbmsiIHJlbD0ibm9vcGVuZXIgbm9yZWZlcnJlciI+R2V0IGEgV2F4IFdhbGxldDwvYnV0dG9uPiZuYnNwOyZuYnNwOzxidXR0b24gY2xhc3M9Im5hdmJ1dHRvbiIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6cmdiKDI1NSwyNTAsMjUwLDAuNzcpO2NvbG9yOmJsYWNrO2JvcmRlcjoxcHggc29saWQgc2lsdmVyO2JveC1zaGFkb3c6MnB4IDJweCA0cHggc2lsdmVyIGluc2V0O3BhZGRpbmc6MCUgMS41JSAwJSAxLjUlO21hcmdpbjotM3Z3IDB2dyAxLjV2dyAwdnc7IiBvbmNsaWNrPSJ3aW5kb3cub3BlbignaHR0cHM6Ly9hbGwtYWNjZXNzLndheC5pbycpIiB0YXJnZXQ9Il9ibGFuayIgcmVsPSJub29wZW5lciBub3JlZmVycmVyIj5XYXggQ2xvdWQgV2FsbGV0IDxzdXA+PHN1Yj4oZ3JlYXQgZm9yIHN0YXJ0ZXJzKTwvc3ViPjwvc3VwPjwvYnV0dG9uPiZuYnNwOyZuYnNwOzxidXR0b24gY2xhc3M9Im5hdmJ1dHRvbiIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6cmdiKDI1NSwyNTAsMjUwLDAuNzcpO2NvbG9yOmJsYWNrO2JvcmRlcjoxcHggc29saWQgc2lsdmVyO2JveC1zaGFkb3c6MnB4IDJweCA0cHggc2lsdmVyIGluc2V0O3BhZGRpbmc6MCUgMS41JSAwJSAxLjUlO21hcmdpbjotM3Z3IDB2dyAxLjV2dyAwdnc7IiBvbmNsaWNrPSJ3aW5kb3cub3BlbignaHR0cHM6Ly93YXguYXRvbWljaHViLmlvL2NyZWF0b3InKSIgdGFyZ2V0PSJfYmxhbmsiIHJlbD0ibm9vcGVuZXIgbm9yZWZlcnJlciI+QXRvbWljaHViIChjcmVhdG9yKTwvYnV0dG9uPiZuYnNwOyZuYnNwOzxidXR0b24gY2xhc3M9Im5hdmJ1dHRvbiIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6cmdiKDI1NSwyNTAsMjUwLDAuNzcpO2NvbG9yOmJsYWNrO2JvcmRlcjoxcHggc29saWQgc2lsdmVyO2JveC1zaGFkb3c6MnB4IDJweCA0cHggc2lsdmVyIGluc2V0O3BhZGRpbmc6MCUgMS41JSAwJSAxLjUlO21hcmdpbjotM3Z3IDB2dyAxLjV2dyAwdnc7IiBvbmNsaWNrPSJ3aW5kb3cub3BlbignaHR0cHM6Ly93YXguYmxva3MuaW8vJykiIHRhcmdldD0iX2JsYW5rIiByZWw9Im5vb3BlbmVyIG5vcmVmZXJyZXIiPldheCBCbG9rcy5pbzwvYnV0dG9uPiZuYnNwOyZuYnNwOzxidXR0b24gY2xhc3M9Im5hdmJ1dHRvbiIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6cmdiKDI1NSwyNTAsMjUwLDAuNzcpO2NvbG9yOmJsYWNrO2JvcmRlcjoxcHggc29saWQgc2lsdmVyO2JveC1zaGFkb3c6MnB4IDJweCA0cHggc2lsdmVyIGluc2V0O3BhZGRpbmc6MCUgMS41JSAwJSAxLjUlO21hcmdpbjotM3Z3IDB2dyAxLjV2dyAwdnc7IiBvbmNsaWNrPSJ3aW5kb3cub3BlbignaHR0cHM6Ly93YXguYmxva3MuaW8vYWNjb3VudC9hdG9taWNkcm9wc3g/bG9hZENvbnRyYWN0PXRydWUmYW1wO3RhYj1BY3Rpb25zJmFtcDthY2NvdW50PWF0b21pY2Ryb3BzeCZhbXA7c2NvcGU9YXRvbWljZHJvcHN4JmFtcDtsaW1pdD0xMDAmYW1wO2FjdGlvbj1jcmVhdGVkcm9wJykiIHRhcmdldD0iX2JsYW5rIiByZWw9Im5vb3BlbmVyIG5vcmVmZXJyZXIiPkZpbmQgQXRvbWljZHJvcHN4PC9idXR0b24+Jm5ic3A7Jm5ic3A7PGJ1dHRvbiBjbGFzcz0ibmF2YnV0dG9uIiBzdHlsZT0iYmFja2dyb3VuZC1jb2xvcjpyZ2IoMjU1LDI1MCwyNTAsMC43Nyk7Y29sb3I6YmxhY2s7Ym9yZGVyOjFweCBzb2xpZCBzaWx2ZXI7Ym94LXNoYWRvdzoycHggMnB4IDRweCBzaWx2ZXIgaW5zZXQ7cGFkZGluZzowJSAxLjUlIDAlIDEuNSU7bWFyZ2luOi0zdncgMHZ3IDEuNXZ3IDB2dzsiIG9uY2xpY2s9IndpbmRvdy5vcGVuKCdodHRwczovL3dheC5ibG9rcy5pby9hY2NvdW50L2JsZW5kZXJpemVyeD9sb2FkQ29udHJhY3Q9dHJ1ZSZhbXA7dGFiPUFjdGlvbnMmYW1wO2FjY291bnQ9YmxlbmRlcml6ZXJ4JmFtcDtzY29wZT1ibGVuZGVyaXplcngmYW1wO2xpbWl0PTEwMCZhbXA7YWN0aW9uPWNyZWF0ZWJsZW5kJykiIHRhcmdldD0iX2JsYW5rIiByZWw9Im5vb3BlbmVyIG5vcmVmZXJyZXIiPkZpbmQgQmxlbmRlcmlzZXJ4PC9idXR0b24+Jm5ic3A7Jm5ic3A7PGJ1dHRvbiBjbGFzcz0ibmF2YnV0dG9uIiBzdHlsZT0iYmFja2dyb3VuZC1jb2xvcjpyZ2IoMjU1LDI1MCwyNTAsMC43Nyk7Y29sb3I6YmxhY2s7Ym9yZGVyOjFweCBzb2xpZCBzaWx2ZXI7Ym94LXNoYWRvdzoycHggMnB4IDRweCBzaWx2ZXIgaW5zZXQ7cGFkZGluZzowJSAxLjUlIDAlIDEuNSU7bWFyZ2luOi0zdncgMHZ3IDEuNXZ3IDB2dzsiIG9uY2xpY2s9IndpbmRvdy5vcGVuKCdodHRwczovL3dheC5ibG9rcy5pby9hY2NvdW50L2F0b21pY3BhY2tzeD9sb2FkQ29udHJhY3Q9dHJ1ZSZhbXA7dGFiPUFjdGlvbnMmYW1wO2FjY291bnQ9YXRvbWljcGFja3N4JmFtcDtzY29wZT1hdG9taWNwYWNrc3gnKSIgdGFyZ2V0PSJfYmxhbmsiIHJlbD0ibm9vcGVuZXIgbm9yZWZlcnJlciI+RmluZCBBdG9taWNwYWNrc3g8L2J1dHRvbj4mbmJzcDsmbmJzcDs8YnV0dG9uIGNsYXNzPSJuYXZidXR0b24iIHN0eWxlPSJiYWNrZ3JvdW5kLWNvbG9yOnJnYigyNTUsMjUwLDI1MCwwLjc3KTtjb2xvcjpibGFjaztib3JkZXI6MXB4IHNvbGlkIHNpbHZlcjtib3gtc2hhZG93OjJweCAycHggNHB4IHNpbHZlciBpbnNldDtwYWRkaW5nOjAlIDEuNSUgMCUgMS41JTttYXJnaW46LTN2dyAwdncgMS41dncgMHZ3OyIgb25jbGljaz0id2luZG93Lm9wZW4oJ2h0dHBzOi8vbmVmdHlibG9ja3MuY29tLycpIiB0YXJnZXQ9Il9ibGFuayIgcmVsPSJub29wZW5lciBub3JlZmVycmVyIj5GaW5kIE5lZnR5Qmxva3M8L2J1dHRvbj4mbmJzcDsmbmJzcDs8YnV0dG9uIGNsYXNzPSJuYXZidXR0b24iIHN0eWxlPSJiYWNrZ3JvdW5kLWNvbG9yOnJnYigyNTUsMjUwLDI1MCwwLjc3KTtjb2xvcjpibGFjaztib3JkZXI6MXB4IHNvbGlkIHNpbHZlcjtib3gtc2hhZG93OjJweCAycHggNHB4IHNpbHZlciBpbnNldDtwYWRkaW5nOjAlIDEuNSUgMCUgMS41JTttYXJnaW46LTN2dyAwdncgMS41dncgMHZ3OyIgb25jbGljaz0id2luZG93Lm9wZW4oJ2h0dHBzOi8vM2RkLmluL2F0b21pY2Fzc2V0cHByJykiIHRhcmdldD0iX2JsYW5rIiByZWw9Im5vb3BlbmVyIG5vcmVmZXJyZXIiPkJ1eSBUaGlzIGFzIGFuIE5GVDwvYnV0dG9uPiZuYnNwOyZuYnNwOzwvZGl2PjwvZGl2Pjxicj48YnI+PGJyPjwvc3Bhbj48L2gxPjwvbGFiZWw+Jm5ic3A7IDxsYWJlbD48aDQgYWxpZ249InJpZ2h0IiBzdHlsZT0icmlnaHQ6MDsiPjxzcGFuIGFsaWduPSJyaWdodCIgc3R5bGU9InJpZ2h0OjA7IiBpZD0ib3V0bWlkIj48YnI+PGJyPkNyZWF0aW5nIE5GVHMgZm9yIEFsbW9zdCBBbnkgT2NjYXNzaW9uPGJyPjxicj5TZWN0aW9uIDE8L3NwYW4+PGhyIHN0eWxlPSJtYXJnaW4tYm90dG9tOi0zdnc7Ij48L2g0PjwvbGFiZWw+CiZuYnNwOyAmbmJzcDs8c3BhbiBhbGlnbj0iY2VudGVyIiBpZD0iaW1nMSIgc3R5bGU9IndpZHRoOjk2dnc7cmlnaHQ6NTA7bGVmdDo1MDtoZWlnaHQ6YXV0bzsiPjxpbWcgc3JjPSJodHRwczovL2ltYWdlcy5wZXhlbHMuY29tL3Bob3Rvcy82MzkzMzcwL3BleGVscy1waG90by02MzkzMzcwLmpwZWciIHN0eWxlPSJ3aWR0aDo5OSU7IiBhbGlnbj0iY2VudGVyIj48L3NwYW4+CjxsYWJlbD48aDQgc3R5bGU9ImZvbnQtd2VpZ2h0Om5vcm1hbDsiPjxzcGFuIGlkPSJvdXRvdXQiIHN0eWxlPSJmb250LXdlaWdodDpub3JtYWw7Ij4mbmJzcDsgJm5ic3A7ICZuYnNwOyBUaGlzIGlzIHRoZSBtb3N0IGluZm9ybWF0aXZlIFdheCBCbG9ja2NoYWluIEF0b21pY0Fzc2V0IE5GVCBndWlkZS4gWW91IGNhbiBnbyBmcm9tIG5ldmVyIG1pbnRlZCB0byBtaW50aW5nIHNlbWktcHJvIHdpdGggdGhpcyAxIHNpbmdsZSBpbnRlcmFjdGl2ZSBhcnRpY2xlLiBFYWNoIHNlY3Rpb27igJlzIGRpZmZpY3VsdHkgaXMgY2xlYXJseSBtYXJrZWQgYmVmb3JlIGl04oCZcyByZWFkYWJsZS4gSWYgeW91IGFyZSB1bnN1cmUgeW91ciBsZXZlbCBvZiBtaW50aW5nIGFiaWxpdGllcyBqdXN0IGdvIGluIG9yZGVyIGFuZCBzZWUgd2hhdCB5b3UgbWF5IGxlYXJuLCB0aXBzIGFuZCB0cmlja3MgYXJlIHNjYXR0ZXJlZCB0aHJvdWdob3V0IHRoZSBndWlkZS4gRG9u4oCZdCB3b3JyeSwgYWxsIHRoZSB0ZWNobmljYWxzIGluIHRoaXMgc2VjdGlvbiBhcmUgYnJva2VuIHVwIGludG8gc21hbGwgZnJhZ21lbnRzIHRvIG1ha2UgaXQgZWFzaWVyIHRvIGdyYXNwLiAgWW91IHdpbGwgYmUgYWJsZSB0byBtaW50IHlvdXIgb3duIE5GVHMgYXMgd2VsbCBhcyBiZSBhYmxlIHRvIGRvIHNvbWUgcHJldHR5IGZ1biBzdHVmZiBpbmNsdWRpbmcgbWludGluZyBvbiBkZW1hbmQgYW5kIE5GVCBibGVuZGluZy4gTGV04oCZcyBwdXQgeW91ciB3b3JyeSB0byBlYXNlIGFuZCBnaXZlIHlvdSB0aGUgM0QgZXhwZXJpZW5jZSB3aXRoIEF0b21pY0Fzc2V0IE5GVHMhPGJyPiZuYnNwOyAmbmJzcDsgJm5ic3A7IFRvIHB1dCB3aGF0IGFuIE5GVCBpcyBpbnRvIGEgYml0IG1vcmUgdW5kZXJzdGFuZGFibGUgZm9ybWF0LCBORlRzIGFyZSBzdHJpbmdzIG9mIGNoYXJhY3RlcnMgdG8gcmVwcmVzZW50LCBkZWxpdmVyIG9yIGNvbnRhaW4gZGF0YSBmb3IgdGhlIHVzZXIuIFRoYXTigJlzIHdoYXQgYW4gTkZUIGlzIGJ1dCB3aGF0IGFuIE5GVCBkb2VzIGlzIHdoYXQgbW9zdCBwZW9wbGUgYXJlIGZhbWlsaWFyIHdpdGguPGJyPgo8aDEgYWxpZ249ImNlbnRlciIgc3R5bGU9IuKAmXRleHQtc2hhZG93OjJweCIgMnB4PSIiIDRweD0iIiBkaW1ncmV5O+KAmT0iIj48Yj5ORlRzIGFyZSBzdHJpbmdzIG9mIGNoYXJhY3RlcnMgdGhhdCBlaXRoZXIgcmVwcmVzZW50LCBkZWxpdmVyIG9yIGNvbnRhaW4gZGF0YSBmb3IgdGhlIHVzZXIuPC9iPjxicj48L2gxPjxoMyBhbGlnbj0iY2VudGVyIj48aT48Yj4zREM0PC9iPjwvaT48Yj4gaXMgYSBzdHJpbmcgb2YgY2hhcmFjdGVycywgPGk+M0RDNDwvaT4gaXMgbGlrZSBhbiA8aT5ORlQ8L2k+PC9iPjwvaDM+PGJyPgombmJzcDsgJm5ic3A7ICZuYnNwOyA8aT4zREM0PC9pPiBkb2VzbuKAmXQgc2VlbSB0byBjb250YWluIGRhdGEgYnV0IGl0IGRvZXMsIGZvciBleGFtcGxlLCBteSBuaWNrbmFtZSA8cT48Yj4zRDwvYj48L3E+IGlzIHByZXNlbnQgYXMgd2VsbCBhcyA8cT48Yj5DNDwvYj48L3E+IHdoaWNoIGlzIHRoZSByZXByZXNlbnRhdGlvbiBvZiA8aT4zRDwvaT4gYmVjYXVzZSBEIGlzIHRoZSA0dGggY2hhcmFjdGVyIGluIHRoZSBhbWVyaWNhbiBhbHBoYWJldCB3aGlsZSBDIGlzIHRoZSAzcmQgYnV0IHRoYXQgbWVhbnMgM0QgaXMgZXF1YWwgdG8gQzQuIERvbuKAmXQgZm9yZ2V0IDxpPkM0PC9pPiBpcyB0aGUgbmFtZSBvZiBhIHR5cGUgb2YgZXhwbG9zaXZlLiBJbiB0dXJuLCA8aT4zREM0PC9pPiBkZWxpdmVycyB0aGUgbmFtZXMsIDNE4oCdIGFuZCDigJxDNOKAnSwgd2hpbGUgcmVwcmVzZW50aW5nIGVhY2ggb3RoZXIgaW4gcGVyZmVjdCBvcHBvc2l0ZSBhbHBoYW51bWVyaWMgdW5pc2Vuc2UuIEFsdGhvdWdoIHlvdSBtYXkgbm90IHBheSBhIGZldyB0aG91c2FuZCBVUyBmb3IgdGhlIHN0cmluZywgM0RDNCwgdGhlcmUgYXJlIHN0cmluZ3Mgb2YgY2hhcmFjdGVycyB0aGF0IHBlb3BsZSBoYXZlIHBhaWQgaW50byB0aGUgbWlsbGlvbnMgb2YgZG9sbGFycyBmb3IgYmVjYXVzZSB0aGUgaW1hZ2UgdGhhdCBpcyBkZWxpdmVyZWQgYnkgdGhpcyBzdHJpbmcgb2YgY2hhcmFjdGVycyB3YXMgbWFkZSBieSBhIHZlcnkgZmFtb3VzIGFydGlzdC4gVGhlIGJlc3Qgc2VsbGluZyBORlQgd2FzIGJ5IHRoZSBpbnRlcm5ldCBmYW1vdXMgYXJ0aXN0LCA8aT5CZWVwbGU8L2k+IGZvciBvdmVyIDYwIG1pbGxpb24gZG9sbGFycy48YnI+Jm5ic3A7ICZuYnNwOyAmbmJzcDsgVGhlIHN0cmluZyBmb3IgdGhpcyBiZWVwbGUgY3JlYXRlZCBORlQgZGVsaXZlcnMgZGF0YSBmcm9tIGEgc2VydmVyLCBtb3N0IGxpa2VseSBJUEZTICg8aT48Yj5JPC9iPm50ZXI8Yj5QPC9iPmxhbnRlcnkgPGI+RjwvYj5pbGUgPGI+UzwvYj55c3RlbTwvaT4pLCB3aGVyZSB0aGUgaW1hZ2UgaXMgaG9zdGVkLiBWZXJ5IGZldyBORlQgaW1hZ2VzLCB2aWRlb3MsIGdpZnMgYXJlIGhvc3RlZCBieSB0aGUgYmxvY2tjaGFpbiB0aGV5IHJlc2lkZSBpbi4gVGhlIHN0cmluZyB0aGF0IHJlcHJlc2VudHMgdGhlIE5GVCBvbiB0aGUgYmxvY2tjaGFpbiBpcyBvbiB0aGUgYmxvY2tjaGFpbiBhbmQgdGhlIGNvbnRyYWN0IHRoYXQgdGhlIE5GVCBpcyB1dGlsaXppbmcgdG8gZXhpc3Qgb3IgdG8gaW50ZXJhY3Qgd2l0aCBtb3N0IGxpa2VseSBpcyBvbiB0aGUgYmxvY2tjaGFpbiBidXQgaW50ZXJhY3RpbmcgY29udHJhY3RzIGFyZSBub3QgYWx3YXlzIG9uIGNoYWluLiBXaGF0IHRoaXMgbWVhbnMgaXMgdGhlIGRhdGEgaXNu4oCZdCBob3N0ZWQgb24tY2hhaW4gc28gaG9zdGluZyBpcyBzdGlsbCBuZWVkaW5nIHRvIGJlIGRvbmUgYnkgdGhlIE5GVCBjcmVhdG9yLiBCYXNlZCBvbiBob3cgdGhlIE5GVCBjcmVhdGlvbiBwbGF0Zm9ybSB3b3JrcyB3aXRoIGl04oCZcyB1c2VycywgeW91IG5lZWQgdG8gZGV0ZXJtaW5lIHlvdXIgaG9zdGluZyBuZWVkcy4gQmVjYXVzZSB0aGlzIGlzIGFuIEF0b21pY0Fzc2V0cyBndWlkZSwgd2Ugd2lsbCBiZSBzdG9yaW5nIG91ciBkYXRhIHdpdGggPGI+SVBGUzwvYj4gYW5kIHRoZSBtb3N0IGNvbW1vbiBwbGFjZSB3aXRoIHRoZSBwZXJmZWN0IHNldHVwIGZvciA8aT5BdG9taWNBc3NldHM8L2k+IGlzIDxhIGhyZWY9Imh0dHBzOi8vcGluYXRhLmNsb3VkIiBzdHlsZT0idGV4dC1kZWNvcmF0aW9uOm5vbmU7IiB0YXJnZXQ9IuKAmV9ibGFua+KAmSIgcmVsPSLigJlub3JlZmVycmVyIiBub29wZW5lcuKAmT0iIj48Yj5QaW5hdGEgQ2xvdWQ8c3VwPio8L3N1cD48L2I+PC9hPi4gVGhlcmXigJlzIHRvbnMgb2Ygd2F5cyB0byBzdG9yZSB5b3VyIGRhdGEgdG8gSVBGUyBhbmQgUGluYXRhIENsb3VkIGhhcyBhIHNldHVwIHRoYXQgd29ya3MgcGVyZmVjdGx5IHdpdGggdGhlICBBdG9taWNBc3NldCBORlRzIHlvdSB3aWxsIGJlIGJ1aWxkaW5nIHdpdGggdGhpcyBndWlkZS4KPGhyPgo8ZGl2IGFsaWduPSJjZW50ZXIiIHN0eWxlPSJhbGlnbjpjZW50ZXI7Ij4KPGJ1dHRvbiBpZD0ic3RlcDAiIG9uY2xpY2s9ImRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCZxdW90OzBzdGVwJnF1b3Q7KS5zdHlsZT0mcXVvdDtkaXNwbGF5OmJsb2NrJnF1b3Q7O3RoaXMuc3R5bGU9JnF1b3Q7ZGlzcGxheTpub25lJnF1b3Q7OyIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6bGlnaHRncmVlbjtjb2xvcjpibGFjaztib3JkZXI6MnB4IHNvbGlkIGdyZWVuOyIgdmFsdWU9Ik5ldmVyJm5ic3A7TWludGVkIj5OZXZlciZuYnNwO01pbnRlZDwvYnV0dG9uPgoKPGRpdiBpZD0iMHN0ZXAiIHN0eWxlPSJkaXNwbGF5Om5vbmU7Ij4KJm5ic3A7ICZuYnNwOyAmbmJzcDsgQXRvbWljQXNzZXQgTkZUIEJhc2ljcyB3aWxsIGdldCB5b3Ugc3RhcnRlZCBvbiB0aGUgcHJvY2VzcyBmb3IgbWludGluZyBhcyB3ZWxsIHNvbWUgaGVscCBpbiBmaW5kaW5nIGhvc3RpbmcgbG9jYXRpb25zIGJ1dCBtb3N0IGltcG9ydGFudGx5IGlmIHlvdSBmb2xsb3cgdGhlIHN0ZXBzIHlvdSBjYW4gbWludCB5b3VyIGZpcnN0IE5GVCBlZmZlY3RpdmVseS4gIEF0b21pY0Fzc2V0IE5GVHMgYXJlIG1pbnRlZCB3aXRoIHRlbXBsYXRlcyBmcm9tIHNjaGVtYXMgaW5zaWRlIGEgY29sbGVjdGlvbiBidXQgYmVmb3JlIHdlIGNhbiBzZXQgYW55IG9mIHRoYXQgdXAgd2UgbmVlZCBhIHdhbGxldCBhZGRyZXNzLCBzbyBsZXTigJlzIGdldCBhIHdhbGxldCBhZGRyZXNzLjxicj4mbmJzcDsgJm5ic3A7ICZuYnNwOyBXaXRoIGNyeXB0b2N1cnJlbmNpZXMgYW5kIHNvbWUgZGlnaXRhbCBjdXJyZW5jaWVzIHlvdSBuZWVkIGEgd2F5IHRvIGhvbGQgeW91ciBwcml2YXRlIGtleXMgYXMgd2VsbCBhcyBpbnRlcmFjdCB3aXRoIHRoZSBibG9ja2NoYWluIGluIHNvbWUgd2F5LiBOb3ctYS1kYXlzIGEgd2FsbGV0IHdpbGwgZ2l2ZSB5b3UgdGhlIGJhc2ljIHdheXMgdG8gZG8gdGhpcyBvciBhdCB0aGUgbGVhc3QgaG9sZCB5b3VyIGZ1bmRzIGZvciB5b3UuIFRoZSBvZmZsaW5lIHdhbGxldHMgYXJlIG1vcmUgc2VjdXJlIGFuZCBvbmxpbmUsIGFrYSA8aT5Ib3QgV2FsbGV0czwvaT4sIGFyZSBsZXNzIHNlY3VyZSBidXQgdGVuZCB0byBoYXZlIHRoZWlyIG93biBwZXJrcy4gIFlvdSBjYW4gYWx3YXlzIGNoYW5nZSB3YWxsZXRzIGFuZCBhZGRyZXNz4oCZIGxhdGVyIGJ1dCBpZiB5b3Ugd2FudCBhIHF1aWNrIGZyZWUgbm8tYXBwIHdhbGxldCB0byBnZXQgc3RhcnRlZCBqdXN0IGNsaWNrIDxhIGhyZWY9Imh0dHBzOi8vYWxsLWFjY2Vzcy53YXguaW8vIiB0YXJnZXQ9IuKAmV9ibGFua+KAmSIgc3R5bGU9InRleHQtZGVjb3JhdGlvbjpub25lOyI+aGVyZSB0byB2aXNpdCwgV2F4IENsb3VkIFdhbGxldDxzdXA+Kjwvc3VwPjwvYT4uIFlvdSBjYW4gYWxzbyB1c2UgdGhlIHJlc291cmNlcyBhdCA8YSBocmVmPSJodHRwczovL3dheC5pby8iIHRhcmdldD0i4oCZX2JsYW5r4oCZIiBzdHlsZT0idGV4dC1kZWNvcmF0aW9uOm5vbmU7IiByZWw9IuKAmW5vcmVmZXJyZXIiIG5vb3BlbmVy4oCZPSIiPldheC5pbzxzdXA+Kjwvc3VwPjwvYT4sIGV2ZXJ5b25lIGVsc2UgaGF2ZSBmdW4gZ2V0dGluZyB5b3VyIGZhdm9yaXRlIHdhbGxldCByZWFkeSBmb3IgdGhlIG5leHQgc3RlcHMuIEp1c3QgcmVtZW1iZXIgMkZBIGlzIGdyZWF0IGZvciB0aGUgV2F4IENsb3VkIFdhbGxldCBiZWNhdXNlIGl0IGlzIGEgaG90IHdhbGxldCBhbmQgMkZBIHdpbGwgaW5jcmVhc2UgeW91ciBzZWN1cml0eSB3aGVuIHVzZWQgd2VsbC4KPG9sPkFkZGluZyBBdHRyaWJ1dGVzOiA8aT5CYXNpY2FsbHkgd2UgYXJlIGFkZGluZyBhdHRyaWJ1dGVzIHRvIHRoZSBORlQgdG8gZGlzcGxheSB3aXRoLiBTbyB0aGUgbGVmdCBzaWRlIG9mIGV2ZXJ5IGF0dHJpYnV0ZSBuZWVkcyB0byBiZSBsb3dlcmVkIGNhc2UsIG5vIGNhcHMuIFRoZSByaWdodCBzaWRlIHdpbGwgZGV0ZXJtaW5lIHdoYXQgdHlwZSBvZiBkYXRhIGNhbiBhcHBlYXIgdGhlcmUgbGlrZTogPGI+aW1hZ2VzLCBJUEZIIGhhc2gsIGJvb2xlYW4gKDEgb3IgMCkgb3IgbnVtYmVyczwvYj4uPC9pPjwvb2w+CjxvbD5BZGRpbmcgSW1hZ2VzOiA8aT5BZGRpbmcgaW1hZ2VzIHlvdSB3aWxsIHVzZSBhbiBhdHRyaWJ1dGUgd2l0aCDigJxpbWFnZeKAnSBmb3IgdGhlIHJpZ2h0IHNpZGUgc2VsZWN0aW9uIGJ1dCB5b3XigJlsbCBvbmx5IGRyb3AgeW91ciBQaW5hdGEgQ2xvdWQgb3IgSVBGUyBIYXNoIHRoZXJlLiBUaGUgd2Vic2l0ZSB3aWxsIGdhdGhlciB0aGUgaW1hZ2UgZnJvbSB0aGUgSVBGUyBoYXNoIHNvIHdoYXQgaW1hZ2UgaXMgc2V0IHRvIHRoYXQgaGFzaCBpcyB3aGF0IHdpbGwgc2hvdyB1cC48L2k+PC9vbD4KPG9sPkFkZGluZyBWaWRlb3M6IDxpPkFkZGluZyB2aWRlb3MgeW91IHdpbGwgdXNlIGFuIGF0dHJpYnV0ZSB3aXRoIOKAnElQRlMgSGFzaOKAnSBmb3IgdGhlIHJpZ2h0IHNpZGUgc2VsZWN0aW9uIGFuZCBmb3IgdGhlIGxlZnQgc2lkZSBzZWxlY3Rpb24geW914oCZbGwgbmVlZCDigJx2aWTigJ0gb3Ig4oCcdmlkZW/igJ0uIFlvdSBjYW4gYWRkIG51bWJlcnMgaWYgeW91IGhhdmUgbXVsdGlwbGUgdmlkZW9zLiBOb3QgYWxsIHdvcmRzIGxpa2Ug4oCcZmlsbeKAnSB3aWxsIHdvcmsgZm9yIHRoZSB2aWRlbyB0byBvdXRwdXQuIExpa2UgdGhlIGltYWdlcywgeW914oCZbGwgb25seSBkcm9wIHRoZSBJUEZTIGhhc2ggb2YgeW91ciB2aWRlbyBpbiB0aGUgcmlnaHQgc2lkZSBzZWxlY3Rpb24gZHVyaW5nIHRoZSB0ZW1wbGF0ZSBjcmVhdGlvbiBwcm9jZXNzLjwvaT48L29sPgogPG9sPkFkZGluZyBBdWRpby9NdXNpYzogPGk+QWRkaW5nIGF1ZGlvIHlvdSB3aWxsIHVzZSBhbiBhdHRyaWJ1dGUgd2l0aCDigJxJUEZTIEhhc2jigJ0gZm9yIHRoZSByaWdodCBzaWRlIHNlbGVjdGlvbiBhbmQgZm9yIHRoZSBsZWZ0IHNpZGUgc2VsZWN0aW9uIHlvdeKAmWxsIG5lZWQg4oCcdmlk4oCdIG9yIOKAnHZpZGVv4oCdLiBZb3UgY2FuIGFkZCBudW1iZXJzIGlmIHlvdSBoYXZlIG11bHRpcGxlIGF1ZGlvIHRyYWNrcyBpbiB0aGUgc2FtZSBORlQuIE5vdCBhbGwgd29yZHMgbGlrZSDigJxzb25n4oCdLCAiYXVkaW8iLCAic291bmQiIHdpbGwgd29yayBmb3IgdGhlIGF1ZGlvIHRvIG91dHB1dC4gTGlrZSB0aGUgdmlkZW9zLCB5b3XigJlsbCBvbmx5IGRyb3AgdGhlIElQRlMgaGFzaCBvZiB5b3VyIGF1ZGlvIGluIHRoZSByaWdodCBzaWRlIHNlbGVjdGlvbiBkdXJpbmcgdGhlIHRlbXBsYXRlIGNyZWF0aW9uIHByb2Nlc3MuIEVzc2VudGlhbGx5LCBhdWRpbyBpcyBsb29rZWQgYXQgYXMgYSB2aWRlbyBqdXN0IHdpdGhvdXQgYSBwaWN0dXJlIHRvIHNob3cuPC9pPjwvb2w+CjxvbD5BZGRpbmcgQm9va3MvRS1Cb29rczogPGk+QWRkaW5nIEJvb2tzIGxpa2UgZS1ib29rcyB5b3Ugd2lsbCB1c2UgYW4gYXR0cmlidXRlIHdpdGgg4oCcaW1hZ2XigJ0gZm9yIHRoZSByaWdodCBzaWRlIHNlbGVjdGlvbi4gRm9yIHRoZSBsZWZ0IHNpZGUgc2VsZWN0aW9uIHdvcmRzIGxpa2UsIOKAnHBhZ2XigJ0gYW5kIOKAnHBn4oCdIHdvcmsgYmVzdCBhbmQgb2YgY291cnNlIHlvdSBjYW4gYWRkIG51bWJlcnMgYXQgdGhlIGVuZCBvZiB0aGUgd29yZHMuIElmIGFkZGluZyBhbiBhdWRpbyBmaWxlIG9mIHRoZSBib29rIGJlaW5nIHJlYWQsIHRyZWF0IHRoZSBhdWRpbyBhcyBhIHZpZGVvLiBJZiBhZGRpbmcgYSBQREYgdG8gSVBGUywgdXNlIOKAnHBkZuKAnSBpbnN0ZWFkIG9mIOKAnFBERuKAnSBiZWNhdXNlIG5vLWNhcHMgaW4gdGhlIGxlZnQgc2lkZSBzZWxlY3Rpb24gaW4gdGhlIHNjaGVtYXMuIE1hbnkgcGVvcGxlIGFkZCB0aGUgUERGIGFzIGEgbGluayB2aWEgYSBRUiB3aXRoIOKAnHBpY+KAnSBhcyB0aGUgbGVmdCBzaWRlIHNlbGVjdGlvbi4gVGhlIHVzZXIgc2NhbnMgdGhlIFFSIHRvIGFjY2VzcyB0aGUgYm9vay4gVXNlIGEgbG9ja2VkIGxpbmsgbGlrZSA8YSBocmVmPSJodHRwczovL2pzdHJpZWIuZ2l0aHViLmlvL2xpbmstbG9jay9jcmVhdGUiIHRhcmdldD0i4oCZX2JsYW5r4oCZIiByZWw9IuKAmW5vcmVmZXJyZXIiIG5vb3BlbmVy4oCZPSIiIHN0eWxlPSJ0ZXh0LWRlY29yYXRpb246bm9uZTsiPkpzdHJpZWLigJlzLCA8c3VwPiogQ2xpY2sgSGVyZSB0byBWaXNpdCBKc3RyaWVi4oCZcyBMaW5rLUxvY2sgKjwvc3VwPjwvYT4gd2l0aCBpbmZvIGZyb20gdGhlIE5GVCBhcyBhIGxvY2sgcGFzc3dvcmQsIGluY2x1ZGluZyBhZGRpbmcgYSDigJxwc3PigJ0gZm9yIHBhc3N3b3JkIGF0dHJpYnV0ZSB3aXRoIOKAnHRleHTigJ0gYXMgdGhlIHJpZ2h0IGhhbmQgc2VsZWN0b3IuPC9pPjwvb2w+PGJyPiZuYnNwOyAmbmJzcDsgJm5ic3A7IEF0IHRoZSBlbmQgb2YgdGhlIGRheSB5b3VyIGRhdGEgaGFzIHRvIGZpdCBvbmUgb2YgYSBmZXcgY2F0ZWdvcmllczogPGk+PGI+aW1hZ2U8L2I+IChpbmNsdWRlcyBnaWZzKSwgPGI+SVBGUyBIYXNoPC9iPiAobXVsdGkgZm9ybWF0KSwgPGI+VGV4dDwvYj4gKGluY2x1ZGluZyBsaW5rcyksIDxiPkJvb2xlYW48L2I+ICgxIGZvciBZZXMsIDAgZm9yIEZhbHNlKSwgPGI+SW50YWdlcnM8L2I+IChudW1iZXJzKSwgPGI+RmxvYXRpbmcgUG9pbnQgTnVtYmVyPC9iPiAobnVtYmVycyB3aXRoIGRlY2ltYWxzKTwvaT4uICBXaGF0IHlvdSBkbyB3aXRoIHRoZXNlIG9wdGlvbnMgYXJlIHlvdXIgb3duIGJ1dCBoZXJlJ3Mgc29tZSBxdWljayB0aXBzIHRvIGhlbHAgYm9vc3QgaWRlYXMuICBCb29sZWFuIGFuZCBmbG9hdGluZyBwb2ludCBudW1iZXJzIGFyZSBncmVhdCBmb3IgY29udHJhY3RzIHdoaWxlIGV2ZXJ5dGhpbmcgZWxzZSBpcyBncmVhdCBmb3IgdXNlcnMgYW5kIGNyZWF0b3JzLiBEb27igJl0IGxldCBhbGwgdGhlIG9wdGlvbnMgc2NhcmUgeW91LiBJZiB5b3Ugb25seSB1c2UgSVBGUyBIYXNoLCBJbWFnZSBhbmQgVGV4dCB0aGVuIHlvdeKAmXJlIGFtb25nIHRoZSBncmVhdHMgYmVjYXVzZSBtb3N0IE5GVHMgb25seSB1c2UgYSBjb21iaW5hdGlvbiBvZiB0aG9zZSB0aHJlZSBvcHRpb25zLiBPbmNlIHlvdeKAmXZlIGxhaWQgb3V0IHdoYXQgZGF0YSB3aWxsIGJlIGFkZGVkIGludG8gdGhlIG1ldGFkYXRhIG9mIHlvdXIgTkZUcyBmb3IgdGhpcyBzY2hlbWEsIGdpdmUgaXQgYSBuYW1lIHdoaWNoIGlzIG1vcmUgbGlrZSBhIGdlbnJlLiBGb3IgbWFueSBwZW9wbGUgaGVhcmluZyB0aGlzIG1ha2VzIG1vcmUgc2Vuc2UgdGhhbiB0aGUgY29sbGVjdGlvbiBncm91cCwgd2hpY2ggaXQgaXMgYXMgd2VsbC4gV2hlbiBwZW9wbGUgbG9vayBmb3IgeW91ciBORlRzLCB0aGV5IHdpbGwgZ28gZnJvbSBhbGwgTkZUcyB0byB5b3VyIDxpPkNvbGxlY3Rpb24ocyk8L2k+IHRoZW4gdG8geW91ciA8aT5TY2hlbWEocyk8L2k+IG9uY2UgaW4geW91ciBjb2xsZWN0aW9ucy4gU28geW91ciBzY2hlbWEgbmFtZSBzaG91bGQgYm90aCBiZSB3aXRoaW4gdGhlIGxpbmVzIG9mIHlvdXIgY29sbGVjdGlvbiB0aGVtZSBidXQgYXMgd2VsbCBhcyB5b3VyIE5GVOKAmXMgdGhlbWUocykuIElmIHlvdSB3ZXJlIG1pbnRpbmcgbXVzaWMsIHlvdSB3b3VsZCBjYWxsIHNjaGVtYXMgYnkgeW91ciB2YXJpb3VzIGdlbnJlcyBvciBpZiB5b3UgcGVyZm9ybSBsaXZlIGFuZCBub3QtbGl2ZSBtYXliZSBsaXZlIGV2ZW50IE5GVHMgYmUgb25lIHNjaGVtYSBsaWtlLCDigJxsaXZlc25hcHMnJyBhbmQgYW5vdGhlciBzY2hlbWEgbGlrZSwg4oCcc25hcHPigJ0gc28gd2l0aG91dCB0ZWxsaW5nIHlvdXIgY29tbXVuaXR5LCDigJxoZXkgdGhlc2UgYXJlIGZyb20gbGl2ZSBldmVudHMgYW5kIHRoZXNlIGFyZSBub3Qu4oCdIEZpbmFsbHksIGp1c3Qgc2F2ZSB3aGVuIHlvdSBhcmUgcmVhZHkhCjxicj4mbmJzcDsgJm5ic3A7ICZuYnNwOyBXaGV3LCBjcmVhdGVkIGEgY29sbGVjdGlvbiBhbmQgYSBzY2hlbWEsIG5vdyBpdOKAmXMgdGltZSB0byBzZXQgdXAgc29tZSBORlQgdGVtcGxhdGVzISBORlQgdGVtcGxhdGVzIGFsbG93IHRoZSBibG9ja2NoYWluIGludGVyYWN0b3JzIHRvIGZpZ3VyZSBvdXQgZGF0YSBsaWtlLCB3aGljaCBORlQgaXMgd2hpY2ggbWludCBudW1iZXIgYW5kIG90aGVyIGFjdGlvbnMgcGVvcGxlIHRoaW5rIGFyZSBhdXRvbWF0aWMuIE9uIEV0aGVyZXVtIChhIGxlYWRpbmcgTkZUIGhvc3RpbmcgYmxvY2tjaGFpbiksIHRoZXJl4oCZcyBubyBtaW50IG51bWJlcnMgYW5kIHRoYXTigJlzIHJlbGllZCBhbG1vc3QgY29tcGxldGVseSBvbiB0aGUgYXJ0aXN0cy4gVGhlcmUgYXJlIGNhc2VzIHdoZXJlIGV2ZW4ga25vd2luZyB0aGF0IGRhdGEgYW5kIGRlbGl2ZXJpbmcgdGhhdCBkYXRhIGlzIG5lYXJseSBpbXBvc3NpYmxlIHRvIGRvIHNvLCB0aGVzZSB0ZW1wbGF0ZXMgaGVscCBtYWtlIGxpdHRsZSBhY3Rpb25zIHBvc3NpYmxlLiBBbm90aGVyIGdyZWF0IHRoaW5nIGFib3V0IHRlbXBsYXRlcyBpcywgeW91IGNhbiBzZXQgdXAgYW4gTkZUIHRoZW4gbWludCBpdCBsYXRlciBpbmNsdWRpbmcgcGVyZm9ybWluZyB0YXNrcyBsaWtlLCDigJxtaW50aW5nIG9uIGRlbWFuZOKAnSBhbmQg4oCccGFjayBtaW50aW5n4oCdICh0aGF04oCZcyB3aGVuIHRoZXkgY29tZSBpbiBwYWNrcyBhbmQgYnkgb3BlbmluZyB0aGUgcGFjaywgdGhlIHBhY2sgb3BlbmluZyBtaW50cyB0aGUgTkZUcyBuZWVkZWQgb24gZGVtYW5kIGFuZCBsb3dlciBtaW50aW5nIGNvc3RzIGZvciBiaWdnZXIgcHJvamVjdHMpLiBBbG1vc3QgYWxsIG9uLWRlbWFuZCBtaW50aW5nIGxvd2VycyB0aGUgb3ZlcmFsbCBtaW50aW5nIGNvc3QgYnV0IHRoZXNlIGFyZSBtb3JlIGFkdmFuY2VkIE5GVCBpbnRlcmFjdGlvbnMuIFdlIHdpbGwgc3RpY2sgdG8gdGhlIGJhc2ljcywgdGVtcGxhdGUsIG1pbnQsIHNlbGwvZ2l2ZS90cmFkZS48YnI+ICZuYnNwOyAmbmJzcDsgJm5ic3A7IFNvIHdoZW4gYnVpbGRpbmcgYSBuZXcgdGVtcGxhdGUgeW914oCZbGwgbm90aWNlIHlvdSBjYW4gb25seSBpbnB1dCBkYXRhIGJhc2VkIG9uIHdoYXTigJlzIGluIHRoZSBzY2hlbWEgYXQgdGhpcyBwb2ludCBpbiB0aW1lLiBJZiB5b3UgZG9u4oCZdCBpbnB1dCBkYXRhIGNvcnJlY3RseSwgaXQgd2lsbCBlaXRoZXIgbm90IGxldCB5b3Ugc2F2ZSBvciBpdCB3aWxsIGp1c3Qgbm90IGRpc3BsYXkuIE5vdyBpZiB5b3UgaGF2ZSBhIHR5cG8gb3IgbWlzcy1zcGVsbGluZywgdGhlIHN5c3RlbSB3aWxsIG5ldmVyIHRlbGwgeW91IGFib3V0IHRoZXNlIGFuZCB0aGV5IHdpbGwgbm90IHN0b3AgdGhlIHN5c3RlbSBzbyB5b3VyIHR5cG9zIHdpbGwgZ2V0IG1pbnRlZC4gQmUgY2FyZWZ1bCBiZWNhdXNlIGp1c3QgbGlrZSBzY2hlbWFzLCB0ZW1wbGF0ZXMgYXJlIGZvcmV2ZXIuIE5vIGRlbGV0aW5nLiBZb3UgY2FuIGhvd2V2ZXIsIG1pbnQgb3V0IHRoZSBxdWFudGl0eSBvZiBORlRzIGZvciB0aGF0IHRlbXBsYXRlIHRoZW4gYnVybiB0aGUgTkZUcy4gS2lsbGluZyB0aGUgdGVtcGxhdGUgKGVzc2VudGlhbGx5KS4gRmlsbCBvdXQgeW91ciBkYXRhIGFuZCBpZiB5b3Ugd2FudCB0aGlzIHRlbXBsYXRlIHRvIGhhdmUgYSBsaW1pdGF0aW9uIHRvIGhvdyBtYW55IGNhbiBleGlzdCwgaW5wdXQgdGhlIG1heC1udW1iZXIgaW4gdGhlIHRvcC4gSWYgeW91IHdhbnQgYW4gdW5saW1pdGVkIG1pbnQgcG9zc2libGUgb3IgeW91IGRvbuKAmXQga25vdyBob3cgbWFueSB5b3UgbmVlZCwganVzdCBkb27igJl0IGlucHV0IGEgbWF4IHN1cHBseSBudW1iZXIuIFNhdmUgYW5kIHNpZ24gdGhlIHRyYW5zYWN0aW9uIGp1c3QgbGlrZSB3aXRoIHRoZSBjb2xsZWN0aW9uIGFuZCBzY2hlbWEuICBZb3UgaGF2ZW7igJl0IG1pbnRlZCBhbiBORlQgeWV0IGJ1dCB5b3UgYXJlIDEgc3RlcCBhd2F5IGZyb20gaGF2aW5nIHNvbWUgdG8gcHV0IHVwIGZvciBzYWxlIG9yIHdoYXQgeW91IHdpc2ggdG8gZG8gd2l0aCB0aGVtLiBIZWFkIG92ZXIgdG8geW91ciBzY2hlbWEsIG9mdGVudGltZXMgaXTigJlzIGVhc2llciB0byBqdXN0IHRvIGhhdmUgdGhlIHNjaGVtYSBwYWdlIGFscmVhZHkgdXAgaW4gYW5vdGhlciB0YWIvdGFiLWdyb3VwIGFuZCByZWZyZXNoIHRoZW4gaXQgaXMgdG8gZ28gYmFja3dhcmRzICZhbXA7IHJlZnJlc2ggdGhlIHNjaGVtYSBwYWdlLjxicj4gJm5ic3A7ICZuYnNwOyAmbmJzcDsgT25jZSBiYWNrIGludG8gdGhlIHNjaGVtYSB5b3UgY2FuIOKAnE1pbnQgbmV3IEFzc2V04oCdIHRvIGNyZWF0ZSB5b3VyIE5GVChzKS4gSG9wIGluIGFuZCBjbGljayBvbiB3aGF0IHRlbXBsYXRlIHlvdSB3YW50IHRvIHVzZSwgSSBhbHdheXMgc2F5IHNldCB0aGUgdGVtcGxhdGUgZmlyc3QgYmVjYXVzZSBpdOKAmXMgc28gZWFzeSB0byBqdXN0IGZvcmdldCB0byB1c2UgdGhlIHRlbXBsYXRlIGFuZCBub3QgZ2V0IHRoZSBtaW50IG51bWJlcnMgd2l0aCB5b3VyIE5GVC4gTmV4dCBhZGQgdGhlIHdhbGxldCB5b3Ugd2FudCB0byBtaW50IHRvIHVuZGVyICJhc3NldCBvd25lciIsIG1vc3QgdGltZXMgeW91IHdpbGwgd2FudCB0byB1c2UgeW91ciB3YWxsZXQgYWRkcmVzcy4gSWYgeW91IGp1c3QgY2xpY2sgdG8gbWludCwgeW91ciBhZGRyZXNzIHNob3VsZCBiZSB0aGUgYXV0by1zZWxlY3RlZCBhY2NvdW50IGluIHRoZSBhc3NldCBvd25lciBzbG90IGJ1dCBhbHdheXMgZG91YmxlIGNoZWNrLiBBZGQgaG93IG1hbnkgb2YgdGhlc2UgeW91IHdhbnQgdG8gbWludCB0byB0aGF0IHdhbGxldC4gVGhpcyB3aWxsIG1pbnQgdGhlIE5GVHMgdXAgdG8gdGhlIG51bWJlciBvZiBORlRzIHlvdXIgdGVtcGxhdGUgd2lsbCBhbGxvdy4gVGhlcmUgaXMgYSBzb2Z0LWNhcCBvZiAxMDAgTkZUcyB0aGF0IGNhbiBiZSBtaW50ZWQgYXQgYSB0aW1lIGJ1dCB5b3UgY2FuIHJlcGVhdCBhcyBuZWVkZWQuIE5vdyBpZiB5b3UgcGxhbiBvbiByZWxlYXNpbmcgYSBidW5jaCBvZiBORlRzIGZvciBhIHRlbXBsYXRlLCB5b3UgbWF5IHdhbnQgdG8gZG8gYSBEcm9wIHdoaWNoIHdpbGwgbWludCB0aGVzZSBvbiBkZW1hbmQuIFlvdSBjYW4gc3RpbGwgZG8gdGhpcyBwYXJ0IGFuZCBtaW50IHRoZSBmaXJzdCB4LW51bWJlciBvZiBORlRzIHRvIHlvdXJzZWxmIGZvciBhdWN0aW9ucywgZ2l2ZWF3YXlzIGFuZCBhaXJkcm9wcyB0aGVuIGRvIHRoZSBEcm9wIGFmdGVyd2FyZHMuIEl0IGlzIGNvbXBsZW1lbnRhcnkgdG8gbGV0IGJ1eWVycyBkZWNpZGUgd2hvbSBnZXRzIHRoZSBmaXJzdCBtaW50IG51bWJlciAodGhlIGZpcnN0IGJvdWdodCBpbiBhbiBORlQgRHJvcCkuIE9uY2UgeW91IHNpZ24gdGhlIHRyYW5zYWN0aW9uIGFuZCBnZXQgdGhlIGNvbmZpcm1hdGlvbiBoYXNoLCB5b3VyIE5GVHMgc2hvdWxkIGJlIGluIHlvdXIgaW52ZW50b3J5ISBTbywgY2xpY2sgb24gdGhlIHRvcCByaWdodCBjb3JuZXIgYnV0dG9uIHRvIGRyb3Bkb3duIHRoZSBtZW51IGFuZCBjbGljayBvbiB5b3VyIGFjY291bnQgZG93bi1hcnJvdyB0byBmaW5kLCDigJxpbnZlbnRvcnnigJ0gdG8gY2xpY2sgb24gaXQgYW5kIHZpc2l0Ljxicj4mbmJzcDsgJm5ic3A7ICZuYnNwOyBJbiB5b3VyIGludmVudG9yeSB5b3UgY2FuIGZpbmQgdGhlIE5GVHMgeW91IHdhbnQgdG8gc2VsbCBhbmQgd2l0aG91dCBjbGlja2luZyBvbiB0aGUgTkZUIHlvdeKAmWxsIHNlZSBhIGxpdHRsZSBidXR0b24gcGFuZWwgdW5kZXJuZWF0aCBlYWNoIE5GVC4gSW4gdGhhdCBwYW5lbCB5b3Ugc2hvdWxkIHNlZSBhIOKAnExpc3Qgb24gTWFya2V04oCdIGJ1dHRvbiBhbmQgaWYgeW91IGNsaWNrIHRoYXQsIHlvdeKAmWxsIGJlIHByZXNlbnRlZCB3aXRoIGEgbmV3IHNjcmVlbiB3aGVyZSB0aGF0IE5GVCBpcyBwcmVzZWxlY3RlZCBhbmQgeW91IGp1c3QgaW5wdXQgdGhlIHByaWNlIGluIFdBWCB5b3Ugd2FudCBmb3IgdGhlIE5GVC4gQXQgdGhlIGJvdHRvbSB5b3XigJlsbCBzZWUgYSBzZWN0aW9uIHRlbGxpbmcgeW91IHlvdXIgcmV0dXJuIG9uIHRoZSBzYWxlIG9mIHRoYXQgTkZUIG92ZXIgdGhlIEF0b21pY2h1YiBNYXJrZXQuIEltbWVkaWF0ZWx5IGJlbG93IHRoYXQgeW914oCZbGwgc2VlIHRoZSDigJxDb25maXJt4oCdIGJ1dHRvbi4gSWYgeW91ciBORlQgaGFzIHNlY29uZGFyeSBzYWxlcyAoc2FsZXMgYWZ0ZXIgb3JpZ2luYWwgc2FsZSksIHlvdeKAmWxsIHNlZSB0aGF0IGRhdGEgdW5kZXIgdGhlIE5GVCBvbiB0aGlzIHNjcmVlbi4gU29tZXRpbWVzIGEgcHJpY2Ugd2lsbCBiZSBzdWdnZXN0ZWQsIHRyeSBnb2luZyAzNSUgaGlnaGVyIHRoYW4gdGhhdCBwcmljZS48YnI+ICZuYnNwOyAmbmJzcDsgJm5ic3A7IE92ZXJwcmljaW5nIGNhbiBib3RoIGJlIHN0cmF0ZWdpY2FsIGFuZCBhIHBvb3IgZGVjaXNpb24sIHVsdGltYXRlbHkgaXTigJlzIHVwIHRvIHlvdSBvbiB5b3VyIHByaWNlcyBidXQgeW91IGhhdmUgdG8gdGhpbmsgb2YgMyBtYWpvciBmYWN0b3JzIHRvIHNldHRpbmcgaW5pdGlhbCBwcmljaW5nOiA8Yj5EZW1hbmQsIFlvdXIgQXZnIEJ1eWVyIFByaWNlIFJhbmdlLCBSZXNlbGxzPC9iPi4gVGhlIGFtb3VudCBvZiBkZW1hbmQgaW4geW91ciBORlQgc2FsZXMgaXMgdGhlIDFzdCBmYWN0b3IuIElmIHlvdXIgTkZUcyBzaXQgYXJvdW5kLCB0aGV5IG1heSBiZSBvdmVycHJpY2VkLiBJZiB5b3VyIE5GVHMgYXJlIHNlbGxpbmcsIHdoaWNoIGFyZSBzZWxsaW5nIHRoZSBiZXN0PyBXaGljaCBzZXRzIHNlbGwgb3V0IG9yIHdoaWNoIGFyZSB0aGUgZmlyc3QgcGlja2VkIHVwPyBUaGlzIHdpbGwgaGVscCB5b3UgZmluZCB0aGUgcHJpY2UgcmFuZ2UgeW91ciBidXllcnMgYXJlIGJ1eWluZyBhdC4gUHJvZHVjaW5nIGFydCBvciB3b3JrcyBmb3IgeW91ciBORlRzIHRoYXQgYXJlIHdheSBvdmVyIHRoZSBwcmljZSBvZiB3aGF0IHlvdSdyZSB3YW50aW5nIHRvIGdldCwgeW91IGNhbiB0YWtlIGEgc3RyYXRlZ2ljIHJvdXRlIGFuZCBtYWtlIHlvdXIgdmVyeSBmaXJzdCBORlRzIGVpdGhlciB1YmVyIGNoZWFwIGZvciBub3cgYnV5ZXJzIG9yIHJlYWxseSBleHBlbnNpdmUgdG8gbWFrZSB0aGVtIG1vcmUgc291Z2h0IGFmdGVyIHdoZW4gYSBkZW1hbmQgY29tZXMgaW4uIEFmdGVyIHRoYXQgeW91IG5lZWQgeW91ciB3b3JrIHRvIGVpdGhlciB1cGdyYWRlIG9yIHN0YXkgcm91Z2hseSB0aGUgc2FtZS4gUmVzZWxsaW5nIG9mIHlvdXIgTkZUcyBpcyBhIGdvb2QgdGhpbmcgYW5kIG9mdGVudGltZXMgaWYgdGhlIHJpZ2h0IHBlcnNvbiBnZXRzIGEgaG9sZCBvZiB5b3VyIE5GVCB0aGV5IGNhbiBzZWxsIGl0IG9uIHRoZSBzZWNvbmQgbWFya2V0IHdoaWNoIHlvdeKAmWxsIGdldCBhIGN1dCBiYXNlZCBvbiB5b3VyIGNvbGxlY2l0b27igJlzIG1hcmtldCBmZWUgYXQgdGhlIHRpbWUgb2YgY3JlYXRpbmcgdGhlIE5GVC4gUmVzZWxscyBjYW4gYWxzbyBpbmNyZWFzZSB0aGUgdmFsdWUgb2YgeW91ciBjb2xsZWN0aW9uL05GVHMuIFJlc2VsbHMgY2FuIGFsc28gZ2V0IHlvdSBtb3JlIHB1YmxpY2l0eSEgSG9uZXN0bHksIGV2ZXJ5IE5GVCBjcmVhdG9yIHNob3VsZCBob3BlIGZvciBtb3JlIHJlc2VsbHMgdGhlbiBob2RsZXJzLCBpdOKAmXMgYWZ0ZXIgeW91IGdldCBhIGhpZ2ggZGVtYW5kIHdoZXJlIE5GVCBkcm9wcyBzZWxsIG91dCBpbiBtaW51dGVzIG9yIGxlc3MgdGhhdCB5b3UgaG9wZSBmb3IgaG9kbGVycyBiZWNhdXNlIGEgY29uc3RhbnRseSB0cmFkaW5nIE5GVOKAmXMgdmFsdWUgaXMgbW9zdCBvZnRlbiBiYXNlZCBvbiB0aGUgcG9wdWxhcml0eSBvZiAoZGVtYW5kIGZvciBwZW9wbGUgd2FudGluZykgdGhhdCBORlQuIEEgaG9kbGVyLCBpcyBzb21lb25lIHdob20gd2lsbCBob2xkIG9udG8gdGhhdCBhc3NldCBmb3IgbG9uZyBwZXJpb2RzIG9mIHRpbWUgYnVpbGRpbmcgYSBiYXNlIHZhbHVlIGZvciB5b3VyIE5GVHMuPGJyPiZuYnNwOyAmbmJzcDsgJm5ic3A7IE9uY2UgeW91IHN0YXJ0IGdldHRpbmcgZGVtYW5kIGFuZCBzZWxsLW91dCBORlQgZHJvcHMsIHlvdSBtYXkgc3RhcnQgdG8gYXVjdGlvbiBvZmYgbWludCAjMeKAmXMgZm9yIGV4dHJhIHJldHVybnMuIFRvIGRvIGFuIGF1Y3Rpb24sIOKAnExpc3Qgb24gTWFya2V04oCdIHRoZW4gc2VsZWN0IOKAnEF1Y3Rpb27igJ0gaW4gdGhlIHRvcCBzZWxlY3Rpb24gb3B0aW9ucy4gU2VsbGluZyBORlRzIHJlcXVpcmVzIFJBTSB3aXRoIHlvdXIgd2FsbGV0LiBNaW50aW5nIGxpa2UgYWxsIG1ham9yIGNoYWluIGFjdGlvbnMgcmVxdWlyZXMgUkFNIGFuZCBpbiB0aGUgTkZUIGNyZWF0b3IgYXQgYW55IHBvaW50IGluIHRpbWUsIGl0IGRpc3BsYXlzIHlvdXIgUkFNIGFuZCB5b3UgY2FuIGNsaWNrIHRoZSBwbHVzIHN5bWJvbCB0byBidXkgbW9yZSBSQU0gd2hpY2ggaXMgcGFpZCBpbiBXQVguIFdoZW4geW91IHN0YWtlIFdBWCB5b3UgY2FuIGFsc28gc3Rha2UgeW91ciBSQU0gdGhlcmUuIFN0YWtpbmcgdG8geW91ciBDUFUgKG5vcm1hbGx5IGZpcnN0IG9wdGlvbiBpbiBzdGFraW5nKSwgY2FuIGVhcm4geW91IHJldHVybnMgb3ZlciB0aW1lLiBTdGFraW5nIENQVSBpcyBhIGdyZWF0IHdheSB0byBzYXZlIHdheCBmb3IgbGF0ZXIgYW5kIHN0YWtpbmcgdG8gUkFNIGxldHMgeW91IHNlbGwgYW5kIG1pbnQuIFRoaXMgaXMgaG93IE5GVHMgY2FuIGJlIHZlcnkgYWZmb3JkYWJsZS4gU3Rha2UgdG8gdGhlIFJBTSBhbmQgaXQgZ2V0cyB1c2VkIGFzIG5lZWRlZC48YnI+PGJyPiZuYnNwOyAmbmJzcDsgJm5ic3A7IEdldHRpbmcgV2F4IGlzIHByb2JhYmx5IHlvdXIgbGFzdCBzdGVwIGluIHRoaXMgZW5kZWF2b3VyLiBPZnRlbiB0aW1lcyB5b3UgY2FuIGdldCB5b3VyIGZpcnN0IG1pbnQgb3IgdHdvIHdpdGhvdXQgY29zdCBvbiBhdG9taWNodWIgaWYgeW91IGhhdmUgYSB3YXggY2xvdWQgd2FsbGV0IHNvIGdldHRpbmcgc29tZSB3YXggZm9yIHN0YWtpbmcsIFJBTSAmYW1wOyBidXlpbmcgTkZUcyBpcyBsYXN0LiBJZiB5b3UgZ28gdG8gdGhlIDxhIGhyZWY9Imh0dHBzOi8vYWxsLWFjY2Vzcy53YXguaW8iIHRhcmdldD0iX2JsYW5rIiByZWwtIm5vb3BlbmVyPSIiIG5vcmVmZXJyZXIiPSIiIHN0eWxlPSJ0ZXh0LWRlY29yYXRpb246bm9uZTsiPndheC1jbG91ZCB3YWxsZXQgPHN1cD50cnkgY2xpY2tpbmcgaGVyZSAqPC9zdXA+PC9hPiB5b3UgY2FuIGZpbmQgdGhlIGVhc2llc3Qgd2F5cyB0byBidXkgV0FYLiBGb3IgZXhhbXBsZSwgdGhlIDxpPkNoYW5nZU5vdzwvaT4gb3B0aW9uIHRvIGJ1eSBXQVggKGFrYSBXQVhQKSB3aXRoIEVUSCBvciBCVEMgaXNuJ3Qgb2ZmZXJlZCBhbnl3aGVyZSBlbHNlIDxpPkNoYW5nZU5vdzwvaT4gY3J5cHRvIGJ1eWVyIHBvcC11cCBzdG9yZXMuIFRoZXkgYWxzbyBoYXZlIGEgbGFyZ2Uga25vd24gc2VsZWN0aW9uIG9mIGV4Y2hhbmdlcyBsaXN0ZWQgdW5kZXIgdGhlICJCdXkgV0FYUCIgc2VjdGlvbiBvZiB0aGUgY2xvdWQgd2FsbGV0LiBJZiB0aGVyZSdzIGFueSByZWFzb24gdG8gaGF2ZSBhIGNsb3VkIHdhbGxldCwgaXQncyB0byBnZXQgYWNjZXNzIHRvIHRoZSB3YXggYnV5aW5nIHRvb2xzLiBBbmNob3Igd2FsbGV0IGlzIHRoZSBtb3N0IHJlY29tbWVuZGVkIHdhbGxldCBiZXlvbmQgaGFyZHdhcmUgd2FsbGV0cy48YnI+Jm5ic3A7ICZuYnNwOyAmbmJzcDsgVGhhdCdzIGl0LCB5b3UgaGF2ZSB0aGUgYWJpbGl0eSBhbmQgcG9zc2libHkganVzdCBtaW50ZWQgeW91ciBmaXJzdCBORlQgdGhlbiBsaXN0ZWQgaXQgZm9yIHNhbGUhIFRoZXJlJ3Mgb3RoZXIgb3B0aW9ucyBzdGlsbCBhdCB5b3VyIGZpbmdlcnRpcHMgc28gaWYgeW91IGhlYWQgYmFjayB0byB5b3VyIGludmVudG9yeSwgeW91IGNhbiBjbGljayBvbiB0aGUgIm1vcmUiIGJ1dHRvbiB0byByZXZlYWwgc29tZSBmdW4gb3B0aW9ucyB3aXRoaW4gQXRvbWljaHViLjxvbD48Yj5DcmVhdGUgQnVuZGxlPC9iPjogVGhpcyBsZXRzIHlvdSBzZWxsIG11bHRpcGxlIE5GVHMgaW4gYSBzaW5nbGUgdHJhbnNhY3Rpb24uIFNldCB1cCB5b3VyIGJsZW5kIHNldHMsIG9yIG1heWJlIGRvdWJsZSB1cCBwYWNrcyBmb3IgYSBzaW5nbGUgc2VsbC4gQnVuZGxpbmcgYSBidW5jaCBvZiBzbWFsbCBpdGVtcyB0aGF0IGFsbCB3b3JrIHRvZ2V0aGVyIChsaWtlIEFsaWVuIFdvcmxkcyBORlRzKSBjYW4gbGV0IHlvdSBzZWxsIHRoZW0gYXMgYSB3aG9sZSB3aXRoIGEgMzUtNTAlIG1hcmt1cCBjb21wYXJlZCB0byB0cnlpbmcgdG8gYWRkIHRoZSBzYW1lIG1hcmt1cCBwZXIgTkZULiBBbHNvIHNhdmVzIHlvdSB0aGUgZXh0cmEgaGFzc2xlIG9mIHB1dHRpbmcgdGhlbSBhbGwgb24gc2FsZSBpbmRpdmlkdWFsbHkuPC9vbD4KPG9sPjxiPlRyYW5zZmVyPC9iPjogVGhpcyBsZXRzIHlvdSBzZW5kIE5GVHMgdG8gb3RoZXIgcGVvcGxlLCBsaWtlIGEgZ2lmdCBvciBwYXltZW50IGZvciBQZWVyLTItUGVlciB0cmFkZXMuIEluIHRoZSBUcmFuc2ZlciBwYWdlLCB5b3UgY2FuIGNsaWNrIHRvIGFkZCBhZGRpdGlvbmFsIE5GVHMgYW5kIGVzc2VudGlhbGx5IHNlbmQgYSBidW5kbGUgb2YgTkZUcyB0byBhIHNpbmdsZSB3YWxsZXQuIEdyZWF0IGZvciBkdW1waW5nIGFuIG9sZCB3YWxsZXQgYWRkcmVzcy48L29sPgo8b2w+PGI+Q3JlYXRlIExpbms8L2I+OiBUaGlzIGxldHMgeW91IGNyZWF0ZSBhIHNoYXJlIGxpbmsuIFRoaXMgbGV0cyB5b3Ugc2VuZCB5b3VyIE5GVCB0byBzb21lb25lIHdpdGhvdXQga25vd2luZyB0aGVpciB3YWxsZXQgYWRkcmVzcyBvciBldmVuIHdpdGhvdXQgdGhlbSBoYXZpbmcgb25lLiBHcmVhdCBmb3IgZ2l2ZWF3YXlzLCB0aGUgY2xhaW1lciBqdXN0IGNsaWNrcyBhbmQgY2xhaW1zLiBCb29tIGRvbmUhPC9vbD4KPG9sPjxiPk5ldyBUcmFkZTwvYj46IFRoaXMgd2lsbCBzZXQgdXAgYSB0cmFkZSwgc28geW91J2xsIGVudGVyIGEgc2NyZWVuIHNpbWlsYXIgdG8gdHJhbnNmZXIgYW5kIHlvdSBjYW4gY2xpY2sgdG8gYWRkIG1vcmUgTkZUcyB0byB0aGUgc2VsZWN0aW9uIGZvciB0cmFkaW5nIHRoZW4geW91IGNhbiBjbGljaywgIlNlbmQgVHJhZGUgT2ZmZXIiLiBUaGlzIGdpdmVzIHlvdSBhIGluayB0byBzZW5kIHRvIHRoZSBvdGhlciBwZXJzb24gZm9yIHRoZW0gdG8gZmluZCB0aGUgdHJhZGUgYW5kIHlvdSBjYW4gdHJhZGUgYW5vbnltb3VzbHkgd2l0aG91dCBhIGZvdXJ0aCBwYXJ0eS48L29sPgo8b2w+PGI+QmFjayBUb2tlbnM8L2I+OiBUaGlzIGxldHMgeW91IGJhY2sgdGhlIE5GVCB3aXRoIFdBWCB0b2tlbnMuIERvaW5nIHRoaXMgbWVhbnMgdGhlIE5GVCB3aWxsIGhhdmUgdG8gYmUgYnVybmVkIHRvIGdldCB0aGUgdG9rZW5zIGJhY2suIFRoaXMgaXMgZ3JlYXQgZm9yIGdldHRpbmcgYnV5ZXJzIGJ1dCB5b3UgcnVuIHRoZSByaXNrIG9mIHRoZSBpbmNlbnRpdmUgdG8gYnVybiB0aGUgdG9rZW4gaXMgdG9vIGhpZ2ggYW5kIHBlb3BsZSB3aWxsIGJ1cm4gaXQgaW5zdGVhZCBvZiB0cmFkaW5nL2hvZGxpbmcuPC9vbD4KPG9sPjxiPkJ1cm48L2I+OiA8Yj48aT5UaGlzIGlzIG5vdCB0aGUgYnVybiB0b29sIHlvdSBhcmUgbG9va2luZyBmb3IhPGk+PC9pPjwvaT48L2I+PGk+PGk+IE9mdGVudGltZXMgd2hlbiB5b3UgYXJlIHRvbGQgdG8gYnVybiBhbiBORlQgdGhleSBoYXZlIGEgY29udHJhY3QgeW91IGFyZSBzdXBwb3NlZCB0byBzZW5kIHRoZSBORlQgdG8uIFRoZSBvbmx5IHRpbWUgeW91J2xsIHVzZSB0aGlzIGJ1cm4gdG9vbCBpcyB0byBkZXN0cm95IGFuIE5GVCBvciB0byByZW1vdmUgYmFja2VkIHRva2VucyBmcm9tIHRoZSBORlQuPC9pPjwvaT48L29sPjxpPjxpPgogJm5ic3A7ICZuYnNwOyAmbmJzcDsgQ2xpY2tpbmcgIkRldGFpbHMiIHdpbGwgc2hvdyB0aGUgZXh0cmEgZGF0YSBpbnNpZGUgdGhlIE5GVCBhbmQgYW55IG90aGVyIG1lZGlhIGl0IG1heSBoYXZlLiBBZnRlciB0aGF0LCB5b3UgaGF2ZSBhbGwgdGhlIGtleXMgdG8gdGhlIGJhc2ljIE5GVCBnYW1lLiBCdXksIFNlbGwsIFRyYWRlLCBNaW50LCBTZWxsLCBCdXkuIFRoZSBjb21tdW5pdHkgeW91IGJ1aWxkIHVwIGlzIHdoYXQgd2lsbCBrZWVwIHlvdSBtb3RpdmF0ZWQgdG8gbWludCBtb3JlIGFuZCBkbyBtb3JlIE5GVHMuIElmIHlvdSBkb24ndCBmZWVsIHRoYXQgdXBmaCBmcm9tIE5GVCBjcmVhdGluZywgdGhlbiBmaW5kIHlvdXIgcGFzc2lvbiB3aXRoIE5GVHMuIE5vdCBldmVyeW9uZSBpcyBhIG1pbnRlciwgc29tZSBwZW9wbGUgZmxpcCBORlRzIGluc3RlYWQgYW5kIG90aGVycyBiZWNvbWUgQXVjdGlvbmVlcnMuIFlvdSBmaW5kIHlvdXIgYmVzdCB3YXkgdG8gZml0IGludG8gdGhlIE5GVCBzcGFjZSBidXQgYXQgbGVhc3Qgbm93IHlvdSBjYW4gZG8gYWxsIHRoZSBiYXNpY3Mgb24gQXRvbWljaHViIQo8aHI+PHAgYWxpZ249ImNlbnRlciIgc3R5bGU9ImJvcmRlci1yYWRpdXM6NSU7Ym9yZGVyOjJweCBzb2xpZCB3aGl0ZTsgYm94LXNoYWRvdzowcHggMXB4IDVweCBkaW1ncmV5O2JhY2tncm91bmQtY29sb3I6b3JhbmdlO29wYWNpdHk6MC43OyI+PGJ1dHRvbiBvbmNsaWNrPSJkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgmcXVvdDswc3RlcCZxdW90Oykuc3R5bGU9JnF1b3Q7ZGlzcGxheTpub25lJnF1b3Q7O2RvY3VtZW50LmdldEVsZW1lbnRCeUlkKCZxdW90O3N0ZXAwJnF1b3Q7KS5zdHlsZT0mcXVvdDtkaXNwbGF5OmJsb2NrO2JhY2tncm91bmQtY29sb3I6bGlnaHRncmVlbjtjb2xvcjpibGFjaztib3JkZXI6MnB4IHNvbGlkIGdyZWVuOyZxdW90OzsiIHN0eWxlPSJib3gtc2hhZG93OjFweCAxcHggNXB4IGRpbWdyZXk7YmFja2dyb3VuZC1jb2xvcjpibGFjaztjb2xvcjpvcmFuZ2U7Ym9yZGVyLXJhZGl1czo1JTsiPkNsb3NlIFRoaXMgU2VjdGlvbjwvYnV0dG9uPjwvcD4KPC9pPjwvaT48L2Rpdj48aT48aT4KCgo8YnV0dG9uIGlkPSJzdGVwMSIgb25jbGljaz0id2luZG93Lm9wZW4oJnF1b3Q7aHR0cHM6Ly8zZGQuaW4vYXRvbWljcGcyJnF1b3Q7KTsiIHRhcmdldD0iX2JsYW5rIiByZWw9Im5vb3BlbmVyIG5vcmVmZXJyZXIiIHN0eWxlPSJiYWNrZ3JvdW5kLWNvbG9yOmxpZ2h0Z3JlZW47Y29sb3I6YmxhY2s7Ym9yZGVyOjJweCBzb2xpZCBncmVlbjsiIHZhbHVlPSJNaW50Jm5ic3A7Tm9vYiI+TWludCZuYnNwO05vb2I8L2J1dHRvbj4KCgoKPGJ1dHRvbiBpZD0ic3RlcDIiIG9uY2xpY2s9IndpbmRvdy5vcGVuKCZxdW90O2h0dHBzOi8vM2RkLmluL2F0b21pY3BnMyZxdW90Oyk7IiB0YXJnZXQ9Il9ibGFuayIgcmVsPSJub29wZW5lciBub3JlZmVycmVyIiBzdHlsZT0iYmFja2dyb3VuZC1jb2xvcjpsaWdodGdyZWVuO2NvbG9yOmJsYWNrO2JvcmRlcjoycHggc29saWQgZ3JlZW47IiB2YWx1ZT0iU2xpZ2h0bHkmbmJzcDtBZHZhbmNlZCI+U2xpZ2h0bHkmbmJzcDtBZHZhbmNlZDwvYnV0dG9uPgoKCgo8YnV0dG9uIGlkPSJzdGVwMyIgb25jbGljaz0id2luZG93Lm9wZW4oJnF1b3Q7aHR0cHM6Ly8zZGQuaW4vYXRvbWljcGc0JnF1b3Q7KTsiIHRhcmdldD0iX2JsYW5rIiByZWw9Im5vb3BlbmVyIG5vcmVmZXJyZXIiIHN0eWxlPSJiYWNrZ3JvdW5kLWNvbG9yOmxpZ2h0Z3JlZW47Y29sb3I6YmxhY2s7Ym9yZGVyOjJweCBzb2xpZCBncmVlbjsiIHZhbHVlPSJBZHZhbmNlZCZuYnNwO01pbnRpbmciPkFkdmFuY2VkJm5ic3A7TWludGluZzwvYnV0dG9uPgoKCjxidXR0b24gaWQ9InN0ZXA0IiBvbmNsaWNrPSJ3aW5kb3cub3BlbigmcXVvdDtodHRwczovLzNkZC5pbi9hdG9taWNwZzUmcXVvdDspOyIgdGFyZ2V0PSJfYmxhbmsiIHJlbD0ibm9vcGVuZXIgbm9yZWZlcnJlciIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6bGlnaHRncmVlbjtjb2xvcjpibGFjaztib3JkZXI6MnB4IHNvbGlkIGdyZWVuOyIgdmFsdWU9IkV4cGVyaW1lbnRhbCZuYnNwOyZhbXA7Jm5ic3A7VGlwcyI+RXh0cmEmbmJzcDtEYXRhPC9idXR0b24+Cgo8aHI+PGJyPjxicj4mbmJzcDsgJm5ic3A7ICZuYnNwOyBUaGF0J3MgdGhlIGdpc3Qgb2YgaXQsIGhvcGVmdWxseSB5b3UgZ2V0IGEgZ29vZCBhbW91bnQgb2YgaW5mb3JtYXRpb24gZm9ybSB0aGlzIGFuZCB5b3UgY2FuIHVwIHlvdXIgTkZUIGdhbWUgdG8gbWFrZSB5b3VyIG5leHQgTkZUIHN0YW5kIG91dCBhbW9uZyB0aGUgcmVzdC4gQmVzdCBvZiBsdWNrIHRvIHlvdSBpbiB5b3VyIE5GVCBlbmRlYXZvdXJzLjxicj48YnI+Jm5ic3A7ICZuYnNwOyAmbmJzcDsgVGhpcyBhcnRpY2xlIHdhcyBzcGxpdCBpbnRvIHNlY3Rpb25zIHRvIG1ha2UgcHVibGljIHNoYXJpbmcgZWFzaWVyLiBUSGUgb3JpZ2luaWFsIGlzIHN0b3JlZCBvbiBJUEZTIChjaGVjayB5b3VyIE5GVCBmb3IgbW9yZSBpbmZvKS48YnI+PGhyPjxicj4mbmJzcDsgJm5ic3A7ICZuYnNwOyBDbGljayB0aGUgbmV4dCBzZWN0aW9ucyB0byB2aXNpdCB0aGF0IGFydGljbGUgc2VjdGlvbi48c3VwPjxzdWI+VGhpcyB3aWxsIGJlIG9mZmVyZWQgYXMgYW4gTkZUIHdoaWxlIGl0J3MgYXBhcnQgb2YgdGhlIDxhIGhyZWY9Imh0dHBzOi8vM2RkLmluLzNkLXBvdiIgdGFyZ2V0PSJfYmxhbmsiIHJlbD0ibm9vcGVuZXIgbm9yZWZlcnJlciIgc3R5bGU9InRleHQtZGVjb3JhdGlvbjpub25lIj48Yj4zRCdzIFBvaW50IG9mIFZpZXcgPGk+TmV3c2NoYWluPC9pPjwvYj48L2E+LiBFbmpveSBhbmQgdGhhbmsgeW91IGZvciByZWFkaW5nLgoKPC9zdWI+PC9zdXA+PC9pPjwvaT48L2Rpdj48L3NwYW4+PC9oND48L2xhYmVsPiZuYnNwOyA8bGFiZWw+PHNwYW4gYWxpZ249InJpZ2h0IiBzdHlsZT0icmlnaHQ6MDsiPjxoNCBzdHlsZT0ibWFyZ2luLXRvcDotMi41dnc7bWFyZ2luLWJvdHRvbTotMnZ3OyI+PHNwYW4gYWxpZ249InJpZ2h0IiBzdHlsZT0icmlnaHQ6MDsiIGlkPSJvdXRib3R0Ij4zRG91Z2xhcyA8cT4zRDwvcT4gUGlobDwvc3Bhbj4gJm5ic3A7IEA8c3BhbiBpZD0iYXV0aG9ybmFtZSI+SUZ0VWFHRnVheUI1YjNVZ1ptOXlJSEpsWVdScGJtY2hJQzB0TTBSZG9DQ2dRRE5FYjNWbmJHRnpJRHh4UGpORVBDOXhQaUJRYVdoc29DQ2dJRnNqVnpBeFZWZFliRTVTUlZZelZHeFNWazFyT1VWaGVsSlFVVlF3T1ZoVFFUWlBhVUppVTJ0R1QwNUVTWGROYWtaa1hTQT08L3NwYW4+PC9oND4KJm5ic3A7ICZuYnNwOzxzcGFuIHN0eWxlPSJ3aWR0aDo1dnc7bWFyZ2luLXRvcDotMy41dnc7bWFyZ2luLWJvdHRvbTotMC41dnc7IiBpZD0iYWRoZXJlIiBhbGlnbj0ibGVmdCIgb25jbGljaz0idGhpcy5zdHlsZS5kaXNwbGF5PSdub25lJzsgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2FkbGluaycpLnN0eWxlLmRpc3BsYXk9J25vbmUnOyBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnYWR0ZXh0aW4nKS5zdHlsZS5kaXNwbGF5PSdub25lJzsiPjxhIHR5cGU9ImJ1dHRvbiIgc3R5bGU9ImJvcmRlci1yYWRpdXM6MzYwJTsgYmFja2dyb3VuZC1jb2xvcjpibGFjazsgdGV4dC1kZWNvcmF0aW9uOm5vbmU7IGNvbG9yOmxpbWVncmVlbjsgYm9yZGVyLWNvbG9yOm9yYW5nZTsgYm9yZGVyLXdpZHRoOjJ2dzsgd2lkdGg6YXV0bzsgYWxpZ246cmlnaHQ7IG92ZXJmbG93OmhpZGRlbjsgcmlnaHQ6MDsgbWFyZ2luLWJvdHRvbTotMS41dnc7IiBhbGlnbj0icmlnaHQ7IiBocmVmPSJodHRwczovLzNkZC5pbi93YXhzdG9yZSIgdGFyZ2V0PSJfYmxhbmsiIDvCoD0iIiByZWw9Im5vcmVmZXJyZXIgbm9vcGVuZXIiPjxzcGFuIGlkPSJhZHRleHQiIHN0eWxlPSJtYXJnaW46MHZ3IDEuNXZ3IDAuMXZ3IDEuNXZ3OyI+PHN1cD48c3ViPiZuYnNwOyZuYnNwOyZuYnNwO1Zpc2l0IDNEJ3MgPGk+V2F4IFN0b3JlPC9pPiZuYnNwOyZuYnNwOyZuYnNwOzwvc3ViPjwvc3VwPjwvc3Bhbj48L2E+PHNwYW4gaWQ9ImFkdHh0IiBzdHlsZT0iZm9udC1zaXplOjhweCI+PGJyPiAmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsgPGIgaWQ9ImFkdHh0Ym90dG9tIj5hZDwvYj48L3NwYW4+ICZuYnNwOyZuYnNwOyZuYnNwOzwvc3Bhbj48c3BhbiBhbGlnbj0iY2VudGVyIiBpZD0iYWRpbWciIHN0eWxlPSJ3aWR0aDo5OCU7cmlnaHQ6NTA7bGVmdDo1MDtoZWlnaHQ6YXV0bzsiIG9uY2xpY2s9InRoaXMuc3R5bGUuZGlzcGxheT0nbm9uZSc7Ij48YSBhbGlnbj0iY2VudGVyIiBocmVmPSJodHRwczovLzNkZC5pbi9kaXNwZW5zYXJ5IiB0YXJnZXQ9Il9ibGFuayIgOz0iIiByZWw9Im5vcmVmZXJyZXIgbm9vcGVuZXIiPjxpbWcgc3JjPSJodHRwczovL2dhdGV3YXkucGluYXRhLmNsb3VkL2lwZnMvUW1aajI5Vkxka1JpZ1hZaHI4dWhTOE01V2lSVFlOeTZFdTVqNWVyU1REZnluVyIgc3R5bGU9IndpZHRoOjk4JTsgYWxpZ246Y2VudGVyOyIgYWxpZ249ImNlbnRlciI+PC9hPjwvc3Bhbj4KJm5ic3A7PGxhYmVsPjxociBzdHlsZT0ibWFyZ2luLXRvcDowLjV2dzttYXJnaW4tYm90dG9tOi0wLjc1dnc7Ij48aDMgYWxpZ249ImNlbnRlciI+PHN1Yj5JZiB5b3UgbGlrZWQgdGhpcyBQdnRQcHIgcGxlYXNlIGNvbnNpZGVyIGRvbmF0aW5nIHRvIHRoZSBhdXRob3IsIDxzcGFuIGlkPSJhdXRobmFtZSI+M0RvdWdsYXMgPHE+M0Q8L3E+IFBpaGw8L3NwYW4+IGJ5IHVzaW5nIHRoZSBjcnlwdG8tYWRkcmVzc2VzIGJlbG93LiAmbmJzcDsgVGhhbmsgeW91Ljwvc3ViPjxicj48c3ViPjxzcGFuIGFsaWduPSJsZWZ0Ij48Yj7igr86Ly88aT48c3BhbiBpZD0iYnRjYWRkeSI+MUsxVkVGVlA4dmVlWmN0VTh1WTczcHprQzlMRzhhSHc3Uzwvc3Bhbj48L2k+PC9iPjwvc3Bhbj4gJm5ic3A7IDxiPjxzcGFuIGFsaWduPSJyaWdodCI+PGk+PHNwYW4gaWQ9Imx0Y2FkZHkiPjxhIGhyZWY9Imh0dHBzOi8vY29pbnRyLmVlLzNEXyIgdGFyZ2V0PSJfYmxhbmsiIHN0eWxlPSJ0ZXh0LWRlY29yYXRpb246bm9uZTtjb2xvcjpkYXJrZ3JlZW47Ij4zRF8ncyBDb2ludHIuZWU8L2E+PC9zcGFuPjwvaT48L3NwYW4+PC9iPjwvc3ViPjwvaDM+PGg0IGFsaWduPSJjZW50ZXIiPjxzdXA+UHZ0UHBycyBjYW4gYmUgbW9uZXRpemVkIGJ5IEJpdHR1YmUgQWlydGltZSAmYW1wOyB0byBoZWxwIHRoZSBhdXRob3IgZ2lhbiAkPGk+VFVCRVM8L2k+IGZyb20geW91IHJlYWRpbmcgdGhpcyBwYXBlciwgcGxlYXNlIHVzZSBvciBpbnN0YWxsIHRoZSA8c3BhbiBvbmNsaWNrPSJ3aW5kb3cub3BlbignaHR0cHM6Ly9jaHJvbWUuZ29vZ2xlLmNvbS93ZWJzdG9yZS9kZXRhaWwvYml0dHViZS1haXJ0aW1lLWRvbmF0aW9ucy9jbm9nYmJtY2lmZnBpYm1rcGhvaHBlYmdobW9tYWVtaScpIiBzdHlsZT0iY29sb3I6Z3JlZW47Ij5CaXR0dWJlIEFpcnRpbWUgRXh0ZW5zaW9uPC9zcGFuPiBvciB1c2UgdGhlIDxzcGFuIHN0eWxlPSJjb2xvcjpncmVlbiIgb25jbGljaz0id2luZG93Lm9wZW4oJ2h0dHBzOi8vYml0dHViZS5hcHAnKSI+Qml0dHViZSBCcm93c2VyPC9zcGFuPi48L3N1cD48L2g0PjwvbGFiZWw+CiZuYnNwOzxkaXYgYWxpZ249ImNlbnRlciI+PGxhYmVsPjxoNSBzdHlsZT0ibWFyZ2luLXRvcDotMnZ3OyI+PHNwYW4gc3R5bGU9ImxlZnQ6MDsgbWFyZ2luLXJpZ2h0OjIuNXZ3O21hcmdpbi1sZWZ0Oi0xLjV2dzsiIGFsaWduPSJsZWZ0Ij5NYWRlJm5ic3A7d2l0aCZuYnNwOzxzcGFuIGlkPSJERkNhYmluZXQiIHN0eWxlPSJ0ZXh0LWRlY29yYXRpb246bm9uZTsiPjxhIGhyZWY9Imh0dHBzOi8vM2RkLmluL3BwZ2VuIiB0YXJnZXQ9Il9ibGFuayI+UHZ0UHByJm5ic3A7R2VuZXJhdG9yJm5ic3A7TGl0ZTwvYT48L3NwYW4+PHN1cD48c3VwPjIwMjE8L3N1cD48L3N1cD48L3NwYW4+IDxzcGFuIGlkPSJwcmV2IiBzdHlsZT0ibWFyZ2luLXRvcDotMS41cHg7bWFyZ2luLWJvdHRvbToxLjVweDsgbWFyZ2luLWxlZnQ6Mi41dnc7IHJpZ2h0OjA7IG1hcmdpbi1yaWdodDotMS41dnc7Ym9yZGVyLXJhZGl1czoxNSU7cGFkZGluZzozcHg7IiBhbGlnbj0icmlnaHQiPjxhIGhyZWY9Imh0dHBzOi8vdGlueXVybC5jb20veTUzbzR3M3kiIHRhcmdldD0iX2JsYW5rIiByZWw9Im5vb3BlbmVyIG5vcmVmZXJyZXIiIHN0eWxlPSJib3JkZXI6IDAuMDF2dyBzb2xpZCBkYXJrZ3JlZW47IGJhY2tncm91bmQtY29sb3I6bGltZWdyZWVuOyBjb2xvcjpibGFjazsgYm94LXNoYWRvdzpkaW1ncmV5IDNweCA2cHggOXB4OyB0ZXh0LWRlY29yYXRpb246bm9uZTsiPlByZXZpb3VzJm5ic3A7UGFwZXI8L2E+PC9zcGFuPjwvaDU+PC9sYWJlbD48c3BhbiBzdHlsZT0iYm94LXNoYWRvdzpkaW1ncmV5IDNweCA2cHggOXB4O2xlZnQ6MDsiIGFsaWduPSJsZWZ0IiBpZD0iY2VydGFibGUiPjxhIGhyZWY9Imh0dHBzOi8vM2RkLmluL1B2dFBwci1QYWdlLUNlcnQiIHRhcmdldD0iX2JsYW5rIiBzdHlsZT0idGV4dC1kZWNvcmF0aW9uOm5vbmU7YmFja2dyb3VuZC1jb2xvcjpibGFjaztjb2xvcjp3aGl0ZTsiPlZpZXcmbmJzcDt0aGlzJm5ic3A7b2JqZWN0J3MmbmJzcDtDZXJ0YWJsZTwvYT48L3NwYW4+PC9kaXY+CiZuYnNwOzxocj48c3BhbiBpZD0icXJpbWciIGNsYXNzPSJxcmltZyIgYWxpZ249InJpZ2h0IiBzdHlsZT0icmlnaHQ6MDttYXJnaW4tbGVmdDo1MCU7Ij48aW1nIGNsYXNzPSJxcmltZyIgc3JjPSJodHRwczovL3p4aW5nLm9yZy93L2NoYXJ0P2NodD1xciZhbXA7Y2hzPTExNXgxMTUmYW1wO2NobGQ9SHwxJmFtcDtjaG9lPVVURi04JmFtcDtjaGw9aHR0cHM6Ly90d2l0dGVyLmNvbS9yYWRpb2FjdGl2ZTNkIiBhbGlnbj0icmlnaHQiPjwvc3Bhbj48c3BhbiBzdHlsZT0ib3BhY2l0eTowLjUzO2NvbG9yOmdyZXk7IiBhbGlnbj0ibGVmdCI+Jm5ic3A7CiZuYnNwOyA8YnI+PHNwYW4gb25jbGljaz0iYWxhbGVydCgpIj5QdnRQcHIuIDIwMTgtMjAyMSA8YnI+IFByaXZhdGUgUGFwZXIgMjAxOC0yMDIxPC9zcGFuPiA8YnI+CjxzcGFuIGlkPSJmb290ZW4iIG9uY2xpY2s9InRoaXMuc3R5bGUuZGlzcGxheT0nbm9uZSc7IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdmb290c3AnKS5zdHlsZS5kaXNwbGF5PSdibG9jayc7Ij5BIFRob3VnaHQgQ2hpbGQgb2YgdGhlIDMgSm9rZXJzPC9zcGFuPgo8c3BhbiBpZD0iZm9vdHNwIiBvbmNsaWNrPSJ0aGlzLnN0eWxlLmRpc3BsYXk9J25vbmUnOyBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnZm9vdGNoJykuc3R5bGUuZGlzcGxheT0nYmxvY2snOyIgc3R5bGU9ImRpc3BsYXk6bm9uZSI+VW4gcGVuc2FtaWVudG8gaGlqbyBkZSBsb3MgMyBjb21vZGluZXM8L3NwYW4+CjxzcGFuIGlkPSJmb290Y2giIG9uY2xpY2s9InRoaXMuc3R5bGUuZGlzcGxheT0nbm9uZSc7IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdmb290anAnKS5zdHlsZS5kaXNwbGF5PSdibG9jayc7IiBzdHlsZT0iZGlzcGxheTpub25lIj7kuInkuKrlsI/kuJHnmoTmgJ3mg7PlranlrZA8L3NwYW4+CjxzcGFuIGlkPSJmb290anAiIG9uY2xpY2s9InRoaXMuc3R5bGUuZGlzcGxheT0nbm9uZSc7IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdmb290cnUnKS5zdHlsZS5kaXNwbGF5PSdibG9jayc7IiBzdHlsZT0iZGlzcGxheTpub25lIj4z5Lq644Gu44K444On44O844Kr44O844Gu5oCd6ICD44Gu5a2QPC9zcGFuPgo8c3BhbiBpZD0iZm9vdHJ1IiBvbmNsaWNrPSJ0aGlzLnN0eWxlLmRpc3BsYXk9J25vbmUnOyBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnZm9vdHN3Jykuc3R5bGUuZGlzcGxheT0nYmxvY2snOyIgc3R5bGU9ImRpc3BsYXk6bm9uZSI+0JzRi9GB0LvQtdC90L3QvtC1INCU0LjRgtGPIDMg0JTQttC+0LrQtdGA0L7Qsjwvc3Bhbj4KPHNwYW4gaWQ9ImZvb3RzdyIgb25jbGljaz0idGhpcy5zdHlsZS5kaXNwbGF5PSdub25lJzsgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2Zvb3RkdScpLnN0eWxlLmRpc3BsYXk9J2Jsb2NrJzsiIHN0eWxlPSJkaXNwbGF5Om5vbmUiPkV0dCB0w6Rua3QgYmFybiBhdiBkZSAzIGpva2FybmE8L3NwYW4+CjxzcGFuIGlkPSJmb290ZHUiIG9uY2xpY2s9InRoaXMuc3R5bGUuZGlzcGxheT0nbm9uZSc7IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdmb290ZW4nKS5zdHlsZS5kaXNwbGF5PSdibG9jayc7IiBzdHlsZT0iZGlzcGxheTpub25lIj5FaW4gR2VkYW5rZW5raW5kIGRlciAzIEpva2VyPC9zcGFuPgo8L3NwYW4+PGJyPjxwIGFsaWduPSJjZW50ZXIiPjwvcD48cCBzdHlsZT0iYmFja2dyb3VuZC1jb2xvcjpibGFjaztjb2xvcjpzaWx2ZXI7Ym94LXNoYWRvdzpkaW1ncmV5IDNweCA2cHggOXB4O3RleHQtYWxpZ246bGVmdDtsZWZ0OjA7d2lkdGg6YXV0bzsiIGFsaWduPSJsZWZ0IiByZWw9Im5vcmVmZXJyZXIgbm9vcGVuZXIiIHRhcmdldD0iX3NlbGYiIG9uY2xpY2s9IndpbmRvdy5vcGVuKCdodHRwczovLzNkZC5pbi9QdnRQcHInKTsiPlJlYWQmbmJzcDt0aGUmbmJzcDtPZmZpY2lhbCZuYnNwO1B2dFBwciZuYnNwOzxiPjxpPk5ld3NjaGFpbjwvaT48L2I+PC9wPiA8cCBvbmNsaWNrPSJBbGVydENoZWNrKCk7IiBpZD0iTGlua0NvdmVyIiBhbGlnbj0icmlnaHQiIHN0eWxlPSJjb2xvcjpzaWx2ZXI7dGV4dC1hbGlnbjpyaWdodDtyaWdodDowO21hcmdpbi10b3A6LTIuODV2dzticmVhay13b3JkOmtlZXAtYWxsO3dvcmQtYnJlYWs6a2VlcC1hbGw7Ij4zRDombmJzcDs8Yj4jPGk+MTUzMTdmZXV3Z3M4am88L2k+PC9iPjwvcD48cD48L3A+PGhyPjxicj48YnI+PC9zcGFuPjwvbGFiZWw+PC9kaXY+CjxzY3JpcHQ+wqAKCgrCoCDCoCAvLyBBZGRlZCBldmVudCBsaXN0ZW5lciB0byB0aGUgc2Nyb2xswqAKwqAgwqAgd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoJ3Njcm9sbCcswqAKwqAgwqAgwqAgwqAgwqAgwqAgbW92ZVNjcm9sbEluZGljYXRvcik7wqAKCgrCoCDCoCAvLyBHZXR0aW5nIHNjcm9sbEluZGljYXRvciBlbGVtZW50IGJ5IElEwqAKwqAgwqAgY29uc3Qgc2Nyb2xsSW5kaWNhdG9yRWx0ID3CoMKgCsKgIMKgIMKgIMKgIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdzY3JvbGxJbmRpY2F0b3InKTvCoAoKCsKgIMKgIC8vIEhlaWdodCBvZiBlbnRpcmUgd2ViIHBhZ2UgLSBoZWlnaHTCoArCoCDCoCAvLyBvZiB2aWV3YWJsZSBwb3J0aW9uIG9mIGJyb3dzZXLCoArCoCDCoCBjb25zdCBtYXhIZWlnaHQgPcKgwqAKwqAgwqAgwqAgwqAgd2luZG93LmRvY3VtZW50LmJvZHkuc2Nyb2xsSGVpZ2h0wqDCoArCoCDCoCDCoCDCoCAtIHdpbmRvdy5pbm5lckhlaWdodDvCoAoKCsKgIMKgIGZ1bmN0aW9uIG1vdmVTY3JvbGxJbmRpY2F0b3IoZSkge8KgCgoKwqAgwqAgwqAgwqAgLy8gQ2FsY3VsYXRpbmcgd2lkdGggb2YgdGhlwqDCoArCoCDCoCDCoCDCoCAvLyBzY3JvbGxJbmRpY2F0b3IgZWxlbWVudMKgCsKgIMKgIMKgIMKgIGNvbnN0IHBlcmNlbnRhZ2UgPcKgwqAKwqAgwqAgwqAgwqAgwqAgwqAgKCh3aW5kb3cuc2Nyb2xsWSkgLyBtYXhIZWlnaHQpICogMTAwO8KgCgoKwqAgwqAgwqAgwqAgLy8gUGl4ZWxzIHNjcm9sbGVkIGJ5IHRoZSB1c2VywqDCoArCoCDCoCDCoCDCoCAvLyB0byB0b3RhbCBzY3JvbGxhYmxlIFBpeGVsc8KgCsKgIMKgIMKgIMKgIHNjcm9sbEluZGljYXRvckVsdC5zdHlsZS53aWR0aMKgCsKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgPSBwZXJjZW50YWdlICsgJyUnO8KgCsKgIMKgIH3CoAo8L3NjcmlwdD4mbmJzcDsKPHNjcmlwdD4KwqAKwqBmdW5jdGlvbiBhbGFsZXJ0KCl7CsKgIGFsZXJ0KCdIZWxsbyAmIFdlbGNvbWUgdG8gdGhlIHRoaXMgUHZ0UHByIFtwcsSrdml0IHDEgXDJmXJdLlxuXG5QdnRQcHIgaXMgYnJvdWdodCB0byB5b3UgYnkgM0csIDNEICYgRS1ULlxuXG5UaGlzIGlzIGhvYXN0ZWQgYnkgZXhwZXJpbWVudGFsIHRlY2hub2xvZ3kgaW4gaGFzaC1iYXNlZC1saW5rcyB0byBzdG9yZSBhbGwgb2YgdGhlIHdlYnNpdGUgY29kZSArIHRleHQgb2ZmIHNlcnZlcnMuXG5cblNlcnZlcnMgYXJlIHVzZWQgZm9yIGRlY3J5dGluZyB0aGUgaGFzaGxpbmsgZm9yIHRoZSBicm93c2VyIHRvIGRpc3BsYXkgdGhlIHdlYnNpdGUvd2ViYXBwLlxuXG5Ib3N0ZWQgYnkgSXR0eS5CaXR0eS5TaXRlIChieSBBbGNvcikuXG5cblxuVGhhbmsgeW91LlxuwqAgwqAgwqBbTFMwelJBOjpKQU4xNjIwMjBdXG5cbsKgIMKgIMKgTGFzdCBVcGRhdGUgW0pBTjIwMjAyMTo6TFMwelJBXScpOwrCoH0KwqBmdW5jdGlvbiBBbGVydENoZWNrKCkgewrCoCBhbGVydCgiWW91IGNsaWNrZWQgb24gYW4gZWFzdGVyIGVnZy4gUGxlYXNlIGVuam95IVxuXG5UaGlzIFB2dFBwciB3YXMgbWFkZSB3aXRoIHRoZSBQdnRQcHIgR2VuZXJhdG9yIChQUEdlbikuIFRoaXMgaXMgYSBuZXdzcGFwZXIgc3lzdGVtIHdpdGggZXZlcnlvbmUgaW4gbWluZC4gQW55b25lIGNhbiB1c2UgUFBHZW4gdG8gYnVpbGQgdGhlaXIgb3duIHByaXZhdGUgcGFwZXIgY29tcGxldGUgd2l0aCBhIHVzYWJsZSBsaW5rLlxuXG5UaGlzIGlzIHRoZSBsaXRlLXZlcnNpb24gb2YgdGhlIFB2dFBwciBHZW5lcmF0b3JcblxuXG5cblRoYW5rIFlvdVxuwqAgwqAgwqBbTFMwelJBOjpKQU4xNjIwMjBdXG5cbsKgIMKgIMKgTGFzdCBVcGRhdGUgW0pBTjIwMjAyMTo6TFMwelJBXSIpOwrCoH0KwqAKPC9zY3JpcHQ+CjxtZXRhIG5hbWU9ImFpcnRpbWUtcGxhdGZvcm0tZGlzcGxheSIgY29udGVudD0iYXJ0aWNsZXMiPjxtZXRhIG5hbWU9ImFpcnRpbWUtcGxhdGZvcm0taWQiIGNvbnRlbnQ9Ijk5YTc5MGQ4LTg3MDctZTRhOS05OTZmLWE1ZjAxODEzYzQ1YyI+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
H/1.1
|
200
OK
|
airtime.loader.js
Show response
bittubeapp.com/tubepay/
Frame FD4C
|
1 KB
1014 B
|
118ms
34ms
|
Script
application/javascript |
5.196.163.89
OVH
|
|
General
- Full URL
- https://bittubeapp.com/tubepay/airtime.loader.js
- Requested by
- Host: text
URL: data:text/html;charset=utf-8;base64,PG1ldGEgY2hhcnNldD0idXRmLTgiPjxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgiPjxiYXNlIHRhcmdldD0iX3RvcCI+PHN0eWxlIHR5cGU9InRleHQvY3NzIj5ib2R5e21hcmdpbjowIGF1dG87cGFkZGluZzoxMnZtaW4gMTB2bWluO21heC13aWR0aDozNWVtO2xpbmUtaGVpZ2h0OjEuNWVtO2ZvbnQtZmFtaWx5Oi1hcHBsZS1zeXN0ZW0sQmxpbmtNYWNTeXN0ZW1Gb250LHNhbnMtc2VyaWY7d29yZC13cmFwOmJyZWFrLXdvcmQ7fUBtZWRpYShwcmVmZXJzLWNvbG9yLXNjaGVtZTogZGFyayl7Ym9keXtjb2xvcjp3aGl0ZTtiYWNrZ3JvdW5kLWNvbG9yOmJsYWNrO319PC9zdHlsZT4gPGEgdGFyZ2V0PSJfdG9wIiBpZD0ibGluayIgbmFtZT0ibGluayIgc3R5bGU9ImRpc3BsYXk6IGJsb2NrOyBvdmVyZmxvdy13cmFwOiBicmVhay13b3JkOyBzY3JvbGwtYmVoYXZpb3I6IHNtb290aDsiPjxkaXYgaWQ9ImljaGVjayIgc3R5bGU9Im1hcmdpbi10b3A6LTd2dzsiPgoKCiZuYnNwOzxzdHlsZT4gLmxpbmUge2JhY2tncm91bmQ6IGJsYWNrO29wYWNpdHk6IDAuNTtoZWlnaHQ6IDQuNXB4Oy13ZWJraXQtYm94LXNoYWRvdzogMnB4IC0ycHggM3B4IGRpbWdyZXk7Ym94LXNoYWRvdzogMnB4IC0ycHggM3B4IGRpbWdyZXk7d2lkdGg6IDAlO3Bvc2l0aW9uOiBmaXhlZDtib3R0b206IDA7bGVmdDowO2FsaWduOmNlbnRlcjt6LWluZGV4Ojg7fcKgIMKgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogOS45aW4pIHsgLnFyaW1nIHthbGlnbjogcmlnaHQ7cmlnaHQ6MDttYXJnaW4tcmlnaHQ6LTMuNSU7bWFyZ2luLWJvdHRvbTotNTAlO3BhZGRpbmctcmlnaHQ6LTEuNSU7d2lkdGg6MzAlO30gLnRvcGJhciB7bWFyZ2luLXRvcDotM3Z3O21hcmdpbi1sZWZ0Oi0zdnc7bWFyZ2luLXJpZ2h0Oi0zdnc7fSAubGluZSB7bWFyZ2luLWxlZnQ6MC41JTthbGlnbjpjZW50ZXI7bGVmdDowO319IEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEwaW4pIHsgLnFyaW1nIHthbGlnbjogcmlnaHQ7bWFyZ2luLWJvdHRvbTotNTAlO3dpZHRoOjIwJTt9LmxpbmUge21hcmdpbi1sZWZ0OjAlO2FsaWduOmNlbnRlcjtsZWZ0OjA7fX3CoCA8L3N0eWxlPiZuYnNwOyA8ZGl2IGNsYXNzPSJsaW5lIiBpZD0ic2Nyb2xsSW5kaWNhdG9yIj48L2Rpdj48L2Rpdj48c2NyaXB0IHNyYz0iaHR0cHM6Ly91bnBrZy5jb20vZW1iZWRkYWJsZS1uZnRzL2Rpc3QvbmZ0LWNhcmQubWluLmpzIj48L3NjcmlwdD48ZGl2IGlkPSJiYWNrZ3JvdW5kIiBzdHlsZT0ibWFyZ2luLWJvdHRvbTotMTV2dzsiPjxsYWJlbD48aDEgc3R5bGU9Im1hcmdpbi1ib3R0b206LTJ2dzsiPjxzcGFuIHN0eWxlPSJsZWZ0OjA7IiBhbGlnbj0ibGVmdCIgaWQ9Im91dHRvcCI+PGRpdiBpZD0idG9wYmFyIiB6LWluZGV4Ojk7PSIiIGNsYXNzPSJ0b3BiYXIiIGFsaWduPSJjZW50ZXIiIHN0eWxlPSJwb3NpdGlvbjpmaXhlZDt0ZXh0LWFsaWduOmNlbnRlcjtiYWNrZ3JvdW5kOiByZ2IoMjU1LDI1MCwyNTApOyBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoNmRlZywgcmdiKDI1NSwyNTUsMjU1LDAuNTApIDAlLCByZ2IoMjU1LDI1NSwyNTUsMC43NSkgMTglLCByZ2IoMjU1LDI1NSwyNTUsMSkgMjUlKTtwYWRkaW5nLXRvcDozMHZ3OyBwYWRkaW5nLWxlZnQ6MTB2dzsgcGFkZGluZy1ib3R0b206LTEwdnc7IHBhZGRpbmctcmlnaHQ6MTB2dzt0b3A6MDtsZWZ0OjUwO3JpZ2h0OjUwO21hcmdpbi10b3A6LTI3LjV2dzttYXJnaW4tbGVmdDotMTQuNXZ3O21hcmdpbi1ib3R0b206LTV2dzttYXJnaW4tcmlnaHQ6LTE2dnc7Ij48aDMgY2xhc3M9Im5hdnQiIGlkPSJuYXZ0IiBhbGlnbj0iY2VudGVyIiBzdHlsZT0icGFkZGluZzoxLjVweCAxLjVweCAxLjUlIDEuNXB4O21hcmdpbjotMC4xJSAxNSUgMCUgMTUlO3otaW5kZXg6OTk7IiByZWw9Im5vcmVmZXJyZXIgbm9vcGVuZXIiIHRhcmdldD0iX2JsYW5rIj5BdG9taWNBc3NldCBHdWlkZSA8c3VwPjxzdWI+KDxiPjxpPldBWCA8c3ViPnZlcnNpb248L3N1Yj48L2k+PC9iPik8L3N1Yj48L3N1cD48L2gzPiA8aHIgc3R5bGU9ImJvcmRlcjoxLjVweCBzb2xpZCBsaWdodGdyZXk7Ym94LXNoYWRvdzoxcHggMXB4IDFweCBzaWx2ZXIgaW5zZXQ7bWFyZ2luLXRvcDotMC43NSU7d2lkdGg6OTglO21hcmdpbi1ib3R0b206LTJ2dzsiPiZuYnNwOyA8ZGl2IGNsYXNzPSJuYXYiIGFsaWduPSJjZW50ZXIiIHN0eWxlPSJvdmVyZmxvdzphdXRvO2RpcmVjdGlvbjpsdHI7bWFyZ2luLWJvdHRvbTotMi4yNSU7c2Nyb2xsLWJlaGF2aW9yOnNtb290aDtzY3JvbGwtYmFyOnRyYW5zcGFyZW50OyB3aGl0ZS1zcGFjZTpub3dyYXA7YnJlYWstd29yZDprZWVwLWFsbDsiPiZuYnNwOzxidXR0b24gY2xhc3M9Im5hdmJ1dHRvbiIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6cmdiKDI1NSwyNTAsMjUwLDAuNzcpO2NvbG9yOmJsYWNrO2JvcmRlcjoxcHggc29saWQgc2lsdmVyO2JveC1zaGFkb3c6MnB4IDJweCA0cHggc2lsdmVyIGluc2V0O3BhZGRpbmc6MCUgMS41JSAwJSAxLjUlO21hcmdpbjotM3Z3IDB2dyAxLjV2dyAwdnc7IiBvbmNsaWNrPSJ3aW5kb3cub3BlbignaHR0cHM6Ly93YXguaW8nKSIgdGFyZ2V0PSJfYmxhbmsiIHJlbD0ibm9vcGVuZXIgbm9yZWZlcnJlciI+R2V0IGEgV2F4IFdhbGxldDwvYnV0dG9uPiZuYnNwOyZuYnNwOzxidXR0b24gY2xhc3M9Im5hdmJ1dHRvbiIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6cmdiKDI1NSwyNTAsMjUwLDAuNzcpO2NvbG9yOmJsYWNrO2JvcmRlcjoxcHggc29saWQgc2lsdmVyO2JveC1zaGFkb3c6MnB4IDJweCA0cHggc2lsdmVyIGluc2V0O3BhZGRpbmc6MCUgMS41JSAwJSAxLjUlO21hcmdpbjotM3Z3IDB2dyAxLjV2dyAwdnc7IiBvbmNsaWNrPSJ3aW5kb3cub3BlbignaHR0cHM6Ly9hbGwtYWNjZXNzLndheC5pbycpIiB0YXJnZXQ9Il9ibGFuayIgcmVsPSJub29wZW5lciBub3JlZmVycmVyIj5XYXggQ2xvdWQgV2FsbGV0IDxzdXA+PHN1Yj4oZ3JlYXQgZm9yIHN0YXJ0ZXJzKTwvc3ViPjwvc3VwPjwvYnV0dG9uPiZuYnNwOyZuYnNwOzxidXR0b24gY2xhc3M9Im5hdmJ1dHRvbiIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6cmdiKDI1NSwyNTAsMjUwLDAuNzcpO2NvbG9yOmJsYWNrO2JvcmRlcjoxcHggc29saWQgc2lsdmVyO2JveC1zaGFkb3c6MnB4IDJweCA0cHggc2lsdmVyIGluc2V0O3BhZGRpbmc6MCUgMS41JSAwJSAxLjUlO21hcmdpbjotM3Z3IDB2dyAxLjV2dyAwdnc7IiBvbmNsaWNrPSJ3aW5kb3cub3BlbignaHR0cHM6Ly93YXguYXRvbWljaHViLmlvL2NyZWF0b3InKSIgdGFyZ2V0PSJfYmxhbmsiIHJlbD0ibm9vcGVuZXIgbm9yZWZlcnJlciI+QXRvbWljaHViIChjcmVhdG9yKTwvYnV0dG9uPiZuYnNwOyZuYnNwOzxidXR0b24gY2xhc3M9Im5hdmJ1dHRvbiIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6cmdiKDI1NSwyNTAsMjUwLDAuNzcpO2NvbG9yOmJsYWNrO2JvcmRlcjoxcHggc29saWQgc2lsdmVyO2JveC1zaGFkb3c6MnB4IDJweCA0cHggc2lsdmVyIGluc2V0O3BhZGRpbmc6MCUgMS41JSAwJSAxLjUlO21hcmdpbjotM3Z3IDB2dyAxLjV2dyAwdnc7IiBvbmNsaWNrPSJ3aW5kb3cub3BlbignaHR0cHM6Ly93YXguYmxva3MuaW8vJykiIHRhcmdldD0iX2JsYW5rIiByZWw9Im5vb3BlbmVyIG5vcmVmZXJyZXIiPldheCBCbG9rcy5pbzwvYnV0dG9uPiZuYnNwOyZuYnNwOzxidXR0b24gY2xhc3M9Im5hdmJ1dHRvbiIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6cmdiKDI1NSwyNTAsMjUwLDAuNzcpO2NvbG9yOmJsYWNrO2JvcmRlcjoxcHggc29saWQgc2lsdmVyO2JveC1zaGFkb3c6MnB4IDJweCA0cHggc2lsdmVyIGluc2V0O3BhZGRpbmc6MCUgMS41JSAwJSAxLjUlO21hcmdpbjotM3Z3IDB2dyAxLjV2dyAwdnc7IiBvbmNsaWNrPSJ3aW5kb3cub3BlbignaHR0cHM6Ly93YXguYmxva3MuaW8vYWNjb3VudC9hdG9taWNkcm9wc3g/bG9hZENvbnRyYWN0PXRydWUmYW1wO3RhYj1BY3Rpb25zJmFtcDthY2NvdW50PWF0b21pY2Ryb3BzeCZhbXA7c2NvcGU9YXRvbWljZHJvcHN4JmFtcDtsaW1pdD0xMDAmYW1wO2FjdGlvbj1jcmVhdGVkcm9wJykiIHRhcmdldD0iX2JsYW5rIiByZWw9Im5vb3BlbmVyIG5vcmVmZXJyZXIiPkZpbmQgQXRvbWljZHJvcHN4PC9idXR0b24+Jm5ic3A7Jm5ic3A7PGJ1dHRvbiBjbGFzcz0ibmF2YnV0dG9uIiBzdHlsZT0iYmFja2dyb3VuZC1jb2xvcjpyZ2IoMjU1LDI1MCwyNTAsMC43Nyk7Y29sb3I6YmxhY2s7Ym9yZGVyOjFweCBzb2xpZCBzaWx2ZXI7Ym94LXNoYWRvdzoycHggMnB4IDRweCBzaWx2ZXIgaW5zZXQ7cGFkZGluZzowJSAxLjUlIDAlIDEuNSU7bWFyZ2luOi0zdncgMHZ3IDEuNXZ3IDB2dzsiIG9uY2xpY2s9IndpbmRvdy5vcGVuKCdodHRwczovL3dheC5ibG9rcy5pby9hY2NvdW50L2JsZW5kZXJpemVyeD9sb2FkQ29udHJhY3Q9dHJ1ZSZhbXA7dGFiPUFjdGlvbnMmYW1wO2FjY291bnQ9YmxlbmRlcml6ZXJ4JmFtcDtzY29wZT1ibGVuZGVyaXplcngmYW1wO2xpbWl0PTEwMCZhbXA7YWN0aW9uPWNyZWF0ZWJsZW5kJykiIHRhcmdldD0iX2JsYW5rIiByZWw9Im5vb3BlbmVyIG5vcmVmZXJyZXIiPkZpbmQgQmxlbmRlcmlzZXJ4PC9idXR0b24+Jm5ic3A7Jm5ic3A7PGJ1dHRvbiBjbGFzcz0ibmF2YnV0dG9uIiBzdHlsZT0iYmFja2dyb3VuZC1jb2xvcjpyZ2IoMjU1LDI1MCwyNTAsMC43Nyk7Y29sb3I6YmxhY2s7Ym9yZGVyOjFweCBzb2xpZCBzaWx2ZXI7Ym94LXNoYWRvdzoycHggMnB4IDRweCBzaWx2ZXIgaW5zZXQ7cGFkZGluZzowJSAxLjUlIDAlIDEuNSU7bWFyZ2luOi0zdncgMHZ3IDEuNXZ3IDB2dzsiIG9uY2xpY2s9IndpbmRvdy5vcGVuKCdodHRwczovL3dheC5ibG9rcy5pby9hY2NvdW50L2F0b21pY3BhY2tzeD9sb2FkQ29udHJhY3Q9dHJ1ZSZhbXA7dGFiPUFjdGlvbnMmYW1wO2FjY291bnQ9YXRvbWljcGFja3N4JmFtcDtzY29wZT1hdG9taWNwYWNrc3gnKSIgdGFyZ2V0PSJfYmxhbmsiIHJlbD0ibm9vcGVuZXIgbm9yZWZlcnJlciI+RmluZCBBdG9taWNwYWNrc3g8L2J1dHRvbj4mbmJzcDsmbmJzcDs8YnV0dG9uIGNsYXNzPSJuYXZidXR0b24iIHN0eWxlPSJiYWNrZ3JvdW5kLWNvbG9yOnJnYigyNTUsMjUwLDI1MCwwLjc3KTtjb2xvcjpibGFjaztib3JkZXI6MXB4IHNvbGlkIHNpbHZlcjtib3gtc2hhZG93OjJweCAycHggNHB4IHNpbHZlciBpbnNldDtwYWRkaW5nOjAlIDEuNSUgMCUgMS41JTttYXJnaW46LTN2dyAwdncgMS41dncgMHZ3OyIgb25jbGljaz0id2luZG93Lm9wZW4oJ2h0dHBzOi8vbmVmdHlibG9ja3MuY29tLycpIiB0YXJnZXQ9Il9ibGFuayIgcmVsPSJub29wZW5lciBub3JlZmVycmVyIj5GaW5kIE5lZnR5Qmxva3M8L2J1dHRvbj4mbmJzcDsmbmJzcDs8YnV0dG9uIGNsYXNzPSJuYXZidXR0b24iIHN0eWxlPSJiYWNrZ3JvdW5kLWNvbG9yOnJnYigyNTUsMjUwLDI1MCwwLjc3KTtjb2xvcjpibGFjaztib3JkZXI6MXB4IHNvbGlkIHNpbHZlcjtib3gtc2hhZG93OjJweCAycHggNHB4IHNpbHZlciBpbnNldDtwYWRkaW5nOjAlIDEuNSUgMCUgMS41JTttYXJnaW46LTN2dyAwdncgMS41dncgMHZ3OyIgb25jbGljaz0id2luZG93Lm9wZW4oJ2h0dHBzOi8vM2RkLmluL2F0b21pY2Fzc2V0cHByJykiIHRhcmdldD0iX2JsYW5rIiByZWw9Im5vb3BlbmVyIG5vcmVmZXJyZXIiPkJ1eSBUaGlzIGFzIGFuIE5GVDwvYnV0dG9uPiZuYnNwOyZuYnNwOzwvZGl2PjwvZGl2Pjxicj48YnI+PGJyPjwvc3Bhbj48L2gxPjwvbGFiZWw+Jm5ic3A7IDxsYWJlbD48aDQgYWxpZ249InJpZ2h0IiBzdHlsZT0icmlnaHQ6MDsiPjxzcGFuIGFsaWduPSJyaWdodCIgc3R5bGU9InJpZ2h0OjA7IiBpZD0ib3V0bWlkIj48YnI+PGJyPkNyZWF0aW5nIE5GVHMgZm9yIEFsbW9zdCBBbnkgT2NjYXNzaW9uPGJyPjxicj5TZWN0aW9uIDE8L3NwYW4+PGhyIHN0eWxlPSJtYXJnaW4tYm90dG9tOi0zdnc7Ij48L2g0PjwvbGFiZWw+CiZuYnNwOyAmbmJzcDs8c3BhbiBhbGlnbj0iY2VudGVyIiBpZD0iaW1nMSIgc3R5bGU9IndpZHRoOjk2dnc7cmlnaHQ6NTA7bGVmdDo1MDtoZWlnaHQ6YXV0bzsiPjxpbWcgc3JjPSJodHRwczovL2ltYWdlcy5wZXhlbHMuY29tL3Bob3Rvcy82MzkzMzcwL3BleGVscy1waG90by02MzkzMzcwLmpwZWciIHN0eWxlPSJ3aWR0aDo5OSU7IiBhbGlnbj0iY2VudGVyIj48L3NwYW4+CjxsYWJlbD48aDQgc3R5bGU9ImZvbnQtd2VpZ2h0Om5vcm1hbDsiPjxzcGFuIGlkPSJvdXRvdXQiIHN0eWxlPSJmb250LXdlaWdodDpub3JtYWw7Ij4mbmJzcDsgJm5ic3A7ICZuYnNwOyBUaGlzIGlzIHRoZSBtb3N0IGluZm9ybWF0aXZlIFdheCBCbG9ja2NoYWluIEF0b21pY0Fzc2V0IE5GVCBndWlkZS4gWW91IGNhbiBnbyBmcm9tIG5ldmVyIG1pbnRlZCB0byBtaW50aW5nIHNlbWktcHJvIHdpdGggdGhpcyAxIHNpbmdsZSBpbnRlcmFjdGl2ZSBhcnRpY2xlLiBFYWNoIHNlY3Rpb27igJlzIGRpZmZpY3VsdHkgaXMgY2xlYXJseSBtYXJrZWQgYmVmb3JlIGl04oCZcyByZWFkYWJsZS4gSWYgeW91IGFyZSB1bnN1cmUgeW91ciBsZXZlbCBvZiBtaW50aW5nIGFiaWxpdGllcyBqdXN0IGdvIGluIG9yZGVyIGFuZCBzZWUgd2hhdCB5b3UgbWF5IGxlYXJuLCB0aXBzIGFuZCB0cmlja3MgYXJlIHNjYXR0ZXJlZCB0aHJvdWdob3V0IHRoZSBndWlkZS4gRG9u4oCZdCB3b3JyeSwgYWxsIHRoZSB0ZWNobmljYWxzIGluIHRoaXMgc2VjdGlvbiBhcmUgYnJva2VuIHVwIGludG8gc21hbGwgZnJhZ21lbnRzIHRvIG1ha2UgaXQgZWFzaWVyIHRvIGdyYXNwLiAgWW91IHdpbGwgYmUgYWJsZSB0byBtaW50IHlvdXIgb3duIE5GVHMgYXMgd2VsbCBhcyBiZSBhYmxlIHRvIGRvIHNvbWUgcHJldHR5IGZ1biBzdHVmZiBpbmNsdWRpbmcgbWludGluZyBvbiBkZW1hbmQgYW5kIE5GVCBibGVuZGluZy4gTGV04oCZcyBwdXQgeW91ciB3b3JyeSB0byBlYXNlIGFuZCBnaXZlIHlvdSB0aGUgM0QgZXhwZXJpZW5jZSB3aXRoIEF0b21pY0Fzc2V0IE5GVHMhPGJyPiZuYnNwOyAmbmJzcDsgJm5ic3A7IFRvIHB1dCB3aGF0IGFuIE5GVCBpcyBpbnRvIGEgYml0IG1vcmUgdW5kZXJzdGFuZGFibGUgZm9ybWF0LCBORlRzIGFyZSBzdHJpbmdzIG9mIGNoYXJhY3RlcnMgdG8gcmVwcmVzZW50LCBkZWxpdmVyIG9yIGNvbnRhaW4gZGF0YSBmb3IgdGhlIHVzZXIuIFRoYXTigJlzIHdoYXQgYW4gTkZUIGlzIGJ1dCB3aGF0IGFuIE5GVCBkb2VzIGlzIHdoYXQgbW9zdCBwZW9wbGUgYXJlIGZhbWlsaWFyIHdpdGguPGJyPgo8aDEgYWxpZ249ImNlbnRlciIgc3R5bGU9IuKAmXRleHQtc2hhZG93OjJweCIgMnB4PSIiIDRweD0iIiBkaW1ncmV5O+KAmT0iIj48Yj5ORlRzIGFyZSBzdHJpbmdzIG9mIGNoYXJhY3RlcnMgdGhhdCBlaXRoZXIgcmVwcmVzZW50LCBkZWxpdmVyIG9yIGNvbnRhaW4gZGF0YSBmb3IgdGhlIHVzZXIuPC9iPjxicj48L2gxPjxoMyBhbGlnbj0iY2VudGVyIj48aT48Yj4zREM0PC9iPjwvaT48Yj4gaXMgYSBzdHJpbmcgb2YgY2hhcmFjdGVycywgPGk+M0RDNDwvaT4gaXMgbGlrZSBhbiA8aT5ORlQ8L2k+PC9iPjwvaDM+PGJyPgombmJzcDsgJm5ic3A7ICZuYnNwOyA8aT4zREM0PC9pPiBkb2VzbuKAmXQgc2VlbSB0byBjb250YWluIGRhdGEgYnV0IGl0IGRvZXMsIGZvciBleGFtcGxlLCBteSBuaWNrbmFtZSA8cT48Yj4zRDwvYj48L3E+IGlzIHByZXNlbnQgYXMgd2VsbCBhcyA8cT48Yj5DNDwvYj48L3E+IHdoaWNoIGlzIHRoZSByZXByZXNlbnRhdGlvbiBvZiA8aT4zRDwvaT4gYmVjYXVzZSBEIGlzIHRoZSA0dGggY2hhcmFjdGVyIGluIHRoZSBhbWVyaWNhbiBhbHBoYWJldCB3aGlsZSBDIGlzIHRoZSAzcmQgYnV0IHRoYXQgbWVhbnMgM0QgaXMgZXF1YWwgdG8gQzQuIERvbuKAmXQgZm9yZ2V0IDxpPkM0PC9pPiBpcyB0aGUgbmFtZSBvZiBhIHR5cGUgb2YgZXhwbG9zaXZlLiBJbiB0dXJuLCA8aT4zREM0PC9pPiBkZWxpdmVycyB0aGUgbmFtZXMsIDNE4oCdIGFuZCDigJxDNOKAnSwgd2hpbGUgcmVwcmVzZW50aW5nIGVhY2ggb3RoZXIgaW4gcGVyZmVjdCBvcHBvc2l0ZSBhbHBoYW51bWVyaWMgdW5pc2Vuc2UuIEFsdGhvdWdoIHlvdSBtYXkgbm90IHBheSBhIGZldyB0aG91c2FuZCBVUyBmb3IgdGhlIHN0cmluZywgM0RDNCwgdGhlcmUgYXJlIHN0cmluZ3Mgb2YgY2hhcmFjdGVycyB0aGF0IHBlb3BsZSBoYXZlIHBhaWQgaW50byB0aGUgbWlsbGlvbnMgb2YgZG9sbGFycyBmb3IgYmVjYXVzZSB0aGUgaW1hZ2UgdGhhdCBpcyBkZWxpdmVyZWQgYnkgdGhpcyBzdHJpbmcgb2YgY2hhcmFjdGVycyB3YXMgbWFkZSBieSBhIHZlcnkgZmFtb3VzIGFydGlzdC4gVGhlIGJlc3Qgc2VsbGluZyBORlQgd2FzIGJ5IHRoZSBpbnRlcm5ldCBmYW1vdXMgYXJ0aXN0LCA8aT5CZWVwbGU8L2k+IGZvciBvdmVyIDYwIG1pbGxpb24gZG9sbGFycy48YnI+Jm5ic3A7ICZuYnNwOyAmbmJzcDsgVGhlIHN0cmluZyBmb3IgdGhpcyBiZWVwbGUgY3JlYXRlZCBORlQgZGVsaXZlcnMgZGF0YSBmcm9tIGEgc2VydmVyLCBtb3N0IGxpa2VseSBJUEZTICg8aT48Yj5JPC9iPm50ZXI8Yj5QPC9iPmxhbnRlcnkgPGI+RjwvYj5pbGUgPGI+UzwvYj55c3RlbTwvaT4pLCB3aGVyZSB0aGUgaW1hZ2UgaXMgaG9zdGVkLiBWZXJ5IGZldyBORlQgaW1hZ2VzLCB2aWRlb3MsIGdpZnMgYXJlIGhvc3RlZCBieSB0aGUgYmxvY2tjaGFpbiB0aGV5IHJlc2lkZSBpbi4gVGhlIHN0cmluZyB0aGF0IHJlcHJlc2VudHMgdGhlIE5GVCBvbiB0aGUgYmxvY2tjaGFpbiBpcyBvbiB0aGUgYmxvY2tjaGFpbiBhbmQgdGhlIGNvbnRyYWN0IHRoYXQgdGhlIE5GVCBpcyB1dGlsaXppbmcgdG8gZXhpc3Qgb3IgdG8gaW50ZXJhY3Qgd2l0aCBtb3N0IGxpa2VseSBpcyBvbiB0aGUgYmxvY2tjaGFpbiBidXQgaW50ZXJhY3RpbmcgY29udHJhY3RzIGFyZSBub3QgYWx3YXlzIG9uIGNoYWluLiBXaGF0IHRoaXMgbWVhbnMgaXMgdGhlIGRhdGEgaXNu4oCZdCBob3N0ZWQgb24tY2hhaW4gc28gaG9zdGluZyBpcyBzdGlsbCBuZWVkaW5nIHRvIGJlIGRvbmUgYnkgdGhlIE5GVCBjcmVhdG9yLiBCYXNlZCBvbiBob3cgdGhlIE5GVCBjcmVhdGlvbiBwbGF0Zm9ybSB3b3JrcyB3aXRoIGl04oCZcyB1c2VycywgeW91IG5lZWQgdG8gZGV0ZXJtaW5lIHlvdXIgaG9zdGluZyBuZWVkcy4gQmVjYXVzZSB0aGlzIGlzIGFuIEF0b21pY0Fzc2V0cyBndWlkZSwgd2Ugd2lsbCBiZSBzdG9yaW5nIG91ciBkYXRhIHdpdGggPGI+SVBGUzwvYj4gYW5kIHRoZSBtb3N0IGNvbW1vbiBwbGFjZSB3aXRoIHRoZSBwZXJmZWN0IHNldHVwIGZvciA8aT5BdG9taWNBc3NldHM8L2k+IGlzIDxhIGhyZWY9Imh0dHBzOi8vcGluYXRhLmNsb3VkIiBzdHlsZT0idGV4dC1kZWNvcmF0aW9uOm5vbmU7IiB0YXJnZXQ9IuKAmV9ibGFua+KAmSIgcmVsPSLigJlub3JlZmVycmVyIiBub29wZW5lcuKAmT0iIj48Yj5QaW5hdGEgQ2xvdWQ8c3VwPio8L3N1cD48L2I+PC9hPi4gVGhlcmXigJlzIHRvbnMgb2Ygd2F5cyB0byBzdG9yZSB5b3VyIGRhdGEgdG8gSVBGUyBhbmQgUGluYXRhIENsb3VkIGhhcyBhIHNldHVwIHRoYXQgd29ya3MgcGVyZmVjdGx5IHdpdGggdGhlICBBdG9taWNBc3NldCBORlRzIHlvdSB3aWxsIGJlIGJ1aWxkaW5nIHdpdGggdGhpcyBndWlkZS4KPGhyPgo8ZGl2IGFsaWduPSJjZW50ZXIiIHN0eWxlPSJhbGlnbjpjZW50ZXI7Ij4KPGJ1dHRvbiBpZD0ic3RlcDAiIG9uY2xpY2s9ImRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCZxdW90OzBzdGVwJnF1b3Q7KS5zdHlsZT0mcXVvdDtkaXNwbGF5OmJsb2NrJnF1b3Q7O3RoaXMuc3R5bGU9JnF1b3Q7ZGlzcGxheTpub25lJnF1b3Q7OyIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6bGlnaHRncmVlbjtjb2xvcjpibGFjaztib3JkZXI6MnB4IHNvbGlkIGdyZWVuOyIgdmFsdWU9Ik5ldmVyJm5ic3A7TWludGVkIj5OZXZlciZuYnNwO01pbnRlZDwvYnV0dG9uPgoKPGRpdiBpZD0iMHN0ZXAiIHN0eWxlPSJkaXNwbGF5Om5vbmU7Ij4KJm5ic3A7ICZuYnNwOyAmbmJzcDsgQXRvbWljQXNzZXQgTkZUIEJhc2ljcyB3aWxsIGdldCB5b3Ugc3RhcnRlZCBvbiB0aGUgcHJvY2VzcyBmb3IgbWludGluZyBhcyB3ZWxsIHNvbWUgaGVscCBpbiBmaW5kaW5nIGhvc3RpbmcgbG9jYXRpb25zIGJ1dCBtb3N0IGltcG9ydGFudGx5IGlmIHlvdSBmb2xsb3cgdGhlIHN0ZXBzIHlvdSBjYW4gbWludCB5b3VyIGZpcnN0IE5GVCBlZmZlY3RpdmVseS4gIEF0b21pY0Fzc2V0IE5GVHMgYXJlIG1pbnRlZCB3aXRoIHRlbXBsYXRlcyBmcm9tIHNjaGVtYXMgaW5zaWRlIGEgY29sbGVjdGlvbiBidXQgYmVmb3JlIHdlIGNhbiBzZXQgYW55IG9mIHRoYXQgdXAgd2UgbmVlZCBhIHdhbGxldCBhZGRyZXNzLCBzbyBsZXTigJlzIGdldCBhIHdhbGxldCBhZGRyZXNzLjxicj4mbmJzcDsgJm5ic3A7ICZuYnNwOyBXaXRoIGNyeXB0b2N1cnJlbmNpZXMgYW5kIHNvbWUgZGlnaXRhbCBjdXJyZW5jaWVzIHlvdSBuZWVkIGEgd2F5IHRvIGhvbGQgeW91ciBwcml2YXRlIGtleXMgYXMgd2VsbCBhcyBpbnRlcmFjdCB3aXRoIHRoZSBibG9ja2NoYWluIGluIHNvbWUgd2F5LiBOb3ctYS1kYXlzIGEgd2FsbGV0IHdpbGwgZ2l2ZSB5b3UgdGhlIGJhc2ljIHdheXMgdG8gZG8gdGhpcyBvciBhdCB0aGUgbGVhc3QgaG9sZCB5b3VyIGZ1bmRzIGZvciB5b3UuIFRoZSBvZmZsaW5lIHdhbGxldHMgYXJlIG1vcmUgc2VjdXJlIGFuZCBvbmxpbmUsIGFrYSA8aT5Ib3QgV2FsbGV0czwvaT4sIGFyZSBsZXNzIHNlY3VyZSBidXQgdGVuZCB0byBoYXZlIHRoZWlyIG93biBwZXJrcy4gIFlvdSBjYW4gYWx3YXlzIGNoYW5nZSB3YWxsZXRzIGFuZCBhZGRyZXNz4oCZIGxhdGVyIGJ1dCBpZiB5b3Ugd2FudCBhIHF1aWNrIGZyZWUgbm8tYXBwIHdhbGxldCB0byBnZXQgc3RhcnRlZCBqdXN0IGNsaWNrIDxhIGhyZWY9Imh0dHBzOi8vYWxsLWFjY2Vzcy53YXguaW8vIiB0YXJnZXQ9IuKAmV9ibGFua+KAmSIgc3R5bGU9InRleHQtZGVjb3JhdGlvbjpub25lOyI+aGVyZSB0byB2aXNpdCwgV2F4IENsb3VkIFdhbGxldDxzdXA+Kjwvc3VwPjwvYT4uIFlvdSBjYW4gYWxzbyB1c2UgdGhlIHJlc291cmNlcyBhdCA8YSBocmVmPSJodHRwczovL3dheC5pby8iIHRhcmdldD0i4oCZX2JsYW5r4oCZIiBzdHlsZT0idGV4dC1kZWNvcmF0aW9uOm5vbmU7IiByZWw9IuKAmW5vcmVmZXJyZXIiIG5vb3BlbmVy4oCZPSIiPldheC5pbzxzdXA+Kjwvc3VwPjwvYT4sIGV2ZXJ5b25lIGVsc2UgaGF2ZSBmdW4gZ2V0dGluZyB5b3VyIGZhdm9yaXRlIHdhbGxldCByZWFkeSBmb3IgdGhlIG5leHQgc3RlcHMuIEp1c3QgcmVtZW1iZXIgMkZBIGlzIGdyZWF0IGZvciB0aGUgV2F4IENsb3VkIFdhbGxldCBiZWNhdXNlIGl0IGlzIGEgaG90IHdhbGxldCBhbmQgMkZBIHdpbGwgaW5jcmVhc2UgeW91ciBzZWN1cml0eSB3aGVuIHVzZWQgd2VsbC4KPG9sPkFkZGluZyBBdHRyaWJ1dGVzOiA8aT5CYXNpY2FsbHkgd2UgYXJlIGFkZGluZyBhdHRyaWJ1dGVzIHRvIHRoZSBORlQgdG8gZGlzcGxheSB3aXRoLiBTbyB0aGUgbGVmdCBzaWRlIG9mIGV2ZXJ5IGF0dHJpYnV0ZSBuZWVkcyB0byBiZSBsb3dlcmVkIGNhc2UsIG5vIGNhcHMuIFRoZSByaWdodCBzaWRlIHdpbGwgZGV0ZXJtaW5lIHdoYXQgdHlwZSBvZiBkYXRhIGNhbiBhcHBlYXIgdGhlcmUgbGlrZTogPGI+aW1hZ2VzLCBJUEZIIGhhc2gsIGJvb2xlYW4gKDEgb3IgMCkgb3IgbnVtYmVyczwvYj4uPC9pPjwvb2w+CjxvbD5BZGRpbmcgSW1hZ2VzOiA8aT5BZGRpbmcgaW1hZ2VzIHlvdSB3aWxsIHVzZSBhbiBhdHRyaWJ1dGUgd2l0aCDigJxpbWFnZeKAnSBmb3IgdGhlIHJpZ2h0IHNpZGUgc2VsZWN0aW9uIGJ1dCB5b3XigJlsbCBvbmx5IGRyb3AgeW91ciBQaW5hdGEgQ2xvdWQgb3IgSVBGUyBIYXNoIHRoZXJlLiBUaGUgd2Vic2l0ZSB3aWxsIGdhdGhlciB0aGUgaW1hZ2UgZnJvbSB0aGUgSVBGUyBoYXNoIHNvIHdoYXQgaW1hZ2UgaXMgc2V0IHRvIHRoYXQgaGFzaCBpcyB3aGF0IHdpbGwgc2hvdyB1cC48L2k+PC9vbD4KPG9sPkFkZGluZyBWaWRlb3M6IDxpPkFkZGluZyB2aWRlb3MgeW91IHdpbGwgdXNlIGFuIGF0dHJpYnV0ZSB3aXRoIOKAnElQRlMgSGFzaOKAnSBmb3IgdGhlIHJpZ2h0IHNpZGUgc2VsZWN0aW9uIGFuZCBmb3IgdGhlIGxlZnQgc2lkZSBzZWxlY3Rpb24geW914oCZbGwgbmVlZCDigJx2aWTigJ0gb3Ig4oCcdmlkZW/igJ0uIFlvdSBjYW4gYWRkIG51bWJlcnMgaWYgeW91IGhhdmUgbXVsdGlwbGUgdmlkZW9zLiBOb3QgYWxsIHdvcmRzIGxpa2Ug4oCcZmlsbeKAnSB3aWxsIHdvcmsgZm9yIHRoZSB2aWRlbyB0byBvdXRwdXQuIExpa2UgdGhlIGltYWdlcywgeW914oCZbGwgb25seSBkcm9wIHRoZSBJUEZTIGhhc2ggb2YgeW91ciB2aWRlbyBpbiB0aGUgcmlnaHQgc2lkZSBzZWxlY3Rpb24gZHVyaW5nIHRoZSB0ZW1wbGF0ZSBjcmVhdGlvbiBwcm9jZXNzLjwvaT48L29sPgogPG9sPkFkZGluZyBBdWRpby9NdXNpYzogPGk+QWRkaW5nIGF1ZGlvIHlvdSB3aWxsIHVzZSBhbiBhdHRyaWJ1dGUgd2l0aCDigJxJUEZTIEhhc2jigJ0gZm9yIHRoZSByaWdodCBzaWRlIHNlbGVjdGlvbiBhbmQgZm9yIHRoZSBsZWZ0IHNpZGUgc2VsZWN0aW9uIHlvdeKAmWxsIG5lZWQg4oCcdmlk4oCdIG9yIOKAnHZpZGVv4oCdLiBZb3UgY2FuIGFkZCBudW1iZXJzIGlmIHlvdSBoYXZlIG11bHRpcGxlIGF1ZGlvIHRyYWNrcyBpbiB0aGUgc2FtZSBORlQuIE5vdCBhbGwgd29yZHMgbGlrZSDigJxzb25n4oCdLCAiYXVkaW8iLCAic291bmQiIHdpbGwgd29yayBmb3IgdGhlIGF1ZGlvIHRvIG91dHB1dC4gTGlrZSB0aGUgdmlkZW9zLCB5b3XigJlsbCBvbmx5IGRyb3AgdGhlIElQRlMgaGFzaCBvZiB5b3VyIGF1ZGlvIGluIHRoZSByaWdodCBzaWRlIHNlbGVjdGlvbiBkdXJpbmcgdGhlIHRlbXBsYXRlIGNyZWF0aW9uIHByb2Nlc3MuIEVzc2VudGlhbGx5LCBhdWRpbyBpcyBsb29rZWQgYXQgYXMgYSB2aWRlbyBqdXN0IHdpdGhvdXQgYSBwaWN0dXJlIHRvIHNob3cuPC9pPjwvb2w+CjxvbD5BZGRpbmcgQm9va3MvRS1Cb29rczogPGk+QWRkaW5nIEJvb2tzIGxpa2UgZS1ib29rcyB5b3Ugd2lsbCB1c2UgYW4gYXR0cmlidXRlIHdpdGgg4oCcaW1hZ2XigJ0gZm9yIHRoZSByaWdodCBzaWRlIHNlbGVjdGlvbi4gRm9yIHRoZSBsZWZ0IHNpZGUgc2VsZWN0aW9uIHdvcmRzIGxpa2UsIOKAnHBhZ2XigJ0gYW5kIOKAnHBn4oCdIHdvcmsgYmVzdCBhbmQgb2YgY291cnNlIHlvdSBjYW4gYWRkIG51bWJlcnMgYXQgdGhlIGVuZCBvZiB0aGUgd29yZHMuIElmIGFkZGluZyBhbiBhdWRpbyBmaWxlIG9mIHRoZSBib29rIGJlaW5nIHJlYWQsIHRyZWF0IHRoZSBhdWRpbyBhcyBhIHZpZGVvLiBJZiBhZGRpbmcgYSBQREYgdG8gSVBGUywgdXNlIOKAnHBkZuKAnSBpbnN0ZWFkIG9mIOKAnFBERuKAnSBiZWNhdXNlIG5vLWNhcHMgaW4gdGhlIGxlZnQgc2lkZSBzZWxlY3Rpb24gaW4gdGhlIHNjaGVtYXMuIE1hbnkgcGVvcGxlIGFkZCB0aGUgUERGIGFzIGEgbGluayB2aWEgYSBRUiB3aXRoIOKAnHBpY+KAnSBhcyB0aGUgbGVmdCBzaWRlIHNlbGVjdGlvbi4gVGhlIHVzZXIgc2NhbnMgdGhlIFFSIHRvIGFjY2VzcyB0aGUgYm9vay4gVXNlIGEgbG9ja2VkIGxpbmsgbGlrZSA8YSBocmVmPSJodHRwczovL2pzdHJpZWIuZ2l0aHViLmlvL2xpbmstbG9jay9jcmVhdGUiIHRhcmdldD0i4oCZX2JsYW5r4oCZIiByZWw9IuKAmW5vcmVmZXJyZXIiIG5vb3BlbmVy4oCZPSIiIHN0eWxlPSJ0ZXh0LWRlY29yYXRpb246bm9uZTsiPkpzdHJpZWLigJlzLCA8c3VwPiogQ2xpY2sgSGVyZSB0byBWaXNpdCBKc3RyaWVi4oCZcyBMaW5rLUxvY2sgKjwvc3VwPjwvYT4gd2l0aCBpbmZvIGZyb20gdGhlIE5GVCBhcyBhIGxvY2sgcGFzc3dvcmQsIGluY2x1ZGluZyBhZGRpbmcgYSDigJxwc3PigJ0gZm9yIHBhc3N3b3JkIGF0dHJpYnV0ZSB3aXRoIOKAnHRleHTigJ0gYXMgdGhlIHJpZ2h0IGhhbmQgc2VsZWN0b3IuPC9pPjwvb2w+PGJyPiZuYnNwOyAmbmJzcDsgJm5ic3A7IEF0IHRoZSBlbmQgb2YgdGhlIGRheSB5b3VyIGRhdGEgaGFzIHRvIGZpdCBvbmUgb2YgYSBmZXcgY2F0ZWdvcmllczogPGk+PGI+aW1hZ2U8L2I+IChpbmNsdWRlcyBnaWZzKSwgPGI+SVBGUyBIYXNoPC9iPiAobXVsdGkgZm9ybWF0KSwgPGI+VGV4dDwvYj4gKGluY2x1ZGluZyBsaW5rcyksIDxiPkJvb2xlYW48L2I+ICgxIGZvciBZZXMsIDAgZm9yIEZhbHNlKSwgPGI+SW50YWdlcnM8L2I+IChudW1iZXJzKSwgPGI+RmxvYXRpbmcgUG9pbnQgTnVtYmVyPC9iPiAobnVtYmVycyB3aXRoIGRlY2ltYWxzKTwvaT4uICBXaGF0IHlvdSBkbyB3aXRoIHRoZXNlIG9wdGlvbnMgYXJlIHlvdXIgb3duIGJ1dCBoZXJlJ3Mgc29tZSBxdWljayB0aXBzIHRvIGhlbHAgYm9vc3QgaWRlYXMuICBCb29sZWFuIGFuZCBmbG9hdGluZyBwb2ludCBudW1iZXJzIGFyZSBncmVhdCBmb3IgY29udHJhY3RzIHdoaWxlIGV2ZXJ5dGhpbmcgZWxzZSBpcyBncmVhdCBmb3IgdXNlcnMgYW5kIGNyZWF0b3JzLiBEb27igJl0IGxldCBhbGwgdGhlIG9wdGlvbnMgc2NhcmUgeW91LiBJZiB5b3Ugb25seSB1c2UgSVBGUyBIYXNoLCBJbWFnZSBhbmQgVGV4dCB0aGVuIHlvdeKAmXJlIGFtb25nIHRoZSBncmVhdHMgYmVjYXVzZSBtb3N0IE5GVHMgb25seSB1c2UgYSBjb21iaW5hdGlvbiBvZiB0aG9zZSB0aHJlZSBvcHRpb25zLiBPbmNlIHlvdeKAmXZlIGxhaWQgb3V0IHdoYXQgZGF0YSB3aWxsIGJlIGFkZGVkIGludG8gdGhlIG1ldGFkYXRhIG9mIHlvdXIgTkZUcyBmb3IgdGhpcyBzY2hlbWEsIGdpdmUgaXQgYSBuYW1lIHdoaWNoIGlzIG1vcmUgbGlrZSBhIGdlbnJlLiBGb3IgbWFueSBwZW9wbGUgaGVhcmluZyB0aGlzIG1ha2VzIG1vcmUgc2Vuc2UgdGhhbiB0aGUgY29sbGVjdGlvbiBncm91cCwgd2hpY2ggaXQgaXMgYXMgd2VsbC4gV2hlbiBwZW9wbGUgbG9vayBmb3IgeW91ciBORlRzLCB0aGV5IHdpbGwgZ28gZnJvbSBhbGwgTkZUcyB0byB5b3VyIDxpPkNvbGxlY3Rpb24ocyk8L2k+IHRoZW4gdG8geW91ciA8aT5TY2hlbWEocyk8L2k+IG9uY2UgaW4geW91ciBjb2xsZWN0aW9ucy4gU28geW91ciBzY2hlbWEgbmFtZSBzaG91bGQgYm90aCBiZSB3aXRoaW4gdGhlIGxpbmVzIG9mIHlvdXIgY29sbGVjdGlvbiB0aGVtZSBidXQgYXMgd2VsbCBhcyB5b3VyIE5GVOKAmXMgdGhlbWUocykuIElmIHlvdSB3ZXJlIG1pbnRpbmcgbXVzaWMsIHlvdSB3b3VsZCBjYWxsIHNjaGVtYXMgYnkgeW91ciB2YXJpb3VzIGdlbnJlcyBvciBpZiB5b3UgcGVyZm9ybSBsaXZlIGFuZCBub3QtbGl2ZSBtYXliZSBsaXZlIGV2ZW50IE5GVHMgYmUgb25lIHNjaGVtYSBsaWtlLCDigJxsaXZlc25hcHMnJyBhbmQgYW5vdGhlciBzY2hlbWEgbGlrZSwg4oCcc25hcHPigJ0gc28gd2l0aG91dCB0ZWxsaW5nIHlvdXIgY29tbXVuaXR5LCDigJxoZXkgdGhlc2UgYXJlIGZyb20gbGl2ZSBldmVudHMgYW5kIHRoZXNlIGFyZSBub3Qu4oCdIEZpbmFsbHksIGp1c3Qgc2F2ZSB3aGVuIHlvdSBhcmUgcmVhZHkhCjxicj4mbmJzcDsgJm5ic3A7ICZuYnNwOyBXaGV3LCBjcmVhdGVkIGEgY29sbGVjdGlvbiBhbmQgYSBzY2hlbWEsIG5vdyBpdOKAmXMgdGltZSB0byBzZXQgdXAgc29tZSBORlQgdGVtcGxhdGVzISBORlQgdGVtcGxhdGVzIGFsbG93IHRoZSBibG9ja2NoYWluIGludGVyYWN0b3JzIHRvIGZpZ3VyZSBvdXQgZGF0YSBsaWtlLCB3aGljaCBORlQgaXMgd2hpY2ggbWludCBudW1iZXIgYW5kIG90aGVyIGFjdGlvbnMgcGVvcGxlIHRoaW5rIGFyZSBhdXRvbWF0aWMuIE9uIEV0aGVyZXVtIChhIGxlYWRpbmcgTkZUIGhvc3RpbmcgYmxvY2tjaGFpbiksIHRoZXJl4oCZcyBubyBtaW50IG51bWJlcnMgYW5kIHRoYXTigJlzIHJlbGllZCBhbG1vc3QgY29tcGxldGVseSBvbiB0aGUgYXJ0aXN0cy4gVGhlcmUgYXJlIGNhc2VzIHdoZXJlIGV2ZW4ga25vd2luZyB0aGF0IGRhdGEgYW5kIGRlbGl2ZXJpbmcgdGhhdCBkYXRhIGlzIG5lYXJseSBpbXBvc3NpYmxlIHRvIGRvIHNvLCB0aGVzZSB0ZW1wbGF0ZXMgaGVscCBtYWtlIGxpdHRsZSBhY3Rpb25zIHBvc3NpYmxlLiBBbm90aGVyIGdyZWF0IHRoaW5nIGFib3V0IHRlbXBsYXRlcyBpcywgeW91IGNhbiBzZXQgdXAgYW4gTkZUIHRoZW4gbWludCBpdCBsYXRlciBpbmNsdWRpbmcgcGVyZm9ybWluZyB0YXNrcyBsaWtlLCDigJxtaW50aW5nIG9uIGRlbWFuZOKAnSBhbmQg4oCccGFjayBtaW50aW5n4oCdICh0aGF04oCZcyB3aGVuIHRoZXkgY29tZSBpbiBwYWNrcyBhbmQgYnkgb3BlbmluZyB0aGUgcGFjaywgdGhlIHBhY2sgb3BlbmluZyBtaW50cyB0aGUgTkZUcyBuZWVkZWQgb24gZGVtYW5kIGFuZCBsb3dlciBtaW50aW5nIGNvc3RzIGZvciBiaWdnZXIgcHJvamVjdHMpLiBBbG1vc3QgYWxsIG9uLWRlbWFuZCBtaW50aW5nIGxvd2VycyB0aGUgb3ZlcmFsbCBtaW50aW5nIGNvc3QgYnV0IHRoZXNlIGFyZSBtb3JlIGFkdmFuY2VkIE5GVCBpbnRlcmFjdGlvbnMuIFdlIHdpbGwgc3RpY2sgdG8gdGhlIGJhc2ljcywgdGVtcGxhdGUsIG1pbnQsIHNlbGwvZ2l2ZS90cmFkZS48YnI+ICZuYnNwOyAmbmJzcDsgJm5ic3A7IFNvIHdoZW4gYnVpbGRpbmcgYSBuZXcgdGVtcGxhdGUgeW914oCZbGwgbm90aWNlIHlvdSBjYW4gb25seSBpbnB1dCBkYXRhIGJhc2VkIG9uIHdoYXTigJlzIGluIHRoZSBzY2hlbWEgYXQgdGhpcyBwb2ludCBpbiB0aW1lLiBJZiB5b3UgZG9u4oCZdCBpbnB1dCBkYXRhIGNvcnJlY3RseSwgaXQgd2lsbCBlaXRoZXIgbm90IGxldCB5b3Ugc2F2ZSBvciBpdCB3aWxsIGp1c3Qgbm90IGRpc3BsYXkuIE5vdyBpZiB5b3UgaGF2ZSBhIHR5cG8gb3IgbWlzcy1zcGVsbGluZywgdGhlIHN5c3RlbSB3aWxsIG5ldmVyIHRlbGwgeW91IGFib3V0IHRoZXNlIGFuZCB0aGV5IHdpbGwgbm90IHN0b3AgdGhlIHN5c3RlbSBzbyB5b3VyIHR5cG9zIHdpbGwgZ2V0IG1pbnRlZC4gQmUgY2FyZWZ1bCBiZWNhdXNlIGp1c3QgbGlrZSBzY2hlbWFzLCB0ZW1wbGF0ZXMgYXJlIGZvcmV2ZXIuIE5vIGRlbGV0aW5nLiBZb3UgY2FuIGhvd2V2ZXIsIG1pbnQgb3V0IHRoZSBxdWFudGl0eSBvZiBORlRzIGZvciB0aGF0IHRlbXBsYXRlIHRoZW4gYnVybiB0aGUgTkZUcy4gS2lsbGluZyB0aGUgdGVtcGxhdGUgKGVzc2VudGlhbGx5KS4gRmlsbCBvdXQgeW91ciBkYXRhIGFuZCBpZiB5b3Ugd2FudCB0aGlzIHRlbXBsYXRlIHRvIGhhdmUgYSBsaW1pdGF0aW9uIHRvIGhvdyBtYW55IGNhbiBleGlzdCwgaW5wdXQgdGhlIG1heC1udW1iZXIgaW4gdGhlIHRvcC4gSWYgeW91IHdhbnQgYW4gdW5saW1pdGVkIG1pbnQgcG9zc2libGUgb3IgeW91IGRvbuKAmXQga25vdyBob3cgbWFueSB5b3UgbmVlZCwganVzdCBkb27igJl0IGlucHV0IGEgbWF4IHN1cHBseSBudW1iZXIuIFNhdmUgYW5kIHNpZ24gdGhlIHRyYW5zYWN0aW9uIGp1c3QgbGlrZSB3aXRoIHRoZSBjb2xsZWN0aW9uIGFuZCBzY2hlbWEuICBZb3UgaGF2ZW7igJl0IG1pbnRlZCBhbiBORlQgeWV0IGJ1dCB5b3UgYXJlIDEgc3RlcCBhd2F5IGZyb20gaGF2aW5nIHNvbWUgdG8gcHV0IHVwIGZvciBzYWxlIG9yIHdoYXQgeW91IHdpc2ggdG8gZG8gd2l0aCB0aGVtLiBIZWFkIG92ZXIgdG8geW91ciBzY2hlbWEsIG9mdGVudGltZXMgaXTigJlzIGVhc2llciB0byBqdXN0IHRvIGhhdmUgdGhlIHNjaGVtYSBwYWdlIGFscmVhZHkgdXAgaW4gYW5vdGhlciB0YWIvdGFiLWdyb3VwIGFuZCByZWZyZXNoIHRoZW4gaXQgaXMgdG8gZ28gYmFja3dhcmRzICZhbXA7IHJlZnJlc2ggdGhlIHNjaGVtYSBwYWdlLjxicj4gJm5ic3A7ICZuYnNwOyAmbmJzcDsgT25jZSBiYWNrIGludG8gdGhlIHNjaGVtYSB5b3UgY2FuIOKAnE1pbnQgbmV3IEFzc2V04oCdIHRvIGNyZWF0ZSB5b3VyIE5GVChzKS4gSG9wIGluIGFuZCBjbGljayBvbiB3aGF0IHRlbXBsYXRlIHlvdSB3YW50IHRvIHVzZSwgSSBhbHdheXMgc2F5IHNldCB0aGUgdGVtcGxhdGUgZmlyc3QgYmVjYXVzZSBpdOKAmXMgc28gZWFzeSB0byBqdXN0IGZvcmdldCB0byB1c2UgdGhlIHRlbXBsYXRlIGFuZCBub3QgZ2V0IHRoZSBtaW50IG51bWJlcnMgd2l0aCB5b3VyIE5GVC4gTmV4dCBhZGQgdGhlIHdhbGxldCB5b3Ugd2FudCB0byBtaW50IHRvIHVuZGVyICJhc3NldCBvd25lciIsIG1vc3QgdGltZXMgeW91IHdpbGwgd2FudCB0byB1c2UgeW91ciB3YWxsZXQgYWRkcmVzcy4gSWYgeW91IGp1c3QgY2xpY2sgdG8gbWludCwgeW91ciBhZGRyZXNzIHNob3VsZCBiZSB0aGUgYXV0by1zZWxlY3RlZCBhY2NvdW50IGluIHRoZSBhc3NldCBvd25lciBzbG90IGJ1dCBhbHdheXMgZG91YmxlIGNoZWNrLiBBZGQgaG93IG1hbnkgb2YgdGhlc2UgeW91IHdhbnQgdG8gbWludCB0byB0aGF0IHdhbGxldC4gVGhpcyB3aWxsIG1pbnQgdGhlIE5GVHMgdXAgdG8gdGhlIG51bWJlciBvZiBORlRzIHlvdXIgdGVtcGxhdGUgd2lsbCBhbGxvdy4gVGhlcmUgaXMgYSBzb2Z0LWNhcCBvZiAxMDAgTkZUcyB0aGF0IGNhbiBiZSBtaW50ZWQgYXQgYSB0aW1lIGJ1dCB5b3UgY2FuIHJlcGVhdCBhcyBuZWVkZWQuIE5vdyBpZiB5b3UgcGxhbiBvbiByZWxlYXNpbmcgYSBidW5jaCBvZiBORlRzIGZvciBhIHRlbXBsYXRlLCB5b3UgbWF5IHdhbnQgdG8gZG8gYSBEcm9wIHdoaWNoIHdpbGwgbWludCB0aGVzZSBvbiBkZW1hbmQuIFlvdSBjYW4gc3RpbGwgZG8gdGhpcyBwYXJ0IGFuZCBtaW50IHRoZSBmaXJzdCB4LW51bWJlciBvZiBORlRzIHRvIHlvdXJzZWxmIGZvciBhdWN0aW9ucywgZ2l2ZWF3YXlzIGFuZCBhaXJkcm9wcyB0aGVuIGRvIHRoZSBEcm9wIGFmdGVyd2FyZHMuIEl0IGlzIGNvbXBsZW1lbnRhcnkgdG8gbGV0IGJ1eWVycyBkZWNpZGUgd2hvbSBnZXRzIHRoZSBmaXJzdCBtaW50IG51bWJlciAodGhlIGZpcnN0IGJvdWdodCBpbiBhbiBORlQgRHJvcCkuIE9uY2UgeW91IHNpZ24gdGhlIHRyYW5zYWN0aW9uIGFuZCBnZXQgdGhlIGNvbmZpcm1hdGlvbiBoYXNoLCB5b3VyIE5GVHMgc2hvdWxkIGJlIGluIHlvdXIgaW52ZW50b3J5ISBTbywgY2xpY2sgb24gdGhlIHRvcCByaWdodCBjb3JuZXIgYnV0dG9uIHRvIGRyb3Bkb3duIHRoZSBtZW51IGFuZCBjbGljayBvbiB5b3VyIGFjY291bnQgZG93bi1hcnJvdyB0byBmaW5kLCDigJxpbnZlbnRvcnnigJ0gdG8gY2xpY2sgb24gaXQgYW5kIHZpc2l0Ljxicj4mbmJzcDsgJm5ic3A7ICZuYnNwOyBJbiB5b3VyIGludmVudG9yeSB5b3UgY2FuIGZpbmQgdGhlIE5GVHMgeW91IHdhbnQgdG8gc2VsbCBhbmQgd2l0aG91dCBjbGlja2luZyBvbiB0aGUgTkZUIHlvdeKAmWxsIHNlZSBhIGxpdHRsZSBidXR0b24gcGFuZWwgdW5kZXJuZWF0aCBlYWNoIE5GVC4gSW4gdGhhdCBwYW5lbCB5b3Ugc2hvdWxkIHNlZSBhIOKAnExpc3Qgb24gTWFya2V04oCdIGJ1dHRvbiBhbmQgaWYgeW91IGNsaWNrIHRoYXQsIHlvdeKAmWxsIGJlIHByZXNlbnRlZCB3aXRoIGEgbmV3IHNjcmVlbiB3aGVyZSB0aGF0IE5GVCBpcyBwcmVzZWxlY3RlZCBhbmQgeW91IGp1c3QgaW5wdXQgdGhlIHByaWNlIGluIFdBWCB5b3Ugd2FudCBmb3IgdGhlIE5GVC4gQXQgdGhlIGJvdHRvbSB5b3XigJlsbCBzZWUgYSBzZWN0aW9uIHRlbGxpbmcgeW91IHlvdXIgcmV0dXJuIG9uIHRoZSBzYWxlIG9mIHRoYXQgTkZUIG92ZXIgdGhlIEF0b21pY2h1YiBNYXJrZXQuIEltbWVkaWF0ZWx5IGJlbG93IHRoYXQgeW914oCZbGwgc2VlIHRoZSDigJxDb25maXJt4oCdIGJ1dHRvbi4gSWYgeW91ciBORlQgaGFzIHNlY29uZGFyeSBzYWxlcyAoc2FsZXMgYWZ0ZXIgb3JpZ2luYWwgc2FsZSksIHlvdeKAmWxsIHNlZSB0aGF0IGRhdGEgdW5kZXIgdGhlIE5GVCBvbiB0aGlzIHNjcmVlbi4gU29tZXRpbWVzIGEgcHJpY2Ugd2lsbCBiZSBzdWdnZXN0ZWQsIHRyeSBnb2luZyAzNSUgaGlnaGVyIHRoYW4gdGhhdCBwcmljZS48YnI+ICZuYnNwOyAmbmJzcDsgJm5ic3A7IE92ZXJwcmljaW5nIGNhbiBib3RoIGJlIHN0cmF0ZWdpY2FsIGFuZCBhIHBvb3IgZGVjaXNpb24sIHVsdGltYXRlbHkgaXTigJlzIHVwIHRvIHlvdSBvbiB5b3VyIHByaWNlcyBidXQgeW91IGhhdmUgdG8gdGhpbmsgb2YgMyBtYWpvciBmYWN0b3JzIHRvIHNldHRpbmcgaW5pdGlhbCBwcmljaW5nOiA8Yj5EZW1hbmQsIFlvdXIgQXZnIEJ1eWVyIFByaWNlIFJhbmdlLCBSZXNlbGxzPC9iPi4gVGhlIGFtb3VudCBvZiBkZW1hbmQgaW4geW91ciBORlQgc2FsZXMgaXMgdGhlIDFzdCBmYWN0b3IuIElmIHlvdXIgTkZUcyBzaXQgYXJvdW5kLCB0aGV5IG1heSBiZSBvdmVycHJpY2VkLiBJZiB5b3VyIE5GVHMgYXJlIHNlbGxpbmcsIHdoaWNoIGFyZSBzZWxsaW5nIHRoZSBiZXN0PyBXaGljaCBzZXRzIHNlbGwgb3V0IG9yIHdoaWNoIGFyZSB0aGUgZmlyc3QgcGlja2VkIHVwPyBUaGlzIHdpbGwgaGVscCB5b3UgZmluZCB0aGUgcHJpY2UgcmFuZ2UgeW91ciBidXllcnMgYXJlIGJ1eWluZyBhdC4gUHJvZHVjaW5nIGFydCBvciB3b3JrcyBmb3IgeW91ciBORlRzIHRoYXQgYXJlIHdheSBvdmVyIHRoZSBwcmljZSBvZiB3aGF0IHlvdSdyZSB3YW50aW5nIHRvIGdldCwgeW91IGNhbiB0YWtlIGEgc3RyYXRlZ2ljIHJvdXRlIGFuZCBtYWtlIHlvdXIgdmVyeSBmaXJzdCBORlRzIGVpdGhlciB1YmVyIGNoZWFwIGZvciBub3cgYnV5ZXJzIG9yIHJlYWxseSBleHBlbnNpdmUgdG8gbWFrZSB0aGVtIG1vcmUgc291Z2h0IGFmdGVyIHdoZW4gYSBkZW1hbmQgY29tZXMgaW4uIEFmdGVyIHRoYXQgeW91IG5lZWQgeW91ciB3b3JrIHRvIGVpdGhlciB1cGdyYWRlIG9yIHN0YXkgcm91Z2hseSB0aGUgc2FtZS4gUmVzZWxsaW5nIG9mIHlvdXIgTkZUcyBpcyBhIGdvb2QgdGhpbmcgYW5kIG9mdGVudGltZXMgaWYgdGhlIHJpZ2h0IHBlcnNvbiBnZXRzIGEgaG9sZCBvZiB5b3VyIE5GVCB0aGV5IGNhbiBzZWxsIGl0IG9uIHRoZSBzZWNvbmQgbWFya2V0IHdoaWNoIHlvdeKAmWxsIGdldCBhIGN1dCBiYXNlZCBvbiB5b3VyIGNvbGxlY2l0b27igJlzIG1hcmtldCBmZWUgYXQgdGhlIHRpbWUgb2YgY3JlYXRpbmcgdGhlIE5GVC4gUmVzZWxscyBjYW4gYWxzbyBpbmNyZWFzZSB0aGUgdmFsdWUgb2YgeW91ciBjb2xsZWN0aW9uL05GVHMuIFJlc2VsbHMgY2FuIGFsc28gZ2V0IHlvdSBtb3JlIHB1YmxpY2l0eSEgSG9uZXN0bHksIGV2ZXJ5IE5GVCBjcmVhdG9yIHNob3VsZCBob3BlIGZvciBtb3JlIHJlc2VsbHMgdGhlbiBob2RsZXJzLCBpdOKAmXMgYWZ0ZXIgeW91IGdldCBhIGhpZ2ggZGVtYW5kIHdoZXJlIE5GVCBkcm9wcyBzZWxsIG91dCBpbiBtaW51dGVzIG9yIGxlc3MgdGhhdCB5b3UgaG9wZSBmb3IgaG9kbGVycyBiZWNhdXNlIGEgY29uc3RhbnRseSB0cmFkaW5nIE5GVOKAmXMgdmFsdWUgaXMgbW9zdCBvZnRlbiBiYXNlZCBvbiB0aGUgcG9wdWxhcml0eSBvZiAoZGVtYW5kIGZvciBwZW9wbGUgd2FudGluZykgdGhhdCBORlQuIEEgaG9kbGVyLCBpcyBzb21lb25lIHdob20gd2lsbCBob2xkIG9udG8gdGhhdCBhc3NldCBmb3IgbG9uZyBwZXJpb2RzIG9mIHRpbWUgYnVpbGRpbmcgYSBiYXNlIHZhbHVlIGZvciB5b3VyIE5GVHMuPGJyPiZuYnNwOyAmbmJzcDsgJm5ic3A7IE9uY2UgeW91IHN0YXJ0IGdldHRpbmcgZGVtYW5kIGFuZCBzZWxsLW91dCBORlQgZHJvcHMsIHlvdSBtYXkgc3RhcnQgdG8gYXVjdGlvbiBvZmYgbWludCAjMeKAmXMgZm9yIGV4dHJhIHJldHVybnMuIFRvIGRvIGFuIGF1Y3Rpb24sIOKAnExpc3Qgb24gTWFya2V04oCdIHRoZW4gc2VsZWN0IOKAnEF1Y3Rpb27igJ0gaW4gdGhlIHRvcCBzZWxlY3Rpb24gb3B0aW9ucy4gU2VsbGluZyBORlRzIHJlcXVpcmVzIFJBTSB3aXRoIHlvdXIgd2FsbGV0LiBNaW50aW5nIGxpa2UgYWxsIG1ham9yIGNoYWluIGFjdGlvbnMgcmVxdWlyZXMgUkFNIGFuZCBpbiB0aGUgTkZUIGNyZWF0b3IgYXQgYW55IHBvaW50IGluIHRpbWUsIGl0IGRpc3BsYXlzIHlvdXIgUkFNIGFuZCB5b3UgY2FuIGNsaWNrIHRoZSBwbHVzIHN5bWJvbCB0byBidXkgbW9yZSBSQU0gd2hpY2ggaXMgcGFpZCBpbiBXQVguIFdoZW4geW91IHN0YWtlIFdBWCB5b3UgY2FuIGFsc28gc3Rha2UgeW91ciBSQU0gdGhlcmUuIFN0YWtpbmcgdG8geW91ciBDUFUgKG5vcm1hbGx5IGZpcnN0IG9wdGlvbiBpbiBzdGFraW5nKSwgY2FuIGVhcm4geW91IHJldHVybnMgb3ZlciB0aW1lLiBTdGFraW5nIENQVSBpcyBhIGdyZWF0IHdheSB0byBzYXZlIHdheCBmb3IgbGF0ZXIgYW5kIHN0YWtpbmcgdG8gUkFNIGxldHMgeW91IHNlbGwgYW5kIG1pbnQuIFRoaXMgaXMgaG93IE5GVHMgY2FuIGJlIHZlcnkgYWZmb3JkYWJsZS4gU3Rha2UgdG8gdGhlIFJBTSBhbmQgaXQgZ2V0cyB1c2VkIGFzIG5lZWRlZC48YnI+PGJyPiZuYnNwOyAmbmJzcDsgJm5ic3A7IEdldHRpbmcgV2F4IGlzIHByb2JhYmx5IHlvdXIgbGFzdCBzdGVwIGluIHRoaXMgZW5kZWF2b3VyLiBPZnRlbiB0aW1lcyB5b3UgY2FuIGdldCB5b3VyIGZpcnN0IG1pbnQgb3IgdHdvIHdpdGhvdXQgY29zdCBvbiBhdG9taWNodWIgaWYgeW91IGhhdmUgYSB3YXggY2xvdWQgd2FsbGV0IHNvIGdldHRpbmcgc29tZSB3YXggZm9yIHN0YWtpbmcsIFJBTSAmYW1wOyBidXlpbmcgTkZUcyBpcyBsYXN0LiBJZiB5b3UgZ28gdG8gdGhlIDxhIGhyZWY9Imh0dHBzOi8vYWxsLWFjY2Vzcy53YXguaW8iIHRhcmdldD0iX2JsYW5rIiByZWwtIm5vb3BlbmVyPSIiIG5vcmVmZXJyZXIiPSIiIHN0eWxlPSJ0ZXh0LWRlY29yYXRpb246bm9uZTsiPndheC1jbG91ZCB3YWxsZXQgPHN1cD50cnkgY2xpY2tpbmcgaGVyZSAqPC9zdXA+PC9hPiB5b3UgY2FuIGZpbmQgdGhlIGVhc2llc3Qgd2F5cyB0byBidXkgV0FYLiBGb3IgZXhhbXBsZSwgdGhlIDxpPkNoYW5nZU5vdzwvaT4gb3B0aW9uIHRvIGJ1eSBXQVggKGFrYSBXQVhQKSB3aXRoIEVUSCBvciBCVEMgaXNuJ3Qgb2ZmZXJlZCBhbnl3aGVyZSBlbHNlIDxpPkNoYW5nZU5vdzwvaT4gY3J5cHRvIGJ1eWVyIHBvcC11cCBzdG9yZXMuIFRoZXkgYWxzbyBoYXZlIGEgbGFyZ2Uga25vd24gc2VsZWN0aW9uIG9mIGV4Y2hhbmdlcyBsaXN0ZWQgdW5kZXIgdGhlICJCdXkgV0FYUCIgc2VjdGlvbiBvZiB0aGUgY2xvdWQgd2FsbGV0LiBJZiB0aGVyZSdzIGFueSByZWFzb24gdG8gaGF2ZSBhIGNsb3VkIHdhbGxldCwgaXQncyB0byBnZXQgYWNjZXNzIHRvIHRoZSB3YXggYnV5aW5nIHRvb2xzLiBBbmNob3Igd2FsbGV0IGlzIHRoZSBtb3N0IHJlY29tbWVuZGVkIHdhbGxldCBiZXlvbmQgaGFyZHdhcmUgd2FsbGV0cy48YnI+Jm5ic3A7ICZuYnNwOyAmbmJzcDsgVGhhdCdzIGl0LCB5b3UgaGF2ZSB0aGUgYWJpbGl0eSBhbmQgcG9zc2libHkganVzdCBtaW50ZWQgeW91ciBmaXJzdCBORlQgdGhlbiBsaXN0ZWQgaXQgZm9yIHNhbGUhIFRoZXJlJ3Mgb3RoZXIgb3B0aW9ucyBzdGlsbCBhdCB5b3VyIGZpbmdlcnRpcHMgc28gaWYgeW91IGhlYWQgYmFjayB0byB5b3VyIGludmVudG9yeSwgeW91IGNhbiBjbGljayBvbiB0aGUgIm1vcmUiIGJ1dHRvbiB0byByZXZlYWwgc29tZSBmdW4gb3B0aW9ucyB3aXRoaW4gQXRvbWljaHViLjxvbD48Yj5DcmVhdGUgQnVuZGxlPC9iPjogVGhpcyBsZXRzIHlvdSBzZWxsIG11bHRpcGxlIE5GVHMgaW4gYSBzaW5nbGUgdHJhbnNhY3Rpb24uIFNldCB1cCB5b3VyIGJsZW5kIHNldHMsIG9yIG1heWJlIGRvdWJsZSB1cCBwYWNrcyBmb3IgYSBzaW5nbGUgc2VsbC4gQnVuZGxpbmcgYSBidW5jaCBvZiBzbWFsbCBpdGVtcyB0aGF0IGFsbCB3b3JrIHRvZ2V0aGVyIChsaWtlIEFsaWVuIFdvcmxkcyBORlRzKSBjYW4gbGV0IHlvdSBzZWxsIHRoZW0gYXMgYSB3aG9sZSB3aXRoIGEgMzUtNTAlIG1hcmt1cCBjb21wYXJlZCB0byB0cnlpbmcgdG8gYWRkIHRoZSBzYW1lIG1hcmt1cCBwZXIgTkZULiBBbHNvIHNhdmVzIHlvdSB0aGUgZXh0cmEgaGFzc2xlIG9mIHB1dHRpbmcgdGhlbSBhbGwgb24gc2FsZSBpbmRpdmlkdWFsbHkuPC9vbD4KPG9sPjxiPlRyYW5zZmVyPC9iPjogVGhpcyBsZXRzIHlvdSBzZW5kIE5GVHMgdG8gb3RoZXIgcGVvcGxlLCBsaWtlIGEgZ2lmdCBvciBwYXltZW50IGZvciBQZWVyLTItUGVlciB0cmFkZXMuIEluIHRoZSBUcmFuc2ZlciBwYWdlLCB5b3UgY2FuIGNsaWNrIHRvIGFkZCBhZGRpdGlvbmFsIE5GVHMgYW5kIGVzc2VudGlhbGx5IHNlbmQgYSBidW5kbGUgb2YgTkZUcyB0byBhIHNpbmdsZSB3YWxsZXQuIEdyZWF0IGZvciBkdW1waW5nIGFuIG9sZCB3YWxsZXQgYWRkcmVzcy48L29sPgo8b2w+PGI+Q3JlYXRlIExpbms8L2I+OiBUaGlzIGxldHMgeW91IGNyZWF0ZSBhIHNoYXJlIGxpbmsuIFRoaXMgbGV0cyB5b3Ugc2VuZCB5b3VyIE5GVCB0byBzb21lb25lIHdpdGhvdXQga25vd2luZyB0aGVpciB3YWxsZXQgYWRkcmVzcyBvciBldmVuIHdpdGhvdXQgdGhlbSBoYXZpbmcgb25lLiBHcmVhdCBmb3IgZ2l2ZWF3YXlzLCB0aGUgY2xhaW1lciBqdXN0IGNsaWNrcyBhbmQgY2xhaW1zLiBCb29tIGRvbmUhPC9vbD4KPG9sPjxiPk5ldyBUcmFkZTwvYj46IFRoaXMgd2lsbCBzZXQgdXAgYSB0cmFkZSwgc28geW91J2xsIGVudGVyIGEgc2NyZWVuIHNpbWlsYXIgdG8gdHJhbnNmZXIgYW5kIHlvdSBjYW4gY2xpY2sgdG8gYWRkIG1vcmUgTkZUcyB0byB0aGUgc2VsZWN0aW9uIGZvciB0cmFkaW5nIHRoZW4geW91IGNhbiBjbGljaywgIlNlbmQgVHJhZGUgT2ZmZXIiLiBUaGlzIGdpdmVzIHlvdSBhIGluayB0byBzZW5kIHRvIHRoZSBvdGhlciBwZXJzb24gZm9yIHRoZW0gdG8gZmluZCB0aGUgdHJhZGUgYW5kIHlvdSBjYW4gdHJhZGUgYW5vbnltb3VzbHkgd2l0aG91dCBhIGZvdXJ0aCBwYXJ0eS48L29sPgo8b2w+PGI+QmFjayBUb2tlbnM8L2I+OiBUaGlzIGxldHMgeW91IGJhY2sgdGhlIE5GVCB3aXRoIFdBWCB0b2tlbnMuIERvaW5nIHRoaXMgbWVhbnMgdGhlIE5GVCB3aWxsIGhhdmUgdG8gYmUgYnVybmVkIHRvIGdldCB0aGUgdG9rZW5zIGJhY2suIFRoaXMgaXMgZ3JlYXQgZm9yIGdldHRpbmcgYnV5ZXJzIGJ1dCB5b3UgcnVuIHRoZSByaXNrIG9mIHRoZSBpbmNlbnRpdmUgdG8gYnVybiB0aGUgdG9rZW4gaXMgdG9vIGhpZ2ggYW5kIHBlb3BsZSB3aWxsIGJ1cm4gaXQgaW5zdGVhZCBvZiB0cmFkaW5nL2hvZGxpbmcuPC9vbD4KPG9sPjxiPkJ1cm48L2I+OiA8Yj48aT5UaGlzIGlzIG5vdCB0aGUgYnVybiB0b29sIHlvdSBhcmUgbG9va2luZyBmb3IhPGk+PC9pPjwvaT48L2I+PGk+PGk+IE9mdGVudGltZXMgd2hlbiB5b3UgYXJlIHRvbGQgdG8gYnVybiBhbiBORlQgdGhleSBoYXZlIGEgY29udHJhY3QgeW91IGFyZSBzdXBwb3NlZCB0byBzZW5kIHRoZSBORlQgdG8uIFRoZSBvbmx5IHRpbWUgeW91J2xsIHVzZSB0aGlzIGJ1cm4gdG9vbCBpcyB0byBkZXN0cm95IGFuIE5GVCBvciB0byByZW1vdmUgYmFja2VkIHRva2VucyBmcm9tIHRoZSBORlQuPC9pPjwvaT48L29sPjxpPjxpPgogJm5ic3A7ICZuYnNwOyAmbmJzcDsgQ2xpY2tpbmcgIkRldGFpbHMiIHdpbGwgc2hvdyB0aGUgZXh0cmEgZGF0YSBpbnNpZGUgdGhlIE5GVCBhbmQgYW55IG90aGVyIG1lZGlhIGl0IG1heSBoYXZlLiBBZnRlciB0aGF0LCB5b3UgaGF2ZSBhbGwgdGhlIGtleXMgdG8gdGhlIGJhc2ljIE5GVCBnYW1lLiBCdXksIFNlbGwsIFRyYWRlLCBNaW50LCBTZWxsLCBCdXkuIFRoZSBjb21tdW5pdHkgeW91IGJ1aWxkIHVwIGlzIHdoYXQgd2lsbCBrZWVwIHlvdSBtb3RpdmF0ZWQgdG8gbWludCBtb3JlIGFuZCBkbyBtb3JlIE5GVHMuIElmIHlvdSBkb24ndCBmZWVsIHRoYXQgdXBmaCBmcm9tIE5GVCBjcmVhdGluZywgdGhlbiBmaW5kIHlvdXIgcGFzc2lvbiB3aXRoIE5GVHMuIE5vdCBldmVyeW9uZSBpcyBhIG1pbnRlciwgc29tZSBwZW9wbGUgZmxpcCBORlRzIGluc3RlYWQgYW5kIG90aGVycyBiZWNvbWUgQXVjdGlvbmVlcnMuIFlvdSBmaW5kIHlvdXIgYmVzdCB3YXkgdG8gZml0IGludG8gdGhlIE5GVCBzcGFjZSBidXQgYXQgbGVhc3Qgbm93IHlvdSBjYW4gZG8gYWxsIHRoZSBiYXNpY3Mgb24gQXRvbWljaHViIQo8aHI+PHAgYWxpZ249ImNlbnRlciIgc3R5bGU9ImJvcmRlci1yYWRpdXM6NSU7Ym9yZGVyOjJweCBzb2xpZCB3aGl0ZTsgYm94LXNoYWRvdzowcHggMXB4IDVweCBkaW1ncmV5O2JhY2tncm91bmQtY29sb3I6b3JhbmdlO29wYWNpdHk6MC43OyI+PGJ1dHRvbiBvbmNsaWNrPSJkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgmcXVvdDswc3RlcCZxdW90Oykuc3R5bGU9JnF1b3Q7ZGlzcGxheTpub25lJnF1b3Q7O2RvY3VtZW50LmdldEVsZW1lbnRCeUlkKCZxdW90O3N0ZXAwJnF1b3Q7KS5zdHlsZT0mcXVvdDtkaXNwbGF5OmJsb2NrO2JhY2tncm91bmQtY29sb3I6bGlnaHRncmVlbjtjb2xvcjpibGFjaztib3JkZXI6MnB4IHNvbGlkIGdyZWVuOyZxdW90OzsiIHN0eWxlPSJib3gtc2hhZG93OjFweCAxcHggNXB4IGRpbWdyZXk7YmFja2dyb3VuZC1jb2xvcjpibGFjaztjb2xvcjpvcmFuZ2U7Ym9yZGVyLXJhZGl1czo1JTsiPkNsb3NlIFRoaXMgU2VjdGlvbjwvYnV0dG9uPjwvcD4KPC9pPjwvaT48L2Rpdj48aT48aT4KCgo8YnV0dG9uIGlkPSJzdGVwMSIgb25jbGljaz0id2luZG93Lm9wZW4oJnF1b3Q7aHR0cHM6Ly8zZGQuaW4vYXRvbWljcGcyJnF1b3Q7KTsiIHRhcmdldD0iX2JsYW5rIiByZWw9Im5vb3BlbmVyIG5vcmVmZXJyZXIiIHN0eWxlPSJiYWNrZ3JvdW5kLWNvbG9yOmxpZ2h0Z3JlZW47Y29sb3I6YmxhY2s7Ym9yZGVyOjJweCBzb2xpZCBncmVlbjsiIHZhbHVlPSJNaW50Jm5ic3A7Tm9vYiI+TWludCZuYnNwO05vb2I8L2J1dHRvbj4KCgoKPGJ1dHRvbiBpZD0ic3RlcDIiIG9uY2xpY2s9IndpbmRvdy5vcGVuKCZxdW90O2h0dHBzOi8vM2RkLmluL2F0b21pY3BnMyZxdW90Oyk7IiB0YXJnZXQ9Il9ibGFuayIgcmVsPSJub29wZW5lciBub3JlZmVycmVyIiBzdHlsZT0iYmFja2dyb3VuZC1jb2xvcjpsaWdodGdyZWVuO2NvbG9yOmJsYWNrO2JvcmRlcjoycHggc29saWQgZ3JlZW47IiB2YWx1ZT0iU2xpZ2h0bHkmbmJzcDtBZHZhbmNlZCI+U2xpZ2h0bHkmbmJzcDtBZHZhbmNlZDwvYnV0dG9uPgoKCgo8YnV0dG9uIGlkPSJzdGVwMyIgb25jbGljaz0id2luZG93Lm9wZW4oJnF1b3Q7aHR0cHM6Ly8zZGQuaW4vYXRvbWljcGc0JnF1b3Q7KTsiIHRhcmdldD0iX2JsYW5rIiByZWw9Im5vb3BlbmVyIG5vcmVmZXJyZXIiIHN0eWxlPSJiYWNrZ3JvdW5kLWNvbG9yOmxpZ2h0Z3JlZW47Y29sb3I6YmxhY2s7Ym9yZGVyOjJweCBzb2xpZCBncmVlbjsiIHZhbHVlPSJBZHZhbmNlZCZuYnNwO01pbnRpbmciPkFkdmFuY2VkJm5ic3A7TWludGluZzwvYnV0dG9uPgoKCjxidXR0b24gaWQ9InN0ZXA0IiBvbmNsaWNrPSJ3aW5kb3cub3BlbigmcXVvdDtodHRwczovLzNkZC5pbi9hdG9taWNwZzUmcXVvdDspOyIgdGFyZ2V0PSJfYmxhbmsiIHJlbD0ibm9vcGVuZXIgbm9yZWZlcnJlciIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6bGlnaHRncmVlbjtjb2xvcjpibGFjaztib3JkZXI6MnB4IHNvbGlkIGdyZWVuOyIgdmFsdWU9IkV4cGVyaW1lbnRhbCZuYnNwOyZhbXA7Jm5ic3A7VGlwcyI+RXh0cmEmbmJzcDtEYXRhPC9idXR0b24+Cgo8aHI+PGJyPjxicj4mbmJzcDsgJm5ic3A7ICZuYnNwOyBUaGF0J3MgdGhlIGdpc3Qgb2YgaXQsIGhvcGVmdWxseSB5b3UgZ2V0IGEgZ29vZCBhbW91bnQgb2YgaW5mb3JtYXRpb24gZm9ybSB0aGlzIGFuZCB5b3UgY2FuIHVwIHlvdXIgTkZUIGdhbWUgdG8gbWFrZSB5b3VyIG5leHQgTkZUIHN0YW5kIG91dCBhbW9uZyB0aGUgcmVzdC4gQmVzdCBvZiBsdWNrIHRvIHlvdSBpbiB5b3VyIE5GVCBlbmRlYXZvdXJzLjxicj48YnI+Jm5ic3A7ICZuYnNwOyAmbmJzcDsgVGhpcyBhcnRpY2xlIHdhcyBzcGxpdCBpbnRvIHNlY3Rpb25zIHRvIG1ha2UgcHVibGljIHNoYXJpbmcgZWFzaWVyLiBUSGUgb3JpZ2luaWFsIGlzIHN0b3JlZCBvbiBJUEZTIChjaGVjayB5b3VyIE5GVCBmb3IgbW9yZSBpbmZvKS48YnI+PGhyPjxicj4mbmJzcDsgJm5ic3A7ICZuYnNwOyBDbGljayB0aGUgbmV4dCBzZWN0aW9ucyB0byB2aXNpdCB0aGF0IGFydGljbGUgc2VjdGlvbi48c3VwPjxzdWI+VGhpcyB3aWxsIGJlIG9mZmVyZWQgYXMgYW4gTkZUIHdoaWxlIGl0J3MgYXBhcnQgb2YgdGhlIDxhIGhyZWY9Imh0dHBzOi8vM2RkLmluLzNkLXBvdiIgdGFyZ2V0PSJfYmxhbmsiIHJlbD0ibm9vcGVuZXIgbm9yZWZlcnJlciIgc3R5bGU9InRleHQtZGVjb3JhdGlvbjpub25lIj48Yj4zRCdzIFBvaW50IG9mIFZpZXcgPGk+TmV3c2NoYWluPC9pPjwvYj48L2E+LiBFbmpveSBhbmQgdGhhbmsgeW91IGZvciByZWFkaW5nLgoKPC9zdWI+PC9zdXA+PC9pPjwvaT48L2Rpdj48L3NwYW4+PC9oND48L2xhYmVsPiZuYnNwOyA8bGFiZWw+PHNwYW4gYWxpZ249InJpZ2h0IiBzdHlsZT0icmlnaHQ6MDsiPjxoNCBzdHlsZT0ibWFyZ2luLXRvcDotMi41dnc7bWFyZ2luLWJvdHRvbTotMnZ3OyI+PHNwYW4gYWxpZ249InJpZ2h0IiBzdHlsZT0icmlnaHQ6MDsiIGlkPSJvdXRib3R0Ij4zRG91Z2xhcyA8cT4zRDwvcT4gUGlobDwvc3Bhbj4gJm5ic3A7IEA8c3BhbiBpZD0iYXV0aG9ybmFtZSI+SUZ0VWFHRnVheUI1YjNVZ1ptOXlJSEpsWVdScGJtY2hJQzB0TTBSZG9DQ2dRRE5FYjNWbmJHRnpJRHh4UGpORVBDOXhQaUJRYVdoc29DQ2dJRnNqVnpBeFZWZFliRTVTUlZZelZHeFNWazFyT1VWaGVsSlFVVlF3T1ZoVFFUWlBhVUppVTJ0R1QwNUVTWGROYWtaa1hTQT08L3NwYW4+PC9oND4KJm5ic3A7ICZuYnNwOzxzcGFuIHN0eWxlPSJ3aWR0aDo1dnc7bWFyZ2luLXRvcDotMy41dnc7bWFyZ2luLWJvdHRvbTotMC41dnc7IiBpZD0iYWRoZXJlIiBhbGlnbj0ibGVmdCIgb25jbGljaz0idGhpcy5zdHlsZS5kaXNwbGF5PSdub25lJzsgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2FkbGluaycpLnN0eWxlLmRpc3BsYXk9J25vbmUnOyBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnYWR0ZXh0aW4nKS5zdHlsZS5kaXNwbGF5PSdub25lJzsiPjxhIHR5cGU9ImJ1dHRvbiIgc3R5bGU9ImJvcmRlci1yYWRpdXM6MzYwJTsgYmFja2dyb3VuZC1jb2xvcjpibGFjazsgdGV4dC1kZWNvcmF0aW9uOm5vbmU7IGNvbG9yOmxpbWVncmVlbjsgYm9yZGVyLWNvbG9yOm9yYW5nZTsgYm9yZGVyLXdpZHRoOjJ2dzsgd2lkdGg6YXV0bzsgYWxpZ246cmlnaHQ7IG92ZXJmbG93OmhpZGRlbjsgcmlnaHQ6MDsgbWFyZ2luLWJvdHRvbTotMS41dnc7IiBhbGlnbj0icmlnaHQ7IiBocmVmPSJodHRwczovLzNkZC5pbi93YXhzdG9yZSIgdGFyZ2V0PSJfYmxhbmsiIDvCoD0iIiByZWw9Im5vcmVmZXJyZXIgbm9vcGVuZXIiPjxzcGFuIGlkPSJhZHRleHQiIHN0eWxlPSJtYXJnaW46MHZ3IDEuNXZ3IDAuMXZ3IDEuNXZ3OyI+PHN1cD48c3ViPiZuYnNwOyZuYnNwOyZuYnNwO1Zpc2l0IDNEJ3MgPGk+V2F4IFN0b3JlPC9pPiZuYnNwOyZuYnNwOyZuYnNwOzwvc3ViPjwvc3VwPjwvc3Bhbj48L2E+PHNwYW4gaWQ9ImFkdHh0IiBzdHlsZT0iZm9udC1zaXplOjhweCI+PGJyPiAmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsgPGIgaWQ9ImFkdHh0Ym90dG9tIj5hZDwvYj48L3NwYW4+ICZuYnNwOyZuYnNwOyZuYnNwOzwvc3Bhbj48c3BhbiBhbGlnbj0iY2VudGVyIiBpZD0iYWRpbWciIHN0eWxlPSJ3aWR0aDo5OCU7cmlnaHQ6NTA7bGVmdDo1MDtoZWlnaHQ6YXV0bzsiIG9uY2xpY2s9InRoaXMuc3R5bGUuZGlzcGxheT0nbm9uZSc7Ij48YSBhbGlnbj0iY2VudGVyIiBocmVmPSJodHRwczovLzNkZC5pbi9kaXNwZW5zYXJ5IiB0YXJnZXQ9Il9ibGFuayIgOz0iIiByZWw9Im5vcmVmZXJyZXIgbm9vcGVuZXIiPjxpbWcgc3JjPSJodHRwczovL2dhdGV3YXkucGluYXRhLmNsb3VkL2lwZnMvUW1aajI5Vkxka1JpZ1hZaHI4dWhTOE01V2lSVFlOeTZFdTVqNWVyU1REZnluVyIgc3R5bGU9IndpZHRoOjk4JTsgYWxpZ246Y2VudGVyOyIgYWxpZ249ImNlbnRlciI+PC9hPjwvc3Bhbj4KJm5ic3A7PGxhYmVsPjxociBzdHlsZT0ibWFyZ2luLXRvcDowLjV2dzttYXJnaW4tYm90dG9tOi0wLjc1dnc7Ij48aDMgYWxpZ249ImNlbnRlciI+PHN1Yj5JZiB5b3UgbGlrZWQgdGhpcyBQdnRQcHIgcGxlYXNlIGNvbnNpZGVyIGRvbmF0aW5nIHRvIHRoZSBhdXRob3IsIDxzcGFuIGlkPSJhdXRobmFtZSI+M0RvdWdsYXMgPHE+M0Q8L3E+IFBpaGw8L3NwYW4+IGJ5IHVzaW5nIHRoZSBjcnlwdG8tYWRkcmVzc2VzIGJlbG93LiAmbmJzcDsgVGhhbmsgeW91Ljwvc3ViPjxicj48c3ViPjxzcGFuIGFsaWduPSJsZWZ0Ij48Yj7igr86Ly88aT48c3BhbiBpZD0iYnRjYWRkeSI+MUsxVkVGVlA4dmVlWmN0VTh1WTczcHprQzlMRzhhSHc3Uzwvc3Bhbj48L2k+PC9iPjwvc3Bhbj4gJm5ic3A7IDxiPjxzcGFuIGFsaWduPSJyaWdodCI+PGk+PHNwYW4gaWQ9Imx0Y2FkZHkiPjxhIGhyZWY9Imh0dHBzOi8vY29pbnRyLmVlLzNEXyIgdGFyZ2V0PSJfYmxhbmsiIHN0eWxlPSJ0ZXh0LWRlY29yYXRpb246bm9uZTtjb2xvcjpkYXJrZ3JlZW47Ij4zRF8ncyBDb2ludHIuZWU8L2E+PC9zcGFuPjwvaT48L3NwYW4+PC9iPjwvc3ViPjwvaDM+PGg0IGFsaWduPSJjZW50ZXIiPjxzdXA+UHZ0UHBycyBjYW4gYmUgbW9uZXRpemVkIGJ5IEJpdHR1YmUgQWlydGltZSAmYW1wOyB0byBoZWxwIHRoZSBhdXRob3IgZ2lhbiAkPGk+VFVCRVM8L2k+IGZyb20geW91IHJlYWRpbmcgdGhpcyBwYXBlciwgcGxlYXNlIHVzZSBvciBpbnN0YWxsIHRoZSA8c3BhbiBvbmNsaWNrPSJ3aW5kb3cub3BlbignaHR0cHM6Ly9jaHJvbWUuZ29vZ2xlLmNvbS93ZWJzdG9yZS9kZXRhaWwvYml0dHViZS1haXJ0aW1lLWRvbmF0aW9ucy9jbm9nYmJtY2lmZnBpYm1rcGhvaHBlYmdobW9tYWVtaScpIiBzdHlsZT0iY29sb3I6Z3JlZW47Ij5CaXR0dWJlIEFpcnRpbWUgRXh0ZW5zaW9uPC9zcGFuPiBvciB1c2UgdGhlIDxzcGFuIHN0eWxlPSJjb2xvcjpncmVlbiIgb25jbGljaz0id2luZG93Lm9wZW4oJ2h0dHBzOi8vYml0dHViZS5hcHAnKSI+Qml0dHViZSBCcm93c2VyPC9zcGFuPi48L3N1cD48L2g0PjwvbGFiZWw+CiZuYnNwOzxkaXYgYWxpZ249ImNlbnRlciI+PGxhYmVsPjxoNSBzdHlsZT0ibWFyZ2luLXRvcDotMnZ3OyI+PHNwYW4gc3R5bGU9ImxlZnQ6MDsgbWFyZ2luLXJpZ2h0OjIuNXZ3O21hcmdpbi1sZWZ0Oi0xLjV2dzsiIGFsaWduPSJsZWZ0Ij5NYWRlJm5ic3A7d2l0aCZuYnNwOzxzcGFuIGlkPSJERkNhYmluZXQiIHN0eWxlPSJ0ZXh0LWRlY29yYXRpb246bm9uZTsiPjxhIGhyZWY9Imh0dHBzOi8vM2RkLmluL3BwZ2VuIiB0YXJnZXQ9Il9ibGFuayI+UHZ0UHByJm5ic3A7R2VuZXJhdG9yJm5ic3A7TGl0ZTwvYT48L3NwYW4+PHN1cD48c3VwPjIwMjE8L3N1cD48L3N1cD48L3NwYW4+IDxzcGFuIGlkPSJwcmV2IiBzdHlsZT0ibWFyZ2luLXRvcDotMS41cHg7bWFyZ2luLWJvdHRvbToxLjVweDsgbWFyZ2luLWxlZnQ6Mi41dnc7IHJpZ2h0OjA7IG1hcmdpbi1yaWdodDotMS41dnc7Ym9yZGVyLXJhZGl1czoxNSU7cGFkZGluZzozcHg7IiBhbGlnbj0icmlnaHQiPjxhIGhyZWY9Imh0dHBzOi8vdGlueXVybC5jb20veTUzbzR3M3kiIHRhcmdldD0iX2JsYW5rIiByZWw9Im5vb3BlbmVyIG5vcmVmZXJyZXIiIHN0eWxlPSJib3JkZXI6IDAuMDF2dyBzb2xpZCBkYXJrZ3JlZW47IGJhY2tncm91bmQtY29sb3I6bGltZWdyZWVuOyBjb2xvcjpibGFjazsgYm94LXNoYWRvdzpkaW1ncmV5IDNweCA2cHggOXB4OyB0ZXh0LWRlY29yYXRpb246bm9uZTsiPlByZXZpb3VzJm5ic3A7UGFwZXI8L2E+PC9zcGFuPjwvaDU+PC9sYWJlbD48c3BhbiBzdHlsZT0iYm94LXNoYWRvdzpkaW1ncmV5IDNweCA2cHggOXB4O2xlZnQ6MDsiIGFsaWduPSJsZWZ0IiBpZD0iY2VydGFibGUiPjxhIGhyZWY9Imh0dHBzOi8vM2RkLmluL1B2dFBwci1QYWdlLUNlcnQiIHRhcmdldD0iX2JsYW5rIiBzdHlsZT0idGV4dC1kZWNvcmF0aW9uOm5vbmU7YmFja2dyb3VuZC1jb2xvcjpibGFjaztjb2xvcjp3aGl0ZTsiPlZpZXcmbmJzcDt0aGlzJm5ic3A7b2JqZWN0J3MmbmJzcDtDZXJ0YWJsZTwvYT48L3NwYW4+PC9kaXY+CiZuYnNwOzxocj48c3BhbiBpZD0icXJpbWciIGNsYXNzPSJxcmltZyIgYWxpZ249InJpZ2h0IiBzdHlsZT0icmlnaHQ6MDttYXJnaW4tbGVmdDo1MCU7Ij48aW1nIGNsYXNzPSJxcmltZyIgc3JjPSJodHRwczovL3p4aW5nLm9yZy93L2NoYXJ0P2NodD1xciZhbXA7Y2hzPTExNXgxMTUmYW1wO2NobGQ9SHwxJmFtcDtjaG9lPVVURi04JmFtcDtjaGw9aHR0cHM6Ly90d2l0dGVyLmNvbS9yYWRpb2FjdGl2ZTNkIiBhbGlnbj0icmlnaHQiPjwvc3Bhbj48c3BhbiBzdHlsZT0ib3BhY2l0eTowLjUzO2NvbG9yOmdyZXk7IiBhbGlnbj0ibGVmdCI+Jm5ic3A7CiZuYnNwOyA8YnI+PHNwYW4gb25jbGljaz0iYWxhbGVydCgpIj5QdnRQcHIuIDIwMTgtMjAyMSA8YnI+IFByaXZhdGUgUGFwZXIgMjAxOC0yMDIxPC9zcGFuPiA8YnI+CjxzcGFuIGlkPSJmb290ZW4iIG9uY2xpY2s9InRoaXMuc3R5bGUuZGlzcGxheT0nbm9uZSc7IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdmb290c3AnKS5zdHlsZS5kaXNwbGF5PSdibG9jayc7Ij5BIFRob3VnaHQgQ2hpbGQgb2YgdGhlIDMgSm9rZXJzPC9zcGFuPgo8c3BhbiBpZD0iZm9vdHNwIiBvbmNsaWNrPSJ0aGlzLnN0eWxlLmRpc3BsYXk9J25vbmUnOyBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnZm9vdGNoJykuc3R5bGUuZGlzcGxheT0nYmxvY2snOyIgc3R5bGU9ImRpc3BsYXk6bm9uZSI+VW4gcGVuc2FtaWVudG8gaGlqbyBkZSBsb3MgMyBjb21vZGluZXM8L3NwYW4+CjxzcGFuIGlkPSJmb290Y2giIG9uY2xpY2s9InRoaXMuc3R5bGUuZGlzcGxheT0nbm9uZSc7IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdmb290anAnKS5zdHlsZS5kaXNwbGF5PSdibG9jayc7IiBzdHlsZT0iZGlzcGxheTpub25lIj7kuInkuKrlsI/kuJHnmoTmgJ3mg7PlranlrZA8L3NwYW4+CjxzcGFuIGlkPSJmb290anAiIG9uY2xpY2s9InRoaXMuc3R5bGUuZGlzcGxheT0nbm9uZSc7IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdmb290cnUnKS5zdHlsZS5kaXNwbGF5PSdibG9jayc7IiBzdHlsZT0iZGlzcGxheTpub25lIj4z5Lq644Gu44K444On44O844Kr44O844Gu5oCd6ICD44Gu5a2QPC9zcGFuPgo8c3BhbiBpZD0iZm9vdHJ1IiBvbmNsaWNrPSJ0aGlzLnN0eWxlLmRpc3BsYXk9J25vbmUnOyBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnZm9vdHN3Jykuc3R5bGUuZGlzcGxheT0nYmxvY2snOyIgc3R5bGU9ImRpc3BsYXk6bm9uZSI+0JzRi9GB0LvQtdC90L3QvtC1INCU0LjRgtGPIDMg0JTQttC+0LrQtdGA0L7Qsjwvc3Bhbj4KPHNwYW4gaWQ9ImZvb3RzdyIgb25jbGljaz0idGhpcy5zdHlsZS5kaXNwbGF5PSdub25lJzsgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2Zvb3RkdScpLnN0eWxlLmRpc3BsYXk9J2Jsb2NrJzsiIHN0eWxlPSJkaXNwbGF5Om5vbmUiPkV0dCB0w6Rua3QgYmFybiBhdiBkZSAzIGpva2FybmE8L3NwYW4+CjxzcGFuIGlkPSJmb290ZHUiIG9uY2xpY2s9InRoaXMuc3R5bGUuZGlzcGxheT0nbm9uZSc7IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdmb290ZW4nKS5zdHlsZS5kaXNwbGF5PSdibG9jayc7IiBzdHlsZT0iZGlzcGxheTpub25lIj5FaW4gR2VkYW5rZW5raW5kIGRlciAzIEpva2VyPC9zcGFuPgo8L3NwYW4+PGJyPjxwIGFsaWduPSJjZW50ZXIiPjwvcD48cCBzdHlsZT0iYmFja2dyb3VuZC1jb2xvcjpibGFjaztjb2xvcjpzaWx2ZXI7Ym94LXNoYWRvdzpkaW1ncmV5IDNweCA2cHggOXB4O3RleHQtYWxpZ246bGVmdDtsZWZ0OjA7d2lkdGg6YXV0bzsiIGFsaWduPSJsZWZ0IiByZWw9Im5vcmVmZXJyZXIgbm9vcGVuZXIiIHRhcmdldD0iX3NlbGYiIG9uY2xpY2s9IndpbmRvdy5vcGVuKCdodHRwczovLzNkZC5pbi9QdnRQcHInKTsiPlJlYWQmbmJzcDt0aGUmbmJzcDtPZmZpY2lhbCZuYnNwO1B2dFBwciZuYnNwOzxiPjxpPk5ld3NjaGFpbjwvaT48L2I+PC9wPiA8cCBvbmNsaWNrPSJBbGVydENoZWNrKCk7IiBpZD0iTGlua0NvdmVyIiBhbGlnbj0icmlnaHQiIHN0eWxlPSJjb2xvcjpzaWx2ZXI7dGV4dC1hbGlnbjpyaWdodDtyaWdodDowO21hcmdpbi10b3A6LTIuODV2dzticmVhay13b3JkOmtlZXAtYWxsO3dvcmQtYnJlYWs6a2VlcC1hbGw7Ij4zRDombmJzcDs8Yj4jPGk+MTUzMTdmZXV3Z3M4am88L2k+PC9iPjwvcD48cD48L3A+PGhyPjxicj48YnI+PC9zcGFuPjwvbGFiZWw+PC9kaXY+CjxzY3JpcHQ+wqAKCgrCoCDCoCAvLyBBZGRlZCBldmVudCBsaXN0ZW5lciB0byB0aGUgc2Nyb2xswqAKwqAgwqAgd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoJ3Njcm9sbCcswqAKwqAgwqAgwqAgwqAgwqAgwqAgbW92ZVNjcm9sbEluZGljYXRvcik7wqAKCgrCoCDCoCAvLyBHZXR0aW5nIHNjcm9sbEluZGljYXRvciBlbGVtZW50IGJ5IElEwqAKwqAgwqAgY29uc3Qgc2Nyb2xsSW5kaWNhdG9yRWx0ID3CoMKgCsKgIMKgIMKgIMKgIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdzY3JvbGxJbmRpY2F0b3InKTvCoAoKCsKgIMKgIC8vIEhlaWdodCBvZiBlbnRpcmUgd2ViIHBhZ2UgLSBoZWlnaHTCoArCoCDCoCAvLyBvZiB2aWV3YWJsZSBwb3J0aW9uIG9mIGJyb3dzZXLCoArCoCDCoCBjb25zdCBtYXhIZWlnaHQgPcKgwqAKwqAgwqAgwqAgwqAgd2luZG93LmRvY3VtZW50LmJvZHkuc2Nyb2xsSGVpZ2h0wqDCoArCoCDCoCDCoCDCoCAtIHdpbmRvdy5pbm5lckhlaWdodDvCoAoKCsKgIMKgIGZ1bmN0aW9uIG1vdmVTY3JvbGxJbmRpY2F0b3IoZSkge8KgCgoKwqAgwqAgwqAgwqAgLy8gQ2FsY3VsYXRpbmcgd2lkdGggb2YgdGhlwqDCoArCoCDCoCDCoCDCoCAvLyBzY3JvbGxJbmRpY2F0b3IgZWxlbWVudMKgCsKgIMKgIMKgIMKgIGNvbnN0IHBlcmNlbnRhZ2UgPcKgwqAKwqAgwqAgwqAgwqAgwqAgwqAgKCh3aW5kb3cuc2Nyb2xsWSkgLyBtYXhIZWlnaHQpICogMTAwO8KgCgoKwqAgwqAgwqAgwqAgLy8gUGl4ZWxzIHNjcm9sbGVkIGJ5IHRoZSB1c2VywqDCoArCoCDCoCDCoCDCoCAvLyB0byB0b3RhbCBzY3JvbGxhYmxlIFBpeGVsc8KgCsKgIMKgIMKgIMKgIHNjcm9sbEluZGljYXRvckVsdC5zdHlsZS53aWR0aMKgCsKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgPSBwZXJjZW50YWdlICsgJyUnO8KgCsKgIMKgIH3CoAo8L3NjcmlwdD4mbmJzcDsKPHNjcmlwdD4KwqAKwqBmdW5jdGlvbiBhbGFsZXJ0KCl7CsKgIGFsZXJ0KCdIZWxsbyAmIFdlbGNvbWUgdG8gdGhlIHRoaXMgUHZ0UHByIFtwcsSrdml0IHDEgXDJmXJdLlxuXG5QdnRQcHIgaXMgYnJvdWdodCB0byB5b3UgYnkgM0csIDNEICYgRS1ULlxuXG5UaGlzIGlzIGhvYXN0ZWQgYnkgZXhwZXJpbWVudGFsIHRlY2hub2xvZ3kgaW4gaGFzaC1iYXNlZC1saW5rcyB0byBzdG9yZSBhbGwgb2YgdGhlIHdlYnNpdGUgY29kZSArIHRleHQgb2ZmIHNlcnZlcnMuXG5cblNlcnZlcnMgYXJlIHVzZWQgZm9yIGRlY3J5dGluZyB0aGUgaGFzaGxpbmsgZm9yIHRoZSBicm93c2VyIHRvIGRpc3BsYXkgdGhlIHdlYnNpdGUvd2ViYXBwLlxuXG5Ib3N0ZWQgYnkgSXR0eS5CaXR0eS5TaXRlIChieSBBbGNvcikuXG5cblxuVGhhbmsgeW91LlxuwqAgwqAgwqBbTFMwelJBOjpKQU4xNjIwMjBdXG5cbsKgIMKgIMKgTGFzdCBVcGRhdGUgW0pBTjIwMjAyMTo6TFMwelJBXScpOwrCoH0KwqBmdW5jdGlvbiBBbGVydENoZWNrKCkgewrCoCBhbGVydCgiWW91IGNsaWNrZWQgb24gYW4gZWFzdGVyIGVnZy4gUGxlYXNlIGVuam95IVxuXG5UaGlzIFB2dFBwciB3YXMgbWFkZSB3aXRoIHRoZSBQdnRQcHIgR2VuZXJhdG9yIChQUEdlbikuIFRoaXMgaXMgYSBuZXdzcGFwZXIgc3lzdGVtIHdpdGggZXZlcnlvbmUgaW4gbWluZC4gQW55b25lIGNhbiB1c2UgUFBHZW4gdG8gYnVpbGQgdGhlaXIgb3duIHByaXZhdGUgcGFwZXIgY29tcGxldGUgd2l0aCBhIHVzYWJsZSBsaW5rLlxuXG5UaGlzIGlzIHRoZSBsaXRlLXZlcnNpb24gb2YgdGhlIFB2dFBwciBHZW5lcmF0b3JcblxuXG5cblRoYW5rIFlvdVxuwqAgwqAgwqBbTFMwelJBOjpKQU4xNjIwMjBdXG5cbsKgIMKgIMKgTGFzdCBVcGRhdGUgW0pBTjIwMjAyMTo6TFMwelJBXSIpOwrCoH0KwqAKPC9zY3JpcHQ+CjxtZXRhIG5hbWU9ImFpcnRpbWUtcGxhdGZvcm0tZGlzcGxheSIgY29udGVudD0iYXJ0aWNsZXMiPjxtZXRhIG5hbWU9ImFpcnRpbWUtcGxhdGZvcm0taWQiIGNvbnRlbnQ9Ijk5YTc5MGQ4LTg3MDctZTRhOS05OTZmLWE1ZjAxODEzYzQ1YyI+PHNjcmlwdCBzcmM9Imh0dHBzOi8vYml0dHViZWFwcC5jb20vdHViZXBheS9haXJ0aW1lLmxvYWRlci5qcyIgZGF0YS12ZXJpZnk9Im1ldGEiIGRhdGEtYXV0b3N0YXJ0PSJ0cnVlIj48L3NjcmlwdD48L2E+
- Protocol
- HTTP/1.1
- Security
- TLS 1.3,
, AES_128_GCM
- Server
-
5.196.163.89
Villemandeur, France,
ASN16276
(OVH, FR),
- Reverse DNS
- ip89.ip-5-196-163.eu
- Software
-
nginx /
- Resource Hash
- ff3ab74286e6b5f97f264aa40b62d7cf52d4c9b4f0433735c1c24c66f277ac46
|
GET
H2
|
200
|
runtime.bundle.js
Show response
cdn.jsdelivr.net/gh/ipbc-dev/airtime-module-dist@1.1.6-tube4/tubepay/
Frame FD4C
|
1 KB
1 KB
|
82ms
32ms
|
Script
application/javascript |
2606:4700::6810:5514
CLOUDFLARENET
|
|
General
- Full URL
- https://cdn.jsdelivr.net/gh/ipbc-dev/airtime-module-dist@1.1.6-tube4/tubepay/runtime.bundle.js
- Requested by
- Host: bittubeapp.com
URL: https://bittubeapp.com/tubepay/airtime.loader.js
- Protocol
- H2
- Security
- TLS 1.3,
, AES_128_GCM
- Server
-
2606:4700::6810:5514
, United States,
ASN13335
(CLOUDFLARENET, US),
- Reverse DNS
- Software
-
cloudflare /
- Resource Hash
- 1ae5603aeca7676bf22bf638aa24c3694f46dbd7492fde252da1d46e314003b6
- Security Headers
-
Name |
Value |
Strict-Transport-Security |
max-age=31536000; includeSubDomains; preload |
X-Content-Type-Options |
nosniff |
|
GET
H2
|
200
|
vendor.bundle.js
Show response
cdn.jsdelivr.net/gh/ipbc-dev/airtime-module-dist@1.1.6-tube4/tubepay/
Frame FD4C
|
198 KB
65 KB
|
106ms
57ms
|
Script
application/javascript |
2606:4700::6810:5514
CLOUDFLARENET
|
|
General
- Full URL
- https://cdn.jsdelivr.net/gh/ipbc-dev/airtime-module-dist@1.1.6-tube4/tubepay/vendor.bundle.js
- Requested by
- Host: bittubeapp.com
URL: https://bittubeapp.com/tubepay/airtime.loader.js
- Protocol
- H2
- Security
- TLS 1.3,
, AES_128_GCM
- Server
-
2606:4700::6810:5514
, United States,
ASN13335
(CLOUDFLARENET, US),
- Reverse DNS
- Software
-
cloudflare /
- Resource Hash
- 9c6b7f1aa62b193a552a02c1acec91f19a2622d069133e98337802cd33e588c1
- Security Headers
-
Name |
Value |
Strict-Transport-Security |
max-age=31536000; includeSubDomains; preload |
X-Content-Type-Options |
nosniff |
|
GET
H2
|
200
|
common.bundle.js
Show response
cdn.jsdelivr.net/gh/ipbc-dev/airtime-module-dist@1.1.6-tube4/tubepay/
Frame FD4C
|
19 KB
8 KB
|
105ms
56ms
|
Script
application/javascript |
2606:4700::6810:5514
CLOUDFLARENET
|
|
General
- Full URL
- https://cdn.jsdelivr.net/gh/ipbc-dev/airtime-module-dist@1.1.6-tube4/tubepay/common.bundle.js
- Requested by
- Host: bittubeapp.com
URL: https://bittubeapp.com/tubepay/airtime.loader.js
- Protocol
- H2
- Security
- TLS 1.3,
, AES_128_GCM
- Server
-
2606:4700::6810:5514
, United States,
ASN13335
(CLOUDFLARENET, US),
- Reverse DNS
- Software
-
cloudflare /
- Resource Hash
- e695cadf8b5b3bb9f452d44c35c6613ded47f5be5b865e3080d2f62595f6f8b1
- Security Headers
-
Name |
Value |
Strict-Transport-Security |
max-age=31536000; includeSubDomains; preload |
X-Content-Type-Options |
nosniff |
|
GET
H2
|
200
|
protobuf.bundle.js
Show response
cdn.jsdelivr.net/gh/ipbc-dev/airtime-module-dist@1.1.6-tube4/tubepay/
Frame FD4C
|
54 KB
12 KB
|
127ms
78ms
|
Script
application/javascript |
2606:4700::6810:5514
CLOUDFLARENET
|
|
General
- Full URL
- https://cdn.jsdelivr.net/gh/ipbc-dev/airtime-module-dist@1.1.6-tube4/tubepay/protobuf.bundle.js
- Requested by
- Host: bittubeapp.com
URL: https://bittubeapp.com/tubepay/airtime.loader.js
- Protocol
- H2
- Security
- TLS 1.3,
, AES_128_GCM
- Server
-
2606:4700::6810:5514
, United States,
ASN13335
(CLOUDFLARENET, US),
- Reverse DNS
- Software
-
cloudflare /
- Resource Hash
- e4c273999478396a07c13b6c84f6131d97faa92ef8a2086759f01e71dacd39f7
- Security Headers
-
Name |
Value |
Strict-Transport-Security |
max-age=31536000; includeSubDomains; preload |
X-Content-Type-Options |
nosniff |
|
GET
H2
|
200
|
airtime.bundle.js
Show response
cdn.jsdelivr.net/gh/ipbc-dev/airtime-module-dist@1.1.6-tube4/tubepay/
Frame FD4C
|
100 KB
28 KB
|
37ms
36ms
|
Script
application/javascript |
2606:4700::6810:5514
CLOUDFLARENET
|
|
General
- Full URL
- https://cdn.jsdelivr.net/gh/ipbc-dev/airtime-module-dist@1.1.6-tube4/tubepay/airtime.bundle.js
- Requested by
- Host: bittubeapp.com
URL: https://bittubeapp.com/tubepay/airtime.loader.js
- Protocol
- H2
- Security
- TLS 1.3,
, AES_128_GCM
- Server
-
2606:4700::6810:5514
, United States,
ASN13335
(CLOUDFLARENET, US),
- Reverse DNS
- Software
-
cloudflare /
- Resource Hash
- 7e09fbd9e276e022f80cf37e6ee22f02c418892c69397e741084e879745dd6b3
- Security Headers
-
Name |
Value |
Strict-Transport-Security |
max-age=31536000; includeSubDomains; preload |
X-Content-Type-Options |
nosniff |
|
GET
DATA
|
200
OK
|
truncated
/
Frame FD4C
|
35 KB
35 KB
|
|
Other
text/html |
|
|
|
GET
H/1.1
|
200
OK
|
module.json
Show response
bittubeapp.com/tubepay/locales/en/
Frame FD4C
|
4 KB
2 KB
|
106ms
35ms
|
XHR
application/json |
5.196.163.89
OVH
|
|
|
GET
H2
|
200
|
start.html
Show response
mindmup.github.io/3rdpartycookiecheck/
Frame 1441
|
142 B
555 B
|
173ms
127ms
|
Document
text/html |
2606:50c0:8000::153
FASTLY
|
|
|
GET
H2
|
200
|
complete.html
Show response
mindmup.github.io/3rdpartycookiecheck/
Frame 1441
|
301 B
375 B
|
154ms
153ms
|
Document
text/html |
2606:50c0:8000::153
FASTLY
|
|
|
GET
H/1.1
|
200
OK
|
client.html
Show response
bittubeapp.com/tubepay/
Frame DE75
|
980 B
1 KB
|
35ms
34ms
|
Document
text/html |
5.196.163.89
OVH
|
|
|
GET
H/1.1
|
200
OK
|
firebase-app.js
Show response
bittubeapp.com/__/firebase/7.24.0/
Frame DE75
|
20 KB
7 KB
|
36ms
35ms
|
Script
application/javascript |
5.196.163.89
OVH
|
|
|
GET
H/1.1
|
200
OK
|
firebase-auth.js
Show response
bittubeapp.com/__/firebase/7.24.0/
Frame DE75
|
172 KB
55 KB
|
148ms
77ms
|
Script
application/javascript |
5.196.163.89
OVH
|
|
|
GET
H/1.1
|
200
OK
|
init.js
Show response
bittubeapp.com/__/firebase/
Frame DE75
|
507 B
751 B
|
112ms
40ms
|
Script
application/javascript |
5.196.163.89
OVH
|
|
|
GET
H/1.1
|
200
OK
|
aes.js
Show response
bittubeapp.com/assets/js/
Frame DE75
|
13 KB
5 KB
|
112ms
40ms
|
Script
application/javascript |
5.196.163.89
OVH
|
|
|
GET
H/1.1
|
200
OK
|
jquery.min.js
Show response
bittubeapp.com/tubepay/
Frame DE75
|
82 KB
29 KB
|
146ms
74ms
|
Script
application/javascript |
5.196.163.89
OVH
|
|
|
GET
H/1.1
|
200
OK
|
biginteger.js
Show response
bittubeapp.com/tubepay/
Frame DE75
|
35 KB
10 KB
|
109ms
36ms
|
Script
application/javascript |
5.196.163.89
OVH
|
|
|
GET
H/1.1
|
200
OK
|
biginteger-lowval.js
Show response
bittubeapp.com/tubepay/
Frame DE75
|
73 B
370 B
|
110ms
36ms
|
Script
application/javascript |
5.196.163.89
OVH
|
|
|
GET
H/1.1
|
200
OK
|
config.js
Show response
bittubeapp.com/tubepay/
Frame DE75
|
1 KB
1 KB
|
169ms
58ms
|
Script
application/javascript |
5.196.163.89
OVH
|
|
|
GET
H/1.1
|
200
OK
|
mymonero-core.js
Show response
bittubeapp.com/tubepay/
Frame DE75
|
2 MB
454 KB
|
151ms
41ms
|
Script
application/javascript |
5.196.163.89
OVH
|
|
|
GET
H/1.1
|
200
OK
|
crypto.js
Show response
bittubeapp.com/tubepay/
Frame DE75
|
422 KB
121 KB
|
195ms
83ms
|
Script
application/javascript |
5.196.163.89
OVH
|
|
|
GET
H/1.1
|
200
OK
|
memhelper.js
Show response
bittubeapp.com/tubepay/
Frame DE75
|
3 KB
1 KB
|
171ms
59ms
|
Script
application/javascript |
5.196.163.89
OVH
|
|
|
GET
H/1.1
|
200
OK
|
sha3.js
Show response
bittubeapp.com/tubepay/
Frame DE75
|
15 KB
4 KB
|
184ms
37ms
|
Script
application/javascript |
5.196.163.89
OVH
|
|
|
GET
H/1.1
|
200
OK
|
nacl-fast-cn.js
Show response
bittubeapp.com/tubepay/
Frame DE75
|
18 KB
5 KB
|
208ms
39ms
|
Script
application/javascript |
5.196.163.89
OVH
|
|
|
GET
H/1.1
|
200
OK
|
base58.js
Show response
bittubeapp.com/tubepay/
Frame DE75
|
7 KB
2 KB
|
206ms
35ms
|
Script
application/javascript |
5.196.163.89
OVH
|
|
|
GET
H/1.1
|
200
OK
|
cn_util.js
Show response
bittubeapp.com/tubepay/
Frame DE75
|
35 KB
10 KB
|
218ms
35ms
|
Script
application/javascript |
5.196.163.89
OVH
|
|
|
GET
H/1.1
|
200
OK
|
client.loader.js
Show response
bittubeapp.com/tubepay/
Frame DE75
|
2 KB
1 KB
|
219ms
34ms
|
Script
application/javascript |
5.196.163.89
OVH
|
|
|
GET
H/1.1
|
200
OK
|
client.css
bittubeapp.com/tubepay/
Frame DE75
|
350 B
635 B
|
68ms
34ms
|
Stylesheet
text/css |
5.196.163.89
OVH
|
|
|
GET
H/1.1
|
200
OK
|
MyMoneroCoreCpp_WASM.wasm
Show response
bittubeapp.com/tubepay/mymonero_core_js/monero_utils/
Frame DE75
|
1 MB
1 MB
|
47ms
47ms
|
Fetch
application/wasm |
5.196.163.89
OVH
|
|
|
GET
H3
|
200
|
runtime.bundle.js
Show response
cdn.jsdelivr.net/gh/ipbc-dev/airtime-module-dist@1.1.6-tube4/tubepay/
Frame DE75
|
1 KB
1 KB
|
72ms
71ms
|
Script
application/javascript |
2606:4700::6810:5514
CLOUDFLARENET
|
|
General
- Full URL
- https://cdn.jsdelivr.net/gh/ipbc-dev/airtime-module-dist@1.1.6-tube4/tubepay/runtime.bundle.js
- Requested by
- Host: bittubeapp.com
URL: https://bittubeapp.com/tubepay/client.loader.js
- Protocol
- H3
- Security
- QUIC,
, AES_128_GCM
- Server
-
2606:4700::6810:5514
, United States,
ASN13335
(CLOUDFLARENET, US),
- Reverse DNS
- Software
-
cloudflare /
- Resource Hash
- 1ae5603aeca7676bf22bf638aa24c3694f46dbd7492fde252da1d46e314003b6
- Security Headers
-
Name |
Value |
Strict-Transport-Security |
max-age=31536000; includeSubDomains; preload |
X-Content-Type-Options |
nosniff |
|
GET
H3
|
200
|
vendor.bundle.js
Show response
cdn.jsdelivr.net/gh/ipbc-dev/airtime-module-dist@1.1.6-tube4/tubepay/
Frame DE75
|
198 KB
66 KB
|
94ms
93ms
|
Script
application/javascript |
2606:4700::6810:5514
CLOUDFLARENET
|
|
General
- Full URL
- https://cdn.jsdelivr.net/gh/ipbc-dev/airtime-module-dist@1.1.6-tube4/tubepay/vendor.bundle.js
- Requested by
- Host: bittubeapp.com
URL: https://bittubeapp.com/tubepay/client.loader.js
- Protocol
- H3
- Security
- QUIC,
, AES_128_GCM
- Server
-
2606:4700::6810:5514
, United States,
ASN13335
(CLOUDFLARENET, US),
- Reverse DNS
- Software
-
cloudflare /
- Resource Hash
- 9c6b7f1aa62b193a552a02c1acec91f19a2622d069133e98337802cd33e588c1
- Security Headers
-
Name |
Value |
Strict-Transport-Security |
max-age=31536000; includeSubDomains; preload |
X-Content-Type-Options |
nosniff |
|
GET
H3
|
200
|
common.bundle.js
Show response
cdn.jsdelivr.net/gh/ipbc-dev/airtime-module-dist@1.1.6-tube4/tubepay/
Frame DE75
|
19 KB
8 KB
|
73ms
72ms
|
Script
application/javascript |
2606:4700::6810:5514
CLOUDFLARENET
|
|
General
- Full URL
- https://cdn.jsdelivr.net/gh/ipbc-dev/airtime-module-dist@1.1.6-tube4/tubepay/common.bundle.js
- Requested by
- Host: bittubeapp.com
URL: https://bittubeapp.com/tubepay/client.loader.js
- Protocol
- H3
- Security
- QUIC,
, AES_128_GCM
- Server
-
2606:4700::6810:5514
, United States,
ASN13335
(CLOUDFLARENET, US),
- Reverse DNS
- Software
-
cloudflare /
- Resource Hash
- e695cadf8b5b3bb9f452d44c35c6613ded47f5be5b865e3080d2f62595f6f8b1
- Security Headers
-
Name |
Value |
Strict-Transport-Security |
max-age=31536000; includeSubDomains; preload |
X-Content-Type-Options |
nosniff |
|
GET
H3
|
200
|
protobuf.bundle.js
Show response
cdn.jsdelivr.net/gh/ipbc-dev/airtime-module-dist@1.1.6-tube4/tubepay/
Frame DE75
|
54 KB
12 KB
|
73ms
73ms
|
Script
application/javascript |
2606:4700::6810:5514
CLOUDFLARENET
|
|
General
- Full URL
- https://cdn.jsdelivr.net/gh/ipbc-dev/airtime-module-dist@1.1.6-tube4/tubepay/protobuf.bundle.js
- Requested by
- Host: bittubeapp.com
URL: https://bittubeapp.com/tubepay/client.loader.js
- Protocol
- H3
- Security
- QUIC,
, AES_128_GCM
- Server
-
2606:4700::6810:5514
, United States,
ASN13335
(CLOUDFLARENET, US),
- Reverse DNS
- Software
-
cloudflare /
- Resource Hash
- e4c273999478396a07c13b6c84f6131d97faa92ef8a2086759f01e71dacd39f7
- Security Headers
-
Name |
Value |
Strict-Transport-Security |
max-age=31536000; includeSubDomains; preload |
X-Content-Type-Options |
nosniff |
|
GET
H3
|
200
|
client.bundle.js
Show response
cdn.jsdelivr.net/gh/ipbc-dev/airtime-module-dist@1.1.6-tube4/tubepay/
Frame DE75
|
86 KB
22 KB
|
36ms
36ms
|
Script
application/javascript |
2606:4700::6810:5514
CLOUDFLARENET
|
|
General
- Full URL
- https://cdn.jsdelivr.net/gh/ipbc-dev/airtime-module-dist@1.1.6-tube4/tubepay/client.bundle.js
- Requested by
- Host: bittubeapp.com
URL: https://bittubeapp.com/tubepay/client.loader.js
- Protocol
- H3
- Security
- QUIC,
, AES_128_GCM
- Server
-
2606:4700::6810:5514
, United States,
ASN13335
(CLOUDFLARENET, US),
- Reverse DNS
- Software
-
cloudflare /
- Resource Hash
- 1ce742b54b432d28a78e6a6c63ed66a8b1795e77cfd7bc23091d2b36be750a11
- Security Headers
-
Name |
Value |
Strict-Transport-Security |
max-age=31536000; includeSubDomains; preload |
X-Content-Type-Options |
nosniff |
|
GET
H2
|
200
|
css
fonts.googleapis.com/
Frame DE75
|
2 KB
1 KB
|
93ms
34ms
|
Stylesheet
text/css |
2a00:1450:4001:80e::200a
GOOGLE
|
|
|
GET
H/1.1
|
200
OK
|
module.json
Show response
bittubeapp.com/tubepay/locales/en/
Frame DE75
|
4 KB
2 KB
|
35ms
35ms
|
XHR
application/json |
5.196.163.89
OVH
|
|
|