Q29udGVudC1sYW5ndWFnZTogY3MKQ29udGVudC10eXBlOiB0ZXh0L2h0bWw7IGNoYXJzZXQ9SVNPLTg4NTktMgpCb2R5Oi0tLS0tLS0tLS1jcy0tCjwhLS0jc2V0IHZhcj0iQ09OVEVOVF9MQU5HVUFHRSIgdmFsdWU9ImNzIgotLT48IS0tI3NldCB2YXI9IkNIQVJBQ1RFUl9FTkNPRElORyIgdmFsdWU9IklTTy04ODU5LTIiCi0tPjwhLS0jc2V0IHZhcj0iVElUTEUiIHZhbHVlPSJQ+O1zdHVwIG9kbe10bnV0ISIKLS0+PCEtLSNpbmNsdWRlIHZpcnR1YWw9ImluY2x1ZGUvdG9wLmh0bWwiIC0tPgoKICA8IS0tI2lmIGV4cHI9IiRSRURJUkVDVF9VUkwgPSAvXC8kLyIgLS0+CgogICAgTmVt4XRlIHBy4XZvIHBybyBw+O1zdHVwIGRvIHBvvmFkb3ZhbulobyBhZHJlc+H4ZS4gQnXvIG5lZXhpc3R1amUgvuFkbv0KICAgIGRva3VtZW50IHMmbmJzcDtvYnNhaGVtICh0enYuIGluZGV4KSwgbmVibyBqZSBhZHJlc+H4IGNocuFu7G4gcHJvdGkg6HRlbu0uCgogIDwhLS0jZWxzZSAtLT4KCiAgICBOZW3hdGUgcHLhdm8gcHJvIHD47XN0dXAgayZuYnNwO3BvvmFkb3ZhbultdSBvYmpla3R1LgogICAgQnXvIGplIGNocuFu7G4gcHJvdGkg6HRlbu0sIG5lYm8gbmVu7SBzZXJ2ZXJlbSDoaXRlbG79LgoKICA8IS0tI2VuZGlmIC0tPgoKPCEtLSNpbmNsdWRlIHZpcnR1YWw9ImluY2x1ZGUvYm90dG9tLmh0bWwiIC0tPgotLS0tLS0tLS0tY3MtLQoKQ29udGVudC1sYW5ndWFnZTogZGUKQ29udGVudC10eXBlOiB0ZXh0L2h0bWw7IGNoYXJzZXQ9SVNPLTg4NTktMQpCb2R5Oi0tLS0tLS0tLS1kZS0tCjwhLS0jc2V0IHZhcj0iQ09OVEVOVF9MQU5HVUFHRSIgdmFsdWU9ImRlIgotLT48IS0tI3NldCB2YXI9IlRJVExFIiB2YWx1ZT0iWnVncmlmZiB2ZXJ3ZWlnZXJ0ISIKLS0+PCEtLSNpbmNsdWRlIHZpcnR1YWw9ImluY2x1ZGUvdG9wLmh0bWwiIC0tPgoKICA8IS0tI2lmIGV4cHI9IiRSRURJUkVDVF9VUkwgPSAvXC8kLyIgLS0+CgogICAgRGVyIFp1Z3JpZmYgYXVmIGRhcyBhbmdlZm9yZGVydGUgVmVyemVpY2huaXMgaXN0IG5pY2h0IG0mb3VtbDtnbGljaC4KICAgIEVudHdlZGVyIGlzdCBrZWluIEluZGV4LURva3VtZW50IHZvcmhhbmRlbiBvZGVyIGRhcyBWZXJ6ZWljaG5pcwogICAgaXN0IHp1Z3JpZmZzZ2VzY2gmdXVtbDt0enQuCgogIDwhLS0jZWxzZSAtLT4KCiAgICBEZXIgWnVncmlmZiBhdWYgZGFzIGFuZ2Vmb3JkZXJ0ZSBPYmpla3QgaXN0IG5pY2h0IG0mb3VtbDtnbGljaC4KICAgIEVudHdlZGVyIGthbm4gZXMgdm9tIFNlcnZlciBuaWNodCBnZWxlc2VuIHdlcmRlbiBvZGVyIGVzCiAgICBpc3QgenVncmlmZnNnZXNjaCZ1dW1sO3R6dC4KCiAgPCEtLSNlbmRpZiAtLT4KCjwhLS0jaW5jbHVkZSB2aXJ0dWFsPSJpbmNsdWRlL2JvdHRvbS5odG1sIiAtLT4KLS0tLS0tLS0tLWRlLS0KCkNvbnRlbnQtbGFuZ3VhZ2U6IGVuCkNvbnRlbnQtdHlwZTogdGV4dC9odG1sOyBjaGFyc2V0PUlTTy04ODU5LTEKQm9keTotLS0tLS0tLS0tZW4tLQo8IS0tI3NldCB2YXI9IlRJVExFIiB2YWx1ZT0iQWNjZXNzIGZvcmJpZGRlbiEiCi0tPjwhLS0jaW5jbHVkZSB2aXJ0dWFsPSJpbmNsdWRlL3RvcC5odG1sIiAtLT4KCiAgPCEtLSNpZiBleHByPSIkUkVESVJFQ1RfVVJMID0gL1wvJC8iIC0tPgoKICAgIFlvdSBkb24ndCBoYXZlIHBlcm1pc3Npb24gdG8gYWNjZXNzIHRoZSByZXF1ZXN0ZWQgZGlyZWN0b3J5LgogICAgVGhlcmUgaXMgZWl0aGVyIG5vIGluZGV4IGRvY3VtZW50IG9yIHRoZSBkaXJlY3RvcnkgaXMgcmVhZC1wcm90ZWN0ZWQuCgogIDwhLS0jZWxzZSAtLT4KCiAgICBZb3UgZG9uJ3QgaGF2ZSBwZXJtaXNzaW9uIHRvIGFjY2VzcyB0aGUgcmVxdWVzdGVkIG9iamVjdC4KICAgIEl0IGlzIGVpdGhlciByZWFkLXByb3RlY3RlZCBvciBub3QgcmVhZGFibGUgYnkgdGhlIHNlcnZlci4KCiAgPCEtLSNlbmRpZiAtLT4KCjwhLS0jaW5jbHVkZSB2aXJ0dWFsPSJpbmNsdWRlL2JvdHRvbS5odG1sIiAtLT4KLS0tLS0tLS0tLWVuLS0KCkNvbnRlbnQtbGFuZ3VhZ2U6IGVzCkNvbnRlbnQtdHlwZTogdGV4dC9odG1sOyBjaGFyc2V0PUlTTy04ODU5LTEKQm9keTotLS0tLS0tLS0tZXMtLQo8IS0tI3NldCB2YXI9IkNPTlRFTlRfTEFOR1VBR0UiIHZhbHVlPSJlcyIKLS0+PCEtLSNzZXQgdmFyPSJUSVRMRSIgdmFsdWU9IiZpZXhjbDtBY2Nlc28gcHJvaGliaWRvISIKLS0+PCEtLSNpbmNsdWRlIHZpcnR1YWw9ImluY2x1ZGUvdG9wLmh0bWwiIC0tPgoKICA8IS0tI2lmIGV4cHI9IiRSRURJUkVDVF9VUkwgPSAvXC8kLyIgLS0+CgogICAgVXN0ZWQgbm8gdGllbmUgcGVybWlzbyBwYXJhIGFjY2VzYXIgYSBsYSBkaXJlY2NpJm9hY3V0ZTtuCiAgICBzb2xpY2l0YWRhLiBFeGlzdGUgbGEgcG9zaWJpbGlkYWQgZGUgcXVlIGVsIGRpcmVjdG9yaW8KICAgIGVzdGUgcHJvdGVnaWRvIGNvbnRyYSBsZWN0dXJhIG8gcXVlIG5vIGV4aXN0YSBsYQogICAgZG9jdW1lbnRhY2kmb2FjdXRlO24gcmVxdWVyaWRhLgoKICA8IS0tI2Vsc2UgLS0+CgogICAgVXN0ZWQgbm8gdGllbmUgcGVybWlzbyBkZSBhY2Nlc2FyIGFsIG9iamV0byBzb2xpY2l0YWRvLgogICAgRXhpc3RlIGxhIHBvc2liaWxpZGFkIGRlIHF1ZSBlc3RlIHByb3RlZ2lkbyBjb250cmEKICAgIGxlY3R1cmEgbyBxdWUgbm8gaGF5YSBwb2RpZG8gc2VyIGxlaWRvIHBvciBlbCBzZXJ2aWRvci4KCiAgPCEtLSNlbmRpZiAtLT4KCjwhLS0jaW5jbHVkZSB2aXJ0dWFsPSJpbmNsdWRlL2JvdHRvbS5odG1sIiAtLT4KLS0tLS0tLS0tLWVzLS0KCkNvbnRlbnQtbGFuZ3VhZ2U6IGZyCkNvbnRlbnQtdHlwZTogdGV4dC9odG1sOyBjaGFyc2V0PUlTTy04ODU5LTEKQm9keTotLS0tLS0tLS0tZnItLQo8IS0tI3NldCB2YXI9IkNPTlRFTlRfTEFOR1VBR0UiIHZhbHVlPSJmciIKLS0+PCEtLSNzZXQgdmFyPSJUSVRMRSIgdmFsdWU9IkFjYyZlZ3JhdmU7cyBpbnRlcmRpdCEiCi0tPjwhLS0jaW5jbHVkZSB2aXJ0dWFsPSJpbmNsdWRlL3RvcC5odG1sIiAtLT4KCiAgPCEtLSNpZiBleHByPSIkUkVESVJFQ1RfVVJMID0gL1wvJC8iIC0tPgoKICAgIFZvdXMgbidhdmV6IHBhcyBsZSBkcm9pdCBkJ2FjYyZlYWN1dGU7ZGVyIGF1IHImZWFjdXRlO3BlcnRvaXJlCiAgICBkZW1hbmQmZWFjdXRlOy4gU29pdCBpbCBuJ3kgYSBwYXMgZGUgZG9jdW1lbnQgaW5kZXggc29pdCBsZSByJmVhY3V0ZTtwZXJ0b2lyZQogICAgZXN0IHByb3QmZWFjdXRlO2cmZWFjdXRlOy4KCiAgPCEtLSNlbHNlIC0tPgoKICAgIFZvdXMgbidhdmV6IHBhcyBsZSBkcm9pdCBkJ2FjYyZlYWN1dGU7ZGVyICZhZ3JhdmU7IGwnb2JqZXQKICAgIGRlbWFuZCZlYWN1dGU7LiBTb2l0IGNlbHVpLWNpIGVzdCBwcm90JmVhY3V0ZTtnJmVhY3V0ZTssIHNvaXQgaWwgbmUgcGV1dAogICAgJmVjaXJjO3RyZSBsdSBwYXIgbGUgc2VydmV1ci4KCiAgPCEtLSNlbmRpZiAtLT4KCjwhLS0jaW5jbHVkZSB2aXJ0dWFsPSJpbmNsdWRlL2JvdHRvbS5odG1sIiAtLT4KLS0tLS0tLS0tLWZyLS0KCkNvbnRlbnQtbGFuZ3VhZ2U6IGl0CkNvbnRlbnQtdHlwZTogdGV4dC9odG1sOyBjaGFyc2V0PUlTTy04ODU5LTEKQm9keTotLS0tLS0tLS0taXQtLQo8IS0tI3NldCB2YXI9IkNPTlRFTlRfTEFOR1VBR0UiIHZhbHVlPSJpdCIKLS0+PCEtLSNzZXQgdmFyPSJUSVRMRSIgdmFsdWU9IkFjY2Vzc28gbmVnYXRvISIKLS0+PCEtLSNpbmNsdWRlIHZpcnR1YWw9ImluY2x1ZGUvdG9wLmh0bWwiIC0tPgoKICA8IS0tI2lmIGV4cHI9IiRSRURJUkVDVF9VUkwgPSAvXC8kLyIgLS0+CgogICBOb24gZGlzcG9uaSBkZWkgcGVybWVzc2kgbmVjZXNzYXJpIHBlciBhY2NlZGVyZSBhbGxhCiAgIGRpcmVjdG9yeSByaWNoaWVzdGEgb3BwdXJlIG5vbiBlc2lzdGUgaWwgZG9jdW1lbnRvIGluZGljZS4KCiAgPCEtLSNlbHNlIC0tPgoKICAgTm9uIGRpc3BvbmkgZGVpIHBlcm1lc3NpIG5lY2Vzc2FyaSBwZXIgYWNjZWRlcmUgYWxsJ29nZ2V0dG8KICAgcmljaGllc3RvLCBvcHB1cmUgbCdvZ2dldHRvIG5vbiBwdSZvZ3JhdmU7IGVzc2VyZSBsZXR0byBkYWwgc2VydmVyLgoKICA8IS0tI2VuZGlmIC0tPgoKPCEtLSNpbmNsdWRlIHZpcnR1YWw9ImluY2x1ZGUvYm90dG9tLmh0bWwiIC0tPgotLS0tLS0tLS0taXQtLQoKQ29udGVudC1sYW5ndWFnZToga28KQ29udGVudC10eXBlOiB0ZXh0L2h0bWw7IGNoYXJzZXQ9RVVDLUtSCkJvZHk6LS0tLS0tLS0tLWtvLS0KPCEtLSNzZXQgdmFyPSJDT05URU5UX0xBTkdVQUdFIiB2YWx1ZT0ia28iCi0tPjwhLS0jc2V0IHZhcj0iVElUTEUiIHZhbHVlPSLBorHZwMwgsMW6zrXKISIKLS0+PCEtLSNzZXQgdmFyPSJDSEFSQUNURVJfRU5DT0RJTkciIHZhbHVlPSJFVUMtS1IiCi0tPjwhLS0jaW5jbHVkZSB2aXJ0dWFsPSJpbmNsdWRlL3RvcC5odG1sIiAtLT4KCiAgPCEtLSNpZiBleHByPSIkUkVESVJFQ1RfVVJMID0gL1wvJC8iIC0tPgoKICAgv+TDu8fRILXwt7rF5Liuv6EgwaKx2cfSILz2IMDWtMIgscfH0cDMIL74vcC0z7TZLgogICC18Le6xeS4rr+hIMO5IMbkwMzB9rChIL74sMWzqiC+xrTPuOkgwNCx4iC6uMijsKEgtce+7iDA1r3AtM+02S4KCiAgPCEtLSNlbHNlIC0tPgoKICAgv+TDu8fRILC0w7y/oSDBorHZx9IgvPYgwNa0wiCxx8fRwMwgvvi9wLTPtNkuCiAgIMDQseIgurjIo7ChILXHvu4gwNawxbOqIMClvK259rChIMDQwLsgvPYgvvi1tbfPILXHvu4gwNa9wLTPtNkuCgogIDwhLS0jZW5kaWYgLS0+Cgo8IS0tI2luY2x1ZGUgdmlydHVhbD0iaW5jbHVkZS9ib3R0b20uaHRtbCIgLS0+Ci0tLS0tLS0tLS1rby0tCgpDb250ZW50LWxhbmd1YWdlOiBubApDb250ZW50LXR5cGU6IHRleHQvaHRtbDsgY2hhcnNldD1JU08tODg1OS0xCkJvZHk6LS0tLS0tLS0tLW5sLS0KPCEtLSNzZXQgdmFyPSJDT05URU5UX0xBTkdVQUdFIiB2YWx1ZT0ibmwiCi0tPjwhLS0jc2V0IHZhcj0iVElUTEUiIHZhbHVlPSJUb2VnYW5nIHZlcmJvZGVuISIKLS0+PCEtLSNpbmNsdWRlIHZpcnR1YWw9ImluY2x1ZGUvdG9wLmh0bWwiIC0tPgoKICA8IS0tI2lmIGV4cHI9IiRSRURJUkVDVF9VUkwgPSAvXC8kLyIgLS0+CgogICBVIGhlYnQgbmlldCBkZSB0b2VzdGVtbWluZyBvbSB0b2VnYW5nIHRlIGtyaWpnZW4gdG90IGRlIGdldnJhYWdkZSBtYXAuCiAgIEVyIGlzIG9mIHdlbCBnZWVuIGluZGV4IGRvY3VtZW50IG9mIGRlIG1hcCBpcyBiZXZlaWxpZ2QgdGVnZW4gbGV6ZW4uCgogIDwhLS0jZWxzZSAtLT4KCiAgIFUgaGVidCBuaWV0IGRlIHRvZXN0ZW1taW5nIG9tIHRvZWdhbmcgdGUga3JpamdlbiB0b3QgZGUgZ2V2cmFhZ2RlIG1hcC4KICAgRGllIGlzIG9md2VsIGJldmVpbGlnZCB0ZWdlbiBsZXplbiBvZiBvbmxlZXNiYWFyIGRvb3IgZGUgc2VydmVyLgoKICA8IS0tI2VuZGlmIC0tPgoKPCEtLSNpbmNsdWRlIHZpcnR1YWw9ImluY2x1ZGUvYm90dG9tLmh0bWwiIC0tPgotLS0tLS0tLS0tbmwtLQoKQ29udGVudC1sYW5ndWFnZTogcGwKQ29udGVudC10eXBlOiB0ZXh0L2h0bWw7IGNoYXJzZXQ9SVNPLTg4NTktMgpCb2R5Oi0tLS0tLS0tLS1wbC0tCjwhLS0jc2V0IHZhcj0iQ09OVEVOVF9MQU5HVUFHRSIgdmFsdWU9InBsIgotLT48IS0tI3NldCB2YXI9IlRJVExFIiB2YWx1ZT0iWmFicm9uaW9ueSBkb3N06nAhIgotLT48IS0tI3NldCB2YXI9IkNIQVJBQ1RFUl9FTkNPRElORyIgdmFsdWU9IklTTy04ODU5LTIiCi0tPjwhLS0jaW5jbHVkZSB2aXJ0dWFsPSJpbmNsdWRlL3RvcC5odG1sIiAtLT4KCiAgPCEtLSNpZiBleHByPSIkUkVESVJFQ1RfVVJMID0gL1wvJC8iIC0tPgoKICAgIE5pZSBtYXN6IHByYXdhIGRvc3TqcHUgZG8gv7FkYW5lZ28ga2F0YWxvZ3UuIFcga2F0YWxvZ3UgbmllCiAgICBtYSBpbmRla3N1IGx1YiBrYXRhbG9nIGplc3QgemFiZXpwaWVjem9ueSBwcnplZCBvZGN6eXRlbS4KCiAgPCEtLSNlbHNlIC0tPgoKICAgIE5pZSBtYXN6IGRvc3TqcHUgZG8gv7FkYW5lZ28gb2JpZWt0dS4gSmVzdCBvbiB6YWJlenBpZWN6b255CiAgICBwcnplZCBvZGN6eXRlbSBsdWIgbmllIG1vv2UgYnnmIG9kY3p5dGFueSBwcnpleiBzZXJ3ZXIuCgogIDwhLS0jZW5kaWYgLS0+Cgo8IS0tI2luY2x1ZGUgdmlydHVhbD0iaW5jbHVkZS9ib3R0b20uaHRtbCIgLS0+Ci0tLS0tLS0tLS1wbC0tCgpDb250ZW50LWxhbmd1YWdlOiBwdC1icgpDb250ZW50LXR5cGU6IHRleHQvaHRtbDsgY2hhcnNldD1JU08tODg1OS0xCkJvZHk6LS0tLS0tLXB0LWJyLS0KPCEtLSNzZXQgdmFyPSJDT05URU5UX0xBTkdVQUdFIiB2YWx1ZT0icHQtYnIiCi0tPjwhLS0jc2V0IHZhcj0iVElUTEUiIHZhbHVlPSJBY2Vzc28gUHJvaWJpZG8hIgotLT48IS0tI2luY2x1ZGUgdmlydHVhbD0iaW5jbHVkZS90b3AuaHRtbCIgLS0+CgogIDwhLS0jaWYgZXhwcj0iJFJFRElSRUNUX1VSTCA9IC9cLyQvIiAtLT4KCiAgIFZvYyZlY2lyYzsgbiZhdGlsZGU7byB0ZW0gcGVybWlzcyZhdGlsZGU7byBwYXJhIGFjZXNzYXIgbyAKICAgZGlyZXQmb2FjdXRlO3JpbyByZXF1aXNpdGFkby4KICAgUG9kZSBuJmF0aWxkZTtvIGV4aXN0aXIgbyBhcnF1aXZvIGRlICZpYWN1dGU7bmRpY2Ugb3UgCiAgIG8gZGlyZXQmb2FjdXRlO3JpbyBwb2RlIGVzdGFyIHByb3RlZ2lkbyBjb250cmEgbGVpdHVyYS4KCiAgPCEtLSNlbHNlIC0tPgoKICAgVm9jJmVjaXJjOyBuJmF0aWxkZTtvIHRlbSBwcmVtaXNzJmF0aWxkZTtvIHBhcmEgYWNlc3NhciBvIAogICBvYmpldG8gcmVxdWlzaXRhZG8uIEVsZSBwb2RlIGVzdGFyIHByb3RlZ2lkbyBjb250cmEgbGVpdHVyYSBvdSAKICAgbiZhdGlsZGU7byBzZXIgbGVnJmlhY3V0ZTt2ZWwgcGVsbyBzZXJ2aWRvci4KCiAgPCEtLSNlbmRpZiAtLT4KCjwhLS0jaW5jbHVkZSB2aXJ0dWFsPSJpbmNsdWRlL2JvdHRvbS5odG1sIiAtLT4KLS0tLS0tLXB0LWJyLS0KCkNvbnRlbnQtbGFuZ3VhZ2U6IHJvCkNvbnRlbnQtdHlwZTogdGV4dC9odG1sOyBjaGFyc2V0PUlTTy04ODU5LTEKQm9keTotLS0tLS0tLS0tcm8tLQo8IS0tI3NldCB2YXI9IkNPTlRFTlRfTEFOR1VBR0UiIHZhbHVlPSJybyIKLS0+PCEtLSNzZXQgdmFyPSJUSVRMRSIgdmFsdWU9IkFjY2VzdWwgaW50ZXJ6aXMhIgotLT48IS0tI2luY2x1ZGUgdmlydHVhbD0iaW5jbHVkZS90b3AuaHRtbCIgLS0+CgogIDwhLS0jaWYgZXhwcj0iJFJFRElSRUNUX1VSTCA9IC9cLyQvIiAtLT4KCiAgICBOdSBhdmV0aSBwZXJtaXNpdW5lYSBzYSBhY2Nlc2F0aSBkaXJlY3RvcnVsIGNlcnV0LgogICAgTnUgZXN0ZSBuaWNpIHVuIGRvY3VtZW50IGluZGV4IHNhdSBkaXJlY3RvcnVsIGVzdGUgcHJvdGVqYXQgbGEgY2l0aXJlLgoKICA8IS0tI2Vsc2UgLS0+CgogICAgTnUgYXZldGkgcGVybWlzaXVuZWEgc2EgYWNjZXNhdGkgb2JpZWN0dWwgY2VydXQuCiAgICBFc3RlIHByb3RlamF0IGxhIGNpdGlyZSBzYXUgbnUgcG9hdGUgZmkgY2l0aXQgZGUgc2VydmVyLgoKICA8IS0tI2VuZGlmIC0tPgoKPCEtLSNpbmNsdWRlIHZpcnR1YWw9ImluY2x1ZGUvYm90dG9tLmh0bWwiIC0tPgotLS0tLS0tLS0tcm8tLQoKQ29udGVudC1sYW5ndWFnZTogc3YKQ29udGVudC10eXBlOiB0ZXh0L2h0bWw7IGNoYXJzZXQ9SVNPLTg4NTktMQpCb2R5Oi0tLS0tLS0tLS1zdi0tCjwhLS0jc2V0IHZhcj0iQ09OVEVOVF9MQU5HVUFHRSIgdmFsdWU9InN2IgotLT48IS0tI3NldCB2YXI9IlRJVExFIiB2YWx1ZT0iJkFyaW5nO3Rrb21zdCBmJm91bWw7cmJqdWRlbiEiCi0tPjwhLS0jaW5jbHVkZSB2aXJ0dWFsPSJpbmNsdWRlL3RvcC5odG1sIiAtLT4KCiAgPCEtLSNpZiBleHByPSIkUkVESVJFQ1RfVVJMID0gL1wvJC8iIC0tPgoKICAgIER1IGhhciBpbnRlIHRpbGxyJmF1bWw7Y2tsaWdhIHImYXVtbDt0dGlnaGV0ZXIgZiZvdW1sO3IgYXR0IGYmYXJpbmc7CiAgICB0aWxsZyZhcmluZztuZyB0aWxsIGRlbiAmb3VtbDtuc2thZGUga2F0YWxvZ2VuLiBEZXQgZXhpc3RlcmFyIGluZ2V0CiAgICBpbmRleGRva3VtZW50IGVsbGVyIHMmYXJpbmc7ICZhdW1sO3Iga2F0YWxvZ2VuIGwmYXVtbDtzc2t5ZGRhZC4KCiAgPCEtLSNlbHNlIC0tPgoKICAgIER1IGhhciBpbnRlIHRpbGxyJmF1bWw7Y2tsaWdhIHImYXVtbDt0dGlnaGV0ZXIgZiZvdW1sO3IgYXR0IGYmYXJpbmc7CiAgICB0aWxsZyZhcmluZztuZyB0aWxsIGRldCAmb3VtbDtuc2thZGUgb2JqZWt0ZXQuIE9iamVrdGV0ICZhdW1sO3IKICAgIGwmYXVtbDtzc2t5ZGRhdCBlbGxlciBpbnRlIGwmYXVtbDtzYmFydCBmJm91bWw7ciBzZXJ2ZXJuLgoKICA8IS0tI2VuZGlmIC0tPgoKPCEtLSNpbmNsdWRlIHZpcnR1YWw9ImluY2x1ZGUvYm90dG9tLmh0bWwiIC0tPgotLS0tLS0tLS0tc3YtLQoKQ29udGVudC1sYW5ndWFnZTogdHIKQ29udGVudC10eXBlOiB0ZXh0L2h0bWw7IGNoYXJzZXQ9SVNPLTg4NTktOQpCb2R5Oi0tLS0tLS0tLS10ci0tCjwhLS0jc2V0IHZhcj0iQ09OVEVOVF9MQU5HVUFHRSIgdmFsdWU9InRyIgotLT48IS0tI3NldCB2YXI9IkNIQVJBQ1RFUl9FTkNPRElORyIgdmFsdWU9IklTTy04ODU5LTkiCi0tPjwhLS0jc2V0IHZhcj0iVElUTEUiIHZhbHVlPSJBY2Nlc3MgZm9yYmlkZGVuISIKLS0+PCEtLSNpbmNsdWRlIHZpcnR1YWw9ImluY2x1ZGUvdG9wLmh0bWwiIC0tPgoKICA8IS0tI2lmIGV4cHI9IiRSRURJUkVDVF9VUkwgPSAvXC8kLyIgLS0+CgogICAgVGFsZXAgZXR0aSYjMjg3O2luaXogZGl6aW5lIGVyaSYjMzUxO2ltIGl6bmluaXogeW9rLgogICAgWWEgYmVsaXJ0ZecgZG9r/G1hbiB5b2ssIHlhIGRhIGRpemluIG9rdW1heWEga2FyJiMzNTE7JiMzMDU7IGtvcnVtYWwmIzMwNTsuCgogIDwhLS0jZWxzZSAtLT4KCiAgICBUYWxlcCBldHRpJiMyODc7aW5peiBkaXppbmUgZXJpJiMzNTE7aW0gaXpuaW5peiB5b2suCiAgICBEaXppbiwgeWEgb2t1bWF5YSBrYXImIzM1MTsmIzMwNTsga29ydW1hbCYjMzA1OywgeWEgZGEgc3VudWN1IHRhcmFmP25kYW4KICAgIG9rdW5hbSYjMzA1O3lvci4KCiAgPCEtLSNlbmRpZiAtLT4KCjwhLS0jaW5jbHVkZSB2aXJ0dWFsPSJpbmNsdWRlL2JvdHRvbS5odG1sIiAtLT4KLS0tLS0tLS0tLXRyLS0K