IyEvYmluL2Jhc2gKCkNIRUNLRVJIT01FPSQocHdkKQpjYXNlICQodW5hbWUgLXMpIGluCiAgRGFyd2luKikgIENIRUNLRVJMSUI9JChkaXJuYW1lICQocmVhZGxpbmsgJDApKTs7CiAgKikgICAgICAgIENIRUNLRVJMSUI9JChkaXJuYW1lICQocmVhZGxpbmsgLWUgJDApKTs7CmVzYWMKIyBhdWYgTWFjIG11c3MgbWFuIGdnZi4gJENIRUNLRVJMSUIgbWFudWVsbCB6dSBkZW0gT3JkbmVyIHNldHplbiwgaW4gZGVtIGRpZQojIExpc3RlbiBkZXIgenUgdGVzdGVuZGVuIEZ1bmt0aW9uZW4gbGllZ2VuLCB3ZW5uIG1hbiBub2NoIGlyZ2VuZHdpZSBtaXQKIyBzeW1saW5rcyBydW1mdW1tZWx0LCB3ZWlsIE1hYyBkYXMgbmljaHQgc3RhbmRhcmRrb21wbGlhbnQga2Fubi4gOy0pCkNPREVGSUxFUz0iJHtDSEVDS0VSSE9NRX0vQ09ERUZJTEVTIgpIRUFERVJGSUxFUz0iJHtDSEVDS0VSSE9NRX0vSEVBREVSRklMRVMiCiNleHBvcnQgTFBDRklMRVM9IiR7SEVBREVSRklMRVN9ICR7Q09ERUZJTEVTfSIKTFBDRklMRVM9IiR7Q0hFQ0tFUkhPTUV9L0xQQ0ZJTEVTIgojIHdlbm4gJE1VRExJQiBiZXJlaXRzIGFscyBVbWdlYnVuZ3N2YXJpYWJsZSBleGlzdGllcnQsIG11c3MgbWFuIGRhcyBuaWNodAojIHVlYmVyc2NocmVpYmVuCltbLXogJE1VRExJQl1dICYmIE1VRExJQj0iLi4vbXVkbGliIgpMT0dTPSIke0NIRUNLRVJIT01FfS9sb2dzIgoKTEVWRUwxPSJjaGFuZ2VfcmVxdWlyZWQiCkxFVkVMMj0iZm9ybWF0dGluZyIKTEVWRUw1PSJwbGVhc2VfY2hlY2siCkxFVkVMMTA9ImNvc21ldGljcyIKCkNIRUNLVE1QPSQobWt0ZW1wIC0tc3VmZml4PWxwY2NoZWNrKSB8fCBleGl0CkNIRUNLVE1QMj0kKG1rdGVtcCAtLXN1ZmZpeD1scGNjaGVjaykgfHwgZXhpdAoKZWNobyAtbmUgIkxQQy1Tb3VyY2UgQ2hlY2tlciBWMC4zICgyMDA4LTAxLTA5KVxuXG4iCgp1c2FnZSgpIHsKICAgIGVjaG8gLW5lICJ1c2FnZTogLi9jaGVjayA8cmVnaW9uPiA8bG9nZmlsZT5cbiIKICAgIGV4aXQKfQoKIyBQYXJhbWV0ZXIgcHJ1ZWZlbiwgYW5zb25zdGVuIHVzYWdlIGF1c2dlYmVuCmlmIFsgLXogJHsxfSBdIHx8IFsgLXogJHsyfSBdCnRoZW4KICAgIHVzYWdlCmZpCgojIGd1Y2tlbiBvYiBkYXMgTG9ndmVyemVpY2huaXMgZGEgaXN0LCB3ZW5uIG5laW4sIGRhbm4gYW5sZWdlbgppZiBbICEgLWQgJHtMT0dTfSBdCnRoZW4KICAgIG1rZGlyIC1wICR7TE9HU30KZmkKCiMgcnVkaW1lbnRhZXJlciBjaGVjayBvYiBkaWUgTXVkbGliIGRhIGxpZWd0LCB3byAke01VRExJQn0gaGluemVpZ3QKaWYgWyAhIC1kICR7TVVETElCfSBdCnRoZW4KICAgIGVjaG8gLW5lICJObyBtdWRsaWIgZm91bmQgaW4gJHtNVURMSUJ9XG4iCiAgICBleGl0CmZpCgojIGFsdGVuIEtyYW0gZW50c29yZ2VuCmlmIFsgLWYgJHtDT0RFRklMRVN9IF0KdGhlbgogICAgcm0gJHtDT0RFRklMRVN9CmZpCgppZiBbIC1mICR7SEVBREVSRklMRVN9IF0KdGhlbgogICAgcm0gJHtIRUFERVJGSUxFU30KZmkKCmlmIFsgLWYgJHtMUENGSUxFU30gXQp0aGVuCiAgICBybSAke0xQQ0ZJTEVTfQpmaQoKZWNobyAtbmUgIkNoZWNraW5nIHRoZSBNb3JnZW5HcmF1ZW4gTXVkbGliIGluICR7TVVETElCfVxuIgplY2hvIC1uZSAiQ2hlY2tpbmcgaW4gJHsxfSAoJHtNVURMSUJ9JHsxfSlcbiIKCmNkICR7TVVETElCfQoKIyBEYXRlaWxpc3RlIGVyc3RlbGxlbgplY2hvIC1uZSAiQ3JlYXRpbmcgZmlsZSBsaXN0Li4uXG4iCgpmaW5kIC4vJHsxfSAtdHlwZSBmIC1uYW1lICIqLmMiIC1wcmludCA+ICR7Q09ERUZJTEVTfQpmaW5kIC4vJHsxfSAtdHlwZSBmIC1uYW1lICIqLmgiIC1wcmludCA+ICR7SEVBREVSRklMRVN9CgojIGlyZ2VuZHdpZSB1bnNjaG9lbgpjYXQgJHtDT0RFRklMRVN9ICR7SEVBREVSRklMRVN9ID4gJHtMUENGSUxFU30KCiMgZWlnZW50bGljaCBoYWV0dGUgbWFuIGRhcyBhbGxlcyBpbiBlaW5lbSBhYmZhY2tlbG4ga29lbm5lbiwgYWJlciBkYW5uIGdhZWJlCiMgZXMga2VpbmUgVWViZXJzY2hyaWZ0ZW4gdWViZXIgZGVuIGVpbnplbG5lbiBQdW5rdGVuCgojIExFVkVMIDEgQ0hFQ0tTIChjaGFuZ2UgcmVxdWlyZWQpCgojIFVtbGF1dGUKZWNobyAtbmUgIlxuXG5QcnVlZmUgYXVmIFVtbGF1dGUuLi5cbiIgfCB0ZWUgLWEgJHtMT0dTfS8kezJ9LiR7TEVWRUwxfQp3aGlsZSByZWFkIGxpbmUKZG8KICAgIGdyZXAgLUhuICdb/Pbk3NbE310nICRsaW5lIHwgY3V0IC1kIDogLWYgMS0yID4+ICR7TE9HU30vJHsyfS4ke0xFVkVMMX0KZG9uZSA8ICR7TFBDRklMRVN9CgojIGxhbWJkYSgpCmVjaG8gLW5lICJcblxuUHJ1ZWZlIGF1ZiBsYW1iZGEoKS4uLlxuIiB8IHRlZSAtYSAke0xPR1N9LyR7Mn0uJHtMRVZFTDF9CndoaWxlIHJlYWQgbGluZQpkbwogICAgZ3JlcCAtSG4gJ2xhbWJkYSgnICRsaW5lfCBjdXQgLWQgOiAtZiAxLTIgPj4gJHtMT0dTfS8kezJ9LiR7TEVWRUwxfQpkb25lIDwgJHtMUENGSUxFU30KCiMgUGZhZGUgaW4gL3BsYXllcnMvCmVjaG8gLW5lICJcblxuUHJ1ZWZlIGF1ZiBQZmFkZSBpbiAvcGxheWVycy8uLi5cbiIgfCB0ZWUgLWEgJHtMT0dTfS8kezJ9LiR7TEVWRUwxfSAKd2hpbGUgcmVhZCBsaW5lCmRvCiAgICBncmVwIC1IbiAnL3BsYXllcnMvJyAkbGluZXwgY3V0IC1kIDogLWYgMS0yID4+ICR7TE9HU30vJHsyfS4ke0xFVkVMMX0gCmRvbmUgPCAke0xQQ0ZJTEVTfQoKIyBmZWhsZW5kZSAjcHJhZ21hIHN0cm9uZ190eXBlcy9zdHJpY3RfdHlwZXMKZWNobyAtbmUgIlxuXG5GaWxlcyBvaG5lICNwcmFnbWEgc3Ryb25nX3R5cGVzIG9kZXIgc3RyaWN0X3R5cGVzLi4uXG4iIHwgdGVlIC1hICR7TE9HU30vJHsyfS4ke0xFVkVMMX0gCndoaWxlIHJlYWQgbGluZQpkbwogICAgZ3JlcCAtTCAnI3ByYWdtYS5cKHN0cm9uZ1x8c3RyaWN0XClfdHlwZXMnICRsaW5lIHwgc29ydCBcCiAgICAgICAgPj4gJHtMT0dTfS8kezJ9LiR7TEVWRUwxfSAKZG9uZSA8ICR7Q09ERUZJTEVTfQoKIyBkaXJla3RlIFZlcndlbmR1bmcgdm9uIGRvX2RhbWFnZSgpCmVjaG8gLW5lICJcblxuUHJ1ZWZlIGF1ZiBkaXJla3RlIFZlcndlbmR1bmcgdm9uIGRvX2RhbWFnZSgpLi4uXG4iIHxcCiAgICAgICAgIHRlZSAtYSAke0xPR1N9LyR7Mn0uJHtMRVZFTDF9CndoaWxlIHJlYWQgbGluZQpkbwogICAgZ3JlcCAtSG4gJ2RvX2RhbWFnZSgnICRsaW5lIHwgY3V0IC1kIDogLWYgMS0yID4+ICR7TE9HU30vJHsyfS4ke0xFVkVMMX0KZG9uZSA8ICR7TFBDRklMRVN9CgojIFVuZXJ3dWVuc2NodGUgb2RlciBvYnNvbGV0ZSBsZnVucwplY2hvIC1uZSAiXG5cblBydWVmZSBhdWYgdW5lcnd1ZW5zY2h0ZSBvZGVyIG9ic29sZXRlIGxmdW5zLi4uXG4iIHxcCiAgICB0ZWUgLWEgJHtMT0dTfS8kezJ9LiR7TEVWRUwxfQp3aGlsZSByZWFkIGxpbmUKZG8KICAgIGdyZXAgLUhuIC1mICR7Q0hFQ0tFUkxJQn0vYmFkX2xmdW4ubGlzdCAkbGluZSA+PiAke0xPR1N9LyR7Mn0uJHtMRVZFTDF9CmRvbmUgPCAke0xQQ0ZJTEVTfQoKIyBVbmVyd3VlbnNjaHRlIG9kZXIgb2Jzb2xldGUgZWZ1bnMKZWNobyAtbmUgIlxuXG5QcnVlZmUgYXVmIHVuZXJ3dWVuc2NodGUgb2RlciBvYnNvbGV0ZSBlZnVucy4uLlxuIiB8XAogICAgdGVlIC1hICR7TE9HU30vJHsyfS4ke0xFVkVMMX0Kd2hpbGUgcmVhZCBsaW5lCmRvCiAgICBncmVwIC1IbiAtZiAke0NIRUNLRVJMSUJ9L2JhZF9lZnVuLmxpc3QgJGxpbmUgPj4gJHtMT0dTfS8kezJ9LiR7TEVWRUwxfQpkb25lIDwgJHtMUENGSUxFU30KCiMgVW5lcnd1ZW5zY2h0ZSBvZGVyIG9ic29sZXRlIFByb3BlcnRpZXMKZWNobyAtbmUgIlxuXG5QcnVlZmUgYXVmIHVuZXJ3dWVuc2NodGUgb2RlciBvYnNvbGV0ZSBQcm9wZXJ0aWVzLi4uXG4iIHxcCiAgICB0ZWUgLWEgJHtMT0dTfS8kezJ9LiR7TEVWRUwxfQp3aGlsZSByZWFkIGxpbmUKZG8KICAgIGdyZXAgLUhuIC1mICR7Q0hFQ0tFUkxJQn0vYmFkX3Byb3AubGlzdCAkbGluZSA+PiAke0xPR1N9LyR7Mn0uJHtMRVZFTDF9CmRvbmUgPCAke0xQQ0ZJTEVTfQoKIyBVbmVyd3VlbnNjaHRlIEV2ZW50cwplY2hvIC1uZSAiXG5cblBydWVmZSBhdWYgdW5lcnd1ZW5zY2h0ZSBFdmVudG5hbWVuLi4uXG4iIHwgdGVlIC1hICR7TE9HU30vJHsyfS4ke0xFVkVMMX0Kd2hpbGUgcmVhZCBsaW5lCmRvCiAgICBncmVwIC1IbiAtZiAke0NIRUNLRVJMSUJ9L2JhZF9ldmVudHMubGlzdCAkbGluZSA+PiAke0xPR1N9LyR7Mn0uJHtMRVZFTDF9CmRvbmUgPCAke0xQQ0ZJTEVTfQoKIyBLZWluZSBjbG9uZXMgdm9uIC9zdGQvdGhpbmcKZWNobyAtbmUgIlxuXG5QcnVlZmUgYXVmIENsb25lcyB2b24gL3N0ZC90aGluZy4uLlxuIiB8XAogICAgICAgICB0ZWUgLWEgJHtMT0dTfS8kezJ9LiR7TEVWRUwxfQp3aGlsZSByZWFkIGxpbmUKZG8KICAgIGdyZXAgLUhuICdjbG9uZV9vYmplY3QoLiovc3RkL3RoaW5nLiopJyAkbGluZSB8IGN1dCAtZCA6IC1mIDEtMiBcCiAgICAgICAgID4+ICR7TE9HU30vJHsyfS4ke0xFVkVMMX0KZG9uZSA8ICR7TFBDRklMRVN9CgojIHVlYmVyc2NocmllYmVuZXMgbW92ZSgpCmVjaG8gLW5lICJcblxuUHJ1ZWZlIGF1ZiB1ZWJlcnNjaHJpZWJlbmVzIG1vdmUoKSAoZGVwcmVjYXRlZCkuLi5cbiIgfFwKICAgICAgICB0ZWUgLWEgJHtMT0dTfS8kezJ9LiR7TEVWRUwxfQp3aGlsZSByZWFkIGxpbmUKZG8KICAgIGdyZXAgLUhuICdpbnQuKm1vdmUoLiptaXhlZC4qaW50LiopJyAkbGluZSB8IGN1dCAtZCA6IC1mIDEtMiBcCiAgICAgICAgID4+ICR7TE9HU30vJHsyfS4ke0xFVkVMMX0KZG9uZSA8ICR7TFBDRklMRVN9CgojIHdpcmQgZ2VlcmJ0ZXMgUHJldmVudE1vdmUgZ2VydWZlbj8KZWNobyAtbmUgIlxuXG5VZWJlcnNjaHJpZWJlbmVzIFByZXZlbnRNb3ZlKCkgb2huZSBnZWVyYmV0ZXMgenUgcnVmZW4uLi5cbiIgfFwKICAgICAgICAgdGVlIC1hICR7TE9HU30vJHsyfS4ke0xFVkVMMX0Kd2hpbGUgcmVhZCBsaW5lCmRvCiAgICBncmVwICdQcmV2ZW50TW92ZSguKm9iamVjdC4qb2JqZWN0LippbnQuKiknICRsaW5lID4gJENIRUNLVE1QCiAgICBncmVwIC1MICc6OlByZXZlbnRNb3ZlKCcgJGxpbmUgPiAkQ0hFQ0tUTVAyCmRvbmUgIDwgJHtMUENGSUxFU30KIyBudXIgWmVpbGVuIGF1c2dlYmVuLCBkaWUgbmljaHQgaW0gMi4gRmlsZSB2b3Jrb21tZW4KZ3JlcCAtdiAtZiAkQ0hFQ0tUTVAyICRDSEVDS1RNUCB8IFwKICAgIHRlZSAtYSAke0xPR1N9LyR7Mn0uJHtMRVZFTDF9CgplY2hvIC1uZSAiXG5cblVlYmVyc2NocmllYmVuZXMgaW5pdCgpIG9obmUgZ2VlcmJ0ZXMgenUgcnVmZW4uLi5cbiIgfFwKICAgICAgICAgdGVlIC1hICR7TE9HU30vJHsyfS4ke0xFVkVMMX0Kd2hpbGUgcmVhZCBsaW5lCmRvCiAgICBncmVwICdpbml0KFwob2JqZWN0LipcKVw/KScgJGxpbmUgPiAkQ0hFQ0tUTVAKICAgIGdyZXAgLUwgJzo6aW5pdCgnICRsaW5lID4gJENIRUNLVE1QMgpkb25lIDwgJHtMUENGSUxFU30KZ3JlcCAtdiAtZiAkQ0hFQ0tUTVAyICRDSEVDS1RNUCBcCiAgICA+PiAke0xPR1N9LyR7Mn0uJHtMRVZFTDF9CgplY2hvIC1uZSAiXG5cblVlYmVyc2NocmllYmVuZXMgTm90aWZ5TW92ZSgpIG9obmUgZ2VlcmJldGVzIHp1IHJ1ZmVuLi4uXG4iIHxcCiAgICAgICAgIHRlZSAtYSAke0xPR1N9LyR7Mn0uJHtMRVZFTDF9CndoaWxlIHJlYWQgbGluZQpkbwogICAgZ3JlcCAnTm90aWZ5TW92ZSguKm9iamVjdC4qb2JqZWN0LippbnQuKiknICRsaW5lID4gJENIRUNLVE1QCiAgICBncmVwIC1MICc6Ok5vdGlmeU1vdmUoJyAkbGluZSA+ICRDSEVDS1RNUDIKZG9uZSA8ICR7TFBDRklMRVN9CmdyZXAgLXYgLWYgJENIRUNLVE1QMiAkQ0hFQ0tUTVAgXAogICAgPj4gJHtMT0dTfS8kezJ9LiR7TEVWRUwxfQoKIyBjYWxsX290aGVyKHgsICI/Pz8iKSBpc3Qgb2Jzb2xldAplY2hvIC1uZSAiXG5cblBydWVmZSBhdWYgY2FsbF9vdGhlcih4LCAiPz8/IikgKG9ic29sZXQpLi4uXG4iIHxcCiAgICB0ZWUgLWEgJHtMT0dTfS8kezJ9LiR7TEVWRUwxfQp3aGlsZSByZWFkIGxpbmUKZG8KICAgIGdyZXAgLUhuICdjYWxsX290aGVyKC4qPz8/LiopJyAkbGluZSB8IGN1dCAtZCA6IC1mIDEtMiBcCiAgICA+PiAke0xPR1N9LyR7Mn0uJHtMRVZFTDF9CmRvbmUgPCAke0xQQ0ZJTEVTfQoKIyBBbHRlIFN5bnRheCBkZXIgSW5saW5lLUNsb3N1cmVzCmVjaG8gLW5lICJcblxuUHJ1ZWZlIGF1ZiBvYnNvbGV0ZSBJbmxpbmUtQ2xvc3VyZXMgKCAoOiA6KSApLi4uXG4iIHwgXAogICAgICAgICB0ZWUgLWEgJHtMT0dTfS8kezJ9LiR7TEVWRUwxfQp3aGlsZSByZWFkIGxpbmUKZG8KICAgIGdyZXAgLUhuICcoOiAnICRsaW5lIHwgY3V0IC1kIDogLWYgMS0yIFwKICAgICAgICAgICAgPj4gJHtMT0dTfS8kezJ9LiR7TEVWRUwxfQpkb25lIDwgJHtMUENGSUxFU30KCiMgTEVWRUwgMiBDSEVDS1MKIyBUYWJ1bGF0b3JlbgplY2hvIC1uZSAiXG5cblBydWVmZSBhdWYgVGFidWxhdG9yZW4uLi5cbiIgfCB0ZWUgLWEgJHtMT0dTfS8kezJ9LiR7TEVWRUwyfQp3aGlsZSByZWFkIGxpbmUKZG8KICAgIGdyZXAgLUhuICQnXHQnICRsaW5lIHwgY3V0IC1kIDogLWYgMS0yID4+ICR7TE9HU30vJHsyfS4ke0xFVkVMMn0KZG9uZSA8ICR7TFBDRklMRVN9CgojIFplaWxlbiA+IDc4IFplaWNoZW4KZWNobyAtbmUgIlxuXG5QcnVlZmUgYXVmIFplaWxlbiA+IDc4IFplaWNoZW4uLi5cbiIgfCB0ZWUgLWEgJHtMT0dTfS8kezJ9LiR7TEVWRUwyfQp3aGlsZSByZWFkIGxpbmUKZG8KICAgIGdyZXAgLUhuICcuXHs3OSxcfScgJGxpbmV8IGN1dCAtZCA6IC1mIDEtMiA+PiAke0xPR1N9LyR7Mn0uJHtMRVZFTDJ9CmRvbmUgPCAke0xQQ0ZJTEVTfQoKIyBMRVZFTCA1IENIRUNLUwojIEhlYWRlciBtaXQgI3ByYWdtYXMKZWNobyAtbmUgIlxuXG5IZWFkZXIgKCouaCkgbWl0ICNwcmFnbWFzLi4uXG4iIHwgdGVlIC1hICR7TE9HU30vJHsyfS4ke0xFVkVMNX0Kd2hpbGUgcmVhZCBsaW5lCmRvCiAgICBncmVwIC1sICcjcHJhZ21hJyAkbGluZSA+PiAke0xPR1N9LyR7Mn0uJHtMRVZFTDV9CmRvbmUgPCAke0hFQURFUkZJTEVTfQoKIyBlZnVucywgVmVyd2VuZHVuZyBiZWFjaHRlbgplY2hvIC1uZSAiXG5cblBydWVmZSBhdWYgZWZ1bnMsIGRlcmVuIFZlcndlbmR1bmcgYmVvYmFjaHRldCB3ZXJkZW4gc29sbHRlLi4uXG4iIHxcCiAgICAgICAgdGVlIC1hICR7TE9HU30vJHsyfS4ke0xFVkVMNX0Kd2hpbGUgcmVhZCBsaW5lCmRvCiAgICBncmVwIC1IbiAtZiAke0NIRUNLRVJMSUJ9L3dhcm5fZWZ1bi5saXN0ICRsaW5lIFwKICAgID4+ICR7TE9HU30vJHsyfS4ke0xFVkVMNX0KZG9uZSA8ICR7TFBDRklMRVN9CgojIFByb3BlcnRpZXMsIFZlcndlbmR1bmcgYmVhY2h0ZW4KZWNobyAtbmUgIlxuXG5QcnVlZmUgYXVmIFByb3BlcnRpZXMsIGRlcmVuIFZlcndlbmR1bmcgYmVvYmFjaHRldCB3ZXJkZW4Kc29sbHRlLi4uXG4iIHwgdGVlIC1hICR7TE9HU30vJHsyfS4ke0xFVkVMNX0Kd2hpbGUgcmVhZCBsaW5lCmRvCiAgICBncmVwIC1FSG4gLWYgJHtDSEVDS0VSTElCfS93YXJuX3Byb3AubGlzdCAkbGluZSBcCiAgICA+PiAke0xPR1N9LyR7Mn0uJHtMRVZFTDV9CmRvbmUgPCAke0xQQ0ZJTEVTfQogICAgCiMgUHJ1ZWZ1bmcgYXVmIHN0YXRpYyAtPiBwcm90ZWN0ZWQKZWNobyAtbmUgIlxuXG5QcnVlZmUgYXVmICdzdGF0aWMnICgtPiAncHJvdGVjdGVkJykuLi5cbiIgfFwKICAgICAgICB0ZWUgLWEgJHtMT0dTfS8kezJ9LiR7TEVWRUw1fQp3aGlsZSByZWFkIGxpbmUKZG8KICAgIGdyZXAgLUhuICdzdGF0aWMnICRsaW5lID4+ICR7TE9HU30vJHsyfS4ke0xFVkVMNX0KZG9uZSA8ICR7TFBDRklMRVN9CgoKIyBMRVZFTCAxMCBDSEVDS1MKIyBBbHRlIFJlY2h0c2NocmVpYnVuZyBydWxlcwplY2hvIC1uZSAiXG5cbktsZWluZ2VzY2hyaWViZW5lcyBEdS9EaXIvRGljaC4uLlxuIiB8XAogICAgdGVlIC1hICR7TE9HU30vJHsyfS4ke0xFVkVMMTB9CndoaWxlIHJlYWQgbGluZQpkbwogICAgZ3JlcCAtSG4gJyBcKGR1XHxkaWNoXHxkaXJcKSAnICRsaW5lIHwgY3V0IC1kIDogLWYgMS0yIHwgc29ydCB8IFwKICAgIHVuaXEgPj4gJHtMT0dTfS8kezJ9LiR7TEVWRUwxMH0KZG9uZSA8ICR7TFBDRklMRVN9CgojIFBmYWRuYW1lbiBiZXJlaW5pZ2VuCnNlZCAtaSAtZSAncyMuLy8jLyNnJyAke0xPR1N9LyR7Mn0uKgoKZWNobyAtbmUgIlxuQ2hlY2sgZmluaXNoZWQhXG4iCgojIGNsZWFudXAKcm0gJENIRUNLVE1QCnJtICRDSEVDS1RNUDIK