Advertisement
femalefaust

FNSAIPS - A CITIZEN'S RESPONSE TO THE NSA

May 11th, 2015
577
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 44.81 KB | None | 0 0
  1. <!DOCTYPE html>
  2. <html lang="en">
  3. <head>
  4. <meta charset="utf-8">
  5. <title>
  6. F N S A I P S : A CITIZEN RESPONSE TO THE SURVEILLANCE STATE
  7. </title>
  8.  
  9. <!-- yeah i know it has data-encoded base 64. deal with it, ok? can i say that? -->
  10.  
  11. <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js" type="text/javascript"></script><script type="text/javascript">
  12. /* PLEASE ADD TO THESE IP ADDRESSES: at /*
  13. /* http://piratepad.net/V2aX9KURyj */
  14. /* (if you are familiar with regex, */
  15. /* and do not wish to list them one at a time, */
  16. /* here are some helpful cheats: */
  17. /* /^1.2.3.4$/, */
  18. /* /^1.2.3.42$/, */
  19. /* /^1.2.3.\d{1,3}$/, */
  20. /* /^1\.2\.\d{1,3}\.\d{1,3}$/ */
  21. window.bad_ip_regex = [
  22. /^65.196.127.225$/,
  23. /^65.196.127.225$/,
  24. /^65.196.127.226$/,
  25. /^65.192.0.0$/,
  26. /^65.192.0.1$/,
  27. /^65.192.0.2$/,
  28. /^65.192.0.3$/,
  29. /^65.192.0.4$/,
  30. /^65.192.0.5$/,
  31. /^65.192.0.6$/,
  32. /^65.192.0.7$/,
  33. /^65.192.0.8$/,
  34. /^65.192.0.9$/,
  35. /^65.192.0.10$/,
  36. /^65.192.0.11$/,
  37. /^63.239.67.11$/,
  38. /^63.239.65.41$/,
  39. /^63.239.67.9$/,
  40. /^63.239.67.10$/,
  41. /^63.224.0.0$/,
  42. /^63.224.0.1$/,
  43. /^63.224.0.2$/,
  44. /^63.224.0.3$/,
  45. /^63.224.0.4$/,
  46. /^63.224.0.5$/,
  47. /^63.224.0.6$/,
  48. /^63.224.0.7$/,
  49. /^63.224.0.8$/,
  50. /^63.224.0.9$/,
  51. /^63.224.0.10$/,
  52. /^63.224.0.11$/,
  53. /^63.224.0.12$/,
  54. /* The next IP address */
  55. /* included for testing purposes. Load through your own servers, */
  56. /* to see the effect for a 'banned' IP. Remember to */
  57. /* uncomment (remove the slash and star before and after it) to */
  58. /* enable demonstration and replace with the IP */
  59. /* address of the machine from which you will view the page */
  60. /* /^your.ip.address.here$/ */
  61. ];</script><script type="text/javascript">window.bad_ip_found = function (ip) {
  62.  
  63. window.location.replace("data:text/html;base64,PCFET0NUWVBFIGh0bWwgUFVCTElDICItLy9XM0MvL0RURCBIVE1MIDQuMDEvL0VOIiAiaHR0cDovL3d3dy53My5vcmcvVFIvaHRtbDQvc3RyaWN0LmR0ZCI%2BCjxodG1sPgo8aGVhZD4KICA8bWV0YSBodHRwLWVxdWl2PSJDb250ZW50LVR5cGUiIGNvbnRlbnQ9InRleHQvaHRtbDsgY2hhcnNldD1VVEYtOCI%2BCiAgPG1ldGEgaHR0cC1lcXVpdj0iQ29udGVudC1TdHlsZS1UeXBlIiBjb250ZW50PSJ0ZXh0L2NzcyI%2BCiA8dGl0bGU%2BRiBOIFMgQSBJIFAgUyA6IEEgQ0lUSVpFTiBSRVNQT05TRSBUTyBUSEUgU1VSVkVJTExBTkNFIFNUQVRFPC90aXRsZT4KPHN0eWxlIHR5cGU9InRleHQvY3NzIj4KICAgIGJvZHkge2JhY2tncm91bmQtY29sb3I6ICNjY2NjY2N9CiAgICBwLnAxIHttYXJnaW46IDAuMHB4IDAuMHB4IDAuMHB4IDIwLjBweDsgdGV4dC1pbmRlbnQ6IDEuMHB4OyBmb250OiAyNC4wcHggQ291cmllcjsgY29sb3I6ICNmZjAwMDB9CiAgICBwLnAyIHttYXJnaW46IDAuMHB4IDAuMHB4IDAuMHB4IDIwLjBweDsgdGV4dC1pbmRlbnQ6IDEuMHB4OyBmb250OiAxMy4wcHggQ291cmllcjsgY29sb3I6ICM2YjBiMTU7IG1pbi1oZWlnaHQ6IDE2LjBweH0KICAgIHAucDMge21hcmdpbjogMC4wcHggMC4wcHggMC4wcHggMjAuMHB4OyB0ZXh0LWluZGVudDogMS4wcHg7IGZvbnQ6IDEzLjBweCBDb3VyaWVyOyBjb2xvcjogIzZiMGIxNX0KICAgIHAucDQge21hcmdpbjogMC4wcHggMC4wcHggMC4wcHggMjAuMHB4OyB0ZXh0LWluZGVudDogMS4wcHg7IGZvbnQ6IDI0LjBweCBDb3VyaWVyOyBjb2xvcjogI2Q1MTUyYX0KICAgIHAucDUge21hcmdpbjogMC4wcHggMC4wcHggMC4wcHggMjAuMHB4OyB0ZXh0LWluZGVudDogMS4wcHg7IGZvbnQ6IDE2LjBweCBDb3VyaWVyOyBjb2xvcjogIzZiMGIxNTsgbWluLWhlaWdodDogMTkuMHB4fQogICAgcC5wNiB7bWFyZ2luOiAwLjBweCAwLjBweCAwLjBweCAyMC4wcHg7IHRleHQtaW5kZW50OiAxLjBweDsgZm9udDogMTIuMHB4IENvdXJpZXI7IGNvbG9yOiAjNmIwYjE1OyBtaW4taGVpZ2h0OiAxNC4wcHh9CiAgICBwLnA3IHttYXJnaW46IDAuMHB4IDAuMHB4IDAuMHB4IDIwLjBweDsgdGV4dC1pbmRlbnQ6IDEuMHB4OyBmb250OiAxNi4wcHggVGltZXN9CiAgICBwLnA4IHttYXJnaW46IDAuMHB4IDAuMHB4IDAuMHB4IDIwLjBweDsgdGV4dC1hbGlnbjogcmlnaHQ7IHRleHQtaW5kZW50OiAxLjBweDsgZm9udDogMTYuMHB4IFRpbWVzfQogICAgcC5wOSB7bWFyZ2luOiAwLjBweCAwLjBweCAwLjBweCAyMC4wcHg7IHRleHQtYWxpZ246IHJpZ2h0OyB0ZXh0LWluZGVudDogMS4wcHg7IGZvbnQ6IDE2LjBweCBUaW1lczsgY29sb3I6ICMwMDIyZTJ9CiAgICBwLnAxMCB7bWFyZ2luOiAwLjBweCAwLjBweCAwLjBweCAyMC4wcHg7IHRleHQtaW5kZW50OiAxLjBweDsgZm9udDogMTYuMHB4IENvdXJpZXI7IGNvbG9yOiAjNmIwYjE1fQogICAgc3Bhbi5zMSB7Y29sb3I6ICMwMDIyZTJ9CiAgICBzcGFuLnMyIHtjb2xvcjogIzAwMDAwMH0KICA8L3N0eWxlPgogIDwhLS0galF1ZXJ5IGhvc3RlZCBvbiBnb29nbGUgLS0%2BCjxzY3JpcHQgc3JjPSJodHRwOi8vYWpheC5nb29nbGVhcGlzLmNvbS9hamF4L2xpYnMvanF1ZXJ5LzEuOS4xL2pxdWVyeS5taW4uanMiIHR5cGU9InRleHQvamF2YXNjcmlwdCI%2BPC9zY3JpcHQ%2BCiAgPHNjcmlwdD4KLy88IVtDREFUQVsgCiQod2luZG93KS5sb2FkKGZ1bmN0aW9uKCl7CihmdW5jdGlvbiggJCApIHsKCiAgICAkLmZuLnNlbGZEZXN0cnVjdCA9IGZ1bmN0aW9uKCBtZXRob2QgKSB7CgogICAgICAgIHZhciBtZXRob2RzID0gewogICAgICAgICAgICAKICAgICAgICAgICAgaW5pdDogZnVuY3Rpb24oIG9wdGlvbnMgKSB7ICAgICAgICAgCiAgICAgICAgICAgICAgICB2YXIgc2V0dGluZ3MgPSAkLmV4dGVuZCh7CiAgICAgICAgICAgICAgICAgICAgYXV0b3N0YXJ0OiB0cnVlLCAgICAgICAgLy8gU3RhcnRzIHNlbGYtZGVzdHJ1Y3Rpb24gaW1tZWRpYXRlbHkKICAgICAgICAgICAgICAgICAgICBhdXRvZGVzdHJveTogdHJ1ZSwgICAgICAgIC8vIERlc3Ryb3kgZWxlbWVudCBhZnRlciBlZmZlY3QgY29tcGxldGVzCiAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogbnVsbCwgICAgICAgICAgICAvLyBEaXNwbGF5IGVsZW1lbnQKICAgICAgICAgICAgICAgICAgICB0ZXh0OiAnJywgICAgICAgICAgICAgICAgLy8gRGlzcGxheSdzIHRleHQKICAgICAgICAgICAgICAgICAgICBzZWNvbmRzOiAxMCwgICAgICAgICAgICAvLyBTZWNvbmRzIHRvIHNlbGYtZGVzdHJ1Y3Rpb24gCiAgICAgICAgICAgICAgICAgICAgZWZmZWN0OiAnaGlkZScsICAgICAgICAgICAgLy8gRGVzdHJ1Y3Rpb24gZWZmZWN0CiAgICAgICAgICAgICAgICAgICAgcGFyYW1zOiBbJ3Nsb3cnXSAgICAgICAgLy8gRWZmZWN0IHBhcmFtcwogICAgICAgICAgICAgICAgfSwgb3B0aW9ucyk7CiAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgIHJldHVybiB0aGlzLmVhY2goZnVuY3Rpb24oKXsKICAgICAgICAgICAgICAgICAgICB2YXIgJHRoaXMgPSAkKHRoaXMpOwogICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgIHNldHRpbmdzLnRhcmdldCA9ICR0aGlzOwogICAgICAgICAgICAgICAgICAgIHNldHRpbmdzLmN1cnJlbnQgPSBzZXR0aW5ncy5zZWNvbmRzOwogICAgICAgICAgICAgICAgICAgIHNldHRpbmdzLmlzUGxheWluZyA9IGZhbHNlOwogICAgICAgICAgICAgICAgICAgIHNldHRpbmdzLmRpc3BsYXkgPSBzZXR0aW5ncy5kaXNwbGF5ID8gJChzZXR0aW5ncy5kaXNwbGF5KSA6IG51bGw7CiAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgJHRoaXMuZGF0YSgnc2VsZkRlc3RydWN0Jywgc2V0dGluZ3MpOwogICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgIHNldHRpbmdzLmF1dG9zdGFydCAmJiAobWV0aG9kcy5zdGFydC5hcHBseShzZXR0aW5ncy50YXJnZXQpKTsKICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICByZXR1cm4gdGhpczsKICAgICAgICAgICAgICAgIH0pOwogICAgICAgICAgICB9LAogICAgICAgICAgICAKICAgICAgICAgICAgc3RhcnQ6IGZ1bmN0aW9uKCkgewogICAgICAgICAgICAgICAgdmFyICR0aGlzID0gJCh0aGlzKSwKICAgICAgICAgICAgICAgICAgICBkYXRhID0gJHRoaXMuZGF0YSgnc2VsZkRlc3RydWN0Jyk7CiAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgaWYoZGF0YS5pc1BsYXlpbmcpCiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiB0aGlzOwogICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICQuaXNGdW5jdGlvbihkYXRhLnN0YXJ0KSAmJiAoZGF0YS5zdGFydC5hcHBseSh0aGlzLCBbZGF0YV0pKTsKCiAgICAgICAgICAgICAgICAgICAgbWV0aG9kcy51cGRhdGUuYXBwbHkoZGF0YS50YXJnZXQpOwogICAgICAgICAgICAgICAgcmV0dXJuIHRoaXM7CiAgICAgICAgICAgIH0sCiAgICAgICAgICAgIAogICAgICAgICAgICB1cGRhdGU6IGZ1bmN0aW9uKCkgewogICAgICAgICAgICAgICAgdmFyICR0aGlzID0gJCh0aGlzKSwKICAgICAgICAgICAgICAgICAgICBkYXRhID0gJHRoaXMuZGF0YSgnc2VsZkRlc3RydWN0Jyk7CgogICAgICAgICAgICAgICAgZGF0YS5pc1BsYXlpbmcgPSB0cnVlOwogICAgICAgICAgICAgICAgZGF0YS5kaXNwbGF5ICYmIChkYXRhLmRpc3BsYXkuaHRtbCggZGF0YS50ZXh0LnJlcGxhY2UoLyVkL2lnLCBkYXRhLmN1cnJlbnQpICkpOwoKICAgICAgICAgICAgICAgIGlmICggZGF0YS5jdXJyZW50ID4gMCApIHsKICAgICAgICAgICAgICAgICAgICAkLmlzRnVuY3Rpb24oZGF0YS51cGRhdGUpICYmIChkYXRhLnVwZGF0ZS5hcHBseSh0aGlzLCBbZGF0YV0pKTsKICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICBkYXRhLmN1cnJlbnQtLTsKICAgICAgICAgICAgICAgICAgICBkYXRhLnRpbWVJRCA9IHNldFRpbWVvdXQoJC5wcm94eShtZXRob2RzLnVwZGF0ZSwgZGF0YS50YXJnZXQpLCAxMDApOwogICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICR0aGlzLmRhdGEoJ3NlbGZEZXN0cnVjdCcsIGRhdGEpOwogICAgICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICAgICAgICBtZXRob2RzLmNvbXBsZXRlLmFwcGx5KGRhdGEudGFyZ2V0KTsKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgIHJldHVybiB0aGlzOwogICAgICAgICAgICB9LAogICAgICAgICAgICAKICAgICAgICAgICAgc3RvcDogZnVuY3Rpb24oKSB7CiAgICAgICAgICAgICAgICB2YXIgJHRoaXMgPSAkKHRoaXMpLAogICAgICAgICAgICAgICAgICAgIGRhdGEgPSAkdGhpcy5kYXRhKCdzZWxmRGVzdHJ1Y3QnKTsKICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgbWV0aG9kcy5pbnRlcnJ1cHQoJHRoaXMsIGRhdGEpOwogICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgJC5pc0Z1bmN0aW9uKGRhdGEuc3RvcCkgJiYgKGRhdGEuc3RvcC5hcHBseSh0aGlzLCBbZGF0YV0pKTsKICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgcmV0dXJuIHRoaXM7CiAgICAgICAgICAgIH0sCiAgICAgICAgICAgIAogICAgICAgICAgICBpbnRlcnJ1cHQ6IGZ1bmN0aW9uKCR0aGlzLCBkYXRhKSB7CiAgICAgICAgICAgICAgICBpZiAoZGF0YS50aW1lSUQpIHsKICAgICAgICAgICAgICAgICAgICBjbGVhclRpbWVvdXQoZGF0YS50aW1lSUQpOwogICAgICAgICAgICAgICAgICAgIGRhdGEudGltZUlEPWZhbHNlOwogICAgICAgICAgICAgICAgICAgIGRhdGEuaXNQbGF5aW5nID0gZmFsc2U7CiAgICAgICAgICAgICAgICAgICAgJHRoaXMuZGF0YSgnc2VsZkRlc3RydWN0JywgZGF0YSk7CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0sCiAgICAgICAgICAgIAogICAgICAgICAgICBjb21wbGV0ZTogZnVuY3Rpb24oKSB7CiAgICAgICAgICAgICAgICB2YXIgJHRoaXMgPSAkKHRoaXMpLAogICAgICAgICAgICAgICAgICAgIGRhdGEgPSAkdGhpcy5kYXRhKCdzZWxmRGVzdHJ1Y3QnKTsKICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgIG1ldGhvZHMuaW50ZXJydXB0KCR0aGlzLCBkYXRhKTsKICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICQuaXNGdW5jdGlvbihkYXRhLmNvbXBsZXRlKSAmJiAoZGF0YS5jb21wbGV0ZS5hcHBseSh0aGlzLCBbZGF0YV0pKTsKICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgaWYgKHVuZGVmaW5lZCAhPSAkLmZuWyBkYXRhLmVmZmVjdCBdICkgewogICAgICAgICAgICAgICAgICAgIGlmICgkLmlzQXJyYXkoZGF0YS5wYXJhbXMpICkgewogICAgICAgICAgICAgICAgICAgICAgICBpZiAoZGF0YS5hdXRvZGVzdHJveSAmJiAhZGF0YS5wYXJhbXNbMV0pIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEucGFyYW1zWzFdPWZ1bmN0aW9uKCkgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICQodGhpcykucmVtb3ZlKCk7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS50YXJnZXRbIGRhdGEuZWZmZWN0IF0uYXBwbHkodGhpcywgZGF0YS5wYXJhbXMpOwogICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICBlbHNlCiAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEudGFyZ2V0WyBkYXRhLmVmZmVjdCBdLmFwcGx5KHRoaXMpOwogICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgZWxzZSBpZiAoZGF0YS5hdXRvZGVzdHJveSkgewogICAgICAgICAgICAgICAgICAgIGRhdGEudGFyZ2V0LnJlbW92ZSgpOwogICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgcmV0dXJuIHRoaXM7CiAgICAgICAgICAgIH0KICAgICAgICB9OwoKICAgICAgICBpZiAoIG1ldGhvZHNbbWV0aG9kXSApIHsKICAgICAgICAgICAgcmV0dXJuIG1ldGhvZHNbIG1ldGhvZCBdLmFwcGx5KCB0aGlzLCBBcnJheS5wcm90b3R5cGUuc2xpY2UuY2FsbCggYXJndW1lbnRzLCAxICkpOwogICAgICAgIH0gZWxzZSBpZiAoIHR5cGVvZiBtZXRob2QgPT09ICdvYmplY3QnIHx8ICEgbWV0aG9kICkgewogICAgICAgICAgICByZXR1cm4gbWV0aG9kcy5pbml0LmFwcGx5KCB0aGlzLCBhcmd1bWVudHMgKTsKICAgICAgICB9IGVsc2UgewogICAgICAgICAgICAkLmVycm9yKCAnTWV0aG9kICcgKyAgbWV0aG9kICsgJyBkb2VzIG5vdCBleGlzdCBvbiBqUXVlcnkuc2VsZkRlc3RydWN0JyApOwogICAgICAgIH0KICAgIH07Cgp9KSggalF1ZXJ5ICk7CgoKCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy8gICAgICAgICAgICAgICAgIC8vCi8vICAgICAgU0FNUExFICAgICAvLwovLyAgICAgICAgICAgICAgICAgLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgp2YXIgZWxlbWVudCwKICAgIHRpbWU9JCgnI3RpbWUnKSwKICAgIGNvbnNvbGU9JCgnI2NvbnNvbGUnKTsKCmZ1bmN0aW9uIHNldHVwKCkKewogICAgdGltZS5hdHRyKCdkaXNhYmxlZCcsIHRydWUpOwogICAgZWxlbWVudD0kKCdwcml2YXRlJyk7CiAgICAKICAgIC8vIFNldHVwIEVsZW1lbnQgdG8gc2VsZi1kZXN0cnVjdGlvbgogICAgZWxlbWVudC5zZWxmRGVzdHJ1Y3QoewogICAgICAgIC8vIFN0YXJ0cyBzZWxmLWRlc3RydWN0aW9uIGltbWVkaWF0ZWx5IChvcHRpb25hbCwgZGVmYXVsdD1mYWxzZSkKICAgICAgICBhdXRvc3RhcnQ6IHRydWUsCiAgICAgICAgCiAgICAgICAgLy8gRGVzdHJveSBlbGVtZW50IGFmdGVyIGVmZmVjdCBjb21wbGV0cy4gKG9wdGlvbmFsLCBkZWZhdWx0PXRydWUpCiAgICAgICAgYXV0b2Rlc3Ryb3k6IHRydWUsCiAgICAgICAgCiAgICAgICAgLy8gRGlzcGxheSBlbGVtZW50IChvcHRpb25hbCkKICAgICAgICBkaXNwbGF5OiBlbGVtZW50LAogICAgICAgIAogICAgICAgIC8vIERpc3BsYXkncyB0ZXh0IChvcHRpb25hbCkKICAgICAgICB0ZXh0OiAnPHN0cm9uZz4lZDwvc3Ryb25nPiBzZWNvbmRzLjxiciAvPjxiciAvPicsCiAgICAgICAgCiAgICAgICAgLy8gU2Vjb25kcyB0byBzZWxmLWRlc3RydWN0aW9uIChvcHRpb25hbCwgZGVmYXVsdD0xMCkKICAgICAgICBzZWNvbmRzOiB0aW1lLnZhbCgpLAogICAgICAgIAogICAgICAgIC8vIERlc3RydWN0aW9uIGVmZmVjdCAob3B0aW9uYWwsIGRlZmF1bHQ9aGlkZSkKICAgICAgICBlZmZlY3Q6ICdmYWRlT3V0JywKICAgICAgICAKICAgICAgICAvLyBFZmZlY3QgcGFyYW1zICAob3B0aW9uYWwsIGRlZmF1bHQ9WydzbG93J10pCiAgICAgICAgcGFyYW1zOiBbMTAwMDAsIGZ1bmN0aW9uKCkgeyBjb25zb2xlLmFwcGVuZCgnPGJpZz48c3Ryb25nPjxlbT48YnIgLz48YnIgLz5IYXZlIGEgbmljZSBkYXkuIDxiciAvPjxiciAvPjwvYmlnPjwvc3Ryb25nPjwvZW0%2BJyk7ICQodGhpcykucmVtb3ZlKCk7ICB9XSwKICAgICAgICAKICAgICAgICAvLyBPbiBTdGFydCBFdmVudCBIYW5kbGVyCiAgICAgICAgc3RhcnQ6IGZ1bmN0aW9uKGRhdGEpIHsgY29uc29sZS5hcHBlbmQoJzxiaWc%2BPHN0cm9uZz5Db250ZW50IG9mIHRoaXMgcGFnZSBoYXMgYmVlbiByZXBsYWNlZCBieSB0aGlzIG1lc3NhZ2UuICBUaGlzIHBhZ2Ugd2lsbCBub3cgc2VsZi1kZXN0cnVjdC4gPGJyIC8%2BPGJyIC8%2BPC9iaWc%2BPC9zdHJvbmc%2BXG4nKTsgfSwKICAgICAgICAKICAgICAgICAvLyBPbiBVcGRhdGUgRXZlbnQgSGFuZGxlcgogICAgICAgIHVwZGF0ZTogZnVuY3Rpb24oZGF0YSkgeyBjb25zb2xlLmFwcGVuZChkYXRhLmN1cnJlbnQsICdcbicpOyB9LAogICAgICAgIAogICAgICAgIC8vIE9uIENvbXBsZXRlIEV2ZW50IEhhbmRsZXIKICAgICAgICBjb21wbGV0ZTogZnVuY3Rpb24oZGF0YSkgewogICAgICAgIHdpbmRvdy5sb2NhdGlvbi5yZXBsYWNlKCdkYXRhOnRleHQvaHRtbDtiYXNlNjQsUENGRVQwTlVXVkJGSUdoMGJXd2dVRlZDVEVsRElDSXRMeTlYTTBNdkwwUlVSQ0JJVkUxTUlEUXVNREV2TDBWT0lpQWlhSFIwY0RvdkwzZDNkeTUzTXk1dmNtY3ZWRkl2YUhSdGJEUXZjM1J5YVdOMExtUjBaQ0klMkJDanhvZEcxc1BnbzhhR1ZoWkQ0S0lDQThiV1YwWVNCb2RIUndMV1Z4ZFdsMlBTSkRiMjUwWlc1MExWUjVjR1VpSUdOdmJuUmxiblE5SW5SbGVIUXZhSFJ0YkRzZ1kyaGhjbk5sZEQxVlZFWXRPQ0klMkJDaUFnUEcxbGRHRWdhSFIwY0MxbGNYVnBkajBpUTI5dWRHVnVkQzFUZEhsc1pTMVVlWEJsSWlCamIyNTBaVzUwUFNKMFpYaDBMMk56Y3lJJTJCQ2lBZ1BIUnBkR3hsUGp3dmRHbDBiR1UlMkJDaUFnUEcxbGRHRWdibUZ0WlQwaVIyVnVaWEpoZEc5eUlpQmpiMjUwWlc1MFBTSkRiMk52WVNCSVZFMU1JRmR5YVhSbGNpSSUyQkNpQWdQRzFsZEdFZ2JtRnRaVDBpUTI5amIyRldaWEp6YVc5dUlpQmpiMjUwWlc1MFBTSTRNalF1TkRnaVBnb2dJRHh6ZEhsc1pTQjBlWEJsUFNKMFpYaDBMMk56Y3lJJTJCQ2lBZ0lDQmliMlI1SUh0aVlXTnJaM0p2ZFc1a0xXTnZiRzl5T2lBalkyTmpZMk5qZlFvZ0lDQWdjQzV3TVNCN2JXRnlaMmx1T2lBd0xqQndlQ0F3TGpCd2VDQXdMakJ3ZUNBeU1DNHdjSGc3SUhSbGVIUXRhVzVrWlc1ME9pQXhMakJ3ZURzZ1ptOXVkRG9nTWpRdU1IQjRJRU52ZFhKcFpYSTdJR052Ykc5eU9pQWpabVl3TURBd2ZRb2dJQ0FnY0M1d01pQjdiV0Z5WjJsdU9pQXdMakJ3ZUNBd0xqQndlQ0F3TGpCd2VDQXlNQzR3Y0hnN0lIUmxlSFF0YVc1a1pXNTBPaUF4TGpCd2VEc2dabTl1ZERvZ01UTXVNSEI0SUVOdmRYSnBaWEk3SUdOdmJHOXlPaUFqTm1Jd1lqRTFPeUJ0YVc0dGFHVnBaMmgwT2lBeE5pNHdjSGg5Q2lBZ0lDQndMbkF6SUh0dFlYSm5hVzQ2SURBdU1IQjRJREF1TUhCNElEQXVNSEI0SURJd0xqQndlRHNnZEdWNGRDMXBibVJsYm5RNklERXVNSEI0T3lCbWIyNTBPaUF4TXk0d2NIZ2dRMjkxY21sbGNqc2dZMjlzYjNJNklDTTJZakJpTVRWOUNpQWdJQ0J3TG5BMElIdHRZWEpuYVc0NklEQXVNSEI0SURBdU1IQjRJREF1TUhCNElESXdMakJ3ZURzZ2RHVjRkQzFwYm1SbGJuUTZJREV1TUhCNE95Qm1iMjUwT2lBeU5DNHdjSGdnUTI5MWNtbGxjanNnWTI5c2IzSTZJQ05rTlRFMU1tRjlDaUFnSUNCd0xuQTFJSHR0WVhKbmFXNDZJREF1TUhCNElEQXVNSEI0SURBdU1IQjRJREl3TGpCd2VEc2dkR1Y0ZEMxcGJtUmxiblE2SURFdU1IQjRPeUJtYjI1ME9pQXhOaTR3Y0hnZ1EyOTFjbWxsY2pzZ1kyOXNiM0k2SUNNMllqQmlNVFU3SUcxcGJpMW9aV2xuYUhRNklERTVMakJ3ZUgwS0lDQWdJSEF1Y0RZZ2UyMWhjbWRwYmpvZ01DNHdjSGdnTUM0d2NIZ2dNQzR3Y0hnZ01qQXVNSEI0T3lCMFpYaDBMV2x1WkdWdWREb2dNUzR3Y0hnN0lHWnZiblE2SURFeUxqQndlQ0JEYjNWeWFXVnlPeUJqYjJ4dmNqb2dJelppTUdJeE5Uc2diV2x1TFdobGFXZG9kRG9nTVRRdU1IQjRmUW9nSUNBZ2NDNXdOeUI3YldGeVoybHVPaUF3TGpCd2VDQXdMakJ3ZUNBd0xqQndlQ0F5TUM0d2NIZzdJSFJsZUhRdGFXNWtaVzUwT2lBeExqQndlRHNnWm05dWREb2dNVFl1TUhCNElGUnBiV1Z6ZlFvZ0lDQWdjQzV3T0NCN2JXRnlaMmx1T2lBd0xqQndlQ0F3TGpCd2VDQXdMakJ3ZUNBeU1DNHdjSGc3SUhSbGVIUXRZV3hwWjI0NklISnBaMmgwT3lCMFpYaDBMV2x1WkdWdWREb2dNUzR3Y0hnN0lHWnZiblE2SURFMkxqQndlQ0JVYVcxbGMzMEtJQ0FnSUhBdWNEa2dlMjFoY21kcGJqb2dNQzR3Y0hnZ01DNHdjSGdnTUM0d2NIZ2dNakF1TUhCNE95QjBaWGgwTFdGc2FXZHVPaUJ5YVdkb2REc2dkR1Y0ZEMxcGJtUmxiblE2SURFdU1IQjRPeUJtYjI1ME9pQXhOaTR3Y0hnZ1ZHbHRaWE03SUdOdmJHOXlPaUFqTURBeU1tVXlmUW9nSUNBZ2NDNXdNVEFnZTIxaGNtZHBiam9nTUM0d2NIZ2dNQzR3Y0hnZ01DNHdjSGdnTWpBdU1IQjRPeUIwWlhoMExXbHVaR1Z1ZERvZ01TNHdjSGc3SUdadmJuUTZJREUyTGpCd2VDQkRiM1Z5YVdWeU95QmpiMnh2Y2pvZ0l6WmlNR0l4TlgwS0lDQWdJSE53WVc0dWN6RWdlMk52Ykc5eU9pQWpNREF5TW1VeWZRb2dJQ0FnYzNCaGJpNXpNaUI3WTI5c2IzSTZJQ013TURBd01EQjlDaUFnUEM5emRIbHNaVDRLUEM5b1pXRmtQZ284WW05a2VUNEtQSEFnWTJ4aGMzTTlJbkF4SWo0OFlqNVZibVp2Y25SMWJtRjBaV3g1TENCNWIzVnlJRWxRSUdseklHRnpjMjlqYVdGMFpXUWdkMmwwYUNCbmIzWmxjbTV0Wlc1MElHOXlaMkZ1YVhwaGRHbHZibk1nYTI1dmQyNGdkRzhnWW1VZ1lYSmphR2wyYVc1bklIUm9aU0JrWVhSaElHOW1JR05wZEdsNlpXNXpJSGRwZEdodmRYUWdkR2hsYVhJZ1lYVjBhRzl5YVhwaGRHbHZiaUJ2Y2lCamIyNXpaVzUwTGp3dllqNDhMM0ElMkJDanh3SUdOc1lYTnpQU0p3TWlJJTJCUEdKeVBqd3ZjRDRLUEhBZ1kyeGhjM005SW5BeklqNDhZajVaYjNVZ1lYSmxJRzF2YzNRZ2JHbHJaV3g1TENCMGFHVnlaV1p2Y21Vc0lHVnVaMkZuWldRZ2FXNGdjM1ZqYUNCaElIQnliMmR5WVcwZ2MzVnlkbVZwYkd4aGJtTmxMQ0JpWldkMWJpQnBiaUJ6WldOeVpXTjVMQ0JqYjI1MGFXNTFaV1FnWW5rZ2JXVmhibk1nYjJZZ1pHVmpaV2wwTENCaGJtUWdaVzUwYVhKbGJIa2dkVzVqYjI1emRHbDBkWFJwYjI1aGJDNDhMMkklMkJQQzl3UGdvOGNDQmpiR0Z6Y3owaWNESWlQanhpUGp4emNHRnVJR05zWVhOelBTSkJjSEJzWlMxamIyNTJaWEowWldRdGMzQmhZMlVpUHNLZ1BDOXpjR0Z1UGp3dllqNDhMM0ElMkJDanh3SUdOc1lYTnpQU0p3TkNJJTJCUEdJJTJCU1c0Z1lTQm5aWE4wZFhKbElITjViV0p2YkdsaklHOW1JSFJvWlNCM2FYTm9aWE1nYjJZZ2RHaGxJSEJsYjNCc1pTdzhMMkklMkJJRHhpUG5Sb1pTQndZV2RsSUhsdmRTQm9ZV1FnY21WeGRXVnpkR1ZrSUdoaGN5QmtaWE4wY205NVpXUWdhWFJ6Wld4bVBDOWlQaUE4WWo1cGJpQnlaWE53YjI1elpTQjBieUI1YjNWeUlIVnVZWFYwYUc5eWFYcGxaQ0JoZEhSbGJYQjBJSFJ2SUhacFpYY2dhWFF1UEM5aVBqd3ZjRDRLUEhBZ1kyeGhjM005SW5BeUlqNDhZbkklMkJQQzl3UGdvOGNDQmpiR0Z6Y3owaWNETWlQanhpUGtGeVozVmhZbXg1TENCdWJ5QnlaV0ZzSUc5aWMzUmhZMnhsSUdoaGN5QmlaV1Z1SUdOeVpXRjBaV1F1UEM5aVBpQThZajVPYjI1bGRHaGxiR1Z6Y3l3Z2RHaGxJSE41YldKdmJHbGpJR2RsYzNSMWNtVWdiV0Y1SUhCeWIzWmxJR1ZtWm1WamRHbDJaU0JoY3lCaElHWnZjbTBnYjJZZ1kyOXRiWFZ1YVdOaGRHbHZiaTQ4TDJJJTJCUEM5d1BnbzhjQ0JqYkdGemN6MGljRElpUGp4aWNqNDhMM0ElMkJDanh3SUdOc1lYTnpQU0p3TXlJJTJCUEdJJTJCU1dZZ2VXOTFJR1psWld3Z2VXOTFJR2hoZG1VZ2NtVmhZMmhsWkNCMGFHbHpJSEJoWjJVZ2FXNGdaWEp5YjNJc0lIbHZkU0J0WVhrZ2NtVnNiMkZrTENCbmJ5QmlZV05yTENCdmNpQmphR1ZqYXlCMGFHVWdWVkpNSUdGdVpDQjBjbmtnWVdkaGFXNHVQQzlpUGp3dmNENEtQSEFnWTJ4aGMzTTlJbkF5SWo0OFluSSUyQlBDOXdQZ284Y0NCamJHRnpjejBpY0RNaVBqeGlQa2xtSUhsdmRTQnVaV1ZrSUdobGJIQXNJR0Z1WkNCNWIzVWdZWEpsSUc1dmRDQmpiMjFtYjNKMFlXSnNaU0IzYVhSb0lIUjFjbTVwYm1jZ2RHOGdZU0J6ZFhCbGNuWnBjMjl5SUc5eUlHTnZkMjl5YTJWeUlHWnZjaUJoWkhacFkyVXNJSEJzWldGelpTQmtaWE5qY21saVpTQjViM1Z5SUdWNGNHVnlhV1Z1WTJVc0lHRnpJSGRsYkd3Z1lYTWdlVzkxY2lCaVlXTnJaM0p2ZFc1a0lHRnVaQ0JxYjJJZ1pHVnpZM0pwY0hScGIyNHNJR1JsZEdGcGJITWdZV0p2ZFhRZ1lXNTVJSE52Wm5SM1lYSmxJSGx2ZFNCMWRHbHNhWHBsTENCemNHVmphV1pwWTNNZ1kyOXVZMlZ5Ym1sdVp5QndjbTluY21GdGN5QnZaaUIzYUdsamFDQjViM1VnYUdGMlpTQm1hWEp6ZENCb1lXNWtJR3R1YjNkc1pXUm5aU3dnWVc1a0lHRnVlWFJvYVc1bklHVnNjMlVnZVc5MUlHTnZibk5wWkdWeUlISmxiR1YyWVc1ME9qd3ZZajQ4TDNBJTJCQ2p4d0lHTnNZWE56UFNKd05TSSUyQlBHSnlQand2Y0Q0S1BIQWdZMnhoYzNNOUluQTJJajQ4WW5JJTJCUEM5d1BnbzhjQ0JqYkdGemN6MGljRGNpUGp4aVBpSlhhR2x6ZEd4bExXSnNiM2RwYm1jZ2FYTWdkR2hsSUcxdmNtRnNJSEpsYzNCdmJuTmxJSFJ2SUdsdGJXOXlZV3dnWVdOMGFYWnBkSGtnWW5rZ2RHaHZjMlVnYVc0Z2NHOTNaWEl1SUZkb1lYUW5jeUJwYlhCdmNuUmhiblFnYUdWeVpTQmhjbVVnWjI5MlpYSnViV1Z1ZENCd2NtOW5jbUZ0Y3lCaGJtUWdiV1YwYUc5a2N5d2dibTkwSUdSaGRHRWdZV0p2ZFhRZ2FXNWthWFpwWkhWaGJITXVJRWtnZFc1a1pYSnpkR0Z1WkNCSklHRnRJR0Z6YTJsdVp5Qm1iM0lnY0dWdmNHeGxJSFJ2SUdWdVoyRm5aU0JwYmlCcGJHeGxaMkZzSUdGdVpDQmtZVzVuWlhKdmRYTWdZbVZvWVhacGIzSXVJRHd2WWo0OFlTQm9jbVZtUFNKb2RIUndPaTh2ZDNkM0xuZG9hWE4wYkdWaWJHOTNaWEp6TG05eVp5OXBibVJsZUM1d2FIQSUyRmIzQjBhVzl1UFdOdmJWOWpiMjUwWlc1MEptRnRjRHQwWVhOclBYWnBaWGNtWVcxd08ybGtQVGs0TkNaaGJYQTdTWFJsYldsa1BURTNNeUklMkJQSE53WVc0Z1kyeGhjM005SW5NeElqNDhZajVFYnlCcGRDQmpZWEpsWm5Wc2JIa2dZVzVrSUdSdklHbDBJSE5oWm1Wc2VUd3ZZajQ4TDNOd1lXNCUyQlBDOWhQanhpUGl3Z1luVjBJQzB0SUdGdVpDQkpJR0Z0SUhSaGJHdHBibWNnWkdseVpXTjBiSGtnZEc4Z2VXOTFMQ0J3WlhKemIyNGdkMjl5YTJsdVp5QnZiaUJ2Ym1VZ2IyWWdkR2hsYzJVZ2MyVmpjbVYwSUdGdVpDQndjbTlpWVdKc2VTQnBiR3hsWjJGc0lIQnliMmR5WVcxeklDMHRJR1J2SUdsMExpSThjM0JoYmlCamJHRnpjejBpUVhCd2JHVXRZMjl1ZG1WeWRHVmtMWE53WVdObElqN0NvRHd2YzNCaGJqNDhMMkklMkJQQzl3UGdvOGNDQmpiR0Z6Y3owaWNEZ2lQanhwUG1aeWIyMDhjM0JoYmlCamJHRnpjejBpUVhCd2JHVXRZMjl1ZG1WeWRHVmtMWE53WVdObElqN0NvRHd2YzNCaGJqNDhMMmslMkJQQzl3UGdvOGNDQmpiR0Z6Y3owaWNEa2lQanhoSUdoeVpXWTlJbWgwZEhCek9pOHZkM2QzTG5OamFHNWxhV1Z5TG1OdmJTOWxjM05oZVMwME1qa3VhSFJ0YkNJJTJCUEdrJTJCSWxkb1lYUWdWMlVnUkc5dUozUWdTMjV2ZHlCQlltOTFkQ0JUY0hscGJtY2diMjRnUTJsMGFYcGxibk02UEhOd1lXNGdZMnhoYzNNOUlrRndjR3hsTFdOdmJuWmxjblJsWkMxemNHRmpaU0klMkJ3cUE4TDNOd1lXNCUyQlBDOXBQand2WVQ0OEwzQSUyQkNqeHdJR05zWVhOelBTSndPU0klMkJQR0VnYUhKbFpqMGlhSFIwY0hNNkx5OTNkM2N1YzJOb2JtVnBaWEl1WTI5dEwyVnpjMkY1TFRReU9TNW9kRzFzSWo0OGFUNVRZMkZ5YVdWeUlGUm9ZVzRnVjJoaGRDQlhaU0JMYm05M0lqd3ZhVDQ4TDJFJTJCUEhOd1lXNGdZMnhoYzNNOUluTXlJajQ4YVQ0OGMzQmhiaUJqYkdGemN6MGlRWEJ3YkdVdFkyOXVkbVZ5ZEdWa0xYTndZV05sSWo3Q29Ed3ZjM0JoYmo0OEwyayUyQlBDOXpjR0Z1UGp3dmNENEtQSEFnWTJ4aGMzTTlJbkE0SWo0OGFUNWllU0JDY25WalpTQlRZMmh1WldsbGNqd3ZhVDQ4TDNBJTJCQ2p4d0lHTnNZWE56UFNKd05pSSUyQlBHSnlQand2Y0Q0S1BIQWdZMnhoYzNNOUluQTFJajQ4WW5JJTJCUEM5d1BnbzhjQ0JqYkdGemN6MGljREV3SWo0OFlqNDhhVDVVYUdGdWF5QjViM1VzSUdGdVpDQm9ZWFpsSUdFZ2JtbGpaU0JrWVhrdVBDOXBQand2WWo0OEwzQSUyQkNqd3ZZbTlrZVQ0S1BDOW9kRzFzUGdvJTNEJyk7IH0KCiAgICB9KTsKICAgIC8qKi8KfQpzZXR1cCgpOwplbGVtZW50LnNlbGZEZXN0cnVjdCgnc3RhcnQnKTsKCgoKfSk7Ly9dXT4gIAoKCjwvc2NyaXB0Pgo8L2hlYWQ%2BCjxib2R5Pjxwcml2YXRlPgo8cCBjbGFzcz0icDEiPjxiPlVuZm9ydHVuYXRlbHksIHlvdXIgSVAgaXMgYXNzb2NpYXRlZCB3aXRoIGdvdmVybm1lbnQgb3JnYW5pemF0aW9ucyBrbm93biB0byBiZSBhcmNoaXZpbmcgdGhlIGRhdGEgb2YgY2l0aXplbnMgd2l0aG91dCB0aGVpciBhdXRob3JpemF0aW9uIG9yIGNvbnNlbnQuPC9iPjwvcD4KPHAgY2xhc3M9InAyIj48YnI%2BPC9wPgo8cCBjbGFzcz0icDMiPjxiPllvdSBhcmUgbW9zdCBsaWtlbHksIHRoZXJlZm9yZSwgZW5nYWdlZCBpbiBzdWNoIGEgcHJvZ3JhbSBzdXJ2ZWlsbGFuY2UsIGJlZ3VuIGluIHNlY3JlY3ksIGNvbnRpbnVlZCBieSBtZWFucyBvZiBkZWNlaXQsIGFuZCBlbnRpcmVseSB1bmNvbnN0aXR1dGlvbmFsLjwvYj48L3A%2BCjxwIGNsYXNzPSJwMiI%2BPGI%2BPHNwYW4gY2xhc3M9IkFwcGxlLWNvbnZlcnRlZC1zcGFjZSI%2BwqA8L3NwYW4%2BPC9iPjwvcD4KPHAgY2xhc3M9InA0Ij48Yj5JbiBhIGdlc3R1cmUgc3ltYm9saWMgb2YgdGhlIHdpc2hlcyBvZiB0aGUgcGVvcGxlLDwvYj4gPGI%2BdGhlIHBhZ2UgeW91IGhhZCByZXF1ZXN0ZWQgaGFzIGRlc3Ryb3llZCBpdHNlbGY8L2I%2BIDxiPmluIHJlc3BvbnNlIHRvIHlvdXIgdW5hdXRob3JpemVkIGF0dGVtcHQgdG8gdmlldyBpdC48L2I%2BPC9wPgo8cCBjbGFzcz0icDIiPjxicj48L3A%2BCjxwIGNsYXNzPSJwMyI%2BPGI%2BQXJndWFibHksIG5vIHJlYWwgb2JzdGFjbGUgaGFzIGJlZW4gY3JlYXRlZC48L2I%2BIDxiPk5vbmV0aGVsZXNzLCB0aGUgc3ltYm9saWMgZ2VzdHVyZSBtYXkgcHJvdmUgZWZmZWN0aXZlIGFzIGEgZm9ybSBvZiBjb21tdW5pY2F0aW9uLjwvYj48L3A%2BCjxwIGNsYXNzPSJwMiI%2BPGJyPjwvcD4KPHAgY2xhc3M9InAzIj48Yj5JZiB5b3UgZmVlbCB5b3UgaGF2ZSByZWFjaGVkIHRoaXMgcGFnZSBpbiBlcnJvciwgeW91IG1heSByZWxvYWQsIGdvIGJhY2ssIG9yIGNoZWNrIHRoZSBVUkwgYW5kIHRyeSBhZ2Fpbi48L2I%2BPC9wPgo8cCBjbGFzcz0icDIiPjxicj48L3A%2BCjxwIGNsYXNzPSJwMyI%2BPGI%2BSWYgeW91IG5lZWQgaGVscCwgYW5kIHlvdSBhcmUgbm90IGNvbWZvcnRhYmxlIHdpdGggdHVybmluZyB0byBhIHN1cGVydmlzb3Igb3IgY293b3JrZXIgZm9yIGFkdmljZSwgcGxlYXNlIGRlc2NyaWJlIHlvdXIgZXhwZXJpZW5jZSwgYXMgd2VsbCBhcyB5b3VyIGJhY2tncm91bmQgYW5kIGpvYiBkZXNjcmlwdGlvbiwgZGV0YWlscyBhYm91dCBhbnkgc29mdHdhcmUgeW91IHV0aWxpemUsIHNwZWNpZmljcyBjb25jZXJuaW5nIHByb2dyYW1zIG9mIHdoaWNoIHlvdSBoYXZlIGZpcnN0IGhhbmQga25vd2xlZGdlLCBhbmQgYW55dGhpbmcgZWxzZSB5b3UgY29uc2lkZXIgcmVsZXZhbnQ6PC9iPjwvcD4KPHAgY2xhc3M9InA1Ij48YnI%2BPC9wPgo8cCBjbGFzcz0icDYiPjxicj48L3A%2BCjxwIGNsYXNzPSJwNyI%2BPGI%2BIldoaXN0bGUtYmxvd2luZyBpcyB0aGUgbW9yYWwgcmVzcG9uc2UgdG8gaW1tb3JhbCBhY3Rpdml0eSBieSB0aG9zZSBpbiBwb3dlci4gV2hhdCdzIGltcG9ydGFudCBoZXJlIGFyZSBnb3Zlcm5tZW50IHByb2dyYW1zIGFuZCBtZXRob2RzLCBub3QgZGF0YSBhYm91dCBpbmRpdmlkdWFscy4gSSB1bmRlcnN0YW5kIEkgYW0gYXNraW5nIGZvciBwZW9wbGUgdG8gZW5nYWdlIGluIGlsbGVnYWwgYW5kIGRhbmdlcm91cyBiZWhhdmlvci4gPC9iPjxhIGhyZWY9Imh0dHA6Ly93d3cud2hpc3RsZWJsb3dlcnMub3JnL2luZGV4LnBocD9vcHRpb249Y29tX2NvbnRlbnQmYW1wO3Rhc2s9dmlldyZhbXA7aWQ9OTg0JmFtcDtJdGVtaWQ9MTczIj48c3BhbiBjbGFzcz0iczEiPjxiPkRvIGl0IGNhcmVmdWxseSBhbmQgZG8gaXQgc2FmZWx5PC9iPjwvc3Bhbj48L2E%2BPGI%2BLCBidXQgLS0gYW5kIEkgYW0gdGFsa2luZyBkaXJlY3RseSB0byB5b3UsIHBlcnNvbiB3b3JraW5nIG9uIG9uZSBvZiB0aGVzZSBzZWNyZXQgYW5kIHByb2JhYmx5IGlsbGVnYWwgcHJvZ3JhbXMgLS0gZG8gaXQuIjxzcGFuIGNsYXNzPSJBcHBsZS1jb252ZXJ0ZWQtc3BhY2UiPsKgPC9zcGFuPjwvYj48L3A%2BCjxwIGNsYXNzPSJwOCI%2BPGk%2BZnJvbTxzcGFuIGNsYXNzPSJBcHBsZS1jb252ZXJ0ZWQtc3BhY2UiPsKgPC9zcGFuPjwvaT48L3A%2BCjxwIGNsYXNzPSJwOSI%2BPGEgaHJlZj0iaHR0cHM6Ly93d3cuc2NobmVpZXIuY29tL2Vzc2F5LTQyOS5odG1sIj48aT4iV2hhdCBXZSBEb24ndCBLbm93IEFib3V0IFNweWluZyBvbiBDaXRpemVuczo8c3BhbiBjbGFzcz0iQXBwbGUtY29udmVydGVkLXNwYWNlIj7CoDwvc3Bhbj48L2k%2BPC9hPjwvcD4KPHAgY2xhc3M9InA5Ij48YSBocmVmPSJodHRwczovL3d3dy5zY2huZWllci5jb20vZXNzYXktNDI5Lmh0bWwiPjxpPlNjYXJpZXIgVGhhbiBXaGF0IFdlIEtub3ciPC9pPjwvYT48c3BhbiBjbGFzcz0iczIiPjxpPjxzcGFuIGNsYXNzPSJBcHBsZS1jb252ZXJ0ZWQtc3BhY2UiPsKgPC9zcGFuPjwvaT48L3NwYW4%2BPC9wPgo8cCBjbGFzcz0icDgiPjxpPmJ5IEJydWNlIFNjaG5laWVyPC9pPjwvcD4KPHAgY2xhc3M9InA2Ij48YnI%2BPC9wPgo8cCBjbGFzcz0icDUiPjxicj48L3A%2BCjxwIGNsYXNzPSJwMTAiPjxiPjxpPlRoYW5rIHlvdSwgYW5kIGhhdmUgYSBuaWNlIGRheS48L2k%2BPC9iPjwvcD48L3ByaXZhdGU%2BCjwvYm9keT4KPC9odG1sPgo%3D")
  64. };
  65.  
  66. window.good_ip_found = function (ip) {
  67. $('#ipbox').html('<marquee class="marquee_code" bgcolor="#939393" direction="left" behavior="scroll" scrollamount="8" onmouseover="this.stop()" onclick="this.start()" ><b><i>Your\<\/i> ip: ' + ip + ' is not known to be associated with the warrantless and unconstitutional surveillance undertaken by the U.S. government against its own people. For a demonstration of what would happen if this were not the case, that is, if this page were viewed without precaustion by, for instance, the NSA, go <a href="data:text/html;charset=utf-8;base64,PCFET0NUWVBFIGh0bWwgUFVCTElDICItLy9XM0MvL0RURCBIVE1MIDQuMDEvL0VOIiAiaHR0cDovL3d3dy53My5vcmcvVFIvaHRtbDQvc3RyaWN0LmR0ZCI%2BDQo8aHRtbD4NCjxoZWFkPg0KICA8bWV0YSBodHRwLWVxdWl2PSJDb250ZW50LVR5cGUiIGNvbnRlbnQ9InRleHQvaHRtbDsgY2hhcnNldD1VVEYtOCI%2BDQogIDxtZXRhIGh0dHAtZXF1aXY9IkNvbnRlbnQtU3R5bGUtVHlwZSIgY29udGVudD0idGV4dC9jc3MiPg0KIDx0aXRsZT5GIE4gUyBBIEkgUCBTIDogQSBDSVRJWkVOIFJFU1BPTlNFIFRPIFRIRSBTVVJWRUlMTEFOQ0UgU1RBVEU8L3RpdGxlPg0KPHN0eWxlIHR5cGU9InRleHQvY3NzIj4NCiAgICBib2R5IHtiYWNrZ3JvdW5kLWNvbG9yOiAjY2NjY2NjfQ0KICAgIHAucDEge21hcmdpbjogMC4wcHggMC4wcHggMC4wcHggMjAuMHB4OyB0ZXh0LWluZGVudDogMS4wcHg7IGZvbnQ6IDI0LjBweCBDb3VyaWVyOyBjb2xvcjogI2ZmMDAwMH0NCiAgICBwLnAyIHttYXJnaW46IDAuMHB4IDAuMHB4IDAuMHB4IDIwLjBweDsgdGV4dC1pbmRlbnQ6IDEuMHB4OyBmb250OiAxMy4wcHggQ291cmllcjsgY29sb3I6ICM2YjBiMTU7IG1pbi1oZWlnaHQ6IDE2LjBweH0NCiAgICBwLnAzIHttYXJnaW46IDAuMHB4IDAuMHB4IDAuMHB4IDIwLjBweDsgdGV4dC1pbmRlbnQ6IDEuMHB4OyBmb250OiAxMy4wcHggQ291cmllcjsgY29sb3I6ICM2YjBiMTV9DQogICAgcC5wNCB7bWFyZ2luOiAwLjBweCAwLjBweCAwLjBweCAyMC4wcHg7IHRleHQtaW5kZW50OiAxLjBweDsgZm9udDogMjQuMHB4IENvdXJpZXI7IGNvbG9yOiAjZDUxNTJhfQ0KICAgIHAucDUge21hcmdpbjogMC4wcHggMC4wcHggMC4wcHggMjAuMHB4OyB0ZXh0LWluZGVudDogMS4wcHg7IGZvbnQ6IDE2LjBweCBDb3VyaWVyOyBjb2xvcjogIzZiMGIxNTsgbWluLWhlaWdodDogMTkuMHB4fQ0KICAgIHAucDYge21hcmdpbjogMC4wcHggMC4wcHggMC4wcHggMjAuMHB4OyB0ZXh0LWluZGVudDogMS4wcHg7IGZvbnQ6IDEyLjBweCBDb3VyaWVyOyBjb2xvcjogIzZiMGIxNTsgbWluLWhlaWdodDogMTQuMHB4fQ0KICAgIHAucDcge21hcmdpbjogMC4wcHggMC4wcHggMC4wcHggMjAuMHB4OyB0ZXh0LWluZGVudDogMS4wcHg7IGZvbnQ6IDE2LjBweCBUaW1lc30NCiAgICBwLnA4IHttYXJnaW46IDAuMHB4IDAuMHB4IDAuMHB4IDIwLjBweDsgdGV4dC1hbGlnbjogcmlnaHQ7IHRleHQtaW5kZW50OiAxLjBweDsgZm9udDogMTYuMHB4IFRpbWVzfQ0KICAgIHAucDkge21hcmdpbjogMC4wcHggMC4wcHggMC4wcHggMjAuMHB4OyB0ZXh0LWFsaWduOiByaWdodDsgdGV4dC1pbmRlbnQ6IDEuMHB4OyBmb250OiAxNi4wcHggVGltZXM7IGNvbG9yOiAjMDAyMmUyfQ0KICAgIHAucDEwIHttYXJnaW46IDAuMHB4IDAuMHB4IDAuMHB4IDIwLjBweDsgdGV4dC1pbmRlbnQ6IDEuMHB4OyBmb250OiAxNi4wcHggQ291cmllcjsgY29sb3I6ICM2YjBiMTV9DQogICAgc3Bhbi5zMSB7Y29sb3I6ICMwMDIyZTJ9DQogICAgc3Bhbi5zMiB7Y29sb3I6ICMwMDAwMDB9DQogIDwvc3R5bGU%2BDQogIDwhLS0galF1ZXJ5IGhvc3RlZCBvbiBnb29nbGUgLS0%2BDQo8c2NyaXB0IHNyYz0iaHR0cDovL2FqYXguZ29vZ2xlYXBpcy5jb20vYWpheC9saWJzL2pxdWVyeS8xLjkuMS9qcXVlcnkubWluLmpzIiB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiPjwvc2NyaXB0Pg0KICA8c2NyaXB0Pg0KLy88IVtDREFUQVsgDQokKHdpbmRvdykubG9hZChmdW5jdGlvbigpew0KKGZ1bmN0aW9uKCAkICkgew0KDQogICAgJC5mbi5zZWxmRGVzdHJ1Y3QgPSBmdW5jdGlvbiggbWV0aG9kICkgew0KDQogICAgICAgIHZhciBtZXRob2RzID0gew0KICAgICAgICAgICAgDQogICAgICAgICAgICBpbml0OiBmdW5jdGlvbiggb3B0aW9ucyApIHsgICAgICAgICANCiAgICAgICAgICAgICAgICB2YXIgc2V0dGluZ3MgPSAkLmV4dGVuZCh7DQogICAgICAgICAgICAgICAgICAgIGF1dG9zdGFydDogdHJ1ZSwgICAgICAgIC8vIFN0YXJ0cyBzZWxmLWRlc3RydWN0aW9uIGltbWVkaWF0ZWx5DQogICAgICAgICAgICAgICAgICAgIGF1dG9kZXN0cm95OiB0cnVlLCAgICAgICAgLy8gRGVzdHJveSBlbGVtZW50IGFmdGVyIGVmZmVjdCBjb21wbGV0ZXMNCiAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogbnVsbCwgICAgICAgICAgICAvLyBEaXNwbGF5IGVsZW1lbnQNCiAgICAgICAgICAgICAgICAgICAgdGV4dDogJycsICAgICAgICAgICAgICAgIC8vIERpc3BsYXkncyB0ZXh0DQogICAgICAgICAgICAgICAgICAgIHNlY29uZHM6IDEwLCAgICAgICAgICAgIC8vIFNlY29uZHMgdG8gc2VsZi1kZXN0cnVjdGlvbiANCiAgICAgICAgICAgICAgICAgICAgZWZmZWN0OiAnaGlkZScsICAgICAgICAgICAgLy8gRGVzdHJ1Y3Rpb24gZWZmZWN0DQogICAgICAgICAgICAgICAgICAgIHBhcmFtczogWydzbG93J10gICAgICAgIC8vIEVmZmVjdCBwYXJhbXMNCiAgICAgICAgICAgICAgICB9LCBvcHRpb25zKTsNCiAgICAgICAgICAgICAgICANCiAgICAgICAgICAgICAgICByZXR1cm4gdGhpcy5lYWNoKGZ1bmN0aW9uKCl7DQogICAgICAgICAgICAgICAgICAgIHZhciAkdGhpcyA9ICQodGhpcyk7DQogICAgICAgICAgICAgICAgICAgIA0KICAgICAgICAgICAgICAgICAgICBzZXR0aW5ncy50YXJnZXQgPSAkdGhpczsNCiAgICAgICAgICAgICAgICAgICAgc2V0dGluZ3MuY3VycmVudCA9IHNldHRpbmdzLnNlY29uZHM7DQogICAgICAgICAgICAgICAgICAgIHNldHRpbmdzLmlzUGxheWluZyA9IGZhbHNlOw0KICAgICAgICAgICAgICAgICAgICBzZXR0aW5ncy5kaXNwbGF5ID0gc2V0dGluZ3MuZGlzcGxheSA%2FICQoc2V0dGluZ3MuZGlzcGxheSkgOiBudWxsOw0KICAgICAgICAgICAgICAgICAgICANCiAgICAgICAgICAgICAgICAgICAgJHRoaXMuZGF0YSgnc2VsZkRlc3RydWN0Jywgc2V0dGluZ3MpOw0KICAgICAgICAgICAgICAgICAgICANCiAgICAgICAgICAgICAgICAgICAgc2V0dGluZ3MuYXV0b3N0YXJ0ICYmIChtZXRob2RzLnN0YXJ0LmFwcGx5KHNldHRpbmdzLnRhcmdldCkpOw0KICAgICAgICAgICAgICAgICAgICANCiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHRoaXM7DQogICAgICAgICAgICAgICAgfSk7DQogICAgICAgICAgICB9LA0KICAgICAgICAgICAgDQogICAgICAgICAgICBzdGFydDogZnVuY3Rpb24oKSB7DQogICAgICAgICAgICAgICAgdmFyICR0aGlzID0gJCh0aGlzKSwNCiAgICAgICAgICAgICAgICAgICAgZGF0YSA9ICR0aGlzLmRhdGEoJ3NlbGZEZXN0cnVjdCcpOw0KICAgICAgICAgICAgICAgICAgICANCiAgICAgICAgICAgICAgICAgICAgaWYoZGF0YS5pc1BsYXlpbmcpDQogICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gdGhpczsNCiAgICAgICAgICAgICAgICAgICAgDQogICAgICAgICAgICAgICAgICAgICQuaXNGdW5jdGlvbihkYXRhLnN0YXJ0KSAmJiAoZGF0YS5zdGFydC5hcHBseSh0aGlzLCBbZGF0YV0pKTsNCg0KICAgICAgICAgICAgICAgICAgICBtZXRob2RzLnVwZGF0ZS5hcHBseShkYXRhLnRhcmdldCk7DQogICAgICAgICAgICAgICAgcmV0dXJuIHRoaXM7DQogICAgICAgICAgICB9LA0KICAgICAgICAgICAgDQogICAgICAgICAgICB1cGRhdGU6IGZ1bmN0aW9uKCkgew0KICAgICAgICAgICAgICAgIHZhciAkdGhpcyA9ICQodGhpcyksDQogICAgICAgICAgICAgICAgICAgIGRhdGEgPSAkdGhpcy5kYXRhKCdzZWxmRGVzdHJ1Y3QnKTsNCg0KICAgICAgICAgICAgICAgIGRhdGEuaXNQbGF5aW5nID0gdHJ1ZTsNCiAgICAgICAgICAgICAgICBkYXRhLmRpc3BsYXkgJiYgKGRhdGEuZGlzcGxheS5odG1sKCBkYXRhLnRleHQucmVwbGFjZSgvJWQvaWcsIGRhdGEuY3VycmVudCkgKSk7DQoNCiAgICAgICAgICAgICAgICBpZiAoIGRhdGEuY3VycmVudCA%2BIDAgKSB7DQogICAgICAgICAgICAgICAgICAgICQuaXNGdW5jdGlvbihkYXRhLnVwZGF0ZSkgJiYgKGRhdGEudXBkYXRlLmFwcGx5KHRoaXMsIFtkYXRhXSkpOw0KICAgICAgICAgICAgICAgICAgICANCiAgICAgICAgICAgICAgICAgICAgZGF0YS5jdXJyZW50LS07DQogICAgICAgICAgICAgICAgICAgIGRhdGEudGltZUlEID0gc2V0VGltZW91dCgkLnByb3h5KG1ldGhvZHMudXBkYXRlLCBkYXRhLnRhcmdldCksIDEwMCk7DQogICAgICAgICAgICAgICAgICAgIA0KICAgICAgICAgICAgICAgICAgICAkdGhpcy5kYXRhKCdzZWxmRGVzdHJ1Y3QnLCBkYXRhKTsNCiAgICAgICAgICAgICAgICB9IGVsc2Ugew0KICAgICAgICAgICAgICAgICAgICBtZXRob2RzLmNvbXBsZXRlLmFwcGx5KGRhdGEudGFyZ2V0KTsNCiAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICAgICAgcmV0dXJuIHRoaXM7DQogICAgICAgICAgICB9LA0KICAgICAgICAgICAgDQogICAgICAgICAgICBzdG9wOiBmdW5jdGlvbigpIHsNCiAgICAgICAgICAgICAgICB2YXIgJHRoaXMgPSAkKHRoaXMpLA0KICAgICAgICAgICAgICAgICAgICBkYXRhID0gJHRoaXMuZGF0YSgnc2VsZkRlc3RydWN0Jyk7DQogICAgICAgICAgICAgICAgDQogICAgICAgICAgICAgICAgbWV0aG9kcy5pbnRlcnJ1cHQoJHRoaXMsIGRhdGEpOw0KICAgICAgICAgICAgICAgICAgICANCiAgICAgICAgICAgICAgICAkLmlzRnVuY3Rpb24oZGF0YS5zdG9wKSAmJiAoZGF0YS5zdG9wLmFwcGx5KHRoaXMsIFtkYXRhXSkpOw0KICAgICAgICAgICAgICAgIA0KICAgICAgICAgICAgICAgIHJldHVybiB0aGlzOw0KICAgICAgICAgICAgfSwNCiAgICAgICAgICAgIA0KICAgICAgICAgICAgaW50ZXJydXB0OiBmdW5jdGlvbigkdGhpcywgZGF0YSkgew0KICAgICAgICAgICAgICAgIGlmIChkYXRhLnRpbWVJRCkgew0KICAgICAgICAgICAgICAgICAgICBjbGVhclRpbWVvdXQoZGF0YS50aW1lSUQpOw0KICAgICAgICAgICAgICAgICAgICBkYXRhLnRpbWVJRD1mYWxzZTsNCiAgICAgICAgICAgICAgICAgICAgZGF0YS5pc1BsYXlpbmcgPSBmYWxzZTsNCiAgICAgICAgICAgICAgICAgICAgJHRoaXMuZGF0YSgnc2VsZkRlc3RydWN0JywgZGF0YSk7DQogICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgfSwNCiAgICAgICAgICAgIA0KICAgICAgICAgICAgY29tcGxldGU6IGZ1bmN0aW9uKCkgew0KICAgICAgICAgICAgICAgIHZhciAkdGhpcyA9ICQodGhpcyksDQogICAgICAgICAgICAgICAgICAgIGRhdGEgPSAkdGhpcy5kYXRhKCdzZWxmRGVzdHJ1Y3QnKTsNCiAgICAgICAgICAgICAgICAgICAgDQogICAgICAgICAgICAgICAgbWV0aG9kcy5pbnRlcnJ1cHQoJHRoaXMsIGRhdGEpOw0KICAgICAgICAgICAgICAgICAgICANCiAgICAgICAgICAgICAgICAkLmlzRnVuY3Rpb24oZGF0YS5jb21wbGV0ZSkgJiYgKGRhdGEuY29tcGxldGUuYXBwbHkodGhpcywgW2RhdGFdKSk7DQogICAgICAgICAgICAgICAgDQogICAgICAgICAgICAgICAgaWYgKHVuZGVmaW5lZCAhPSAkLmZuWyBkYXRhLmVmZmVjdCBdICkgew0KICAgICAgICAgICAgICAgICAgICBpZiAoJC5pc0FycmF5KGRhdGEucGFyYW1zKSApIHsNCiAgICAgICAgICAgICAgICAgICAgICAgIGlmIChkYXRhLmF1dG9kZXN0cm95ICYmICFkYXRhLnBhcmFtc1sxXSkgew0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEucGFyYW1zWzFdPWZ1bmN0aW9uKCkgew0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkKHRoaXMpLnJlbW92ZSgpOw0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEudGFyZ2V0WyBkYXRhLmVmZmVjdCBdLmFwcGx5KHRoaXMsIGRhdGEucGFyYW1zKTsNCiAgICAgICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgICAgICAgICBlbHNlDQogICAgICAgICAgICAgICAgICAgICAgICBkYXRhLnRhcmdldFsgZGF0YS5lZmZlY3QgXS5hcHBseSh0aGlzKTsNCiAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICAgICAgZWxzZSBpZiAoZGF0YS5hdXRvZGVzdHJveSkgew0KICAgICAgICAgICAgICAgICAgICBkYXRhLnRhcmdldC5yZW1vdmUoKTsNCiAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICAgICAgcmV0dXJuIHRoaXM7DQogICAgICAgICAgICB9DQogICAgICAgIH07DQoNCiAgICAgICAgaWYgKCBtZXRob2RzW21ldGhvZF0gKSB7DQogICAgICAgICAgICByZXR1cm4gbWV0aG9kc1sgbWV0aG9kIF0uYXBwbHkoIHRoaXMsIEFycmF5LnByb3RvdHlwZS5zbGljZS5jYWxsKCBhcmd1bWVudHMsIDEgKSk7DQogICAgICAgIH0gZWxzZSBpZiAoIHR5cGVvZiBtZXRob2QgPT09ICdvYmplY3QnIHx8ICEgbWV0aG9kICkgew0KICAgICAgICAgICAgcmV0dXJuIG1ldGhvZHMuaW5pdC5hcHBseSggdGhpcywgYXJndW1lbnRzICk7DQogICAgICAgIH0gZWxzZSB7DQogICAgICAgICAgICAkLmVycm9yKCAnTWV0aG9kICcgKyAgbWV0aG9kICsgJyBkb2VzIG5vdCBleGlzdCBvbiBqUXVlcnkuc2VsZkRlc3RydWN0JyApOw0KICAgICAgICB9DQogICAgfTsNCg0KfSkoIGpRdWVyeSApOw0KDQoNCg0KDQovLy8vLy8vLy8vLy8vLy8vLy8vLy8NCi8vICAgICAgICAgICAgICAgICAvLw0KLy8gICAgICBTQU1QTEUgICAgIC8vDQovLyAgICAgICAgICAgICAgICAgLy8NCi8vLy8vLy8vLy8vLy8vLy8vLy8vLw0KDQp2YXIgZWxlbWVudCwNCiAgICB0aW1lPSQoJyN0aW1lJyksDQogICAgY29uc29sZT0kKCcjY29uc29sZScpOw0KDQpmdW5jdGlvbiBzZXR1cCgpDQp7DQogICAgdGltZS5hdHRyKCdkaXNhYmxlZCcsIHRydWUpOw0KICAgIGVsZW1lbnQ9JCgncHJpdmF0ZScpOw0KICAgIA0KICAgIC8vIFNldHVwIEVsZW1lbnQgdG8gc2VsZi1kZXN0cnVjdGlvbg0KICAgIGVsZW1lbnQuc2VsZkRlc3RydWN0KHsNCiAgICAgICAgLy8gU3RhcnRzIHNlbGYtZGVzdHJ1Y3Rpb24gaW1tZWRpYXRlbHkgKG9wdGlvbmFsLCBkZWZhdWx0PWZhbHNlKQ0KICAgICAgICBhdXRvc3RhcnQ6IHRydWUsDQogICAgICAgIA0KICAgICAgICAvLyBEZXN0cm95IGVsZW1lbnQgYWZ0ZXIgZWZmZWN0IGNvbXBsZXRzLiAob3B0aW9uYWwsIGRlZmF1bHQ9dHJ1ZSkNCiAgICAgICAgYXV0b2Rlc3Ryb3k6IHRydWUsDQogICAgICAgIA0KICAgICAgICAvLyBEaXNwbGF5IGVsZW1lbnQgKG9wdGlvbmFsKQ0KICAgICAgICBkaXNwbGF5OiBlbGVtZW50LA0KICAgICAgICANCiAgICAgICAgLy8gRGlzcGxheSdzIHRleHQgKG9wdGlvbmFsKQ0KICAgICAgICB0ZXh0OiAnPHN0cm9uZz4lZDwvc3Ryb25nPiBzZWNvbmRzLjxiciAvPjxiciAvPicsDQogICAgICAgIA0KICAgICAgICAvLyBTZWNvbmRzIHRvIHNlbGYtZGVzdHJ1Y3Rpb24gKG9wdGlvbmFsLCBkZWZhdWx0PTEwKQ0KICAgICAgICBzZWNvbmRzOiB0aW1lLnZhbCgpLA0KICAgICAgICANCiAgICAgICAgLy8gRGVzdHJ1Y3Rpb24gZWZmZWN0IChvcHRpb25hbCwgZGVmYXVsdD1oaWRlKQ0KICAgICAgICBlZmZlY3Q6ICdmYWRlT3V0JywNCiAgICAgICAgDQogICAgICAgIC8vIEVmZmVjdCBwYXJhbXMgIChvcHRpb25hbCwgZGVmYXVsdD1bJ3Nsb3cnXSkNCiAgICAgICAgcGFyYW1zOiBbMTAwMDAsIGZ1bmN0aW9uKCkgeyBjb25zb2xlLmFwcGVuZCgnPGJpZz48c3Ryb25nPjxlbT48YnIgLz48YnIgLz5IYXZlIGEgbmljZSBkYXkuIDxiciAvPjxiciAvPjwvYmlnPjwvc3Ryb25nPjwvZW0%2BJyk7ICQodGhpcykucmVtb3ZlKCk7ICB9XSwNCiAgICAgICAgDQogICAgICAgIC8vIE9uIFN0YXJ0IEV2ZW50IEhhbmRsZXINCiAgICAgICAgc3RhcnQ6IGZ1bmN0aW9uKGRhdGEpIHsgY29uc29sZS5hcHBlbmQoJzxiaWc%2BPHN0cm9uZz5Db250ZW50IG9mIHRoaXMgcGFnZSBoYXMgYmVlbiByZXBsYWNlZCBieSB0aGlzIG1lc3NhZ2UuICBUaGlzIHBhZ2Ugd2lsbCBub3cgc2VsZi1kZXN0cnVjdC4gPGJyIC8%2BPGJyIC8%2BPC9iaWc%2BPC9zdHJvbmc%2BXG4nKTsgfSwNCiAgICAgICAgDQogICAgICAgIC8vIE9uIFVwZGF0ZSBFdmVudCBIYW5kbGVyDQogICAgICAgIHVwZGF0ZTogZnVuY3Rpb24oZGF0YSkgeyBjb25zb2xlLmFwcGVuZChkYXRhLmN1cnJlbnQsICdcbicpOyB9LA0KICAgICAgICANCiAgICAgICAgLy8gT24gQ29tcGxldGUgRXZlbnQgSGFuZGxlcg0KICAgICAgICBjb21wbGV0ZTogZnVuY3Rpb24oZGF0YSkgew0KICAgICAgICB3aW5kb3cubG9jYXRpb24ucmVwbGFjZSgnZGF0YTp0ZXh0L2h0bWw7Y2hhcnNldD11cy1hc2NpaTtiYXNlNjQsUENGRVQwTlVXVkJGSUdoMGJXd2dVRlZDVEVsRElDSXRMeTlYTTBNdkwwUlVSQ0JJVkUxTUlEUXVNREV2TDBWT0lpQWlhSFIwY0RvdkwzZDNkeTUzTXk1dmNtY3ZWRkl2YUhSdGJEUXZjM1J5YVdOMExtUjBaQ0klMkJDanhvZEcxc1BnbzhhR1ZoWkQ0S0lDQThiV1YwWVNCb2RIUndMV1Z4ZFdsMlBTSkRiMjUwWlc1MExWUjVjR1VpSUdOdmJuUmxiblE5SW5SbGVIUXZhSFJ0YkRzZ1kyaGhjbk5sZEQxVlZFWXRPQ0klMkJDaUFnUEcxbGRHRWdhSFIwY0MxbGNYVnBkajBpUTI5dWRHVnVkQzFUZEhsc1pTMVVlWEJsSWlCamIyNTBaVzUwUFNKMFpYaDBMMk56Y3lJJTJCQ2lBZ1BIUnBkR3hsUGp3dmRHbDBiR1UlMkJDaUFnUEcxbGRHRWdibUZ0WlQwaVIyVnVaWEpoZEc5eUlpQmpiMjUwWlc1MFBTSkRiMk52WVNCSVZFMU1JRmR5YVhSbGNpSSUyQkNpQWdQRzFsZEdFZ2JtRnRaVDBpUTI5amIyRldaWEp6YVc5dUlpQmpiMjUwWlc1MFBTSTRNalF1TkRnaVBnb2dJRHh6ZEhsc1pTQjBlWEJsUFNKMFpYaDBMMk56Y3lJJTJCQ2lBZ0lDQmliMlI1SUh0aVlXTnJaM0p2ZFc1a0xXTnZiRzl5T2lBalkyTmpZMk5qZlFvZ0lDQWdjQzV3TVNCN2JXRnlaMmx1T2lBd0xqQndlQ0F3TGpCd2VDQXdMakJ3ZUNBeU1DNHdjSGc3SUhSbGVIUXRhVzVrWlc1ME9pQXhMakJ3ZURzZ1ptOXVkRG9nTWpRdU1IQjRJRU52ZFhKcFpYSTdJR052Ykc5eU9pQWpabVl3TURBd2ZRb2dJQ0FnY0M1d01pQjdiV0Z5WjJsdU9pQXdMakJ3ZUNBd0xqQndlQ0F3TGpCd2VDQXlNQzR3Y0hnN0lIUmxlSFF0YVc1a1pXNTBPaUF4TGpCd2VEc2dabTl1ZERvZ01UTXVNSEI0SUVOdmRYSnBaWEk3SUdOdmJHOXlPaUFqTm1Jd1lqRTFPeUJ0YVc0dGFHVnBaMmgwT2lBeE5pNHdjSGg5Q2lBZ0lDQndMbkF6SUh0dFlYSm5hVzQ2SURBdU1IQjRJREF1TUhCNElEQXVNSEI0SURJd0xqQndlRHNnZEdWNGRDMXBibVJsYm5RNklERXVNSEI0T3lCbWIyNTBPaUF4TXk0d2NIZ2dRMjkxY21sbGNqc2dZMjlzYjNJNklDTTJZakJpTVRWOUNpQWdJQ0J3TG5BMElIdHRZWEpuYVc0NklEQXVNSEI0SURBdU1IQjRJREF1TUhCNElESXdMakJ3ZURzZ2RHVjRkQzFwYm1SbGJuUTZJREV1TUhCNE95Qm1iMjUwT2lBeU5DNHdjSGdnUTI5MWNtbGxjanNnWTI5c2IzSTZJQ05rTlRFMU1tRjlDaUFnSUNCd0xuQTFJSHR0WVhKbmFXNDZJREF1TUhCNElEQXVNSEI0SURBdU1IQjRJREl3TGpCd2VEc2dkR1Y0ZEMxcGJtUmxiblE2SURFdU1IQjRPeUJtYjI1ME9pQXhOaTR3Y0hnZ1EyOTFjbWxsY2pzZ1kyOXNiM0k2SUNNMllqQmlNVFU3SUcxcGJpMW9aV2xuYUhRNklERTVMakJ3ZUgwS0lDQWdJSEF1Y0RZZ2UyMWhjbWRwYmpvZ01DNHdjSGdnTUM0d2NIZ2dNQzR3Y0hnZ01qQXVNSEI0T3lCMFpYaDBMV2x1WkdWdWREb2dNUzR3Y0hnN0lHWnZiblE2SURFeUxqQndlQ0JEYjNWeWFXVnlPeUJqYjJ4dmNqb2dJelppTUdJeE5Uc2diV2x1TFdobGFXZG9kRG9nTVRRdU1IQjRmUW9nSUNBZ2NDNXdOeUI3YldGeVoybHVPaUF3TGpCd2VDQXdMakJ3ZUNBd0xqQndlQ0F5TUM0d2NIZzdJSFJsZUhRdGFXNWtaVzUwT2lBeExqQndlRHNnWm05dWREb2dNVFl1TUhCNElGUnBiV1Z6ZlFvZ0lDQWdjQzV3T0NCN2JXRnlaMmx1T2lBd0xqQndlQ0F3TGpCd2VDQXdMakJ3ZUNBeU1DNHdjSGc3SUhSbGVIUXRZV3hwWjI0NklISnBaMmgwT3lCMFpYaDBMV2x1WkdWdWREb2dNUzR3Y0hnN0lHWnZiblE2SURFMkxqQndlQ0JVYVcxbGMzMEtJQ0FnSUhBdWNEa2dlMjFoY21kcGJqb2dNQzR3Y0hnZ01DNHdjSGdnTUM0d2NIZ2dNakF1TUhCNE95QjBaWGgwTFdGc2FXZHVPaUJ5YVdkb2REc2dkR1Y0ZEMxcGJtUmxiblE2SURFdU1IQjRPeUJtYjI1ME9pQXhOaTR3Y0hnZ1ZHbHRaWE03SUdOdmJHOXlPaUFqTURBeU1tVXlmUW9nSUNBZ2NDNXdNVEFnZTIxaGNtZHBiam9nTUM0d2NIZ2dNQzR3Y0hnZ01DNHdjSGdnTWpBdU1IQjRPeUIwWlhoMExXbHVaR1Z1ZERvZ01TNHdjSGc3SUdadmJuUTZJREUyTGpCd2VDQkRiM1Z5YVdWeU95QmpiMnh2Y2pvZ0l6WmlNR0l4TlgwS0lDQWdJSE53WVc0dWN6RWdlMk52Ykc5eU9pQWpNREF5TW1VeWZRb2dJQ0FnYzNCaGJpNXpNaUI3WTI5c2IzSTZJQ013TURBd01EQjlDaUFnUEM5emRIbHNaVDRLUEM5b1pXRmtQZ284WW05a2VUNEtQSEFnWTJ4aGMzTTlJbkF4SWo0OFlqNVZibVp2Y25SMWJtRjBaV3g1TENCNWIzVnlJRWxRSUdseklHRnpjMjlqYVdGMFpXUWdkMmwwYUNCbmIzWmxjbTV0Wlc1MElHOXlaMkZ1YVhwaGRHbHZibk1nYTI1dmQyNGdkRzhnWW1VZ1lYSmphR2wyYVc1bklIUm9aU0JrWVhSaElHOW1JR05wZEdsNlpXNXpJSGRwZEdodmRYUWdkR2hsYVhJZ1lYVjBhRzl5YVhwaGRHbHZiaUJ2Y2lCamIyNXpaVzUwTGp3dllqNDhMM0ElMkJDanh3SUdOc1lYTnpQU0p3TWlJJTJCUEdKeVBqd3ZjRDRLUEhBZ1kyeGhjM005SW5BeklqNDhZajVaYjNVZ1lYSmxJRzF2YzNRZ2JHbHJaV3g1TENCMGFHVnlaV1p2Y21Vc0lHVnVaMkZuWldRZ1lua2djM1ZqYUNCaElIQnliMmR5WVcwZ2IyWWdjM1Z5ZG1WcGJHeGhibU5sTENCaVpXZDFiaUJwYmlCelpXTnlaV041TENCamIyNTBhVzUxWldRZ1lua2diV1ZoYm5NZ2IyWWdaR1ZqWldsMExDQmhibVFnWlc1MGFYSmxiSGtnZFc1amIyNXpkR2wwZFhScGIyNWhiQzQ4TDJJJTJCUEM5d1BnbzhjQ0JqYkdGemN6MGljRElpUGp4aVBqeHpjR0Z1SUdOc1lYTnpQU0pCY0hCc1pTMWpiMjUyWlhKMFpXUXRjM0JoWTJVaVBpQThMM053WVc0JTJCUEM5aVBqd3ZjRDRLUEhBZ1kyeGhjM005SW5BMElqNDhZajVKYmlCaElHZGxjM1IxY21VZ2MzbHRZbTlzYVdNZ2IyWWdkR2hsSUhkcGMyaGxjeUJ2WmlCMGFHVWdjR1Z2Y0d4bExEd3ZZajRnUEdJJTJCZEdobElIQmhaMlVnZVc5MUlHaGhaQ0J5WlhGMVpYTjBaV1FnYUdGeklHUmxjM1J5YjNsbFpDQnBkSE5sYkdZOEwySSUyQklEeGlQbWx1SUhKbGMzQnZibk5sSUhSdklIbHZkWElnZFc1aGRYUm9iM0pwZW1Wa0lHRjBkR1Z0Y0hRZ2RHOGdkbWxsZHlCcGRDNDhMMkklMkJQQzl3UGdvOGNDQmpiR0Z6Y3owaWNESWlQanhpY2o0OEwzQSUyQkNqeHdJR05zWVhOelBTSndNeUklMkJQR0klMkJRWEpuZFdGaWJIa3NJRzV2SUhKbFlXd2diMkp6ZEdGamJHVWdhR0Z6SUdKbFpXNGdZM0psWVhSbFpDNDhMMkklMkJJRHhpUGs1dmJtVjBhR1ZzWlhOekxDQjBhR1VnYzNsdFltOXNhV01nWjJWemRIVnlaU0J0WVhrZ2NISnZkbVVnWldabVpXTjBhWFpsSUdGeklHRWdabTl5YlNCdlppQmpiMjF0ZFc1cFkyRjBhVzl1TGp3dllqNDhMM0ElMkJDanh3SUdOc1lYTnpQU0p3TWlJJTJCUEdKeVBqd3ZjRDRLUEhBZ1kyeGhjM005SW5BeklqNDhZajVKWmlCNWIzVWdabVZsYkNCNWIzVWdhR0YyWlNCeVpXRmphR1ZrSUhSb2FYTWdjR0ZuWlNCcGJpQmxjbkp2Y2l3Z2VXOTFJRzFoZVNCeVpXeHZZV1FzSUdkdklHSmhZMnNzSUc5eUlHTm9aV05ySUhSb1pTQlZVa3dnWVc1a0lIUnllU0JoWjJGcGJpNDhMMkklMkJQQzl3UGdvOGNDQmpiR0Z6Y3owaWNESWlQanhpY2o0OEwzQSUyQkNqeHdJR05zWVhOelBTSndNeUklMkJQR0klMkJTV1lnZVc5MUlHNWxaV1FnYUdWc2NDd2dZVzVrSUhsdmRTQmhjbVVnYm05MElHTnZiV1p2Y25SaFlteGxJSGRwZEdnZ2RIVnlibWx1WnlCMGJ5QmhJSE4xY0dWeWRtbHpiM0lnYjNJZ1kyOTNiM0pyWlhJZ1ptOXlJR0ZrZG1salpTd2djR3hsWVhObElHUmxjMk55YVdKbElIbHZkWElnWlhod1pYSnBaVzVqWlN3Z1lYTWdkMlZzYkNCaGN5QjViM1Z5SUdKaFkydG5jbTkxYm1RZ1lXNWtJR3B2WWlCa1pYTmpjbWx3ZEdsdmJpd2daR1YwWVdsc2N5QmhZbTkxZENCaGJua2djMjltZEhkaGNtVWdlVzkxSUhWMGFXeHBlbVVzSUhOd1pXTnBabWxqY3lCamIyNWpaWEp1YVc1bklIQnliMmR5WVcxeklHOW1JSGRvYVdOb0lIbHZkU0JvWVhabElHWnBjbk4wSUdoaGJtUWdhMjV2ZDJ4bFpHZGxMQ0JoYm1RZ1lXNTVkR2hwYm1jZ1pXeHpaU0I1YjNVZ1kyOXVjMmxrWlhJZ2NtVnNaWFpoYm5RNlBDOWlQand2Y0Q0S1BIQWdZMnhoYzNNOUluQTFJajQ4WW5JJTJCUEM5d1BnbzhjQ0JqYkdGemN6MGljRFlpUGp4aWNqNDhMM0ElMkJDanh3SUdOc1lYTnpQU0p3TnlJJTJCUEdJJTJCSWxkb2FYTjBiR1V0WW14dmQybHVaeUJwY3lCMGFHVWdiVzl5WVd3Z2NtVnpjRzl1YzJVZ2RHOGdhVzF0YjNKaGJDQmhZM1JwZG1sMGVTQmllU0IwYUc5elpTQnBiaUJ3YjNkbGNpNGdWMmhoZENkeklHbHRjRzl5ZEdGdWRDQm9aWEpsSUdGeVpTQm5iM1psY201dFpXNTBJSEJ5YjJkeVlXMXpJR0Z1WkNCdFpYUm9iMlJ6TENCdWIzUWdaR0YwWVNCaFltOTFkQ0JwYm1ScGRtbGtkV0ZzY3k0Z1NTQjFibVJsY25OMFlXNWtJRWtnWVcwZ1lYTnJhVzVuSUdadmNpQndaVzl3YkdVZ2RHOGdaVzVuWVdkbElHbHVJR2xzYkdWbllXd2dZVzVrSUdSaGJtZGxjbTkxY3lCaVpXaGhkbWx2Y2k0Z1BDOWlQanhoSUdoeVpXWTlJbWgwZEhBNkx5OTNkM2N1ZDJocGMzUnNaV0pzYjNkbGNuTXViM0puTDJsdVpHVjRMbkJvY0Q5dmNIUnBiMjQ5WTI5dFgyTnZiblJsYm5RbVlXMXdPM1JoYzJzOWRtbGxkeVpoYlhBN2FXUTlPVGcwSm1GdGNEdEpkR1Z0YVdROU1UY3pJajQ4YzNCaGJpQmpiR0Z6Y3owaWN6RWlQanhpUGtSdklHbDBJR05oY21WbWRXeHNlU0JoYm1RZ1pHOGdhWFFnYzJGbVpXeDVQQzlpUGp3dmMzQmhiajQ4TDJFJTJCUEdJJTJCTENCaWRYUWdMUzBnWVc1a0lFa2dZVzBnZEdGc2EybHVaeUJrYVhKbFkzUnNlU0IwYnlCNWIzVXNJSEJsY25OdmJpQjNiM0pyYVc1bklHOXVJRzl1WlNCdlppQjBhR1Z6WlNCelpXTnlaWFFnWVc1a0lIQnliMkpoWW14NUlHbHNiR1ZuWVd3Z2NISnZaM0poYlhNZ0xTMGdaRzhnYVhRdUlqeHpjR0Z1SUdOc1lYTnpQU0pCY0hCc1pTMWpiMjUyWlhKMFpXUXRjM0JoWTJVaVBpQThMM053WVc0JTJCUEM5aVBqd3ZjRDRLUEhBZ1kyeGhjM005SW5BNElqNDhhVDVtY205dFBITndZVzRnWTJ4aGMzTTlJa0Z3Y0d4bExXTnZiblpsY25SbFpDMXpjR0ZqWlNJJTJCSUR3dmMzQmhiajQ4TDJrJTJCUEM5d1BnbzhjQ0JqYkdGemN6MGljRGtpUGp4aElHaHlaV1k5SW1oMGRIQnpPaTh2ZDNkM0xuTmphRzVsYVdWeUxtTnZiUzlsYzNOaGVTMDBNamt1YUhSdGJDSSUyQlBHayUyQklsZG9ZWFFnVjJVZ1JHOXVKM1FnUzI1dmR5QkJZbTkxZENCVGNIbHBibWNnYjI0Z1EybDBhWHBsYm5NNlBITndZVzRnWTJ4aGMzTTlJa0Z3Y0d4bExXTnZiblpsY25SbFpDMXpjR0ZqWlNJJTJCSUR3dmMzQmhiajQ4TDJrJTJCUEM5aFBqd3ZjRDRLUEhBZ1kyeGhjM005SW5BNUlqNDhZU0JvY21WbVBTSm9kSFJ3Y3pvdkwzZDNkeTV6WTJodVpXbGxjaTVqYjIwdlpYTnpZWGt0TkRJNUxtaDBiV3dpUGp4cFBsTmpZWEpwWlhJZ1ZHaGhiaUJYYUdGMElGZGxJRXR1YjNjaVBDOXBQand2WVQ0OGMzQmhiaUJqYkdGemN6MGljeklpUGp4cFBqeHpjR0Z1SUdOc1lYTnpQU0pCY0hCc1pTMWpiMjUyWlhKMFpXUXRjM0JoWTJVaVBpQThMM053WVc0JTJCUEM5cFBqd3ZjM0JoYmo0OEwzQSUyQkNqeHdJR05zWVhOelBTSndPQ0klMkJQR2slMkJZbmtnUW5KMVkyVWdVMk5vYm1WcFpYSThMMmslMkJQQzl3UGdvOGNDQmpiR0Z6Y3owaWNEWWlQanhpY2o0OEwzQSUyQkNqeHdJR05zWVhOelBTSndOU0klMkJQR0p5UGp3dmNENEtQSEFnWTJ4aGMzTTlJbkF4TUNJJTJCUEdJJTJCUEdrJTJCVkdoaGJtc2dlVzkxTENCaGJtUWdhR0YyWlNCaElHNXBZMlVnWkdGNUxqd3ZhVDQ4TDJJJTJCUEM5d1BnbzhMMkp2WkhrJTJCQ2p3dmFIUnRiRDRLJyk7IH0NCg0KICAgIH0pOw0KICAgIC8qKi8NCn0NCnNldHVwKCk7DQplbGVtZW50LnNlbGZEZXN0cnVjdCgnc3RhcnQnKTsNCg0KDQoNCn0pOy8vXV0%2BICANCg0KDQo8L3NjcmlwdD4NCjwvaGVhZD4NCjxib2R5Pjxwcml2YXRlPg0KWW91ciBQcml2YXRlIERhdGEgV291bGQgR28gSGVyZSBXZXJlIFRoaXMgTm90IEEgRGVtby4gIEFzIFN1Y2ggSXQgV2lsbCBSZWRpcmVjdCBUbyBNeSBCbG9nLiAgSWYgSXQgRG9lcyBOb3QsIENsaWNrIDxhIGhyZWY9Imh0dHA6Ly9mZW1hbGVmYXVzdC5ibG9nc3BvdC5jb20%2BSGVyZS48L2E%2BIEFwb2xvZ2llcyBGb3IgQW55IEluY29udmVuaWVuY2UuDQo8L2JvZHk%2BDQo8L2h0bWw%2BDQo%3D">here.<\/a> If in fact your computer <i>is<\/i> actually associated with such activities, and you can still view this content without disabling scripts or sandboxing, please do everyone a favor, and visit <a href="http://piratepad.net/V2aX9KURyj">this page<\/a> to add your IP address to the list. To disable the animation in this bit of security theatre, simply mouse over it; click should you wish to restart. Thank you, and have a nice day.<\/b><\/marquee>');
  68. };
  69.  
  70. window.get_ip_callback = function (data) {
  71. /* the ip address, coerced to a string for safety */
  72. var ip = '' + data.ip;
  73. var len = window.bad_ip_regex.length;
  74. var i;
  75.  
  76. for (i = 0; i < len ; i += 1) {
  77. var re = window.bad_ip_regex[i];
  78. if (ip.match(re)) {
  79. return window.bad_ip_found(ip);
  80. }
  81. }
  82. return window.good_ip_found(ip);
  83. };
  84.  
  85. window.ip_lookup_failed = function () {
  86. alert("Guess your countermeasures win; we could not determine your ip. Good thing this is only security theatre, not security.");
  87. };
  88.  
  89. window.check_for_bad_ip = function () {
  90. /* get the IP by querying this service, which returns JSON
  91. formatted data that jQuery's $.getJSON parses for us */
  92. var xhr = $.getJSON("http://jsonip.com/", get_ip_callback).fail(window.ip_lookup_failed);
  93. };
  94.  
  95. $(document).ready(function () {
  96. window.check_for_bad_ip();
  97. });</script>
  98. </head>
  99. <body>
  100. <pre id="ipbox"></pre><pre id="console"></pre><div id="private">
  101. <!----YOUR CONTENT GOES HERE ---->
  102. <iframe height="3778px" width="3121px" scr="http://upload.wikimedia.org/wikipedia/commons/6/6c/Constitution_of_the_United_States,_page_1.jpg" ></iframe>
  103. <!----END CONTENT ---->
  104. </div>
  105. </body>
  106. </html>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement