Skip to content

Instantly share code, notes, and snippets.

@wenketel
Created May 25, 2014 15:09
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save wenketel/b376409c93c476e22ccd to your computer and use it in GitHub Desktop.
Save wenketel/b376409c93c476e22ccd to your computer and use it in GitHub Desktop.
@namespace url(http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul);
@-moz-document url(chrome://browser/content/browser.xul) {
.urlbar-textbox-container {
-moz-binding: url("data:text/xml;charset=UTF-8;base64,PD94bWwgdmVyc2lvbj0iMS4wIj8+Cgo8YmluZGluZ3MgeG1sbnM9Imh0dHA6Ly93d3cubW96aWxsYS5vcmcveGJsIgogICAgICAgICAgeG1sbnM6eGJsPSJodHRwOi8vd3d3Lm1vemlsbGEub3JnL3hibCIKICAgICAgICAgIHhtbG5zOnh1bD0iaHR0cDovL3d3dy5tb3ppbGxhLm9yZy9rZXltYXN0ZXIvZ2F0ZWtlZXBlci90aGVyZS5pcy5vbmx5Lnh1bCI+CiAgICA8YmluZGluZyBpZD0icGFnZS1wcm94eS1wbHVnIj4KICAgICAgICA8Y29udGVudCBjb250ZXh0PSJfY2hpbGQiPgogICAgICAgICAgICA8eHVsOm1lbnVwb3B1cD4KICAgICAgICAgICAgICAgIDx4dWw6bWVudWl0ZW0gbGFiZWw9Iua4heepuuWcsOWdgOagjyIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgb25tb3VzZWRvd249ImV2ZW50LnByZXZlbnREZWZhdWx0KCk7ZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7IgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICBvbmNsaWNrPSJldmVudC5wcmV2ZW50RGVmYXVsdCgpO2V2ZW50LnN0b3BQcm9wYWdhdGlvbigpOyIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgb25jb21tYW5kPSJ0aGlzLnBhcmVudE5vZGUucGFyZW50Tm9kZS5kbygnY2xlYXJfdXJsJyk7IiAvPgogICAgICAgICAgICAgICAgPHh1bDptZW51aXRlbSBsYWJlbD0i6L+Y5Y6f5Zyw5Z2A5qCP5Zyw5Z2AIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICBvbm1vdXNlZG93bj0iZXZlbnQucHJldmVudERlZmF1bHQoKTtldmVudC5zdG9wUHJvcGFnYXRpb24oKTsiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9uY2xpY2s9ImV2ZW50LnByZXZlbnREZWZhdWx0KCk7ZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7IgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICBvbmNvbW1hbmQ9InRoaXMucGFyZW50Tm9kZS5wYXJlbnROb2RlLmRvKCdyZXZlcnRfdXJsJyk7IiAvPgogICAgICAgICAgICAgICAgPHh1bDptZW51c2VwYXJhdG9yIC8+CiAgICAgICAgICAgICAgICA8eHVsOm1lbnVpdGVtIGxhYmVsPSLlpI3liLblvZPliY3moIfnrb7lnLDlnYAiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9ubW91c2Vkb3duPSJldmVudC5wcmV2ZW50RGVmYXVsdCgpO2V2ZW50LnN0b3BQcm9wYWdhdGlvbigpOyIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgb25jbGljaz0iZXZlbnQucHJldmVudERlZmF1bHQoKTtldmVudC5zdG9wUHJvcGFnYXRpb24oKTsiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9uY29tbWFuZD0idGhpcy5wYXJlbnROb2RlLnBhcmVudE5vZGUuZG8oJ2NvcHlfdXJsJyk7IiAvPgogICAgICAgICAgICAgICAgPHh1bDptZW51aXRlbSBsYWJlbD0i5aSN5Yi25b2T5YmN5qCH562+5qCH6aKYK+WcsOWdgCIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgb25tb3VzZWRvd249ImV2ZW50LnByZXZlbnREZWZhdWx0KCk7ZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7IgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICBvbmNsaWNrPSJldmVudC5wcmV2ZW50RGVmYXVsdCgpO2V2ZW50LnN0b3BQcm9wYWdhdGlvbigpOyIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgb25jb21tYW5kPSJ0aGlzLnBhcmVudE5vZGUucGFyZW50Tm9kZS5kbygnY29weV90aXRsZSt1cmwnKTsiIC8+CiAgICAgICAgICAgICAgICA8eHVsOm1lbnVpdGVtIGxhYmVsPSLlpI3liLblvZPliY3moIfnrb7moIfpopgr5Zyw5Z2A77yI566A55+t77yJIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICBvbm1vdXNlZG93bj0iZXZlbnQucHJldmVudERlZmF1bHQoKTtldmVudC5zdG9wUHJvcGFnYXRpb24oKTsiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9uY2xpY2s9ImV2ZW50LnByZXZlbnREZWZhdWx0KCk7ZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7IgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICBvbmNvbW1hbmQ9InRoaXMucGFyZW50Tm9kZS5wYXJlbnROb2RlLmRvKCdjb3B5X3RpdGxlK3VybF9jbGVhbicpOyIgLz4KICAgICAgICAgICAgICAgIDx4dWw6bWVudXNlcGFyYXRvciAvPgogICAgICAgICAgICAgICAgPHh1bDptZW51aXRlbSBsYWJlbD0i57KY6LS05bm25Zyo5b2T5YmN5qCH562+5omT5byAIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICBvbm1vdXNlZG93bj0iZXZlbnQucHJldmVudERlZmF1bHQoKTtldmVudC5zdG9wUHJvcGFnYXRpb24oKTsiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9uY2xpY2s9ImV2ZW50LnByZXZlbnREZWZhdWx0KCk7ZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7IgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICBvbmNvbW1hbmQ9InRoaXMucGFyZW50Tm9kZS5wYXJlbnROb2RlLmRvKCdwYXN0ZWFuZGdvX3VybF9jdXJyZW50Jyk7IiAvPgogICAgICAgICAgICAgICAgPHh1bDptZW51aXRlbSBsYWJlbD0i57KY6LS05bm25Zyo5paw5qCH562+5omT5byA77yI5YmN5Y+w77yJIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICBvbm1vdXNlZG93bj0iZXZlbnQucHJldmVudERlZmF1bHQoKTtldmVudC5zdG9wUHJvcGFnYXRpb24oKTsiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9uY2xpY2s9ImV2ZW50LnByZXZlbnREZWZhdWx0KCk7ZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7IgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICBvbmNvbW1hbmQ9InRoaXMucGFyZW50Tm9kZS5wYXJlbnROb2RlLmRvKCdwYXN0ZWFuZGdvX3VybF90YWJfZm9yZWdyb3VuZCcpOyIgLz4KICAgICAgICAgICAgICAgIDx4dWw6bWVudWl0ZW0gbGFiZWw9IueymOi0tOW5tuWcqOaWsOagh+etvuaJk+W8gO+8iOWQjuWPsO+8iSIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgb25tb3VzZWRvd249ImV2ZW50LnByZXZlbnREZWZhdWx0KCk7ZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7IgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICBvbmNsaWNrPSJldmVudC5wcmV2ZW50RGVmYXVsdCgpO2V2ZW50LnN0b3BQcm9wYWdhdGlvbigpOyIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgb25jb21tYW5kPSJ0aGlzLnBhcmVudE5vZGUucGFyZW50Tm9kZS5kbygncGFzdGVhbmRnb191cmxfdGFiX2JhY2tncm91bmQnKTsiIC8+CiAgICAgICAgICAgICAgICA8eHVsOm1lbnVzZXBhcmF0b3IgLz4KICAgICAgICAgICAgICAgIDx4dWw6bWVudWl0ZW0gbGFiZWw9IuWQkeS4iuS4gOWxgiIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgb25tb3VzZWRvd249ImV2ZW50LnByZXZlbnREZWZhdWx0KCk7ZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7IgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICBvbmNsaWNrPSJldmVudC5wcmV2ZW50RGVmYXVsdCgpO2V2ZW50LnN0b3BQcm9wYWdhdGlvbigpOyIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgb25jb21tYW5kPSJ0aGlzLnBhcmVudE5vZGUucGFyZW50Tm9kZS5kbygnZ29fdXBwZXJfbGV2ZWwnKTsiIC8+CiAgICAgICAgICAgICAgICA8eHVsOm1lbnVpdGVtIGxhYmVsPSLlkJHkuIrliLDmoLnln5/lkI0iCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9ubW91c2Vkb3duPSJldmVudC5wcmV2ZW50RGVmYXVsdCgpO2V2ZW50LnN0b3BQcm9wYWdhdGlvbigpOyIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgb25jbGljaz0iZXZlbnQucHJldmVudERlZmF1bHQoKTtldmVudC5zdG9wUHJvcGFnYXRpb24oKTsiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9uY29tbWFuZD0idGhpcy5wYXJlbnROb2RlLnBhcmVudE5vZGUuZG8oJ2dvX3VwcGVyX3Jvb3QnKTsiIC8+CiAgICAgICAgICAgICAgICA8eHVsOm1lbnVzZXBhcmF0b3IgLz4KICAgICAgICAgICAgICAgIDx4dWw6bWVudWl0ZW0gbGFiZWw9IuWPr+ingeWMuuWfn+aIquWbviIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgb25tb3VzZWRvd249ImV2ZW50LnByZXZlbnREZWZhdWx0KCk7ZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7IgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICBvbmNsaWNrPSJldmVudC5wcmV2ZW50RGVmYXVsdCgpO2V2ZW50LnN0b3BQcm9wYWdhdGlvbigpOyIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgb25jb21tYW5kPSJ0aGlzLnBhcmVudE5vZGUucGFyZW50Tm9kZS5kbygnc2NyZWVuX3Nob3QnKTsiIC8+CiAgICAgICAgICAgICAgICA8eHVsOm1lbnVpdGVtIGxhYmVsPSLmlbTkuKrnvZHpobXmiKrlm74iCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9ubW91c2Vkb3duPSJldmVudC5wcmV2ZW50RGVmYXVsdCgpO2V2ZW50LnN0b3BQcm9wYWdhdGlvbigpOyIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgb25jbGljaz0iZXZlbnQucHJldmVudERlZmF1bHQoKTtldmVudC5zdG9wUHJvcGFnYXRpb24oKTsiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9uY29tbWFuZD0idGhpcy5wYXJlbnROb2RlLnBhcmVudE5vZGUuZG8oJ3NjcmVlbl9zaG90X3dlYicpOyIgLz4KICAgICAgICAgICAgICAgIDx4dWw6bWVudXNlcGFyYXRvciAvPgogICAgICAgICAgICAgICAgPHh1bDptZW51aXRlbSBsYWJlbD0i5aSN5Yi256uZ54K55Zu+5qCH5Zyw5Z2AIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICBvbm1vdXNlZG93bj0iZXZlbnQucHJldmVudERlZmF1bHQoKTtldmVudC5zdG9wUHJvcGFnYXRpb24oKTsiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9uY2xpY2s9ImV2ZW50LnByZXZlbnREZWZhdWx0KCk7ZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7IgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICBvbmNvbW1hbmQ9InRoaXMucGFyZW50Tm9kZS5wYXJlbnROb2RlLmRvKCdjb3B5X2Zhdmljb25fdXJsJyk7IiAvPgogICAgICAgICAgICAgICAgPHh1bDptZW51aXRlbSBsYWJlbD0i5aSN5Yi256uZ54K55Zu+5qCH77yIYmFzZTY0IOe8luegge+8iSIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgb25tb3VzZWRvd249ImV2ZW50LnByZXZlbnREZWZhdWx0KCk7ZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7IgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICBvbmNsaWNrPSJldmVudC5wcmV2ZW50RGVmYXVsdCgpO2V2ZW50LnN0b3BQcm9wYWdhdGlvbigpOyIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgb25jb21tYW5kPSJ0aGlzLnBhcmVudE5vZGUucGFyZW50Tm9kZS5kbygnY29weV9mYXZpY29uX2Jhc2U2NCcpOyIgLz4KICAgICAgICAgICAgICAgIDx4dWw6bWVudWl0ZW0gbGFiZWw9IuS/neWtmOermeeCueWbvuaghyIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgb25tb3VzZWRvd249ImV2ZW50LnByZXZlbnREZWZhdWx0KCk7ZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7IgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICBvbmNsaWNrPSJldmVudC5wcmV2ZW50RGVmYXVsdCgpO2V2ZW50LnN0b3BQcm9wYWdhdGlvbigpOyIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgb25jb21tYW5kPSJ0aGlzLnBhcmVudE5vZGUucGFyZW50Tm9kZS5kbygnc2F2ZV9mYXZpY29uJyk7IiAvPgogICAgICAgICAgICA8L3h1bDptZW51cG9wdXA+CiAgICAgICAgICAgIDxjaGlsZHJlbiAvPgogICAgICAgIDwvY29udGVudD4KICAgICAgICA8aW1wbGVtZW50YXRpb24+CiAgICAgICAgICAgIDxtZXRob2QgbmFtZT0iZG8iPgogICAgICAgICAgICAgICAgPHBhcmFtZXRlciBuYW1lPSJjb21tYW5kIiAvPgogICAgICAgICAgICAgICAgPGJvZHk+CiAgICAgICAgICAgICAgICAgICAgPCFbQ0RBVEFbCiAgICAgICAgICAgICAgICAgICAgICAgIHN3aXRjaCAoY29tbWFuZCkgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgY2FzZSAnY2xlYXJfdXJsJyA6CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKGdVUkxCYXIudmFsdWUgPSAiIikgfHwgZ1VSTEJhci5mb2N1cygpOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgY2FzZSAncmV2ZXJ0X3VybCcgOgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChnVVJMQmFyLnZhbHVlID0gZ0Jyb3dzZXIuY3VycmVudFVSSS5zcGVjKSB8fCBnVVJMQmFyLmZvY3VzKCk7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjYXNlICdjb3B5X3VybCcgOgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMud3JpdGVUb0NsaXBib2FyZChnQnJvd3Nlci5jdXJyZW50VVJJLnNwZWMpOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgY2FzZSAnY29weV90aXRsZSt1cmwnIDoKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGlzLndyaXRlVG9DbGlwYm9hcmQoY29udGVudC5kb2N1bWVudC50aXRsZSArICJcbiIgKyBnQnJvd3Nlci5jdXJyZW50VVJJLnNwZWMpOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgY2FzZSAnY29weV90aXRsZSt1cmxfY2xlYW4nIDoKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGlzLndyaXRlVG9DbGlwYm9hcmQoY29udGVudC5kb2N1bWVudC50aXRsZS5yZXBsYWNlKC9ccy1ccy4qL2ksIiIpLnJlcGxhY2UoL19bXlxbXF3jgJDjgJFdKyQvLCIiKSArICJcbiIgKyBnQnJvd3Nlci5jdXJyZW50VVJJLnNwZWMpOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgY2FzZSAncGFzdGVhbmRnb191cmxfY3VycmVudCcgOgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9wZW5VSUxpbmtJbihyZWFkRnJvbUNsaXBib2FyZCgpLCAiY3VycmVudCIsIHRydWUpOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgY2FzZSAncGFzdGVhbmRnb191cmxfdGFiX2ZvcmVncm91bmQnIDoKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBvcGVuVUlMaW5rSW4ocmVhZEZyb21DbGlwYm9hcmQoKSwgInRhYiIsIHRydWUpOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgY2FzZSAncGFzdGVhbmRnb191cmxfdGFiX2JhY2tncm91bmQnIDoKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBnQnJvd3Nlci5sb2FkT25lVGFiKHJlYWRGcm9tQ2xpcGJvYXJkKCksIG51bGwsIG51bGwsIG51bGwsIHRydWUpOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgY2FzZSAnZ29fdXBwZXJfbGV2ZWwnIDoKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGlzLmdvVXBwZXJMZXZlbCgpOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgY2FzZSAnZ29fdXBwZXJfcm9vdCcgOgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuZ29VcHBlclJvb3QoKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBicmVhazsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNhc2UgJ3NjcmVlbl9zaG90JyA6CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5TY3JlZW5TaG90KCk7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjYXNlICdzY3JlZW5fc2hvdF93ZWInIDoKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGlzLldlYlNjcmVlblNob3QoKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBicmVhazsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNhc2UgJ2NvcHlfZmF2aWNvbl91cmwnIDoKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGlzLndyaXRlVG9DbGlwYm9hcmQoZ0Jyb3dzZXIubUN1cnJlbnRUYWIuaW1hZ2UpOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgY2FzZSAnY29weV9mYXZpY29uX2Jhc2U2NCcgOgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMudG9CYXNlNjQoZ0Jyb3dzZXIubUN1cnJlbnRUYWIuaW1hZ2UpOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgY2FzZSAnc2F2ZV9mYXZpY29uJyA6CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2F2ZVVSTChnQnJvd3Nlci5tQ3VycmVudFRhYi5pbWFnZSwgbnVsbCwgbnVsbCwgZmFsc2UsIG51bGwsIG51bGwsIGRvY3VtZW50KTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBicmVhazsKICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgIF1dPgogICAgICAgICAgICAgICAgPC9ib2R5PgogICAgICAgICAgICA8L21ldGhvZD4KICAgICAgICAgICAgPG1ldGhvZCBuYW1lPSJnb1VwcGVyTGV2ZWwiPgogICAgICAgICAgICAgICAgPHBhcmFtZXRlciBuYW1lPSJzdHJpbmciIC8+CiAgICAgICAgICAgICAgICA8Ym9keT4KICAgICAgICAgICAgICAgICAgICA8IVtDREFUQVsKICAgICAgICAgICAgICAgICAgICAgICAgdmFyIHVyaSA9IGdCcm93c2VyLmN1cnJlbnRVUkk7CiAgICAgICAgICAgICAgICAgICAgICAgIGlmICh1cmkucGF0aCA9PSAiLyIpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuOwogICAgICAgICAgICAgICAgICAgICAgICB2YXIgcGF0aExpc3QgPSB1cmkucGF0aC5zcGxpdCgiLyIpOwogICAgICAgICAgICAgICAgICAgICAgICBpZiAoIXBhdGhMaXN0LnBvcCgpKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBhdGhMaXN0LnBvcCgpOwogICAgICAgICAgICAgICAgICAgICAgICBsb2FkVVJJKHVyaS5wcmVQYXRoICsgcGF0aExpc3Quam9pbigiLyIpICsgIi8iKTsKICAgICAgICAgICAgICAgICAgICBdXT4KICAgICAgICAgICAgICAgIDwvYm9keT4KICAgICAgICAgICAgPC9tZXRob2Q+CiAgICAgICAgICAgIDxtZXRob2QgbmFtZT0iZ29VcHBlclJvb3QiPgogICAgICAgICAgICAgICAgPHBhcmFtZXRlciBuYW1lPSJzdHJpbmciIC8+CiAgICAgICAgICAgICAgICA8Ym9keT4KICAgICAgICAgICAgICAgICAgICA8IVtDREFUQVsKICAgICAgICAgICAgICAgICAgICAgICAgdmFyIHVyaSA9IGdCcm93c2VyLmN1cnJlbnRVUkk7CiAgICAgICAgICAgICAgICAgICAgICAgIGxvYWRVUkkodXJpLnByZVBhdGggKyAiLyIpOwogICAgICAgICAgICAgICAgICAgIF1dPgogICAgICAgICAgICAgICAgPC9ib2R5PgogICAgICAgICAgICA8L21ldGhvZD4KICAgICAgICAgICAgPG1ldGhvZCBuYW1lPSJ3cml0ZVRvQ2xpcGJvYXJkIj4KICAgICAgICAgICAgICAgIDxwYXJhbWV0ZXIgbmFtZT0ic3RyaW5nIiAvPgogICAgICAgICAgICAgICAgPGJvZHk+CiAgICAgICAgICAgICAgICAgICAgPCFbQ0RBVEFbCiAgICAgICAgICAgICAgICAgICAgICAgIENvbXBvbmVudHMuY2xhc3Nlc1siQG1vemlsbGEub3JnL3dpZGdldC9jbGlwYm9hcmRoZWxwZXI7MSJdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAuZ2V0U2VydmljZShDb21wb25lbnRzLmludGVyZmFjZXMubnNJQ2xpcGJvYXJkSGVscGVyKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLmNvcHlTdHJpbmcoc3RyaW5nKTsKICAgICAgICAgICAgICAgICAgICBdXT4KICAgICAgICAgICAgICAgIDwvYm9keT4KICAgICAgICAgICAgPC9tZXRob2Q+CiAgICAgICAgICAgIDxtZXRob2QgbmFtZT0idG9CYXNlNjQiPgogICAgICAgICAgICAgICAgPHBhcmFtZXRlciBuYW1lPSJpY29uIiAvPgogICAgICAgICAgICAgICAgPGJvZHk+CiAgICAgICAgICAgICAgICAgICAgPCFbQ0RBVEFbCiAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IE5TVVJJID0gImh0dHA6Ly93d3cudzMub3JnLzE5OTkveGh0bWwiOwogICAgICAgICAgICAgICAgICAgICAgICB2YXIgaW1nID0gbmV3IEltYWdlKCk7CiAgICAgICAgICAgICAgICAgICAgICAgIHZhciB0aGF0ID0gdGhpczsKICAgICAgICAgICAgICAgICAgICAgICAgaW1nLm9ubG9hZCA9IGZ1bmN0aW9uICgpIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhciB3aWR0aCA9IHRoaXMubmF0dXJhbFdpZHRoLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhlaWdodCA9IHRoaXMubmF0dXJhbEhlaWdodDsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhciBjYW52YXMgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50TlMoTlNVUkksICJjYW52YXMiKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNhbnZhcy53aWR0aCA9IHdpZHRoOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgY2FudmFzLmhlaWdodCA9IGhlaWdodDsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhciBjdHggPSBjYW52YXMuZ2V0Q29udGV4dCgiMmQiKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGN0eC5kcmF3SW1hZ2UodGhpcywgMCwgMCk7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGF0LndyaXRlVG9DbGlwYm9hcmQoY2FudmFzLnRvRGF0YVVSTCgiaW1hZ2UvcG5nIikpOwogICAgICAgICAgICAgICAgICAgICAgICB9OwogICAgICAgICAgICAgICAgICAgICAgICBpbWcub25lcnJvciA9IGZ1bmN0aW9uICgpIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIENvbXBvbmVudHMudXRpbHMucmVwb3J0RXJyb3IoIkNvdW50IG5vdCBsb2FkOiAiICsgaWNvbik7CiAgICAgICAgICAgICAgICAgICAgICAgIH07CiAgICAgICAgICAgICAgICAgICAgICAgIGltZy5zcmMgPSBpY29uOwogICAgICAgICAgICAgICAgICAgIF1dPgogICAgICAgICAgICAgICAgPC9ib2R5PgogICAgICAgICAgICA8L21ldGhvZD4KICAgICAgICAgICAgPG1ldGhvZCBuYW1lPSJTY3JlZW5TaG90Ij4KICAgICAgICAgICAgICAgIDxwYXJhbWV0ZXIgbmFtZT0ic3RyaW5nIiAvPgogICAgICAgICAgICAgICAgPGJvZHk+CiAgICAgICAgICAgICAgICAgICAgPCFbQ0RBVEFbCiAgICAgICAgICAgICAgICAgICAgICAgIHZhciBjYW52YXMgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50TlMoImh0dHA6Ly93d3cudzMub3JnLzE5OTkveGh0bWwiLCAiY2FudmFzIik7CiAgICAgICAgICAgICAgICAgICAgICAgIGNhbnZhcy53aWR0aCA9IGNvbnRlbnQuaW5uZXJXaWR0aDsKICAgICAgICAgICAgICAgICAgICAgICAgY2FudmFzLmhlaWdodCA9IGNvbnRlbnQuaW5uZXJIZWlnaHQ7CiAgICAgICAgICAgICAgICAgICAgICAgIHZhciBjdHggPSBjYW52YXMuZ2V0Q29udGV4dCgiMmQiKTsKICAgICAgICAgICAgICAgICAgICAgICAgY3R4LmRyYXdXaW5kb3coY29udGVudCwgY29udGVudC5wYWdlWE9mZnNldCwgY29udGVudC5wYWdlWU9mZnNldCwgY2FudmFzLndpZHRoLCBjYW52YXMuaGVpZ2h0LCAicmdiKDI1NSwyNTUsMjU1KSIpOwogICAgICAgICAgICAgICAgICAgICAgICBzYXZlSW1hZ2VVUkwoY2FudmFzLnRvRGF0YVVSTCgpLCBjb250ZW50LmRvY3VtZW50LnRpdGxlICsgIi5wbmciLG51bGwsZmFsc2UsbnVsbCxudWxsLGRvY3VtZW50KTsKICAgICAgICAgICAgICAgICAgICBdXT4KICAgICAgICAgICAgICAgIDwvYm9keT4KICAgICAgICAgICAgPC9tZXRob2Q+CiAgICAgICAgICAgIDxtZXRob2QgbmFtZT0iV2ViU2NyZWVuU2hvdCI+CiAgICAgICAgICAgICAgICA8cGFyYW1ldGVyIG5hbWU9InN0cmluZyIgLz4KICAgICAgICAgICAgICAgIDxib2R5PgogICAgICAgICAgICAgICAgICAgIDwhW0NEQVRBWwogICAgICAgICAgICAgICAgICAgICAgICB2YXIgY2FudmFzID1kb2N1bWVudC5jcmVhdGVFbGVtZW50TlMoJ2h0dHA6Ly93d3cudzMub3JnLzE5OTkveGh0bWwnLCAnaHRtbDpjYW52YXMnKTsKICAgICAgICAgICAgICAgICAgICAgICAgY2FudmFzLndpZHRoID0gY29udGVudC5kb2N1bWVudC5ib2R5LmNsaWVudFdpZHRoOwogICAgICAgICAgICAgICAgICAgICAgICBjYW52YXMuaGVpZ2h0ID0gY29udGVudC5kb2N1bWVudC5ib2R5LmNsaWVudEhlaWdodDsKICAgICAgICAgICAgICAgICAgICAgICAgdmFyIGN0eCA9IGNhbnZhcy5nZXRDb250ZXh0KCIyZCIpOwogICAgICAgICAgICAgICAgICAgICAgICBjdHguZHJhd1dpbmRvdyhjb250ZW50LCAwLCAwLCBjYW52YXMud2lkdGgsIGNhbnZhcy5oZWlnaHQsICJyZ2IoMjU1LDI1NSwyNTUpIik7CiAgICAgICAgICAgICAgICAgICAgICAgIHNhdmVJbWFnZVVSTChjYW52YXMudG9EYXRhVVJMKCksIGNvbnRlbnQuZG9jdW1lbnQudGl0bGUgKyAiLnBuZyIsbnVsbCxmYWxzZSxudWxsLG51bGwsZG9jdW1lbnQpOwogICAgICAgICAgICAgICAgICAgIF1dPgogICAgICAgICAgICAgICAgPC9ib2R5PgogICAgICAgICAgICA8L21ldGhvZD4KICAgICAgICA8L2ltcGxlbWVudGF0aW9uPgogICAgPC9iaW5kaW5nPgo8L2JpbmRpbmdzPgo=");
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment