IyEvdXNyL2Jpbi9wZXJsIC13CiMKIyBtYW4udCAtLSBBZGRpdGlvbmFsIHNwZWNpYWxpemVkIHRlc3RzIGZvciBQb2Q6Ok1hbi4KIwojIENvcHlyaWdodCAyMDAyLCAyMDAzLCAyMDA0LCAyMDA2LCAyMDA3LCAyMDA4LCAyMDA5LCAyMDEwCiMgICAgIFJ1c3MgQWxsYmVyeSA8cnJhQHN0YW5mb3JkLmVkdT4KIwojIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgbWF5IHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5IGl0CiMgdW5kZXIgdGhlIHNhbWUgdGVybXMgYXMgUGVybCBpdHNlbGYuCgpCRUdJTiB7CiAgICBjaGRpciAndCcgaWYgLWQgJ3QnOwogICAgaWYgKCRFTlZ7UEVSTF9DT1JFfSkgewogICAgICAgIEBJTkMgPSAnLi4vbGliJzsKICAgIH0KICAgIHVuc2hpZnQgKEBJTkMsICcuLi9ibGliL2xpYicpOwogICAgJHwgPSAxOwp9Cgp1c2Ugc3RyaWN0OwoKdXNlIFRlc3Q6Ok1vcmUgdGVzdHMgPT4gMzE7CkJFR0lOIHsgdXNlX29rICgnUG9kOjpNYW4nKSB9CgojIFRlc3Qgd2hldGhlciB3ZSBjYW4gdXNlIGJpbm1vZGUgdG8gc2V0IGVuY29kaW5nLgpteSAkaGF2ZV9lbmNvZGluZyA9IChldmFsIHsgcmVxdWlyZSBQZXJsSU86OmVuY29kaW5nOyAxIH0gYW5kIG5vdCAkQCk7CgpteSAkcGFyc2VyID0gUG9kOjpNYW4tPm5ldzsKaXNhX29rICgkcGFyc2VyLCAnUG9kOjpNYW4nLCAnUGFyc2VyIG9iamVjdCcpOwpteSAkbiA9IDE7CndoaWxlICg8REFUQT4pIHsKICAgIG5leHQgdW50aWwgJF8gZXEgIiMjI1xuIjsKICAgIG9wZW4gKFRNUCwgJz4gdG1wLnBvZCcpIG9yIGRpZSAiQ2Fubm90IGNyZWF0ZSB0bXAucG9kOiAkIVxuIjsKCiAgICAjIFdlIGhhdmUgYSB0ZXN0IGluIElTTyA4ODU5LTEgZW5jb2RpbmcuICBNYWtlIHN1cmUgdGhhdCBub3RoaW5nIHN0cmFuZ2UKICAgICMgaGFwcGVucyBpZiBQZXJsIHRoaW5rcyB0aGUgd29ybGQgaXMgVW5pY29kZS4gIFdyYXAgdGhpcyBpbiBldmFsIHNvIHRoYXQKICAgICMgb2xkZXIgdmVyc2lvbnMgb2YgUGVybCBkb24ndCBjcm9hay4KICAgIGV2YWwgeyBiaW5tb2RlIChcKlRNUCwgJzplbmNvZGluZyhpc28tODg1OS0xKScpIGlmICRoYXZlX2VuY29kaW5nIH07CgogICAgd2hpbGUgKDxEQVRBPikgewogICAgICAgIGxhc3QgaWYgJF8gZXEgIiMjI1xuIjsKICAgICAgICBwcmludCBUTVAgJF87CiAgICB9CiAgICBjbG9zZSBUTVA7CiAgICBvcGVuIChPVVQsICc+IG91dC50bXAnKSBvciBkaWUgIkNhbm5vdCBjcmVhdGUgb3V0LnRtcDogJCFcbiI7CiAgICAkcGFyc2VyLT5wYXJzZV9mcm9tX2ZpbGUgKCd0bXAucG9kJywgXCpPVVQpOwogICAgY2xvc2UgT1VUOwogICAgb3BlbiAoT1VULCAnb3V0LnRtcCcpIG9yIGRpZSAiQ2Fubm90IG9wZW4gb3V0LnRtcDogJCFcbiI7CiAgICB3aGlsZSAoPE9VVD4pIHsgbGFzdCBpZiAvXlwubmgvIH0KICAgIG15ICRvdXRwdXQ7CiAgICB7CiAgICAgICAgbG9jYWwgJC87CiAgICAgICAgJG91dHB1dCA9IDxPVVQ+OwogICAgfQogICAgY2xvc2UgT1VUOwogICAgMSB3aGlsZSB1bmxpbmsgKCd0bXAucG9kJywgJ291dC50bXAnKTsKICAgIG15ICRleHBlY3RlZCA9ICcnOwogICAgd2hpbGUgKDxEQVRBPikgewogICAgICAgIGxhc3QgaWYgJF8gZXEgIiMjI1xuIjsKICAgICAgICAkZXhwZWN0ZWQgLj0gJF87CiAgICB9CiAgICBpcyAoJG91dHB1dCwgJGV4cGVjdGVkLCAiT3V0cHV0IGNvcnJlY3QgZm9yIHRlc3QgJG4iKTsKICAgICRuKys7Cn0KCiMgQmVsb3cgdGhlIG1hcmtlciBhcmUgYml0cyBvZiBQT0QgYW5kIGNvcnJlc3BvbmRpbmcgZXhwZWN0ZWQgbnJvZmYgb3V0cHV0LgojIFRoaXMgaXMgdXNlZCB0byB0ZXN0IHNwZWNpZmljIGZlYXR1cmVzIG9yIHByb2JsZW1zIHdpdGggUG9kOjpNYW4uICBUaGUgaW5wdXQKIyBhbmQgb3V0cHV0IGFyZSBzZXBhcmF0ZWQgYnkgbGluZXMgY29udGFpbmluZyBvbmx5ICMjIy4KCl9fREFUQV9fCgojIyMKPWhlYWQxIE5BTUUKCmdjYyAtIEdOVSBwcm9qZWN0IEM8Qz4gYW5kIEMrKyBjb21waWxlcgoKPWhlYWQxIEMrKyBOT1RFUwoKT3RoZXIgbWVudGlvbnMgb2YgQysrLgojIyMKLlNIICJOQU1FIgpnY2MgXC0gR05VIHByb2plY3QgIkMiIGFuZCBDKysgY29tcGlsZXIKLlNIICJcKihDKyBOT1RFUyIKLklYIEhlYWRlciAiIE5PVEVTIgpPdGhlciBtZW50aW9ucyBvZiBcKihDKy4KIyMjCgojIyMKPWhlYWQxIFBFUklPRFMKClRoaXMgQzwuPiBzaG91bGQgYmUgcXVvdGVkLgojIyMKLlNIICJQRVJJT0RTIgouSVggSGVhZGVyICJQRVJJT0RTIgpUaGlzIFxmKENXXCooQ2AuXCooQydcZlIgc2hvdWxkIGJlIHF1b3RlZC4KIyMjCgojIyMKPW92ZXIgNAoKPWl0ZW0gKgoKQSBidWxsZXQuCgo9aXRlbSAgICAqCgpBbm90aGVyIGJ1bGxldC4KCj1pdGVtICogQWxzbyBhIGJ1bGxldC4KCj1iYWNrCiMjIwouSVAgIlwoYnUiIDQKQSBidWxsZXQuCi5JUCAiXChidSIgNApBbm90aGVyIGJ1bGxldC4KLklQICJcKGJ1IiA0CkFsc28gYSBidWxsZXQuCiMjIwoKIyMjCj1vdmVyIDQKCj1pdGVtIGZvbwoKTm90IGEgYnVsbGV0LgoKPWl0ZW0gKgoKQWxzbyBub3QgYSBidWxsZXQuCgo9YmFjawojIyMKLklQICJmb28iIDQKLklYIEl0ZW0gImZvbyIKTm90IGEgYnVsbGV0LgouSVAgIioiIDQKQWxzbyBub3QgYSBidWxsZXQuCiMjIwoKIyMjCj1lbmNvZGluZyBpc28tODg1OS0xCgo9aGVhZDEgQUNDRU5UUwoKQmV5b25j6SEgIEJleW9uY+khICBCZXlvbmPpISEKCiAgICBCZXlvbmPpISAgQmV5b25j6SEKICAgICAgQmV5b25j6SEgIEJleW9uY+khCiAgICAgICAgQmV5b25j6SEgIEJleW9uY+khCgpPbGRlciB2ZXJzaW9ucyBkaWRuJ3QgY29udmVydCBCZXlvbmPpIGluIHZlcmJhdGltLgojIyMKLlNIICJBQ0NFTlRTIgouSVggSGVhZGVyICJBQ0NFTlRTIgpCZXlvbmNlXConISAgQmV5b25jZVwqJyEgIEJleW9uY2VcKichIQouUFAKLlZiIDMKXCYgICAgQmV5b25jZVwqJyEgIEJleW9uY2VcKichClwmICAgICAgQmV5b25jZVwqJyEgIEJleW9uY2VcKichClwmICAgICAgICBCZXlvbmNlXConISAgQmV5b25jZVwqJyEKLlZlCi5QUApPbGRlciB2ZXJzaW9ucyBkaWRuJ3QgY29udmVydCBCZXlvbmNlXConIGluIHZlcmJhdGltLgojIyMKCiMjIwo9b3ZlciA0Cgo9aXRlbSAxLiBOb3QgYSBudW1iZXIKCj1pdGVtIDIuIFNwYWNlZCByaWdodAoKPWJhY2sKCj1vdmVyIDIKCj1pdGVtIDEgTm90IGEgbnVtYmVyCgo9aXRlbSAyIFNwYWNlZCByaWdodAoKPWJhY2sKIyMjCi5JUCAiMS4gTm90IGEgbnVtYmVyIiA0Ci5JWCBJdGVtICIxLiBOb3QgYSBudW1iZXIiCi5QRCAwCi5JUCAiMi4gU3BhY2VkIHJpZ2h0IiA0Ci5JWCBJdGVtICIyLiBTcGFjZWQgcmlnaHQiCi5JUCAiMSBOb3QgYSBudW1iZXIiIDIKLklYIEl0ZW0gIjEgTm90IGEgbnVtYmVyIgouSVAgIjIgU3BhY2VkIHJpZ2h0IiAyCi5JWCBJdGVtICIyIFNwYWNlZCByaWdodCIKIyMjCgojIyMKPW92ZXIgNAoKPWl0ZW0gWjw+KgoKTm90IGJ1bGxldC4KCj1iYWNrCiMjIwouSVAgIioiIDQKTm90IGJ1bGxldC4KIyMjCgojIyMKPWhlYWQxIFNFUVMKCiI9b3ZlciAuLi4gWjw+PWJhY2siCgoiU0U8bHQ+Li4uRTxndD4iCgpUaGUgcXVvdGVzIHNob3VsZCBiZSBjb252ZXJ0ZWQgaW4gdGhlIGFib3ZlIHRvIHBhaXJlZCBxdW90ZXMuCiMjIwouU0ggIlNFUVMiCi5JWCBIZWFkZXIgIlNFUVMiClwmXCooTCI9b3ZlciAuLi4gPWJhY2tcKihSIgouUFAKXCZcKihMIlM8Li4uPlwqKFIiCi5QUApUaGUgcXVvdGVzIHNob3VsZCBiZSBjb252ZXJ0ZWQgaW4gdGhlIGFib3ZlIHRvIHBhaXJlZCBxdW90ZXMuCiMjIwoKIyMjCj1oZWFkMSBZRU4KCkl0IGNvc3QgbWUgRTwxNjU+MTIzNDUhIFRoYXQgc2hvdWxkIGJlIGFuIFguCiMjIwouU0ggIllFTiIKLklYIEhlYWRlciAiWUVOIgpJdCBjb3N0IG1lIFgxMjM0NSEgVGhhdCBzaG91bGQgYmUgYW4gWC4KIyMjCgojIyMKPWhlYWQxIGFncmF2ZQoKT3BlbiBFPGFncmF2ZT4gbGEgc2hlbGwuIFByZXZpb3VzIHZlcnNpb25zIG1hcHBlZCBpdCB3cm9uZy4KIyMjCi5TSCAiYWdyYXZlIgouSVggSGVhZGVyICJhZ3JhdmUiCk9wZW4gYVwqYCBsYSBzaGVsbC4gUHJldmlvdXMgdmVyc2lvbnMgbWFwcGVkIGl0IHdyb25nLgojIyMKCiMjIwo9b3ZlcgoKPWl0ZW0gRmlyc3QgbGV2ZWwKCkJsYWggYmxhaCBibGFoLi4uLgoKPW92ZXIKCj1pdGVtICoKClNob3VsZCBiZSBhIGJ1bGxldC4KCj1iYWNrCgo9YmFjawojIyMKLklQICJGaXJzdCBsZXZlbCIgNAouSVggSXRlbSAiRmlyc3QgbGV2ZWwiCkJsYWggYmxhaCBibGFoLi4uLgouUlMgNAouSVAgIlwoYnUiIDQKU2hvdWxkIGJlIGEgYnVsbGV0LgouUkUKLlJTIDQKLlJFCiMjIwoKIyMjCj1vdmVyIDQKCj1pdGVtIDEuIENoZWNrIGZvbnRzIGluIEBDQVJQX05PVCB0ZXN0LgoKPWJhY2sKIyMjCi5pZSBuIC5JUCAiMS4gQ2hlY2sgZm9udHMgaW4gQENBUlBfTk9UIHRlc3QuIiA0Ci5lbCAuSVAgIjEuIENoZWNrIGZvbnRzIGluIFxmKENXQENBUlBfTk9UXGZSIHRlc3QuIiA0Ci5JWCBJdGVtICIxLiBDaGVjayBmb250cyBpbiBAQ0FSUF9OT1QgdGVzdC4iCiMjIwoKIyMjCj1oZWFkMSBMSU5LIFFVT1RJTkcKClRoZXJlIHNob3VsZCBub3QgYmUgZG91YmxlIHF1b3RlczogTDxDPDwgKD8+cGF0dGVybikgPj4+LgojIyMKLlNIICJMSU5LIFFVT1RJTkciCi5JWCBIZWFkZXIgIkxJTksgUVVPVElORyIKVGhlcmUgc2hvdWxkIG5vdCBiZSBkb3VibGUgcXVvdGVzOiBcZihDV1wqKENgKD8+cGF0dGVybilcKihDJ1xmUi4KIyMjCgojIyMKPWhlYWQxIFNFPGx0PkU8Z3Q+IE1BR0lDCgpNYWdpYyBzaG91bGQgYmUgYXBwbGllZCBTPFJJU0MgT1M+IHRvIHRoYXQuCiMjIwouU0ggIlM8PiBNQUdJQyIKLklYIEhlYWRlciAiUzw+IE1BR0lDIgpNYWdpYyBzaG91bGQgYmUgYXBwbGllZCBccy0xUklTQ1xzMFwgXHMtMU9TXHMwIHRvIHRoYXQuCiMjIwoKIyMjCj1oZWFkMSBNQUdJQyBNT05FWQoKVGhlc2Ugc2hvdWxkIGJlIGlkZW50aWNhbC4KCkJpcHBpdHkgYm9wcGl0eSBib28gIlRoZQpwcmljZSBpcyAkWjw+MTAwLiIKCkJpcHBpdHkgYm9wcGl0eSBib28gIlRoZQpwcmljZSBpcyAkMTAwLiIKIyMjCi5TSCAiTUFHSUMgTU9ORVkiCi5JWCBIZWFkZXIgIk1BR0lDIE1PTkVZIgpUaGVzZSBzaG91bGQgYmUgaWRlbnRpY2FsLgouUFAKQmlwcGl0eSBib3BwaXR5IGJvbyBcKihMIlRoZQpwcmljZSBpcyBcZihDVyQxMDBcZlIuXCooUiIKLlBQCkJpcHBpdHkgYm9wcGl0eSBib28gXCooTCJUaGUKcHJpY2UgaXMgXGYoQ1ckMTAwXGZSLlwqKFIiCiMjIwoKIyMjCj1oZWFkMSBOQU1FCgoiU3R1ZmYiIChubyBndWVzc3dvcmspCgo9aGVhZDIgVEhJTkdTCgpPYm95LCBpcyB0aGlzIEMrKyAiZnVuIiB5ZXQhIChndWVzc3dvcmspCiMjIwouU0ggIk5BTUUiCiJTdHVmZiIgKG5vIGd1ZXNzd29yaykKLlNTICJccy0xVEhJTkdTXHMwIgouSVggU3Vic2VjdGlvbiAiVEhJTkdTIgpPYm95LCBpcyB0aGlzIFwqKEMrIFwqKEwiZnVuXCooUiIgeWV0ISAoZ3Vlc3N3b3JrKQojIyMKCiMjIwo9aGVhZDEgTmV3bGluZSBDIFF1b3RlIFdlaXJkbmVzcwoKQmxvcnAgQzwnCicnPi4gWWVzLgojIyMKLlNIICJOZXdsaW5lIEMgUXVvdGUgV2VpcmRuZXNzIgouSVggSGVhZGVyICJOZXdsaW5lIEMgUXVvdGUgV2VpcmRuZXNzIgpCbG9ycCBcZihDV1wqKEFxClwmXCooQXFcKihBcVxmUi4gWWVzLgojIyMKCiMjIwo9aGVhZDEgU29mdCBIeXBlbiBUZXN0aW5nCgpzaWdFPHNoeT5hY3Rpb24KbWFudUU8c2h5PnNjcmlwdApKYXJrRTxzaHk+a28gSGllRTxzaHk+dGFFPHNoeT5uaWVFPHNoeT5taQoKQW5kIGFnYWluOgoKc2lnRTwxNzM+YWN0aW9uCm1hbnVFPDE3Mz5zY3JpcHQKSmFya0U8MTczPmtvIEhpZUU8MTczPnRhRTwxNzM+bmllRTwxNzM+bWkKCkFuZCBvbmUgbW9yZSB0aW1lOgoKc2lnRTwweDAwQUQ+YWN0aW9uCm1hbnVFPDB4MDBBRD5zY3JpcHQKSmFya0U8MHgwMEFEPmtvIEhpZUU8MHgwMEFEPnRhRTwweDAwQUQ+bmllRTwweDAwQUQ+bWkKIyMjCi5TSCAiU29mdCBIeXBlbiBUZXN0aW5nIgouSVggSGVhZGVyICJTb2Z0IEh5cGVuIFRlc3RpbmciCnNpZ1wlYWN0aW9uCm1hbnVcJXNjcmlwdApKYXJrXCVrbyBIaWVcJXRhXCVuaWVcJW1pCi5QUApBbmQgYWdhaW46Ci5QUApzaWdcJWFjdGlvbgptYW51XCVzY3JpcHQKSmFya1wla28gSGllXCV0YVwlbmllXCVtaQouUFAKQW5kIG9uZSBtb3JlIHRpbWU6Ci5QUApzaWdcJWFjdGlvbgptYW51XCVzY3JpcHQKSmFya1wla28gSGllXCV0YVwlbmllXCVtaQojIyMKCiMjIwo9aGVhZDEgWEU8bHQ+RTxndD4gV2hpdGVzcGFjZQoKQmxvcnB5IEw8Qjxwcm9rPnxibGFwPiBYPGJpdmF2PiB3dWdnYSBjaGFjaGFjaGEuCiMjIwouU0ggIlg8PiBXaGl0ZXNwYWNlIgouSVggSGVhZGVyICJYPD4gV2hpdGVzcGFjZSIKQmxvcnB5IFxmQnByb2tcZlIgIHd1Z2dhIGNoYWNoYWNoYS4KLklYIFhyZWYgImJpdmF2IgojIyMKCiMjIwo9aGVhZDEgSHlwaGVuIGluIFNFPGx0PkU8Z3Q+CgpEb24ndCBTPHRyYW5zZm9ybSBldmVuLXRoaXMgaHlwaGVuPi4gIFRoaXMgIm9uZSdzLWZpbmUhIiwgYXMgd2VsbC4gIEhvd2V2ZXIsCiQtMC4xMyBzaG91bGQgaGF2ZSBhIHJlYWwgaHlwaGVuLgojIyMKLlNIICJIeXBoZW4gaW4gUzw+IgouSVggSGVhZGVyICJIeXBoZW4gaW4gUzw+IgpEb24ndCB0cmFuc2Zvcm1cIGV2ZW4tdGhpc1wgaHlwaGVuLiAgVGhpcyBcKihMIm9uZSdzLWZpbmUhXCooUiIsIGFzIHdlbGwuICBIb3dldmVyLAokXC0wLjEzIHNob3VsZCBoYXZlIGEgcmVhbCBoeXBoZW4uCiMjIwoKIyMjCj1oZWFkMSBRdW90ZSBlc2NhcGluZwoKRG9uJ3QgZXNjYXBlIGB0aGlzJyBidXQgZG8gZXNjYXBlIEM8YHRoaXMnPiAoYW5kIGRvbid0IHN1cnJvdW5kIGl0IGluIHF1b3RlcykuCiMjIwouU0ggIlF1b3RlIGVzY2FwaW5nIgouSVggSGVhZGVyICJRdW90ZSBlc2NhcGluZyIKRG9uJ3QgZXNjYXBlIGB0aGlzJyBidXQgZG8gZXNjYXBlIFxmKENXXGB0aGlzXCooQXFcZlIgKGFuZCBkb24ndCBzdXJyb3VuZCBpdCBpbiBxdW90ZXMpLgojIyMKCiMjIwo9cG9kCgpFPGV0aD4KIyMjCi5QUApcJlwqKGQtCiMjIwoKIyMjCj1oZWFkMSBDPG9uZT4gYW5kIEM8dHdvPgojIyMKLmllIG4gLlNIICIiIm9uZSIiIGFuZCAiInR3byIiIgouZWwgLlNIICJcZihDV29uZVxmUCBhbmQgXGYoQ1d0d29cZlAiCi5JWCBIZWFkZXIgIm9uZSBhbmQgdHdvIgojIyMKCiMjIwo9cG9kCgpTb21lIHRleHQuCgo9Zm9yIG1hbgpTb21lIHJhdyBucm9mZi4KCj1mb3Igcm9mZiBcZkJCb2xkIHRleHQuXGZQCgo9Zm9yIGh0bWwKU3R1ZmYgdGhhdCdzIGhpZGRlbi4KCj1mb3IgTUFOIFxmSUl0YWxpYyB0ZXh0LlxmUAoKPWZvciBST0ZGCi5QUApcJkEgcGFyYWdyYXBoLgoKTW9yZSB0ZXh0LgojIyMKU29tZSB0ZXh0LgpTb21lIHJhdyBucm9mZi4KXGZCQm9sZCB0ZXh0LlxmUApcZklJdGFsaWMgdGV4dC5cZlAKLlBQClwmQSBwYXJhZ3JhcGguCi5QUApNb3JlIHRleHQuCiMjIwoKIyMjCj1oZWFkMSBOQU1FCgp0ZXN0IC0gQzx0ZXN0PgojIyMKLlNIICJOQU1FIgp0ZXN0IFwtICJ0ZXN0IgojIyMKCiMjIwo9aGVhZDEgSU5ERVgKCkluZGV4IGVudHJ5IG1hdGNoaW5nIGEgd2hpdGVzcGFjZSBlc2NhcGUuWDxcbj4KIyMjCi5TSCAiSU5ERVgiCi5JWCBIZWFkZXIgIklOREVYIgpJbmRleCBlbnRyeSBtYXRjaGluZyBhIHdoaXRlc3BhY2UgZXNjYXBlLgouSVggWHJlZiAiXFxuIgojIyMKCiMjIwo9aGVhZDEgTElOSyBUTyBVUkwKClRoaXMgaXMgYSBMPGxpbmt8aHR0cDovL3d3dy5leGFtcGxlLmNvbS8+IHRvIGEgVVJMLgojIyMKLlNIICJMSU5LIFRPIFVSTCIKLklYIEhlYWRlciAiTElOSyBUTyBVUkwiClRoaXMgaXMgYSBsaW5rIDxodHRwOi8vd3d3LmV4YW1wbGUuY29tLz4gdG8gYSBccy0xVVJMXHMwLgojIyMKCiMjIwo9aGVhZDEgTkFNRQoKdGVzdCAtIEI8dGVzdD4gSTxpdGFsaWNzPiBGPGZpbGU+CiMjIwouU0ggIk5BTUUiCnRlc3QgXC0gdGVzdCBpdGFsaWNzIGZpbGUKIyMjCgojIyMKPWhlYWQxIFRSQUlMSU5HIFNQQUNFCgpIZWxsb1M8ID4KCndvcmxkUzwgICA+CgouCiMjIwouU0ggIlRSQUlMSU5HIFNQQUNFIgouSVggSGVhZGVyICJUUkFJTElORyBTUEFDRSIKSGVsbG9cIAouUFAKd29ybGRcIFwgXCAKLlBQClwmLgojIyMK