ZGlmZiAtLWdpdCBhL0luYy9MZWdhY3kvc3RtMzJfaGFsX2xlZ2FjeS5oIGIvSW5jL0xlZ2FjeS9zdG0zMl9oYWxfbGVnYWN5LmgKaW5kZXggMWNmZDE5Yi4uOTM0ZjFmOSAxMDA2NDQKLS0tIGEvSW5jL0xlZ2FjeS9zdG0zMl9oYWxfbGVnYWN5LmgKKysrIGIvSW5jL0xlZ2FjeS9zdG0zMl9oYWxfbGVnYWN5LmgKQEAgLTM3LDE0ICszNywxNiBAQAogI2RlZmluZSBBRVNfQ0xFQVJGTEFHX0NDRiAgICAgICAgICAgICAgIENSWVBfQ0xFQVJGTEFHX0NDRgogI2RlZmluZSBBRVNfQ0xFQVJGTEFHX1JERVJSICAgICAgICAgICAgIENSWVBfQ0xFQVJGTEFHX1JERVJSCiAjZGVmaW5lIEFFU19DTEVBUkZMQUdfV1JFUlIgICAgICAgICAgICAgQ1JZUF9DTEVBUkZMQUdfV1JFUlIKLSNpZiBkZWZpbmVkKFNUTTMyVTUpCisjaWYgZGVmaW5lZChTVE0zMlU1KSB8fCBkZWZpbmVkKFNUTTMySDcpIHx8IGRlZmluZWQoU1RNMzJNUDEpCiAjZGVmaW5lIENSWVBfREFUQVRZUEVfMzJCICAgICAgICAgICAgICAgQ1JZUF9OT19TV0FQCiAjZGVmaW5lIENSWVBfREFUQVRZUEVfMTZCICAgICAgICAgICAgICAgQ1JZUF9IQUxGV09SRF9TV0FQCiAjZGVmaW5lIENSWVBfREFUQVRZUEVfOEIgICAgICAgICAgICAgICAgQ1JZUF9CWVRFX1NXQVAKICNkZWZpbmUgQ1JZUF9EQVRBVFlQRV8xQiAgICAgICAgICAgICAgICBDUllQX0JJVF9TV0FQCisjaWYgZGVmaW5lZChTVE0zMlU1KQogI2RlZmluZSBDUllQX0NDRl9DTEVBUiAgICAgICAgICAgICAgICAgIENSWVBfQ0xFQVJfQ0NGCiAjZGVmaW5lIENSWVBfRVJSX0NMRUFSICAgICAgICAgICAgICAgICAgQ1JZUF9DTEVBUl9SV0VJRgogI2VuZGlmIC8qIFNUTTMyVTUgKi8KKyNlbmRpZiAvKiBTVE0zMlU1IHx8IFNUTTMySDcgfHwgU1RNMzJNUDEgKi8KIC8qKgogICAqIEB9CiAgICovCkBAIC0xMTAsNiArMTEyLDcgQEAKICNkZWZpbmUgQURDX1NBTVBMRVRJTUVfMzkxQ1lDTEVTXzUgICAgICBBRENfU0FNUExFVElNRV8zOTFDWUNMRVMKICNkZWZpbmUgQURDNF9TQU1QTEVUSU1FXzE2MENZQ0xFU181ICAgICBBREM0X1NBTVBMRVRJTUVfODE0Q1lDTEVTXzUKICNlbmRpZiAvKiBTVE0zMlU1ICovCisKIC8qKgogICAqIEB9CiAgICovCkBAIC0yMzEsOCArMjM0LDExIEBACiAvKiogQGRlZmdyb3VwIENSQ19BbGlhc2VzIENSQyBBUEkgYWxpYXNlcwogICAqIEB7CiAgICovCisjaWYgZGVmaW5lZChTVE0zMkMwKQorI2Vsc2UKICNkZWZpbmUgSEFMX0NSQ19JbnB1dF9EYXRhX1JldmVyc2UgICBIQUxfQ1JDRXhfSW5wdXRfRGF0YV9SZXZlcnNlICAgIC8qITwgQWxpYXNlZCB0byBIQUxfQ1JDRXhfSW5wdXRfRGF0YV9SZXZlcnNlIGZvciBpbnRlciBTVE0zMiBzZXJpZXMgY29tcGF0aWJpbGl0eSAgKi8KICNkZWZpbmUgSEFMX0NSQ19PdXRwdXRfRGF0YV9SZXZlcnNlICBIQUxfQ1JDRXhfT3V0cHV0X0RhdGFfUmV2ZXJzZSAgIC8qITwgQWxpYXNlZCB0byBIQUxfQ1JDRXhfT3V0cHV0X0RhdGFfUmV2ZXJzZSBmb3IgaW50ZXIgU1RNMzIgc2VyaWVzIGNvbXBhdGliaWxpdHkgKi8KKyNlbmRpZgogLyoqCiAgICogQH0KICAgKi8KQEAgLTQ5OSw3ICs1MDUsNyBAQAogI2RlZmluZSBPQl9SRFBfTEVWRUwwICAgICAgICAgICAgICAgICBPQl9SRFBfTEVWRUxfMAogI2RlZmluZSBPQl9SRFBfTEVWRUwxICAgICAgICAgICAgICAgICBPQl9SRFBfTEVWRUxfMQogI2RlZmluZSBPQl9SRFBfTEVWRUwyICAgICAgICAgICAgICAgICBPQl9SRFBfTEVWRUxfMgotI2lmIGRlZmluZWQoU1RNMzJHMCkKKyNpZiBkZWZpbmVkKFNUTTMyRzApIHx8IGRlZmluZWQoU1RNMzJDMCkKICNkZWZpbmUgT0JfQk9PVF9MT0NLX0RJU0FCTEUgICAgICAgICAgT0JfQk9PVF9FTlRSWV9GT1JDRURfTk9ORQogI2RlZmluZSBPQl9CT09UX0xPQ0tfRU5BQkxFICAgICAgICAgICBPQl9CT09UX0VOVFJZX0ZPUkNFRF9GTEFTSAogI2Vsc2UKQEAgLTU2OCw3ICs1NzQsNiBAQAogI2RlZmluZSBIQUxfU1lTQ0ZHX0Rpc2FibGVJT0FuYWxvZ1N3aXRjaFZERCAgICAgICBIQUxfU1lTQ0ZHX0Rpc2FibGVJT1N3aXRjaFZERAogI2VuZGlmIC8qIFNUTTMyRzQgKi8KIAotCiAvKioKICAgKiBAfQogICAqLwpAQCAtNjY4LDYgKzY3MywxMCBAQAogI2lmIGRlZmluZWQoU1RNMzJVNSkKICNkZWZpbmUgR1BJT19BRjBfUlRDXzUwSHogICAgICAgICAgICAgICAgICAgICAgICAgR1BJT19BRjBfUlRDXzUwSFoKICNlbmRpZiAvKiBTVE0zMlU1ICovCisjaWYgZGVmaW5lZChTVE0zMlU1KQorI2RlZmluZSBHUElPX0FGMF9TMkRTVE9QICAgICAgICAgICAgICAgICAgICAgICAgICBHUElPX0FGMF9TUkRTVE9QCisjZGVmaW5lIEdQSU9fQUYxMV9MUEdQSU8gICAgICAgICAgICAgICAgICAgICAgICAgIEdQSU9fQUYxMV9MUEdQSU8xCisjZW5kaWYgLyogU1RNMzJVNSAqLwogLyoqCiAgICogQH0KICAgKi8KQEAgLTEwODAsOCArMTA4OSw4IEBACiAjZGVmaW5lIFJUQ19UQU1QRVIxXzJfM19JTlRFUlJVUFQgICAgICAgUlRDX0FMTF9UQU1QRVJfSU5URVJSVVBUCiAKICNkZWZpbmUgUlRDX1RJTUVTVEFNUFBJTl9QQzEzICBSVENfVElNRVNUQU1QUElOX0RFRkFVTFQKLSNkZWZpbmUgUlRDX1RJTUVTVEFNUFBJTl9QQTAgUlRDX1RJTUVTVEFNUFBJTl9QT1MxCi0jZGVmaW5lIFJUQ19USU1FU1RBTVBQSU5fUEk4IFJUQ19USU1FU1RBTVBQSU5fUE9TMQorI2RlZmluZSBSVENfVElNRVNUQU1QUElOX1BBMCAgIFJUQ19USU1FU1RBTVBQSU5fUE9TMQorI2RlZmluZSBSVENfVElNRVNUQU1QUElOX1BJOCAgIFJUQ19USU1FU1RBTVBQSU5fUE9TMQogI2RlZmluZSBSVENfVElNRVNUQU1QUElOX1BDMSAgIFJUQ19USU1FU1RBTVBQSU5fUE9TMgogCiAjZGVmaW5lIFJUQ19PVVRQVVRfUkVNQVBfUEMxMyAgUlRDX09VVFBVVF9SRU1BUF9OT05FCkBAIC0xMDkyLDE1ICsxMTAxLDIyIEBACiAjZGVmaW5lIFJUQ19UQU1QRVJQSU5fUEEwICBSVENfVEFNUEVSUElOX1BPUzEKICNkZWZpbmUgUlRDX1RBTVBFUlBJTl9QSTggIFJUQ19UQU1QRVJQSU5fUE9TMQogCisjaWYgZGVmaW5lZChTVE0zMkY3KQorI2RlZmluZSBSVENfVEFNUENSX1RBTVBYRSAgICAgICAgICBSVENfVEFNUEVSX0VOQUJMRV9CSVRTX01BU0sKKyNkZWZpbmUgUlRDX1RBTVBDUl9UQU1QWElFICAgICAgICAgUlRDX1RBTVBFUl9JVF9FTkFCTEVfQklUU19NQVNLCisjZW5kaWYgLyogU1RNMzJGNyAqLworCiAjaWYgZGVmaW5lZChTVE0zMkg3KQogI2RlZmluZSBSVENfVEFNUENSX1RBTVBYRSAgICAgICAgICBSVENfVEFNUEVSX1gKICNkZWZpbmUgUlRDX1RBTVBDUl9UQU1QWElFICAgICAgICAgUlRDX1RBTVBFUl9YX0lOVEVSUlVQVAorI2VuZGlmIC8qIFNUTTMySDcgKi8KIAorI2lmIGRlZmluZWQoU1RNMzJGNykgfHwgZGVmaW5lZChTVE0zMkg3KQogI2RlZmluZSBSVENfVEFNUEVSMV9JTlRFUlJVUFQgICAgICBSVENfSVRfVEFNUDEKICNkZWZpbmUgUlRDX1RBTVBFUjJfSU5URVJSVVBUICAgICAgUlRDX0lUX1RBTVAyCiAjZGVmaW5lIFJUQ19UQU1QRVIzX0lOVEVSUlVQVCAgICAgIFJUQ19JVF9UQU1QMwotI2RlZmluZSBSVENfQUxMX1RBTVBFUl9JTlRFUlJVUFQgICBSVENfSVRfVEFNUEFMTAotI2VuZGlmIC8qIFNUTTMySDcgKi8KKyNkZWZpbmUgUlRDX0FMTF9UQU1QRVJfSU5URVJSVVBUICAgUlRDX0lUX1RBTVAKKyNlbmRpZiAvKiBTVE0zMkY3IHx8IFNUTTMySDcgKi8KIAogLyoqCiAgICogQH0KQEAgLTM0MDcsNyArMzQyMyw3IEBACiAjZGVmaW5lIFJDQ19NQ09TT1VSQ0VfUExMQ0xLX05PRElWICBSQ0NfTUNPMVNPVVJDRV9QTExDTEsKICNkZWZpbmUgUkNDX01DT1NPVVJDRV9QTExDTEtfRElWMiAgIFJDQ19NQ08xU09VUkNFX1BMTENMS19ESVYyCiAKLSNpZiBkZWZpbmVkKFNUTTMyTDQpIHx8IGRlZmluZWQoU1RNMzJXQikgfHwgZGVmaW5lZChTVE0zMkcwKSB8fCBkZWZpbmVkKFNUTTMyRzQpIHx8IGRlZmluZWQoU1RNMzJMNSkgfHwgZGVmaW5lZChTVE0zMldMKQorI2lmIGRlZmluZWQoU1RNMzJMNCkgfHwgZGVmaW5lZChTVE0zMldCKSB8fCBkZWZpbmVkKFNUTTMyRzApIHx8IGRlZmluZWQoU1RNMzJHNCkgfHwgZGVmaW5lZChTVE0zMkw1KSB8fCBkZWZpbmVkKFNUTTMyV0wpIHx8IGRlZmluZWQoU1RNMzJDMCkKICNkZWZpbmUgUkNDX1JUQ0NMS1NPVVJDRV9OT19DTEsgICAgIFJDQ19SVENDTEtTT1VSQ0VfTk9ORQogI2Vsc2UKICNkZWZpbmUgUkNDX1JUQ0NMS1NPVVJDRV9OT05FICAgICAgIFJDQ19SVENDTEtTT1VSQ0VfTk9fQ0xLCkBAIC0zNTIwLDggKzM1MzYsOCBAQAogI2RlZmluZSBSQ0NfREZTRE0yQ0xLU09VUkNFX0FQQjIgICAgICAgICAgICBSQ0NfREZTRE0yQ0xLU09VUkNFX1BDTEsyCiAjZGVmaW5lIFJDQ19GTVBJMkMxQ0xLU09VUkNFX0FQQiAgICAgICAgICAgIFJDQ19GTVBJMkMxQ0xLU09VUkNFX1BDTEsxCiAjaWYgZGVmaW5lZChTVE0zMlU1KQotI2RlZmluZSBNU0lLUExMTW9kZVNFTCAgUkNDX01TSUtQTExfTU9ERV9TRUwKLSNkZWZpbmUgTVNJU1BMTE1vZGVTRUwgIFJDQ19NU0lTUExMX01PREVfU0VMCisjZGVmaW5lIE1TSUtQTExNb2RlU0VMICAgICAgICAgICAgICAgICAgICAgICAgUkNDX01TSUtQTExfTU9ERV9TRUwKKyNkZWZpbmUgTVNJU1BMTE1vZGVTRUwgICAgICAgICAgICAgICAgICAgICAgICBSQ0NfTVNJU1BMTF9NT0RFX1NFTAogI2RlZmluZSBfX0hBTF9SQ0NfQUhCMjFfQ0xLX0RJU0FCTEUgICAgICAgICAgIF9fSEFMX1JDQ19BSEIyXzFfQ0xLX0RJU0FCTEUKICNkZWZpbmUgX19IQUxfUkNDX0FIQjIyX0NMS19ESVNBQkxFICAgICAgICAgICBfX0hBTF9SQ0NfQUhCMl8yX0NMS19ESVNBQkxFCiAjZGVmaW5lIF9fSEFMX1JDQ19BSEIxX0NMS19EaXNhYmxlX0NsZWFyICAgICAgX19IQUxfUkNDX0FIQjFfQ0xLX0VOQUJMRQpAQCAtMzUzNywxNSArMzU1MywyMCBAQAogI2RlZmluZSBSQ0NfQ0xLNDhDTEtTT1VSQ0VfUExMMiAgICAgICAgICAgICAgIFJDQ19JQ0xLX0NMS1NPVVJDRV9QTEwyCiAjZGVmaW5lIFJDQ19DTEs0OENMS1NPVVJDRV9QTEwxICAgICAgICAgICAgICAgUkNDX0lDTEtfQ0xLU09VUkNFX1BMTDEKICNkZWZpbmUgUkNDX0NMSzQ4Q0xLU09VUkNFX01TSUsgICAgICAgICAgICAgICBSQ0NfSUNMS19DTEtTT1VSQ0VfTVNJSwotI2RlZmluZSBfX0hBTF9SQ0NfQURDMV9DTEtfRU5BQkxFICAgICAgICAgICAgX19IQUxfUkNDX0FEQzEyX0NMS19FTkFCTEUKLSNkZWZpbmUgX19IQUxfUkNDX0FEQzFfQ0xLX0RJU0FCTEUgICAgICAgICAgX19IQUxfUkNDX0FEQzEyX0NMS19ESVNBQkxFCi0jZGVmaW5lIF9fSEFMX1JDQ19BREMxX0lTX0NMS19FTkFCTEVEICAgICAgIF9fSEFMX1JDQ19BREMxMl9JU19DTEtfRU5BQkxFRAotI2RlZmluZSBfX0hBTF9SQ0NfQURDMV9JU19DTEtfRElTQUJMRUQgICAgICBfX0hBTF9SQ0NfQURDMTJfSVNfQ0xLX0RJU0FCTEVECi0jZGVmaW5lIF9fSEFMX1JDQ19BREMxX0ZPUkNFX1JFU0VUICAgICAgICAgIF9fSEFMX1JDQ19BREMxMl9GT1JDRV9SRVNFVAotI2RlZmluZSBfX0hBTF9SQ0NfQURDMV9SRUxFQVNFX1JFU0VUICAgICAgICBfX0hBTF9SQ0NfQURDMTJfUkVMRUFTRV9SRVNFVAotI2RlZmluZSBfX0hBTF9SQ0NfQURDMV9DTEtfU0xFRVBfRU5BQkxFICAgICBfX0hBTF9SQ0NfQURDMTJfQ0xLX1NMRUVQX0VOQUJMRQotI2RlZmluZSBfX0hBTF9SQ0NfQURDMV9DTEtfU0xFRVBfRElTQUJMRSAgICBfX0hBTF9SQ0NfQURDMTJfQ0xLX1NMRUVQX0RJU0FCTEUKLSNlbmRpZgorI2RlZmluZSBfX0hBTF9SQ0NfQURDMV9DTEtfRU5BQkxFICAgICAgICAgICAgIF9fSEFMX1JDQ19BREMxMl9DTEtfRU5BQkxFCisjZGVmaW5lIF9fSEFMX1JDQ19BREMxX0NMS19ESVNBQkxFICAgICAgICAgICAgX19IQUxfUkNDX0FEQzEyX0NMS19ESVNBQkxFCisjZGVmaW5lIF9fSEFMX1JDQ19BREMxX0lTX0NMS19FTkFCTEVEICAgICAgICAgX19IQUxfUkNDX0FEQzEyX0lTX0NMS19FTkFCTEVECisjZGVmaW5lIF9fSEFMX1JDQ19BREMxX0lTX0NMS19ESVNBQkxFRCAgICAgICAgX19IQUxfUkNDX0FEQzEyX0lTX0NMS19ESVNBQkxFRAorI2RlZmluZSBfX0hBTF9SQ0NfQURDMV9GT1JDRV9SRVNFVCAgICAgICAgICAgIF9fSEFMX1JDQ19BREMxMl9GT1JDRV9SRVNFVAorI2RlZmluZSBfX0hBTF9SQ0NfQURDMV9SRUxFQVNFX1JFU0VUICAgICAgICAgIF9fSEFMX1JDQ19BREMxMl9SRUxFQVNFX1JFU0VUCisjZGVmaW5lIF9fSEFMX1JDQ19BREMxX0NMS19TTEVFUF9FTkFCTEUgICAgICAgX19IQUxfUkNDX0FEQzEyX0NMS19TTEVFUF9FTkFCTEUKKyNkZWZpbmUgX19IQUxfUkNDX0FEQzFfQ0xLX1NMRUVQX0RJU0FCTEUgICAgICBfX0hBTF9SQ0NfQURDMTJfQ0xLX1NMRUVQX0RJU0FCTEUKKyNkZWZpbmUgX19IQUxfUkNDX0dFVF9DTEs0OF9TT1VSQ0UgICAgICAgICAgICBfX0hBTF9SQ0NfR0VUX0lDTEtfU09VUkNFCisjZGVmaW5lIF9fSEFMX1JDQ19QTExGUkFDTl9FTkFCTEUgICAgICAgICAgICAgX19IQUxfUkNDX1BMTF9GUkFDTl9FTkFCTEUKKyNkZWZpbmUgX19IQUxfUkNDX1BMTEZSQUNOX0RJU0FCTEUgICAgICAgICAgICBfX0hBTF9SQ0NfUExMX0ZSQUNOX0RJU0FCTEUKKyNkZWZpbmUgX19IQUxfUkNDX1BMTEZSQUNOX0NPTkZJRyAgICAgICAgICAgICBfX0hBTF9SQ0NfUExMX0ZSQUNOX0NPTkZJRworI2RlZmluZSBJU19SQ0NfUExMRlJBQ05fVkFMVUUgICAgICAgICAgICAgICAgIElTX1JDQ19QTExfRlJBQ05fVkFMVUUKKyNlbmRpZiAvKiBTVE0zMlU1ICovCiAKIC8qKgogICAqIEB9CkBAIC0zNTYzLDcgKzM1ODQsOSBAQAogLyoqIEBkZWZncm91cCBIQUxfUlRDX0FsaWFzZWRfTWFjcm9zIEhBTCBSVEMgQWxpYXNlZCBNYWNyb3MgbWFpbnRhaW5lZCBmb3IgbGVnYWN5IHB1cnBvc2UKICAgKiBAewogICAqLwotI2lmIGRlZmluZWQgKFNUTTMyRzApIHx8IGRlZmluZWQgKFNUTTMyTDUpIHx8IGRlZmluZWQgKFNUTTMyTDQxMnh4KSB8fCBkZWZpbmVkIChTVE0zMkw0MjJ4eCkgfHwgZGVmaW5lZCAoU1RNMzJMNFA1eHgpIHx8IGRlZmluZWQgKFNUTTMyTDRRNXh4KSB8fCBkZWZpbmVkIChTVE0zMkc0KSB8fCBkZWZpbmVkIChTVE0zMldMKSB8fCBkZWZpbmVkIChTVE0zMlU1KQorI2lmIGRlZmluZWQgKFNUTTMyRzApIHx8IGRlZmluZWQgKFNUTTMyTDUpIHx8IGRlZmluZWQgKFNUTTMyTDQxMnh4KSB8fCBkZWZpbmVkIChTVE0zMkw0MjJ4eCkgfHwgZGVmaW5lZCAoU1RNMzJMNFA1eHgpfHwgXAorICAgIGRlZmluZWQgKFNUTTMyTDRRNXh4KSB8fCBkZWZpbmVkIChTVE0zMkc0KSB8fCBkZWZpbmVkIChTVE0zMldMKSB8fCBkZWZpbmVkIChTVE0zMlU1KSB8fCBcCisgICAgZGVmaW5lZCAoU1RNMzJDMCkKICNlbHNlCiAjZGVmaW5lIF9fSEFMX1JUQ19DTEVBUl9GTEFHICAgICAgICAgICAgICAgICAgICAgIF9fSEFMX1JUQ19FWFRJX0NMRUFSX0ZMQUcKICNlbmRpZgpAQCAtMzYxNiw3ICszNjM5LDYgQEAKICNkZWZpbmUgX19SVENfV1JJVEVQUk9URUNUSU9OX0VOQUJMRSAgX19IQUxfUlRDX1dSSVRFUFJPVEVDVElPTl9FTkFCTEUKICNkZWZpbmUgX19SVENfV1JJVEVQUk9URUNUSU9OX0RJU0FCTEUgIF9fSEFMX1JUQ19XUklURVBST1RFQ1RJT05fRElTQUJMRQogCi0KIC8qKgogICAqIEB9CiAgICovCkBAIC0zNjI4LDcgKzM2NTAsNyBAQAogI2RlZmluZSBTRF9PQ1JfQ0lEX0NTRF9PVkVSV1JJRVRFICAgU0RfT0NSX0NJRF9DU0RfT1ZFUldSSVRFCiAjZGVmaW5lIFNEX0NNRF9TRF9BUFBfU1RBVVMgICAgICAgICBTRF9DTURfU0RfQVBQX1NUQVRVUwogCi0jaWYgIWRlZmluZWQoU1RNMzJGMSkgJiYgIWRlZmluZWQoU1RNMzJGMikgJiYgIWRlZmluZWQoU1RNMzJGNCkgJiYgIWRlZmluZWQoU1RNMzJGNykgJiYgIWRlZmluZWQoU1RNMzJMMSkKKyNpZiAhZGVmaW5lZChTVE0zMkYxKSAmJiAhZGVmaW5lZChTVE0zMkYyKSAmJiAhZGVmaW5lZChTVE0zMkY0KSAmJiAhZGVmaW5lZChTVE0zMkwxKQogI2RlZmluZSBlTU1DX0hJR0hfVk9MVEFHRV9SQU5HRSAgICAgRU1NQ19ISUdIX1ZPTFRBR0VfUkFOR0UKICNkZWZpbmUgZU1NQ19EVUFMX1ZPTFRBR0VfUkFOR0UgICAgIEVNTUNfRFVBTF9WT0xUQUdFX1JBTkdFCiAjZGVmaW5lIGVNTUNfTE9XX1ZPTFRBR0VfUkFOR0UgICAgICBFTU1DX0xPV19WT0xUQUdFX1JBTkdFCkBAIC0zOTY1LDYgKzM5ODcsMTYgQEAKICAgKiBAfQogICAqLwogCisvKiogQGRlZmdyb3VwIEhBTF9HZW5lcmljX0FsaWFzZWRfTWFjcm9zIEhBTCBHZW5lcmljIEFsaWFzZWQgTWFjcm9zIG1haW50YWluZWQgZm9yIGxlZ2FjeSBwdXJwb3NlCisgICogQHsKKyAgKi8KKyNpZiBkZWZpbmVkIChTVE0zMkY3KQorI2RlZmluZSBBUlRfQUNDTEVSQVRPUl9FTkFCTEUgQVJUX0FDQ0VMRVJBVE9SX0VOQUJMRQorI2VuZGlmIC8qIFNUTTMyRjcgKi8KKy8qKgorICAqIEB9CisgICovCisKIC8qKiBAZGVmZ3JvdXAgSEFMX1BQUF9BbGlhc2VkX01hY3JvcyBIQUwgUFBQIEFsaWFzZWQgTWFjcm9zIG1haW50YWluZWQgZm9yIGxlZ2FjeSBwdXJwb3NlCiAgICogQHsKICAgKi8KZGlmZiAtLWdpdCBhL0luYy9zdG0zMmY0eHhfaGFsX2NvbmZfdGVtcGxhdGUuaCBiL0luYy9zdG0zMmY0eHhfaGFsX2NvbmZfdGVtcGxhdGUuaAppbmRleCBkMzI1OTVmLi5jMGM0NDg0IDEwMDY0NAotLS0gYS9JbmMvc3RtMzJmNHh4X2hhbF9jb25mX3RlbXBsYXRlLmgKKysrIGIvSW5jL3N0bTMyZjR4eF9oYWxfY29uZl90ZW1wbGF0ZS5oCkBAIC0yMDksOCArMjA5LDggQEAKICNkZWZpbmUgTUFDX0FERFI1ICAgMFUKIAogLyogRGVmaW5pdGlvbiBvZiB0aGUgRXRoZXJuZXQgZHJpdmVyIGJ1ZmZlcnMgc2l6ZSBhbmQgY291bnQgKi8gICAKLSNkZWZpbmUgRVRIX1JYX0JVRl9TSVpFICAgICAgICAgICAgICAgIEVUSF9NQVhfUEFDS0VUX1NJWkUgLyogYnVmZmVyIHNpemUgZm9yIHJlY2VpdmUgICAgICAgICAgICAgICAqLwotI2RlZmluZSBFVEhfVFhfQlVGX1NJWkUgICAgICAgICAgICAgICAgRVRIX01BWF9QQUNLRVRfU0laRSAvKiBidWZmZXIgc2l6ZSBmb3IgdHJhbnNtaXQgICAgICAgICAgICAgICovCisjZGVmaW5lIEVUSF9SWF9CVUZfU0laRSAgICAgICAgICAgICAgICAxNTI4VSAgICAgICAgICAgICAgIC8qIEVUSCBNYXggYnVmZmVyIHNpemUgZm9yIHJlY2VpdmUgICAgICAgKi8KKyNkZWZpbmUgRVRIX1RYX0JVRl9TSVpFICAgICAgICAgICAgICAgIDE1MjhVICAgICAgICAgICAgICAgLyogRVRIIE1heCBidWZmZXIgc2l6ZSBmb3IgdHJhbnNtaXQgICAgICAqLwogI2RlZmluZSBFVEhfUlhCVUZOQiAgICAgICAgICAgICAgICAgICAgNFUgICAgICAgICAgICAgICAgICAvKiA0IFJ4IGJ1ZmZlcnMgb2Ygc2l6ZSBFVEhfUlhfQlVGX1NJWkUgICovCiAjZGVmaW5lIEVUSF9UWEJVRk5CICAgICAgICAgICAgICAgICAgICA0VSAgICAgICAgICAgICAgICAgIC8qIDQgVHggYnVmZmVycyBvZiBzaXplIEVUSF9UWF9CVUZfU0laRSAgKi8KIApkaWZmIC0tZ2l0IGEvSW5jL3N0bTMyZjR4eF9oYWxfZXRoLmggYi9JbmMvc3RtMzJmNHh4X2hhbF9ldGguaAppbmRleCA3Yjg3OTdlLi5iYTVhMDliIDEwMDY0NAotLS0gYS9JbmMvc3RtMzJmNHh4X2hhbF9ldGguaAorKysgYi9JbmMvc3RtMzJmNHh4X2hhbF9ldGguaApAQCAtNDAxLDcgKzQwMSw3IEBACiB0eXBlZGVmIGVudW0KIHsKICAgSEFMX0VUSF9NSUlfTU9ERSAgICAgICAgICAgICA9IDB4MDBVLCAgIC8qITwgIE1lZGlhIEluZGVwZW5kZW50IEludGVyZmFjZSAgICAgICAgICAgICAgICovCi0gIEhBTF9FVEhfUk1JSV9NT0RFICAgICAgICAgICAgPSAoKHVpbnQzMl90KVNZU0NGR19QTUNfTUlJX1JNSUlfU0VMKSAgICAvKiE8ICAgUmVkdWNlZCBNZWRpYSBJbmRlcGVuZGVudCBJbnRlcmZhY2UgICAgICAgKi8KKyAgSEFMX0VUSF9STUlJX01PREUgICAgICAgICAgICA9IFNZU0NGR19QTUNfTUlJX1JNSUlfU0VMICAgIC8qITwgICBSZWR1Y2VkIE1lZGlhIEluZGVwZW5kZW50IEludGVyZmFjZSAgICAgICAqLwogfSBFVEhfTWVkaWFJbnRlcmZhY2VUeXBlRGVmOwogLyoqCiAgICoKQEAgLTY5MSw1MSArNjkxLDUxIEBACiAvKioKICAgKiBAYnJpZWYgIEJpdCBkZWZpbml0aW9uIG9mIFRERVMwIHJlZ2lzdGVyOiBETUEgVHggZGVzY3JpcHRvciBzdGF0dXMgcmVnaXN0ZXIKICAgKi8KLSNkZWZpbmUgRVRIX0RNQVRYREVTQ19PV04gICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4ODAwMDAwMDBVKSAgLyohPCBPV04gYml0OiBkZXNjcmlwdG9yIGlzIG93bmVkIGJ5IERNQSBlbmdpbmUgKi8KLSNkZWZpbmUgRVRIX0RNQVRYREVTQ19JQyAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4NDAwMDAwMDBVKSAgLyohPCBJbnRlcnJ1cHQgb24gQ29tcGxldGlvbiAqLwotI2RlZmluZSBFVEhfRE1BVFhERVNDX0xTICAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgyMDAwMDAwMFUpICAvKiE8IExhc3QgU2VnbWVudCAqLwotI2RlZmluZSBFVEhfRE1BVFhERVNDX0ZTICAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgxMDAwMDAwMFUpICAvKiE8IEZpcnN0IFNlZ21lbnQgKi8KLSNkZWZpbmUgRVRIX0RNQVRYREVTQ19EQyAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDgwMDAwMDBVKSAgLyohPCBEaXNhYmxlIENSQyAqLwotI2RlZmluZSBFVEhfRE1BVFhERVNDX0RQICAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwNDAwMDAwMFUpICAvKiE8IERpc2FibGUgUGFkZGluZyAqLwotI2RlZmluZSBFVEhfRE1BVFhERVNDX1RUU0UgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMjAwMDAwMFUpICAvKiE8IFRyYW5zbWl0IFRpbWUgU3RhbXAgRW5hYmxlICovCi0jZGVmaW5lIEVUSF9ETUFUWERFU0NfQ0lDICAgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwQzAwMDAwVSkgIC8qITwgQ2hlY2tzdW0gSW5zZXJ0aW9uIENvbnRyb2w6IDQgY2FzZXMgKi8KLSNkZWZpbmUgRVRIX0RNQVRYREVTQ19DSUNfQllQQVNTICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDAwMDBVKSAgLyohPCBEbyBOb3RoaW5nOiBDaGVja3N1bSBFbmdpbmUgaXMgYnlwYXNzZWQgKi8KLSNkZWZpbmUgRVRIX0RNQVRYREVTQ19DSUNfSVBWNEhFQURFUiAgICAgICAgICAoKHVpbnQzMl90KTB4MDA0MDAwMDBVKSAgLyohPCBJUFY0IGhlYWRlciBDaGVja3N1bSBJbnNlcnRpb24gKi8KLSNkZWZpbmUgRVRIX0RNQVRYREVTQ19DSUNfVENQVURQSUNNUF9TRUdNRU5UICAoKHVpbnQzMl90KTB4MDA4MDAwMDBVKSAgLyohPCBUQ1AvVURQL0lDTVAgQ2hlY2tzdW0gSW5zZXJ0aW9uIGNhbGN1bGF0ZWQgb3ZlciBzZWdtZW50IG9ubHkgKi8KLSNkZWZpbmUgRVRIX0RNQVRYREVTQ19DSUNfVENQVURQSUNNUF9GVUxMICAgICAoKHVpbnQzMl90KTB4MDBDMDAwMDBVKSAgLyohPCBUQ1AvVURQL0lDTVAgQ2hlY2tzdW0gSW5zZXJ0aW9uIGZ1bGx5IGNhbGN1bGF0ZWQgKi8KLSNkZWZpbmUgRVRIX0RNQVRYREVTQ19URVIgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAyMDAwMDBVKSAgLyohPCBUcmFuc21pdCBFbmQgb2YgUmluZyAqLwotI2RlZmluZSBFVEhfRE1BVFhERVNDX1RDSCAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDEwMDAwMFUpICAvKiE8IFNlY29uZCBBZGRyZXNzIENoYWluZWQgKi8KLSNkZWZpbmUgRVRIX0RNQVRYREVTQ19UVFNTICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMjAwMDBVKSAgLyohPCBUeCBUaW1lIFN0YW1wIFN0YXR1cyAqLwotI2RlZmluZSBFVEhfRE1BVFhERVNDX0lIRSAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAxMDAwMFUpICAvKiE8IElQIEhlYWRlciBFcnJvciAqLwotI2RlZmluZSBFVEhfRE1BVFhERVNDX0VTICAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwODAwMFUpICAvKiE8IEVycm9yIHN1bW1hcnk6IE9SIG9mIHRoZSBmb2xsb3dpbmcgYml0czogVUUgfHwgRUQgfHwgRUMgfHwgTENPIHx8IE5DIHx8IExDQSB8fCBGRiB8fCBKVCAqLwotI2RlZmluZSBFVEhfRE1BVFhERVNDX0pUICAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwNDAwMFUpICAvKiE8IEphYmJlciBUaW1lb3V0ICovCi0jZGVmaW5lIEVUSF9ETUFUWERFU0NfRkYgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAyMDAwVSkgIC8qITwgRnJhbWUgRmx1c2hlZDogRE1BL01UTCBmbHVzaGVkIHRoZSBmcmFtZSBkdWUgdG8gU1cgZmx1c2ggKi8KLSNkZWZpbmUgRVRIX0RNQVRYREVTQ19QQ0UgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDEwMDBVKSAgLyohPCBQYXlsb2FkIENoZWNrc3VtIEVycm9yICovCi0jZGVmaW5lIEVUSF9ETUFUWERFU0NfTENBICAgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAwODAwVSkgIC8qITwgTG9zcyBvZiBDYXJyaWVyOiBjYXJyaWVyIGxvc3QgZHVyaW5nIHRyYW5zbWlzc2lvbiAqLwotI2RlZmluZSBFVEhfRE1BVFhERVNDX05DICAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwMDQwMFUpICAvKiE8IE5vIENhcnJpZXI6IG5vIGNhcnJpZXIgc2lnbmFsIGZyb20gdGhlIHRyYW5zY2VpdmVyICovCi0jZGVmaW5lIEVUSF9ETUFUWERFU0NfTENPICAgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAwMjAwVSkgIC8qITwgTGF0ZSBDb2xsaXNpb246IHRyYW5zbWlzc2lvbiBhYm9ydGVkIGR1ZSB0byBjb2xsaXNpb24gKi8KLSNkZWZpbmUgRVRIX0RNQVRYREVTQ19FQyAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDAxMDBVKSAgLyohPCBFeGNlc3NpdmUgQ29sbGlzaW9uOiB0cmFuc21pc3Npb24gYWJvcnRlZCBhZnRlciAxNiBjb2xsaXNpb25zICovCi0jZGVmaW5lIEVUSF9ETUFUWERFU0NfVkYgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAwMDgwVSkgIC8qITwgVkxBTiBGcmFtZSAqLwotI2RlZmluZSBFVEhfRE1BVFhERVNDX0NDICAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwMDA3OFUpICAvKiE8IENvbGxpc2lvbiBDb3VudCAqLwotI2RlZmluZSBFVEhfRE1BVFhERVNDX0VEICAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwMDAwNFUpICAvKiE8IEV4Y2Vzc2l2ZSBEZWZlcnJhbCAqLwotI2RlZmluZSBFVEhfRE1BVFhERVNDX1VGICAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwMDAwMlUpICAvKiE8IFVuZGVyZmxvdyBFcnJvcjogbGF0ZSBkYXRhIGFycml2YWwgZnJvbSB0aGUgbWVtb3J5ICovCi0jZGVmaW5lIEVUSF9ETUFUWERFU0NfREIgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAwMDAxVSkgIC8qITwgRGVmZXJyZWQgQml0ICovCisjZGVmaW5lIEVUSF9ETUFUWERFU0NfT1dOICAgICAgICAgICAgICAgICAgICAgMHg4MDAwMDAwMFUgIC8qITwgT1dOIGJpdDogZGVzY3JpcHRvciBpcyBvd25lZCBieSBETUEgZW5naW5lICovCisjZGVmaW5lIEVUSF9ETUFUWERFU0NfSUMgICAgICAgICAgICAgICAgICAgICAgMHg0MDAwMDAwMFUgIC8qITwgSW50ZXJydXB0IG9uIENvbXBsZXRpb24gKi8KKyNkZWZpbmUgRVRIX0RNQVRYREVTQ19MUyAgICAgICAgICAgICAgICAgICAgICAweDIwMDAwMDAwVSAgLyohPCBMYXN0IFNlZ21lbnQgKi8KKyNkZWZpbmUgRVRIX0RNQVRYREVTQ19GUyAgICAgICAgICAgICAgICAgICAgICAweDEwMDAwMDAwVSAgLyohPCBGaXJzdCBTZWdtZW50ICovCisjZGVmaW5lIEVUSF9ETUFUWERFU0NfREMgICAgICAgICAgICAgICAgICAgICAgMHgwODAwMDAwMFUgIC8qITwgRGlzYWJsZSBDUkMgKi8KKyNkZWZpbmUgRVRIX0RNQVRYREVTQ19EUCAgICAgICAgICAgICAgICAgICAgICAweDA0MDAwMDAwVSAgLyohPCBEaXNhYmxlIFBhZGRpbmcgKi8KKyNkZWZpbmUgRVRIX0RNQVRYREVTQ19UVFNFICAgICAgICAgICAgICAgICAgICAweDAyMDAwMDAwVSAgLyohPCBUcmFuc21pdCBUaW1lIFN0YW1wIEVuYWJsZSAqLworI2RlZmluZSBFVEhfRE1BVFhERVNDX0NJQyAgICAgICAgICAgICAgICAgICAgIDB4MDBDMDAwMDBVICAvKiE8IENoZWNrc3VtIEluc2VydGlvbiBDb250cm9sOiA0IGNhc2VzICovCisjZGVmaW5lIEVUSF9ETUFUWERFU0NfQ0lDX0JZUEFTUyAgICAgICAgICAgICAgMHgwMDAwMDAwMFUgIC8qITwgRG8gTm90aGluZzogQ2hlY2tzdW0gRW5naW5lIGlzIGJ5cGFzc2VkICovCisjZGVmaW5lIEVUSF9ETUFUWERFU0NfQ0lDX0lQVjRIRUFERVIgICAgICAgICAgMHgwMDQwMDAwMFUgIC8qITwgSVBWNCBoZWFkZXIgQ2hlY2tzdW0gSW5zZXJ0aW9uICovCisjZGVmaW5lIEVUSF9ETUFUWERFU0NfQ0lDX1RDUFVEUElDTVBfU0VHTUVOVCAgMHgwMDgwMDAwMFUgIC8qITwgVENQL1VEUC9JQ01QIENoZWNrc3VtIEluc2VydGlvbiBjYWxjdWxhdGVkIG92ZXIgc2VnbWVudCBvbmx5ICovCisjZGVmaW5lIEVUSF9ETUFUWERFU0NfQ0lDX1RDUFVEUElDTVBfRlVMTCAgICAgMHgwMEMwMDAwMFUgIC8qITwgVENQL1VEUC9JQ01QIENoZWNrc3VtIEluc2VydGlvbiBmdWxseSBjYWxjdWxhdGVkICovCisjZGVmaW5lIEVUSF9ETUFUWERFU0NfVEVSICAgICAgICAgICAgICAgICAgICAgMHgwMDIwMDAwMFUgIC8qITwgVHJhbnNtaXQgRW5kIG9mIFJpbmcgKi8KKyNkZWZpbmUgRVRIX0RNQVRYREVTQ19UQ0ggICAgICAgICAgICAgICAgICAgICAweDAwMTAwMDAwVSAgLyohPCBTZWNvbmQgQWRkcmVzcyBDaGFpbmVkICovCisjZGVmaW5lIEVUSF9ETUFUWERFU0NfVFRTUyAgICAgICAgICAgICAgICAgICAgMHgwMDAyMDAwMFUgIC8qITwgVHggVGltZSBTdGFtcCBTdGF0dXMgKi8KKyNkZWZpbmUgRVRIX0RNQVRYREVTQ19JSEUgICAgICAgICAgICAgICAgICAgICAweDAwMDEwMDAwVSAgLyohPCBJUCBIZWFkZXIgRXJyb3IgKi8KKyNkZWZpbmUgRVRIX0RNQVRYREVTQ19FUyAgICAgICAgICAgICAgICAgICAgICAweDAwMDA4MDAwVSAgLyohPCBFcnJvciBzdW1tYXJ5OiBPUiBvZiB0aGUgZm9sbG93aW5nIGJpdHM6IFVFIHx8IEVEIHx8IEVDIHx8IExDTyB8fCBOQyB8fCBMQ0EgfHwgRkYgfHwgSlQgKi8KKyNkZWZpbmUgRVRIX0RNQVRYREVTQ19KVCAgICAgICAgICAgICAgICAgICAgICAweDAwMDA0MDAwVSAgLyohPCBKYWJiZXIgVGltZW91dCAqLworI2RlZmluZSBFVEhfRE1BVFhERVNDX0ZGICAgICAgICAgICAgICAgICAgICAgIDB4MDAwMDIwMDBVICAvKiE8IEZyYW1lIEZsdXNoZWQ6IERNQS9NVEwgZmx1c2hlZCB0aGUgZnJhbWUgZHVlIHRvIFNXIGZsdXNoICovCisjZGVmaW5lIEVUSF9ETUFUWERFU0NfUENFICAgICAgICAgICAgICAgICAgICAgMHgwMDAwMTAwMFUgIC8qITwgUGF5bG9hZCBDaGVja3N1bSBFcnJvciAqLworI2RlZmluZSBFVEhfRE1BVFhERVNDX0xDQSAgICAgICAgICAgICAgICAgICAgIDB4MDAwMDA4MDBVICAvKiE8IExvc3Mgb2YgQ2FycmllcjogY2FycmllciBsb3N0IGR1cmluZyB0cmFuc21pc3Npb24gKi8KKyNkZWZpbmUgRVRIX0RNQVRYREVTQ19OQyAgICAgICAgICAgICAgICAgICAgICAweDAwMDAwNDAwVSAgLyohPCBObyBDYXJyaWVyOiBubyBjYXJyaWVyIHNpZ25hbCBmcm9tIHRoZSB0cmFuc2NlaXZlciAqLworI2RlZmluZSBFVEhfRE1BVFhERVNDX0xDTyAgICAgICAgICAgICAgICAgICAgIDB4MDAwMDAyMDBVICAvKiE8IExhdGUgQ29sbGlzaW9uOiB0cmFuc21pc3Npb24gYWJvcnRlZCBkdWUgdG8gY29sbGlzaW9uICovCisjZGVmaW5lIEVUSF9ETUFUWERFU0NfRUMgICAgICAgICAgICAgICAgICAgICAgMHgwMDAwMDEwMFUgIC8qITwgRXhjZXNzaXZlIENvbGxpc2lvbjogdHJhbnNtaXNzaW9uIGFib3J0ZWQgYWZ0ZXIgMTYgY29sbGlzaW9ucyAqLworI2RlZmluZSBFVEhfRE1BVFhERVNDX1ZGICAgICAgICAgICAgICAgICAgICAgIDB4MDAwMDAwODBVICAvKiE8IFZMQU4gRnJhbWUgKi8KKyNkZWZpbmUgRVRIX0RNQVRYREVTQ19DQyAgICAgICAgICAgICAgICAgICAgICAweDAwMDAwMDc4VSAgLyohPCBDb2xsaXNpb24gQ291bnQgKi8KKyNkZWZpbmUgRVRIX0RNQVRYREVTQ19FRCAgICAgICAgICAgICAgICAgICAgICAweDAwMDAwMDA0VSAgLyohPCBFeGNlc3NpdmUgRGVmZXJyYWwgKi8KKyNkZWZpbmUgRVRIX0RNQVRYREVTQ19VRiAgICAgICAgICAgICAgICAgICAgICAweDAwMDAwMDAyVSAgLyohPCBVbmRlcmZsb3cgRXJyb3I6IGxhdGUgZGF0YSBhcnJpdmFsIGZyb20gdGhlIG1lbW9yeSAqLworI2RlZmluZSBFVEhfRE1BVFhERVNDX0RCICAgICAgICAgICAgICAgICAgICAgIDB4MDAwMDAwMDFVICAvKiE8IERlZmVycmVkIEJpdCAqLwogCiAvKioKICAgKiBAYnJpZWYgIEJpdCBkZWZpbml0aW9uIG9mIFRERVMxIHJlZ2lzdGVyCiAgICovCi0jZGVmaW5lIEVUSF9ETUFUWERFU0NfVEJTMiAgKCh1aW50MzJfdCkweDFGRkYwMDAwVSkgIC8qITwgVHJhbnNtaXQgQnVmZmVyMiBTaXplICovCi0jZGVmaW5lIEVUSF9ETUFUWERFU0NfVEJTMSAgKCh1aW50MzJfdCkweDAwMDAxRkZGVSkgIC8qITwgVHJhbnNtaXQgQnVmZmVyMSBTaXplICovCisjZGVmaW5lIEVUSF9ETUFUWERFU0NfVEJTMiAgICAgICAgICAgICAgICAgICAgMHgxRkZGMDAwMFUgIC8qITwgVHJhbnNtaXQgQnVmZmVyMiBTaXplICovCisjZGVmaW5lIEVUSF9ETUFUWERFU0NfVEJTMSAgICAgICAgICAgICAgICAgICAgMHgwMDAwMUZGRlUgIC8qITwgVHJhbnNtaXQgQnVmZmVyMSBTaXplICovCiAKIC8qKgogICAqIEBicmllZiAgQml0IGRlZmluaXRpb24gb2YgVERFUzIgcmVnaXN0ZXIKICAgKi8KLSNkZWZpbmUgRVRIX0RNQVRYREVTQ19CMUFQICAoKHVpbnQzMl90KTB4RkZGRkZGRkZVKSAgLyohPCBCdWZmZXIxIEFkZHJlc3MgUG9pbnRlciAqLworI2RlZmluZSBFVEhfRE1BVFhERVNDX0IxQVAgICAgICAgICAgICAgICAgICAgIDB4RkZGRkZGRkZVICAvKiE8IEJ1ZmZlcjEgQWRkcmVzcyBQb2ludGVyICovCiAKIC8qKgogICAqIEBicmllZiAgQml0IGRlZmluaXRpb24gb2YgVERFUzMgcmVnaXN0ZXIKICAgKi8KLSNkZWZpbmUgRVRIX0RNQVRYREVTQ19CMkFQICAoKHVpbnQzMl90KTB4RkZGRkZGRkZVKSAgLyohPCBCdWZmZXIyIEFkZHJlc3MgUG9pbnRlciAqLworI2RlZmluZSBFVEhfRE1BVFhERVNDX0IyQVAgICAgICAgICAgICAgICAgICAgIDB4RkZGRkZGRkZVICAvKiE8IEJ1ZmZlcjIgQWRkcmVzcyBQb2ludGVyICovCiAKIC8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiBUREVTNiB8ICAgICAgICAgICAgICAgICAgICAgICAgIFRyYW5zbWl0IFRpbWUgU3RhbXAgTG93IFszMTowXSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwKQEAgLTc0NCwxMCArNzQ0LDEwIEBACiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8KIAogLyogQml0IGRlZmluaXRpb24gb2YgVERFUzYgcmVnaXN0ZXIgKi8KLSNkZWZpbmUgRVRIX0RNQVBUUFRYREVTQ19UVFNMICAoKHVpbnQzMl90KTB4RkZGRkZGRkZVKSAgLyogVHJhbnNtaXQgVGltZSBTdGFtcCBMb3cgKi8KKyNkZWZpbmUgRVRIX0RNQVBUUFRYREVTQ19UVFNMICAgICAgICAgICAgICAgICAweEZGRkZGRkZGVSAgLyogVHJhbnNtaXQgVGltZSBTdGFtcCBMb3cgKi8KIAogLyogQml0IGRlZmluaXRpb24gb2YgVERFUzcgcmVnaXN0ZXIgKi8KLSNkZWZpbmUgRVRIX0RNQVBUUFRYREVTQ19UVFNIICAoKHVpbnQzMl90KTB4RkZGRkZGRkZVKSAgLyogVHJhbnNtaXQgVGltZSBTdGFtcCBIaWdoICovCisjZGVmaW5lIEVUSF9ETUFQVFBUWERFU0NfVFRTSCAgICAgICAgICAgICAgICAgMHhGRkZGRkZGRlUgIC8qIFRyYW5zbWl0IFRpbWUgU3RhbXAgSGlnaCAqLwogCiAvKioKICAgKiBAfQpAQCAtNzc0LDQ0ICs3NzQsNDQgQEAKIC8qKgogICAqIEBicmllZiAgQml0IGRlZmluaXRpb24gb2YgUkRFUzAgcmVnaXN0ZXI6IERNQSBSeCBkZXNjcmlwdG9yIHN0YXR1cyByZWdpc3RlcgogICAqLwotI2RlZmluZSBFVEhfRE1BUlhERVNDX09XTiAgICAgICAgICgodWludDMyX3QpMHg4MDAwMDAwMFUpICAvKiE8IE9XTiBiaXQ6IGRlc2NyaXB0b3IgaXMgb3duZWQgYnkgRE1BIGVuZ2luZSAgKi8KLSNkZWZpbmUgRVRIX0RNQVJYREVTQ19BRk0gICAgICAgICAoKHVpbnQzMl90KTB4NDAwMDAwMDBVKSAgLyohPCBEQSBGaWx0ZXIgRmFpbCBmb3IgdGhlIHJ4IGZyYW1lICAqLwotI2RlZmluZSBFVEhfRE1BUlhERVNDX0ZMICAgICAgICAgICgodWludDMyX3QpMHgzRkZGMDAwMFUpICAvKiE8IFJlY2VpdmUgZGVzY3JpcHRvciBmcmFtZSBsZW5ndGggICovCi0jZGVmaW5lIEVUSF9ETUFSWERFU0NfRVMgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDA4MDAwVSkgIC8qITwgRXJyb3Igc3VtbWFyeTogT1Igb2YgdGhlIGZvbGxvd2luZyBiaXRzOiBERSB8fCBPRSB8fCBJUEMgfHwgTEMgfHwgUldUIHx8IFJFIHx8IENFICovCi0jZGVmaW5lIEVUSF9ETUFSWERFU0NfREUgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDA0MDAwVSkgIC8qITwgRGVzY3JpcHRvciBlcnJvcjogbm8gbW9yZSBkZXNjcmlwdG9ycyBmb3IgcmVjZWl2ZSBmcmFtZSAgKi8KLSNkZWZpbmUgRVRIX0RNQVJYREVTQ19TQUYgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDIwMDBVKSAgLyohPCBTQSBGaWx0ZXIgRmFpbCBmb3IgdGhlIHJlY2VpdmVkIGZyYW1lICovCi0jZGVmaW5lIEVUSF9ETUFSWERFU0NfTEUgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAxMDAwVSkgIC8qITwgRnJhbWUgc2l6ZSBub3QgbWF0Y2hpbmcgd2l0aCBsZW5ndGggZmllbGQgKi8KLSNkZWZpbmUgRVRIX0RNQVJYREVTQ19PRSAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDA4MDBVKSAgLyohPCBPdmVyZmxvdyBFcnJvcjogRnJhbWUgd2FzIGRhbWFnZWQgZHVlIHRvIGJ1ZmZlciBvdmVyZmxvdyAqLwotI2RlZmluZSBFVEhfRE1BUlhERVNDX1ZMQU4gICAgICAgICgodWludDMyX3QpMHgwMDAwMDQwMFUpICAvKiE8IFZMQU4gVGFnOiByZWNlaXZlZCBmcmFtZSBpcyBhIFZMQU4gZnJhbWUgKi8KLSNkZWZpbmUgRVRIX0RNQVJYREVTQ19GUyAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDAyMDBVKSAgLyohPCBGaXJzdCBkZXNjcmlwdG9yIG9mIHRoZSBmcmFtZSAgKi8KLSNkZWZpbmUgRVRIX0RNQVJYREVTQ19MUyAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDAxMDBVKSAgLyohPCBMYXN0IGRlc2NyaXB0b3Igb2YgdGhlIGZyYW1lICAqLwotI2RlZmluZSBFVEhfRE1BUlhERVNDX0lQVjRIQ0UgICAgICgodWludDMyX3QpMHgwMDAwMDA4MFUpICAvKiE8IElQQyBDaGVja3N1bSBFcnJvcjogUnggSXB2NCBoZWFkZXIgY2hlY2tzdW0gZXJyb3IgICAqLwotI2RlZmluZSBFVEhfRE1BUlhERVNDX0xDICAgICAgICAgICgodWludDMyX3QpMHgwMDAwMDA0MFUpICAvKiE8IExhdGUgY29sbGlzaW9uIG9jY3VycmVkIGR1cmluZyByZWNlcHRpb24gICAqLwotI2RlZmluZSBFVEhfRE1BUlhERVNDX0ZUICAgICAgICAgICgodWludDMyX3QpMHgwMDAwMDAyMFUpICAvKiE8IEZyYW1lIHR5cGUgLSBFdGhlcm5ldCwgb3RoZXJ3aXNlIDgwMi4zICAgICovCi0jZGVmaW5lIEVUSF9ETUFSWERFU0NfUldUICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAwMDEwVSkgIC8qITwgUmVjZWl2ZSBXYXRjaGRvZyBUaW1lb3V0OiB3YXRjaGRvZyB0aW1lciBleHBpcmVkIGR1cmluZyByZWNlcHRpb24gICAgKi8KLSNkZWZpbmUgRVRIX0RNQVJYREVTQ19SRSAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDAwMDhVKSAgLyohPCBSZWNlaXZlIGVycm9yOiBlcnJvciByZXBvcnRlZCBieSBNSUkgaW50ZXJmYWNlICAqLwotI2RlZmluZSBFVEhfRE1BUlhERVNDX0RCRSAgICAgICAgICgodWludDMyX3QpMHgwMDAwMDAwNFUpICAvKiE8IERyaWJibGUgYml0IGVycm9yOiBmcmFtZSBjb250YWlucyBub24gaW50IG11bHRpcGxlIG9mIDggYml0cyAgKi8KLSNkZWZpbmUgRVRIX0RNQVJYREVTQ19DRSAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDAwMDJVKSAgLyohPCBDUkMgZXJyb3IgKi8KLSNkZWZpbmUgRVRIX0RNQVJYREVTQ19NQU1QQ0UgICAgICAoKHVpbnQzMl90KTB4MDAwMDAwMDFVKSAgLyohPCBSeCBNQUMgQWRkcmVzcy9QYXlsb2FkIENoZWNrc3VtIEVycm9yOiBSeCBNQUMgYWRkcmVzcyBtYXRjaGVkLyBSeCBQYXlsb2FkIENoZWNrc3VtIEVycm9yICovCisjZGVmaW5lIEVUSF9ETUFSWERFU0NfT1dOICAgICAgICAgMHg4MDAwMDAwMFUgIC8qITwgT1dOIGJpdDogZGVzY3JpcHRvciBpcyBvd25lZCBieSBETUEgZW5naW5lICAqLworI2RlZmluZSBFVEhfRE1BUlhERVNDX0FGTSAgICAgICAgIDB4NDAwMDAwMDBVICAvKiE8IERBIEZpbHRlciBGYWlsIGZvciB0aGUgcnggZnJhbWUgICovCisjZGVmaW5lIEVUSF9ETUFSWERFU0NfRkwgICAgICAgICAgMHgzRkZGMDAwMFUgIC8qITwgUmVjZWl2ZSBkZXNjcmlwdG9yIGZyYW1lIGxlbmd0aCAgKi8KKyNkZWZpbmUgRVRIX0RNQVJYREVTQ19FUyAgICAgICAgICAweDAwMDA4MDAwVSAgLyohPCBFcnJvciBzdW1tYXJ5OiBPUiBvZiB0aGUgZm9sbG93aW5nIGJpdHM6IERFIHx8IE9FIHx8IElQQyB8fCBMQyB8fCBSV1QgfHwgUkUgfHwgQ0UgKi8KKyNkZWZpbmUgRVRIX0RNQVJYREVTQ19ERSAgICAgICAgICAweDAwMDA0MDAwVSAgLyohPCBEZXNjcmlwdG9yIGVycm9yOiBubyBtb3JlIGRlc2NyaXB0b3JzIGZvciByZWNlaXZlIGZyYW1lICAqLworI2RlZmluZSBFVEhfRE1BUlhERVNDX1NBRiAgICAgICAgIDB4MDAwMDIwMDBVICAvKiE8IFNBIEZpbHRlciBGYWlsIGZvciB0aGUgcmVjZWl2ZWQgZnJhbWUgKi8KKyNkZWZpbmUgRVRIX0RNQVJYREVTQ19MRSAgICAgICAgICAweDAwMDAxMDAwVSAgLyohPCBGcmFtZSBzaXplIG5vdCBtYXRjaGluZyB3aXRoIGxlbmd0aCBmaWVsZCAqLworI2RlZmluZSBFVEhfRE1BUlhERVNDX09FICAgICAgICAgIDB4MDAwMDA4MDBVICAvKiE8IE92ZXJmbG93IEVycm9yOiBGcmFtZSB3YXMgZGFtYWdlZCBkdWUgdG8gYnVmZmVyIG92ZXJmbG93ICovCisjZGVmaW5lIEVUSF9ETUFSWERFU0NfVkxBTiAgICAgICAgMHgwMDAwMDQwMFUgIC8qITwgVkxBTiBUYWc6IHJlY2VpdmVkIGZyYW1lIGlzIGEgVkxBTiBmcmFtZSAqLworI2RlZmluZSBFVEhfRE1BUlhERVNDX0ZTICAgICAgICAgIDB4MDAwMDAyMDBVICAvKiE8IEZpcnN0IGRlc2NyaXB0b3Igb2YgdGhlIGZyYW1lICAqLworI2RlZmluZSBFVEhfRE1BUlhERVNDX0xTICAgICAgICAgIDB4MDAwMDAxMDBVICAvKiE8IExhc3QgZGVzY3JpcHRvciBvZiB0aGUgZnJhbWUgICovCisjZGVmaW5lIEVUSF9ETUFSWERFU0NfSVBWNEhDRSAgICAgMHgwMDAwMDA4MFUgIC8qITwgSVBDIENoZWNrc3VtIEVycm9yOiBSeCBJcHY0IGhlYWRlciBjaGVja3N1bSBlcnJvciAgICovCisjZGVmaW5lIEVUSF9ETUFSWERFU0NfTEMgICAgICAgICAgMHgwMDAwMDA0MFUgIC8qITwgTGF0ZSBjb2xsaXNpb24gb2NjdXJyZWQgZHVyaW5nIHJlY2VwdGlvbiAgICovCisjZGVmaW5lIEVUSF9ETUFSWERFU0NfRlQgICAgICAgICAgMHgwMDAwMDAyMFUgIC8qITwgRnJhbWUgdHlwZSAtIEV0aGVybmV0LCBvdGhlcndpc2UgODAyLjMgICAgKi8KKyNkZWZpbmUgRVRIX0RNQVJYREVTQ19SV1QgICAgICAgICAweDAwMDAwMDEwVSAgLyohPCBSZWNlaXZlIFdhdGNoZG9nIFRpbWVvdXQ6IHdhdGNoZG9nIHRpbWVyIGV4cGlyZWQgZHVyaW5nIHJlY2VwdGlvbiAgICAqLworI2RlZmluZSBFVEhfRE1BUlhERVNDX1JFICAgICAgICAgIDB4MDAwMDAwMDhVICAvKiE8IFJlY2VpdmUgZXJyb3I6IGVycm9yIHJlcG9ydGVkIGJ5IE1JSSBpbnRlcmZhY2UgICovCisjZGVmaW5lIEVUSF9ETUFSWERFU0NfREJFICAgICAgICAgMHgwMDAwMDAwNFUgIC8qITwgRHJpYmJsZSBiaXQgZXJyb3I6IGZyYW1lIGNvbnRhaW5zIG5vbiBpbnQgbXVsdGlwbGUgb2YgOCBiaXRzICAqLworI2RlZmluZSBFVEhfRE1BUlhERVNDX0NFICAgICAgICAgIDB4MDAwMDAwMDJVICAvKiE8IENSQyBlcnJvciAqLworI2RlZmluZSBFVEhfRE1BUlhERVNDX01BTVBDRSAgICAgIDB4MDAwMDAwMDFVICAvKiE8IFJ4IE1BQyBBZGRyZXNzL1BheWxvYWQgQ2hlY2tzdW0gRXJyb3I6IFJ4IE1BQyBhZGRyZXNzIG1hdGNoZWQvIFJ4IFBheWxvYWQgQ2hlY2tzdW0gRXJyb3IgKi8KIAogLyoqCiAgICogQGJyaWVmICBCaXQgZGVmaW5pdGlvbiBvZiBSREVTMSByZWdpc3RlcgogICAqLwotI2RlZmluZSBFVEhfRE1BUlhERVNDX0RJQyAgICgodWludDMyX3QpMHg4MDAwMDAwMFUpICAvKiE8IERpc2FibGUgSW50ZXJydXB0IG9uIENvbXBsZXRpb24gKi8KLSNkZWZpbmUgRVRIX0RNQVJYREVTQ19SQlMyICAoKHVpbnQzMl90KTB4MUZGRjAwMDBVKSAgLyohPCBSZWNlaXZlIEJ1ZmZlcjIgU2l6ZSAqLwotI2RlZmluZSBFVEhfRE1BUlhERVNDX1JFUiAgICgodWludDMyX3QpMHgwMDAwODAwMFUpICAvKiE8IFJlY2VpdmUgRW5kIG9mIFJpbmcgKi8KLSNkZWZpbmUgRVRIX0RNQVJYREVTQ19SQ0ggICAoKHVpbnQzMl90KTB4MDAwMDQwMDBVKSAgLyohPCBTZWNvbmQgQWRkcmVzcyBDaGFpbmVkICovCi0jZGVmaW5lIEVUSF9ETUFSWERFU0NfUkJTMSAgKCh1aW50MzJfdCkweDAwMDAxRkZGVSkgIC8qITwgUmVjZWl2ZSBCdWZmZXIxIFNpemUgKi8KKyNkZWZpbmUgRVRIX0RNQVJYREVTQ19ESUMgICAgICAgICAweDgwMDAwMDAwVSAgLyohPCBEaXNhYmxlIEludGVycnVwdCBvbiBDb21wbGV0aW9uICovCisjZGVmaW5lIEVUSF9ETUFSWERFU0NfUkJTMiAgICAgICAgMHgxRkZGMDAwMFUgIC8qITwgUmVjZWl2ZSBCdWZmZXIyIFNpemUgKi8KKyNkZWZpbmUgRVRIX0RNQVJYREVTQ19SRVIgICAgICAgICAweDAwMDA4MDAwVSAgLyohPCBSZWNlaXZlIEVuZCBvZiBSaW5nICovCisjZGVmaW5lIEVUSF9ETUFSWERFU0NfUkNIICAgICAgICAgMHgwMDAwNDAwMFUgIC8qITwgU2Vjb25kIEFkZHJlc3MgQ2hhaW5lZCAqLworI2RlZmluZSBFVEhfRE1BUlhERVNDX1JCUzEgICAgICAgIDB4MDAwMDFGRkZVICAvKiE8IFJlY2VpdmUgQnVmZmVyMSBTaXplICovCiAKIC8qKgogICAqIEBicmllZiAgQml0IGRlZmluaXRpb24gb2YgUkRFUzIgcmVnaXN0ZXIKICAgKi8KLSNkZWZpbmUgRVRIX0RNQVJYREVTQ19CMUFQICAoKHVpbnQzMl90KTB4RkZGRkZGRkZVKSAgLyohPCBCdWZmZXIxIEFkZHJlc3MgUG9pbnRlciAqLworI2RlZmluZSBFVEhfRE1BUlhERVNDX0IxQVAgICAgICAgIDB4RkZGRkZGRkZVICAvKiE8IEJ1ZmZlcjEgQWRkcmVzcyBQb2ludGVyICovCiAKIC8qKgogICAqIEBicmllZiAgQml0IGRlZmluaXRpb24gb2YgUkRFUzMgcmVnaXN0ZXIKICAgKi8KLSNkZWZpbmUgRVRIX0RNQVJYREVTQ19CMkFQICAoKHVpbnQzMl90KTB4RkZGRkZGRkZVKSAgLyohPCBCdWZmZXIyIEFkZHJlc3MgUG9pbnRlciAqLworI2RlZmluZSBFVEhfRE1BUlhERVNDX0IyQVAgICAgICAgIDB4RkZGRkZGRkZVICAvKiE8IEJ1ZmZlcjIgQWRkcmVzcyBQb2ludGVyICovCiAKIC8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiAgIFJERVM0IHwgICAgICAgICAgICAgICAgICAgUmVzZXJ2ZWRbMzE6MTVdICAgICAgICAgICAgICB8ICAgICAgICAgICAgIEV4dGVuZGVkIFN0YXR1cyBbMTQ6MF0gICAgICAgICAgICAgICAgICAgICAgICAgIHwKQEAgLTgyNCw0NyArODI0LDQ3IEBACiAgIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8KIAogLyogQml0IGRlZmluaXRpb24gb2YgUkRFUzQgcmVnaXN0ZXIgKi8KLSNkZWZpbmUgRVRIX0RNQVBUUFJYREVTQ19QVFBWICAgICAgICAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwMjAwMFUpICAvKiBQVFAgVmVyc2lvbiAqLwotI2RlZmluZSBFVEhfRE1BUFRQUlhERVNDX1BUUEZUICAgICAgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAxMDAwVSkgIC8qIFBUUCBGcmFtZSBUeXBlICovCi0jZGVmaW5lIEVUSF9ETUFQVFBSWERFU0NfUFRQTVQgICAgICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDBGMDBVKSAgLyogUFRQIE1lc3NhZ2UgVHlwZSAqLwotI2RlZmluZSBFVEhfRE1BUFRQUlhERVNDX1BUUE1UX1NZTkMgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAwMTAwVSkgIC8qIFNZTkMgbWVzc2FnZQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChhbGwgY2xvY2sgdHlwZXMpICovCi0jZGVmaW5lIEVUSF9ETUFQVFBSWERFU0NfUFRQTVRfRk9MTE9XVVAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDAyMDBVKSAgLyogRm9sbG93VXAgbWVzc2FnZQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChhbGwgY2xvY2sgdHlwZXMpICovCi0jZGVmaW5lIEVUSF9ETUFQVFBSWERFU0NfUFRQTVRfREVMQVlSRVEgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDAzMDBVKSAgLyogRGVsYXlSZXEgbWVzc2FnZQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChhbGwgY2xvY2sgdHlwZXMpICovCi0jZGVmaW5lIEVUSF9ETUFQVFBSWERFU0NfUFRQTVRfREVMQVlSRVNQICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDA0MDBVKSAgLyogRGVsYXlSZXNwIG1lc3NhZ2UKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoYWxsIGNsb2NrIHR5cGVzKSAqLwotI2RlZmluZSBFVEhfRE1BUFRQUlhERVNDX1BUUE1UX1BERUxBWVJFUV9BTk5PVU5DRSAgICAgICAgKCh1aW50MzJfdCkweDAwMDAwNTAwVSkgIC8qIFBkZWxheVJlcSBtZXNzYWdlCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKHBlZXItdG8tcGVlciB0cmFuc3BhcmVudCBjbG9jaykKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgb3IgQW5ub3VuY2UgbWVzc2FnZSAoT3JkaW5hcnkKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgb3IgQm91bmRhcnkgY2xvY2spICovCi0jZGVmaW5lIEVUSF9ETUFQVFBSWERFU0NfUFRQTVRfUERFTEFZUkVTUF9NQU5BRyAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDA2MDBVKSAgLyogUGRlbGF5UmVzcCBtZXNzYWdlCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKHBlZXItdG8tcGVlciB0cmFuc3BhcmVudCBjbG9jaykKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgb3IgTWFuYWdlbWVudCBtZXNzYWdlIChPcmRpbmFyeQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBvciBCb3VuZGFyeSBjbG9jaykgICovCi0jZGVmaW5lIEVUSF9ETUFQVFBSWERFU0NfUFRQTVRfUERFTEFZUkVTUEZPTExPV1VQX1NJR05BTCAoKHVpbnQzMl90KTB4MDAwMDA3MDBVKSAgLyogUGRlbGF5UmVzcEZvbGxvd1VwIG1lc3NhZ2UKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChwZWVyLXRvLXBlZXIgdHJhbnNwYXJlbnQgY2xvY2spCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgb3IgU2lnbmFsaW5nIG1lc3NhZ2UgKE9yZGluYXJ5Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgb3IgQm91bmRhcnkgY2xvY2spICovCi0jZGVmaW5lIEVUSF9ETUFQVFBSWERFU0NfSVBWNlBSICAgICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDAwODBVKSAgLyogSVB2NiBQYWNrZXQgUmVjZWl2ZWQgKi8KLSNkZWZpbmUgRVRIX0RNQVBUUFJYREVTQ19JUFY0UFIgICAgICAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwMDA0MFUpICAvKiBJUHY0IFBhY2tldCBSZWNlaXZlZCAqLwotI2RlZmluZSBFVEhfRE1BUFRQUlhERVNDX0lQQ0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAwMDIwVSkgIC8qIElQIENoZWNrc3VtIEJ5cGFzc2VkICovCi0jZGVmaW5lIEVUSF9ETUFQVFBSWERFU0NfSVBQRSAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDAwMTBVKSAgLyogSVAgUGF5bG9hZCBFcnJvciAqLwotI2RlZmluZSBFVEhfRE1BUFRQUlhERVNDX0lQSEUgICAgICAgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAwMDA4VSkgIC8qIElQIEhlYWRlciBFcnJvciAqLwotI2RlZmluZSBFVEhfRE1BUFRQUlhERVNDX0lQUFQgICAgICAgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAwMDA3VSkgIC8qIElQIFBheWxvYWQgVHlwZSAqLwotI2RlZmluZSBFVEhfRE1BUFRQUlhERVNDX0lQUFRfVURQICAgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAwMDAxVSkgIC8qIFVEUCBwYXlsb2FkIGVuY2Fwc3VsYXRlZCBpbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoZSBJUCBkYXRhZ3JhbSAqLwotI2RlZmluZSBFVEhfRE1BUFRQUlhERVNDX0lQUFRfVENQICAgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAwMDAyVSkgIC8qIFRDUCBwYXlsb2FkIGVuY2Fwc3VsYXRlZCBpbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoZSBJUCBkYXRhZ3JhbSAqLwotI2RlZmluZSBFVEhfRE1BUFRQUlhERVNDX0lQUFRfSUNNUCAgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAwMDAzVSkgIC8qIElDTVAgcGF5bG9hZCBlbmNhcHN1bGF0ZWQgaW4KKyNkZWZpbmUgRVRIX0RNQVBUUFJYREVTQ19QVFBWICAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4MDAwMDIwMDBVICAvKiBQVFAgVmVyc2lvbiAqLworI2RlZmluZSBFVEhfRE1BUFRQUlhERVNDX1BUUEZUICAgICAgICAgICAgICAgICAgICAgICAgICAgMHgwMDAwMTAwMFUgIC8qIFBUUCBGcmFtZSBUeXBlICovCisjZGVmaW5lIEVUSF9ETUFQVFBSWERFU0NfUFRQTVQgICAgICAgICAgICAgICAgICAgICAgICAgICAweDAwMDAwRjAwVSAgLyogUFRQIE1lc3NhZ2UgVHlwZSAqLworI2RlZmluZSBFVEhfRE1BUFRQUlhERVNDX1BUUE1UX1NZTkMgICAgICAgICAgICAgICAgICAgICAgMHgwMDAwMDEwMFUgIC8qIFNZTkMgbWVzc2FnZQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoYWxsIGNsb2NrIHR5cGVzKSAqLworI2RlZmluZSBFVEhfRE1BUFRQUlhERVNDX1BUUE1UX0ZPTExPV1VQICAgICAgICAgICAgICAgICAgMHgwMDAwMDIwMFUgIC8qIEZvbGxvd1VwIG1lc3NhZ2UKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKGFsbCBjbG9jayB0eXBlcykgKi8KKyNkZWZpbmUgRVRIX0RNQVBUUFJYREVTQ19QVFBNVF9ERUxBWVJFUSAgICAgICAgICAgICAgICAgIDB4MDAwMDAzMDBVICAvKiBEZWxheVJlcSBtZXNzYWdlCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChhbGwgY2xvY2sgdHlwZXMpICovCisjZGVmaW5lIEVUSF9ETUFQVFBSWERFU0NfUFRQTVRfREVMQVlSRVNQICAgICAgICAgICAgICAgICAweDAwMDAwNDAwVSAgLyogRGVsYXlSZXNwIG1lc3NhZ2UKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKGFsbCBjbG9jayB0eXBlcykgKi8KKyNkZWZpbmUgRVRIX0RNQVBUUFJYREVTQ19QVFBNVF9QREVMQVlSRVFfQU5OT1VOQ0UgICAgICAgIDB4MDAwMDA1MDBVICAvKiBQZGVsYXlSZXEgbWVzc2FnZQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAocGVlci10by1wZWVyIHRyYW5zcGFyZW50IGNsb2NrKQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgb3IgQW5ub3VuY2UgbWVzc2FnZSAoT3JkaW5hcnkKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9yIEJvdW5kYXJ5IGNsb2NrKSAqLworI2RlZmluZSBFVEhfRE1BUFRQUlhERVNDX1BUUE1UX1BERUxBWVJFU1BfTUFOQUcgICAgICAgICAgMHgwMDAwMDYwMFUgIC8qIFBkZWxheVJlc3AgbWVzc2FnZQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAocGVlci10by1wZWVyIHRyYW5zcGFyZW50IGNsb2NrKQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgb3IgTWFuYWdlbWVudCBtZXNzYWdlIChPcmRpbmFyeQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgb3IgQm91bmRhcnkgY2xvY2spICAqLworI2RlZmluZSBFVEhfRE1BUFRQUlhERVNDX1BUUE1UX1BERUxBWVJFU1BGT0xMT1dVUF9TSUdOQUwgMHgwMDAwMDcwMFUgIC8qIFBkZWxheVJlc3BGb2xsb3dVcCBtZXNzYWdlCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKHBlZXItdG8tcGVlciB0cmFuc3BhcmVudCBjbG9jaykKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgb3IgU2lnbmFsaW5nIG1lc3NhZ2UgKE9yZGluYXJ5CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9yIEJvdW5kYXJ5IGNsb2NrKSAqLworI2RlZmluZSBFVEhfRE1BUFRQUlhERVNDX0lQVjZQUiAgICAgICAgICAgICAgICAgICAgICAgICAgMHgwMDAwMDA4MFUgIC8qIElQdjYgUGFja2V0IFJlY2VpdmVkICovCisjZGVmaW5lIEVUSF9ETUFQVFBSWERFU0NfSVBWNFBSICAgICAgICAgICAgICAgICAgICAgICAgICAweDAwMDAwMDQwVSAgLyogSVB2NCBQYWNrZXQgUmVjZWl2ZWQgKi8KKyNkZWZpbmUgRVRIX0RNQVBUUFJYREVTQ19JUENCICAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4MDAwMDAwMjBVICAvKiBJUCBDaGVja3N1bSBCeXBhc3NlZCAqLworI2RlZmluZSBFVEhfRE1BUFRQUlhERVNDX0lQUEUgICAgICAgICAgICAgICAgICAgICAgICAgICAgMHgwMDAwMDAxMFUgIC8qIElQIFBheWxvYWQgRXJyb3IgKi8KKyNkZWZpbmUgRVRIX0RNQVBUUFJYREVTQ19JUEhFICAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4MDAwMDAwMDhVICAvKiBJUCBIZWFkZXIgRXJyb3IgKi8KKyNkZWZpbmUgRVRIX0RNQVBUUFJYREVTQ19JUFBUICAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4MDAwMDAwMDdVICAvKiBJUCBQYXlsb2FkIFR5cGUgKi8KKyNkZWZpbmUgRVRIX0RNQVBUUFJYREVTQ19JUFBUX1VEUCAgICAgICAgICAgICAgICAgICAgICAgIDB4MDAwMDAwMDFVICAvKiBVRFAgcGF5bG9hZCBlbmNhcHN1bGF0ZWQgaW4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhlIElQIGRhdGFncmFtICovCisjZGVmaW5lIEVUSF9ETUFQVFBSWERFU0NfSVBQVF9UQ1AgICAgICAgICAgICAgICAgICAgICAgICAweDAwMDAwMDAyVSAgLyogVENQIHBheWxvYWQgZW5jYXBzdWxhdGVkIGluCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoZSBJUCBkYXRhZ3JhbSAqLworI2RlZmluZSBFVEhfRE1BUFRQUlhERVNDX0lQUFRfSUNNUCAgICAgICAgICAgICAgICAgICAgICAgMHgwMDAwMDAwM1UgIC8qIElDTVAgcGF5bG9hZCBlbmNhcHN1bGF0ZWQgaW4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGUgSVAgZGF0YWdyYW0gKi8KIAogLyogQml0IGRlZmluaXRpb24gb2YgUkRFUzYgcmVnaXN0ZXIgKi8KLSNkZWZpbmUgRVRIX0RNQVBUUFJYREVTQ19SVFNMICAoKHVpbnQzMl90KTB4RkZGRkZGRkZVKSAgLyogUmVjZWl2ZSBUaW1lIFN0YW1wIExvdyAqLworI2RlZmluZSBFVEhfRE1BUFRQUlhERVNDX1JUU0wgIDB4RkZGRkZGRkZVICAvKiBSZWNlaXZlIFRpbWUgU3RhbXAgTG93ICovCiAKIC8qIEJpdCBkZWZpbml0aW9uIG9mIFJERVM3IHJlZ2lzdGVyICovCi0jZGVmaW5lIEVUSF9ETUFQVFBSWERFU0NfUlRTSCAgKCh1aW50MzJfdCkweEZGRkZGRkZGVSkgIC8qIFJlY2VpdmUgVGltZSBTdGFtcCBIaWdoICovCisjZGVmaW5lIEVUSF9ETUFQVFBSWERFU0NfUlRTSCAgMHhGRkZGRkZGRlUgIC8qIFJlY2VpdmUgVGltZSBTdGFtcCBIaWdoICovCiAKIC8qKgogICAqIEB9CkBAIC04NzMsMTMgKzg3MywxMyBAQAogLyoqIEBkZWZncm91cCBFVEhfRnJhbWVfc2V0dGluZ3MgRVRIIGZyYW1lIHNldHRpbmdzCiAgICogQHsKICAgKi8KLSNkZWZpbmUgRVRIX01BWF9QQUNLRVRfU0laRSAgICAgICgodWludDMyX3QpMTUyOFUpICAgIC8qITwgRVRIX0hFQURFUiArIDIqVkxBTl9UQUcgKyBNQVhfRVRIX1BBWUxPQUQgKyBFVEhfQ1JDICovCi0jZGVmaW5lIEVUSF9IRUFERVIgICAgICAgICAgICAgICAoKHVpbnQzMl90KTE0VSkgICAgLyohPCA2IGJ5dGUgRGVzdCBhZGRyLCA2IGJ5dGUgU3JjIGFkZHIsIDIgYnl0ZSBsZW5ndGgvdHlwZSAqLwotI2RlZmluZSBFVEhfQ1JDICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCk0VSkgICAgLyohPCBFdGhlcm5ldCBDUkMgKi8KLSNkZWZpbmUgRVRIX1ZMQU5fVEFHICAgICAgICAgICAgICgodWludDMyX3QpNFUpICAgIC8qITwgb3B0aW9uYWwgODAyLjFxIFZMQU4gVGFnICovCi0jZGVmaW5lIEVUSF9NSU5fUEFZTE9BRCAgICAgICAgICAoKHVpbnQzMl90KTQ2VSkgICAgLyohPCBNaW5pbXVtIEV0aGVybmV0IHBheWxvYWQgc2l6ZSAqLwotI2RlZmluZSBFVEhfTUFYX1BBWUxPQUQgICAgICAgICAgKCh1aW50MzJfdCkxNTAwVSkgICAgLyohPCBNYXhpbXVtIEV0aGVybmV0IHBheWxvYWQgc2l6ZSAqLwotI2RlZmluZSBFVEhfSlVNQk9fRlJBTUVfUEFZTE9BRCAgKCh1aW50MzJfdCk5MDAwVSkgICAgLyohPCBKdW1ibyBmcmFtZSBwYXlsb2FkIHNpemUgKi8KKyNkZWZpbmUgRVRIX01BWF9QQUNLRVRfU0laRSAgICAgIDE1MjhVICAgIC8qITwgRVRIX0hFQURFUiArIDIqVkxBTl9UQUcgKyBNQVhfRVRIX1BBWUxPQUQgKyBFVEhfQ1JDICovCisjZGVmaW5lIEVUSF9IRUFERVIgICAgICAgICAgICAgICAxNFUgICAgLyohPCA2IGJ5dGUgRGVzdCBhZGRyLCA2IGJ5dGUgU3JjIGFkZHIsIDIgYnl0ZSBsZW5ndGgvdHlwZSAqLworI2RlZmluZSBFVEhfQ1JDICAgICAgICAgICAgICAgICAgNFUgICAgLyohPCBFdGhlcm5ldCBDUkMgKi8KKyNkZWZpbmUgRVRIX1ZMQU5fVEFHICAgICAgICAgICAgIDRVICAgIC8qITwgb3B0aW9uYWwgODAyLjFxIFZMQU4gVGFnICovCisjZGVmaW5lIEVUSF9NSU5fUEFZTE9BRCAgICAgICAgICA0NlUgICAgLyohPCBNaW5pbXVtIEV0aGVybmV0IHBheWxvYWQgc2l6ZSAqLworI2RlZmluZSBFVEhfTUFYX1BBWUxPQUQgICAgICAgICAgMTUwMFUgICAgLyohPCBNYXhpbXVtIEV0aGVybmV0IHBheWxvYWQgc2l6ZSAqLworI2RlZmluZSBFVEhfSlVNQk9fRlJBTUVfUEFZTE9BRCAgOTAwMFUgICAgLyohPCBKdW1ibyBmcmFtZSBwYXlsb2FkIHNpemUgKi8KIC8qKgogICAqIEB9CiAgICovCkBAIC04ODcsMTQgKzg4NywxNCBAQAogLyoqIEBkZWZncm91cCBFVEhfRXJyb3JfQ29kZSBFVEggRXJyb3IgQ29kZQogICAqIEB7CiAgICovCi0jZGVmaW5lIEhBTF9FVEhfRVJST1JfTk9ORSAgICAgICAgICgodWludDMyX3QpMHgwMDAwMDAwMFUpICAgLyohPCBObyBlcnJvciAgICAgICAgICAgICovCi0jZGVmaW5lIEhBTF9FVEhfRVJST1JfUEFSQU0gICAgICAgICgodWludDMyX3QpMHgwMDAwMDAwMVUpICAgLyohPCBCdXN5IGVycm9yICAgICAgICAgICovCi0jZGVmaW5lIEhBTF9FVEhfRVJST1JfQlVTWSAgICAgICAgICgodWludDMyX3QpMHgwMDAwMDAwMlUpICAgLyohPCBQYXJhbWV0ZXIgZXJyb3IgICAgICovCi0jZGVmaW5lIEhBTF9FVEhfRVJST1JfVElNRU9VVCAgICAgICgodWludDMyX3QpMHgwMDAwMDAwNFUpICAgLyohPCBUaW1lb3V0IGVycm9yICAgICAgICovCi0jZGVmaW5lIEhBTF9FVEhfRVJST1JfRE1BICAgICAgICAgICgodWludDMyX3QpMHgwMDAwMDAwOFUpICAgLyohPCBETUEgdHJhbnNmZXIgZXJyb3IgICovCi0jZGVmaW5lIEhBTF9FVEhfRVJST1JfTUFDICAgICAgICAgICgodWludDMyX3QpMHgwMDAwMDAxMFUpICAgLyohPCBNQUMgdHJhbnNmZXIgZXJyb3IgICovCisjZGVmaW5lIEhBTF9FVEhfRVJST1JfTk9ORSAgICAgICAgICAgICAweDAwMDAwMDAwVSAgIC8qITwgTm8gZXJyb3IgICAgICAgICAgICAqLworI2RlZmluZSBIQUxfRVRIX0VSUk9SX1BBUkFNICAgICAgICAgICAgMHgwMDAwMDAwMVUgICAvKiE8IEJ1c3kgZXJyb3IgICAgICAgICAgKi8KKyNkZWZpbmUgSEFMX0VUSF9FUlJPUl9CVVNZICAgICAgICAgICAgIDB4MDAwMDAwMDJVICAgLyohPCBQYXJhbWV0ZXIgZXJyb3IgICAgICovCisjZGVmaW5lIEhBTF9FVEhfRVJST1JfVElNRU9VVCAgICAgICAgICAweDAwMDAwMDA0VSAgIC8qITwgVGltZW91dCBlcnJvciAgICAgICAqLworI2RlZmluZSBIQUxfRVRIX0VSUk9SX0RNQSAgICAgICAgICAgICAgMHgwMDAwMDAwOFUgICAvKiE8IERNQSB0cmFuc2ZlciBlcnJvciAgKi8KKyNkZWZpbmUgSEFMX0VUSF9FUlJPUl9NQUMgICAgICAgICAgICAgIDB4MDAwMDAwMTBVICAgLyohPCBNQUMgdHJhbnNmZXIgZXJyb3IgICovCiAjaWYgKFVTRV9IQUxfRVRIX1JFR0lTVEVSX0NBTExCQUNLUyA9PSAxKQotI2RlZmluZSBIQUxfRVRIX0VSUk9SX0lOVkFMSURfQ0FMTEJBQ0sgKCh1aW50MzJfdCkweDAwMDAwMDIwVSkgICAgLyohPCBJbnZhbGlkIENhbGxiYWNrIGVycm9yICAqLworI2RlZmluZSBIQUxfRVRIX0VSUk9SX0lOVkFMSURfQ0FMTEJBQ0sgMHgwMDAwMDAyMFUgICAgLyohPCBJbnZhbGlkIENhbGxiYWNrIGVycm9yICAqLwogI2VuZGlmIC8qIFVTRV9IQUxfRVRIX1JFR0lTVEVSX0NBTExCQUNLUyAqLwogLyoqCiAgICogQH0KQEAgLTkwMywxMiArOTAzLDEyIEBACiAvKiogQGRlZmdyb3VwIEVUSF9UeF9QYWNrZXRfQXR0cmlidXRlcyBFVEggVHggUGFja2V0IEF0dHJpYnV0ZXMKICAgKiBAewogICAqLwotI2RlZmluZSBFVEhfVFhfUEFDS0VUU19GRUFUVVJFU19DU1VNICAgICAgICAgICgodWludDMyX3QpMHgwMDAwMDAwMVUpCi0jZGVmaW5lIEVUSF9UWF9QQUNLRVRTX0ZFQVRVUkVTX1NBSUMgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAwMDAyVSkKLSNkZWZpbmUgRVRIX1RYX1BBQ0tFVFNfRkVBVFVSRVNfVkxBTlRBRyAgICAgICAoKHVpbnQzMl90KTB4MDAwMDAwMDRVKQotI2RlZmluZSBFVEhfVFhfUEFDS0VUU19GRUFUVVJFU19JTk5FUlZMQU5UQUcgICgodWludDMyX3QpMHgwMDAwMDAwOFUpCi0jZGVmaW5lIEVUSF9UWF9QQUNLRVRTX0ZFQVRVUkVTX1RTTyAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAwMDEwVSkKLSNkZWZpbmUgRVRIX1RYX1BBQ0tFVFNfRkVBVFVSRVNfQ1JDUEFEICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDAwMjBVKQorI2RlZmluZSBFVEhfVFhfUEFDS0VUU19GRUFUVVJFU19DU1VNICAgICAgICAgIDB4MDAwMDAwMDFVCisjZGVmaW5lIEVUSF9UWF9QQUNLRVRTX0ZFQVRVUkVTX1NBSUMgICAgICAgICAgMHgwMDAwMDAwMlUKKyNkZWZpbmUgRVRIX1RYX1BBQ0tFVFNfRkVBVFVSRVNfVkxBTlRBRyAgICAgICAweDAwMDAwMDA0VQorI2RlZmluZSBFVEhfVFhfUEFDS0VUU19GRUFUVVJFU19JTk5FUlZMQU5UQUcgIDB4MDAwMDAwMDhVCisjZGVmaW5lIEVUSF9UWF9QQUNLRVRTX0ZFQVRVUkVTX1RTTyAgICAgICAgICAgMHgwMDAwMDAxMFUKKyNkZWZpbmUgRVRIX1RYX1BBQ0tFVFNfRkVBVFVSRVNfQ1JDUEFEICAgICAgICAweDAwMDAwMDIwVQogLyoqCiAgICogQH0KICAgKi8KQEAgLTkyNyw3ICs5MjcsNyBAQAogICAqIEB7CiAgICovCiAjZGVmaW5lIEVUSF9DUkNfUEFEX0RJU0FCTEUgICAgICAodWludDMyX3QpKEVUSF9ETUFUWERFU0NfRFAgfCBFVEhfRE1BVFhERVNDX0RDKQotI2RlZmluZSBFVEhfQ1JDX1BBRF9JTlNFUlQgICAgICAgKCh1aW50MzJfdCkweDAwMDAwMDAwVSkKKyNkZWZpbmUgRVRIX0NSQ19QQURfSU5TRVJUICAgICAgIDB4MDAwMDAwMDBVCiAjZGVmaW5lIEVUSF9DUkNfSU5TRVJUICAgICAgICAgICBFVEhfRE1BVFhERVNDX0RQCiAvKioKICAgKiBAfQpAQCAtOTk0LDcgKzk5NCw3IEBACiAgICogQHsKICAgKi8KICNkZWZpbmUgRVRIX0RNQUFSQklUUkFUSU9OX1JYICAgICAgICBFVEhfRE1BTVJfREEKLSNkZWZpbmUgRVRIX0RNQUFSQklUUkFUSU9OX1JYMV9UWDEgICAoKHVpbnQzMl90KTB4MDAwMDAwMDBVKQorI2RlZmluZSBFVEhfRE1BQVJCSVRSQVRJT05fUlgxX1RYMSAgIDB4MDAwMDAwMDBVCiAjZGVmaW5lIEVUSF9ETUFBUkJJVFJBVElPTl9SWDJfVFgxICAgRVRIX0RNQU1SX1BSXzJfMQogI2RlZmluZSBFVEhfRE1BQVJCSVRSQVRJT05fUlgzX1RYMSAgIEVUSF9ETUFNUl9QUl8zXzEKICNkZWZpbmUgRVRIX0RNQUFSQklUUkFUSU9OX1JYNF9UWDEgICBFVEhfRE1BTVJfUFJfNF8xCkBAIC0xMDAzLDcgKzEwMDMsNyBAQAogI2RlZmluZSBFVEhfRE1BQVJCSVRSQVRJT05fUlg3X1RYMSAgIEVUSF9ETUFNUl9QUl83XzEKICNkZWZpbmUgRVRIX0RNQUFSQklUUkFUSU9OX1JYOF9UWDEgICBFVEhfRE1BTVJfUFJfOF8xCiAjZGVmaW5lIEVUSF9ETUFBUkJJVFJBVElPTl9UWCAgICAgICAgKEVUSF9ETUFNUl9UWFBSIHwgRVRIX0RNQU1SX0RBKQotI2RlZmluZSBFVEhfRE1BQVJCSVRSQVRJT05fVFgxX1JYMSAgICgodWludDMyX3QpMHgwMDAwMDAwMFUpCisjZGVmaW5lIEVUSF9ETUFBUkJJVFJBVElPTl9UWDFfUlgxICAgMHgwMDAwMDAwMFUKICNkZWZpbmUgRVRIX0RNQUFSQklUUkFUSU9OX1RYMl9SWDEgICAoRVRIX0RNQU1SX1RYUFIgfCBFVEhfRE1BTVJfUFJfMl8xKQogI2RlZmluZSBFVEhfRE1BQVJCSVRSQVRJT05fVFgzX1JYMSAgIChFVEhfRE1BTVJfVFhQUiB8IEVUSF9ETUFNUl9QUl8zXzEpCiAjZGVmaW5lIEVUSF9ETUFBUkJJVFJBVElPTl9UWDRfUlgxICAgKEVUSF9ETUFNUl9UWFBSIHwgRVRIX0RNQU1SX1BSXzRfMSkKQEAgLTEwMjAsNyArMTAyMCw3IEBACiAgICovCiAjZGVmaW5lIEVUSF9CVVJTVExFTkdUSF9GSVhFRCAgICAgICAgICAgRVRIX0RNQUJNUl9GQgogI2RlZmluZSBFVEhfQlVSU1RMRU5HVEhfTUlYRUQgICAgICAgICAgIEVUSF9ETUFCTVJfTUIKLSNkZWZpbmUgRVRIX0JVUlNUTEVOR1RIX1VOU1BFQ0lGSUVEICAgICAoKHVpbnQzMl90KTB4MDAwMDAwMDBVKQorI2RlZmluZSBFVEhfQlVSU1RMRU5HVEhfVU5TUEVDSUZJRUQgICAgIDB4MDAwMDAwMDBVCiAvKioKICAgKiBAfQogICAqLwpAQCAtMTA4NiwxMiArMTA4NiwxMiBAQAogLyoqIEBkZWZncm91cCBFVEhfRE1BX1N0YXR1c19GbGFncyBFVEggRE1BIFN0YXR1cyBGbGFncwogICAqIEB7CiAgICovCi0jZGVmaW5lIEVUSF9ETUFfUlhfTk9fRVJST1JfRkxBRyAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAwMDAwVSkKKyNkZWZpbmUgRVRIX0RNQV9SWF9OT19FUlJPUl9GTEFHICAgICAgICAgICAgICAgICAweDAwMDAwMDAwVQogI2RlZmluZSBFVEhfRE1BX1JYX0RFU0NfUkVBRF9FUlJPUl9GTEFHICAgICAgICAgIChFVEhfRE1BQ1NSX1JFQl9CSVRfMiB8IEVUSF9ETUFDU1JfUkVCX0JJVF8xIHwgRVRIX0RNQUNTUl9SRUJfQklUXzApCiAjZGVmaW5lIEVUSF9ETUFfUlhfREVTQ19XUklURV9FUlJPUl9GTEFHICAgICAgICAgKEVUSF9ETUFDU1JfUkVCX0JJVF8yIHwgRVRIX0RNQUNTUl9SRUJfQklUXzEpCiAjZGVmaW5lIEVUSF9ETUFfUlhfQlVGRkVSX1JFQURfRVJST1JfRkxBRyAgICAgICAgKEVUSF9ETUFDU1JfUkVCX0JJVF8yIHwgRVRIX0RNQUNTUl9SRUJfQklUXzApCiAjZGVmaW5lIEVUSF9ETUFfUlhfQlVGRkVSX1dSSVRFX0VSUk9SX0ZMQUcgICAgICAgIEVUSF9ETUFDU1JfUkVCX0JJVF8yCi0jZGVmaW5lIEVUSF9ETUFfVFhfTk9fRVJST1JfRkxBRyAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAwMDAwVSkKKyNkZWZpbmUgRVRIX0RNQV9UWF9OT19FUlJPUl9GTEFHICAgICAgICAgICAgICAgICAweDAwMDAwMDAwVQogI2RlZmluZSBFVEhfRE1BX1RYX0RFU0NfUkVBRF9FUlJPUl9GTEFHICAgICAgICAgIChFVEhfRE1BQ1NSX1RFQl9CSVRfMiB8IEVUSF9ETUFDU1JfVEVCX0JJVF8xIHwgRVRIX0RNQUNTUl9URUJfQklUXzApCiAjZGVmaW5lIEVUSF9ETUFfVFhfREVTQ19XUklURV9FUlJPUl9GTEFHICAgICAgICAgKEVUSF9ETUFDU1JfVEVCX0JJVF8yIHwgRVRIX0RNQUNTUl9URUJfQklUXzEpCiAjZGVmaW5lIEVUSF9ETUFfVFhfQlVGRkVSX1JFQURfRVJST1JfRkxBRyAgICAgICAgKEVUSF9ETUFDU1JfVEVCX0JJVF8yIHwgRVRIX0RNQUNTUl9URUJfQklUXzApCkBAIC0xMTg4LDcgKzExODgsNyBAQAogLyoqIEBkZWZncm91cCBFVEhfU3BlZWQgIEVUSCBTcGVlZAogICAqIEB7CiAgICovCi0jZGVmaW5lIEVUSF9TUEVFRF8xME0gICAgICAgICgodWludDMyX3QpMHgwMDAwMDAwMFUpCisjZGVmaW5lIEVUSF9TUEVFRF8xME0gICAgICAgIDB4MDAwMDAwMDBVCiAjZGVmaW5lIEVUSF9TUEVFRF8xMDBNICAgICAgIDB4MDAwMDQwMDBVCiAvKioKICAgKiBAfQpAQCAtMTE5OCw3ICsxMTk4LDcgQEAKICAgKiBAewogICAqLwogI2RlZmluZSBFVEhfRlVMTERVUExFWF9NT0RFICAgICAgIEVUSF9NQUNDUl9ETQotI2RlZmluZSBFVEhfSEFMRkRVUExFWF9NT0RFICAgICAgICgodWludDMyX3QpMHgwMDAwMDAwMFUpCisjZGVmaW5lIEVUSF9IQUxGRFVQTEVYX01PREUgICAgICAgMHgwMDAwMDAwMFUKIC8qKgogICAqIEB9CiAgICovCkBAIC0xMjI3LDcgKzEyMjcsNyBAQAogLyoqIEBkZWZncm91cCBFVEhfU291cmNlX0FkZHJfQ29udHJvbCBFVEggU291cmNlIEFkZHIgQ29udHJvbAogICAqIEB7CiAgICovCi0jZGVmaW5lIEVUSF9TT1VSQ0VBRERSRVNTX0RJU0FCTEUgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwMDAwMFUpCisjZGVmaW5lIEVUSF9TT1VSQ0VBRERSRVNTX0RJU0FCTEUgICAgICAgICAgIDB4MDAwMDAwMDBVCiAjZGVmaW5lIEVUSF9TT1VSQ0VBRERSRVNTX0lOU0VSVF9BRERSMCAgICAgIEVUSF9NQUNDUl9TQVJDX0lOU0FERFIwCiAjZGVmaW5lIEVUSF9TT1VSQ0VBRERSRVNTX0lOU0VSVF9BRERSMSAgICAgIEVUSF9NQUNDUl9TQVJDX0lOU0FERFIxCiAjZGVmaW5lIEVUSF9TT1VSQ0VBRERSRVNTX1JFUExBQ0VfQUREUjAgICAgIEVUSF9NQUNDUl9TQVJDX1JFUEFERFIwCkBAIC0xMjU5LDEwICsxMjU5LDEwIEBACiAvKiogQGRlZmdyb3VwIEVUSF9NQUNfYWRkcmVzc2VzIEVUSCBNQUMgYWRkcmVzc2VzCiAgICogQHsKICAgKi8KLSNkZWZpbmUgRVRIX01BQ19BRERSRVNTMCAgICAgKCh1aW50MzJfdCkweDAwMDAwMDAwVSkKLSNkZWZpbmUgRVRIX01BQ19BRERSRVNTMSAgICAgKCh1aW50MzJfdCkweDAwMDAwMDA4VSkKLSNkZWZpbmUgRVRIX01BQ19BRERSRVNTMiAgICAgKCh1aW50MzJfdCkweDAwMDAwMDEwVSkKLSNkZWZpbmUgRVRIX01BQ19BRERSRVNTMyAgICAgKCh1aW50MzJfdCkweDAwMDAwMDE4VSkKKyNkZWZpbmUgRVRIX01BQ19BRERSRVNTMCAgICAgMHgwMDAwMDAwMFUKKyNkZWZpbmUgRVRIX01BQ19BRERSRVNTMSAgICAgMHgwMDAwMDAwOFUKKyNkZWZpbmUgRVRIX01BQ19BRERSRVNTMiAgICAgMHgwMDAwMDAxMFUKKyNkZWZpbmUgRVRIX01BQ19BRERSRVNTMyAgICAgMHgwMDAwMDAxOFUKIC8qKgogICAqIEB9CiAgICovCkBAIC0xMzAxLDExICsxMzAxLDExIEBACiAvKiogQGRlZmdyb3VwIEhBTF9FVEhfU3RhdGVUeXBlRGVmIEVUSCBTdGF0ZXMKICAgKiBAewogICAqLwotI2RlZmluZSBIQUxfRVRIX1NUQVRFX1JFU0VUICAgICAgICgodWludDMyX3QpMHgwMDAwMDAwMFUpICAgIC8qITwgUGVyaXBoZXJhbCBub3QgeWV0IEluaXRpYWxpemVkIG9yIGRpc2FibGVkICovCi0jZGVmaW5lIEhBTF9FVEhfU1RBVEVfUkVBRFkgICAgICAgKCh1aW50MzJfdCkweDAwMDAwMDEwVSkgICAgLyohPCBQZXJpcGhlcmFsIENvbW11bmljYXRpb24gc3RhcnRlZCAgICAgICAgICAgKi8KLSNkZWZpbmUgSEFMX0VUSF9TVEFURV9CVVNZICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDAwMjNVKSAgICAvKiE8IGFuIGludGVybmFsIHByb2Nlc3MgaXMgb25nb2luZyAgICAgICAgICAgICAqLwotI2RlZmluZSBIQUxfRVRIX1NUQVRFX1NUQVJURUQgICAgICgodWludDMyX3QpMHgwMDAwMDAyM1UpICAgIC8qITwgYW4gaW50ZXJuYWwgcHJvY2VzcyBpcyBzdGFydGVkICAgICAgICAgICAgICovCi0jZGVmaW5lIEhBTF9FVEhfU1RBVEVfRVJST1IgICAgICAgKCh1aW50MzJfdCkweDAwMDAwMEUwVSkgICAgLyohPCBFcnJvciBTdGF0ZSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKi8KKyNkZWZpbmUgSEFMX0VUSF9TVEFURV9SRVNFVCAgICAgICAweDAwMDAwMDAwVSAgICAvKiE8IFBlcmlwaGVyYWwgbm90IHlldCBJbml0aWFsaXplZCBvciBkaXNhYmxlZCAqLworI2RlZmluZSBIQUxfRVRIX1NUQVRFX1JFQURZICAgICAgIDB4MDAwMDAwMTBVICAgIC8qITwgUGVyaXBoZXJhbCBDb21tdW5pY2F0aW9uIHN0YXJ0ZWQgICAgICAgICAgICovCisjZGVmaW5lIEhBTF9FVEhfU1RBVEVfQlVTWSAgICAgICAgMHgwMDAwMDAyM1UgICAgLyohPCBhbiBpbnRlcm5hbCBwcm9jZXNzIGlzIG9uZ29pbmcgICAgICAgICAgICAgKi8KKyNkZWZpbmUgSEFMX0VUSF9TVEFURV9TVEFSVEVEICAgICAweDAwMDAwMDIzVSAgICAvKiE8IGFuIGludGVybmFsIHByb2Nlc3MgaXMgc3RhcnRlZCAgICAgICAgICAgICAqLworI2RlZmluZSBIQUxfRVRIX1NUQVRFX0VSUk9SICAgICAgIDB4MDAwMDAwRTBVICAgIC8qITwgRXJyb3IgU3RhdGUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICovCiAvKioKICAgKiBAfQogICAqLwpAQCAtMTM0MSw3ICsxMzQxLDcgQEAKICAgKiBAewogICAqLwogI2RlZmluZSBFVEhfTUVESUFfSU5URVJGQUNFX01JSSAgICAgICAweDAwMDAwMDAwVQotI2RlZmluZSBFVEhfTUVESUFfSU5URVJGQUNFX1JNSUkgICAgICAoKHVpbnQzMl90KVNZU0NGR19QTUNfTUlJX1JNSUlfU0VMKQorI2RlZmluZSBFVEhfTUVESUFfSU5URVJGQUNFX1JNSUkgICAgICAoU1lTQ0ZHX1BNQ19NSUlfUk1JSV9TRUwpCiAvKioKICAgKiBAfQogICAqLwpAQCAtMTgwMiw4ICsxODAyLDggQEAKIC8qKiBAZGVmZ3JvdXAgRVRIX1BUUF9Db25maWdfU3RhdHVzIEVUSCBQVFAgQ29uZmlnIFN0YXR1cwogICAqIEB7CiAgICovCi0jZGVmaW5lIEhBTF9FVEhfUFRQX05PVF9DT05GSUdVUkFURUQgICAgICAgKCh1aW50MzJfdCkweDAwMDAwMDAwVSkgICAgLyohPCBFVEggUFRQIENvbmZpZ3VyYXRpb24gbm90IGRvbmUgKi8KLSNkZWZpbmUgSEFMX0VUSF9QVFBfQ09ORklHVVJBVEVEICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDAwMDFVKSAgICAvKiE8IEVUSCBQVFAgQ29uZmlndXJhdGlvbiBkb25lICAgICAqLworI2RlZmluZSBIQUxfRVRIX1BUUF9OT1RfQ09ORklHVVJBVEVEICAgICAgICAweDAwMDAwMDAwVSAgICAvKiE8IEVUSCBQVFAgQ29uZmlndXJhdGlvbiBub3QgZG9uZSAqLworI2RlZmluZSBIQUxfRVRIX1BUUF9DT05GSUdVUkFURUQgICAgICAgICAgICAweDAwMDAwMDAxVSAgICAvKiE8IEVUSCBQVFAgQ29uZmlndXJhdGlvbiBkb25lICAgICAqLwogLyoqCiAgICogQH0KICAgKi8KQEAgLTE5MjUsNyArMTkyNSw3IEBACiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKCBfX0lOVEVSUlVQVF9fKSkgPT0gKCBfX0lOVEVSUlVQVF9fKSkKIAogLyohPCBFeHRlcm5hbCBpbnRlcnJ1cHQgbGluZSAxOSBDb25uZWN0ZWQgdG8gdGhlIEVUSCB3YWtldXAgRVhUSSBMaW5lICovCi0jZGVmaW5lIEVUSF9XQUtFVVBfRVhUSV9MSU5FICAoKHVpbnQzMl90KTB4MDAwODAwMDBVKQorI2RlZmluZSBFVEhfV0FLRVVQX0VYVElfTElORSAgMHgwMDA4MDAwMFUKIAogLyoqCiAgICogQGJyaWVmIEVuYWJsZSB0aGUgRVRIIFdBS0VVUCBFeHRpIExpbmUuCmRpZmYgLS1naXQgYS9JbmMvc3RtMzJmNHh4X2hhbF9ydGMuaCBiL0luYy9zdG0zMmY0eHhfaGFsX3J0Yy5oCmluZGV4IDYyNTRhZDYuLjI0YWZmYzUgMTAwNjQ0Ci0tLSBhL0luYy9zdG0zMmY0eHhfaGFsX3J0Yy5oCisrKyBiL0luYy9zdG0zMmY0eHhfaGFsX3J0Yy5oCkBAIC00OTEsMTMgKzQ5MSw2IEBACiAKIAogLyoqCi0gICogQGJyaWVmICBDaGVjayB3aGV0aGVyIHRoZSBSVEMgQ2FsZW5kYXIgaXMgaW5pdGlhbGl6ZWQuCi0gICogQHBhcmFtICBfX0hBTkRMRV9fIHNwZWNpZmllcyB0aGUgUlRDIGhhbmRsZS4KLSAgKiBAcmV0dmFsIE5vbmUKLSAgKi8KLSNkZWZpbmUgX19IQUxfUlRDX0lTX0NBTEVOREFSX0lOSVRJQUxJWkVEKF9fSEFORExFX18pICAgICAgICAgICAgICAgICAoKCgoKF9fSEFORExFX18pLT5JbnN0YW5jZS0+SVNSKSAmIChSVENfRkxBR19JTklUUykpID09IFJUQ19GTEFHX0lOSVRTKSA/IDFVIDogMFUpCi0KLS8qKgogICAqIEBicmllZiAgRW5hYmxlIHRoZSBSVEMgQUxBUk1BIHBlcmlwaGVyYWwuCiAgICogQHBhcmFtICBfX0hBTkRMRV9fIHNwZWNpZmllcyB0aGUgUlRDIGhhbmRsZS4KICAgKiBAcmV0dmFsIE5vbmUKZGlmZiAtLWdpdCBhL0luYy9zdG0zMmY0eHhfbGxfYWRjLmggYi9JbmMvc3RtMzJmNHh4X2xsX2FkYy5oCmluZGV4IDQzNjhjMmYuLjQ5ZmVlOTcgMTAwNjQ0Ci0tLSBhL0luYy9zdG0zMmY0eHhfbGxfYWRjLmgKKysrIGIvSW5jL3N0bTMyZjR4eF9sbF9hZGMuaApAQCAtMTg3OSw5ICsxODc5LDYgQEAKICNlbHNlCiBfX1NUQVRJQ19JTkxJTkUgdWludDMyX3QgTExfQURDX0RNQV9HZXRSZWdBZGRyKEFEQ19UeXBlRGVmICpBREN4LCB1aW50MzJfdCBSZWdpc3RlcikKIHsKLSAgLyogUHJldmVudCB1bnVzZWQgYXJndW1lbnQgY29tcGlsYXRpb24gd2FybmluZyAqLwotICAodm9pZClSZWdpc3RlcjsKLQogICAvKiBSZXRyaWV2ZSBhZGRyZXNzIG9mIHJlZ2lzdGVyIERSICovCiAgIHJldHVybiAodWludDMyX3QpJihBREN4LT5EUik7CiB9CkBAIC00MDE4LDcgKzQwMTUsNyBAQAogICAqLwogX19TVEFUSUNfSU5MSU5FIHVpbnQ4X3QgTExfQURDX1JFR19SZWFkQ29udmVyc2lvbkRhdGE4KEFEQ19UeXBlRGVmICpBREN4KQogewotICByZXR1cm4gKHVpbnQ4X3QpKFJFQURfQklUKEFEQ3gtPkRSLCBBRENfRFJfREFUQSkpOworICByZXR1cm4gKHVpbnQxNl90KShSRUFEX0JJVChBREN4LT5EUiwgQURDX0RSX0RBVEEpKTsKIH0KIAogLyoqCkBAIC00MDMzLDcgKzQwMzAsNyBAQAogICAqLwogX19TVEFUSUNfSU5MSU5FIHVpbnQ4X3QgTExfQURDX1JFR19SZWFkQ29udmVyc2lvbkRhdGE2KEFEQ19UeXBlRGVmICpBREN4KQogewotICByZXR1cm4gKHVpbnQ4X3QpKFJFQURfQklUKEFEQ3gtPkRSLCBBRENfRFJfREFUQSkpOworICByZXR1cm4gKHVpbnQxNl90KShSRUFEX0JJVChBREN4LT5EUiwgQURDX0RSX0RBVEEpKTsKIH0KIAogI2lmIGRlZmluZWQoQURDX01VTFRJTU9ERV9TVVBQT1JUKQpkaWZmIC0tZ2l0IGEvUkVBRE1FLm1kIGIvUkVBRE1FLm1kCmluZGV4IGMzNDVkOWIuLjU5MDBhMTEgMTAwNjQ0Ci0tLSBhL1JFQURNRS5tZAorKysgYi9SRUFETUUubWQKQEAgLTI3LDIxICsyNyw3IEBACiAKICMjIENvbXBhdGliaWxpdHkgaW5mb3JtYXRpb24KIAotSW4gdGhpcyB0YWJsZSwgeW91IGNhbiBmaW5kIHRoZSBzdWNjZXNzaXZlIHZlcnNpb25zIG9mIHRoaXMgSEFMLUxMIERyaXZlciBjb21wb25lbnQsIGluIGxpbmUgd2l0aCB0aGUgY29ycmVzcG9uZGluZyB2ZXJzaW9ucyBvZiB0aGUgZnVsbCBNQ1UgcGFja2FnZToKLQotSXQgaXMgKipjcnVjaWFsKiogdGhhdCB5b3UgdXNlIGEgY29uc2lzdGVudCBzZXQgb2YgdmVyc2lvbnMgZm9yIHRoZSBDTVNJUyBDb3JlIC0gQ01TSVMgRGV2aWNlIC0gSEFMLCBhcyBtZW50aW9uZWQgaW4gdGhpcyB0YWJsZS4KLQotSEFMIERyaXZlciBGNCB8IENNU0lTIERldmljZSBGNCB8IENNU0lTIENvcmUgfCBXYXMgZGVsaXZlcmVkIGluIHRoZSBmdWxsIE1DVSBwYWNrYWdlCi0tLS0tLS0tLS0tLS0tIHwgLS0tLS0tLS0tLS0tLS0tIHwgLS0tLS0tLS0tLSB8IC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KLVRhZyB2MS43LjYgfCBUYWcgdjIuNi4zIHwgVGFnIHY1LjQuMF9jbTQgfCBUYWcgdjEuMjQuMSAoYW5kIGZvbGxvd2luZywgaWYgYW55LCB0aWxsIEhBTCB0YWcpCi1UYWcgdjEuNy43IHwgVGFnIHYyLjYuNCB8IFRhZyB2NS40LjBfY200IHwgVGFnIHYxLjI0LjIgKGFuZCBmb2xsb3dpbmcsIGlmIGFueSwgdGlsbCBIQUwgdGFnKQotVGFnIHYxLjcuOCB8IFRhZyB2Mi42LjUgfCBUYWcgdjUuNC4wX2NtNCB8IFRhZyB2MS4yNS4wIChhbmQgZm9sbG93aW5nLCBpZiBhbnksIHRpbGwgSEFMIHRhZykKLVRhZyB2MS43LjkgfCBUYWcgdjIuNi41IHwgVGFnIHY1LjQuMF9jbTQgfCBUYWcgdjEuMjUuMSAoYW5kIGZvbGxvd2luZywgaWYgYW55LCB0aWxsIEhBTCB0YWcpCi1UYWcgdjEuNy4xMHwgVGFnIHYyLjYuNSB8IFRhZyB2NS40LjBfY200IHwgVGFnIHYxLjI1LjIgKGFuZCBmb2xsb3dpbmcsIGlmIGFueSwgdGlsbCBIQUwgdGFnKQotVGFnIHYxLjcuMTF8IFRhZyB2Mi42LjYgfCBUYWcgdjUuNC4wX2NtNCB8IFRhZyB2MS4yNi4wIChhbmQgZm9sbG93aW5nLCBpZiBhbnksIHRpbGwgSEFMIHRhZykKLVRhZyB2MS43LjEyfCBUYWcgdjIuNi42IHwgVGFnIHY1LjQuMF9jbTQgfCBUYWcgdjEuMjYuMSAoYW5kIGZvbGxvd2luZywgaWYgYW55LCB0aWxsIEhBTCB0YWcpCi1UYWcgdjEuNy4xM3wgVGFnIHYyLjYuNyB8IFRhZyB2NS40LjBfY200IHwgVGFnIHYxLjI2LjIgKGFuZCBmb2xsb3dpbmcsIGlmIGFueSwgdGlsbCBIQUwgdGFnKQotVGFnIHYxLjguMCB8IFRhZyB2Mi42LjggfCBUYWcgdjUuNC4wX2NtNCB8IFRhZyB2MS4yNy4wIChhbmQgZm9sbG93aW5nLCBpZiBhbnksIHRpbGwgSEFMIHRhZykKK0l0IGlzICoqY3J1Y2lhbCoqIHRoYXQgeW91IHVzZSBhIGNvbnNpc3RlbnQgc2V0IG9mIHZlcnNpb25zIGZvciB0aGUgQ01TSVMgQ29yZSAtIENNU0lTIERldmljZSAtIEhBTCwgYXMgbWVudGlvbmVkIGluIFt0aGlzXShodHRwczovL2h0bWxwcmV2aWV3LmdpdGh1Yi5pby8/aHR0cHM6Ly9naXRodWIuY29tL1NUTWljcm9lbGVjdHJvbmljcy9TVE0zMkN1YmVGNC9ibG9iL21hc3Rlci9SZWxlYXNlX05vdGVzLmh0bWwpIHJlbGVhc2Ugbm90ZS4KIAogVGhlIGZ1bGwgKipTVE0zMkN1YmVGNCoqIE1DVSBwYWNrYWdlIGlzIGF2YWlsYWJsZSBbaGVyZV0oaHR0cHM6Ly9naXRodWIuY29tL1NUTWljcm9lbGVjdHJvbmljcy9TVE0zMkN1YmVGNCkuCiAKZGlmZiAtLWdpdCBhL1JlbGVhc2VfTm90ZXMuaHRtbCBiL1JlbGVhc2VfTm90ZXMuaHRtbAppbmRleCAwOGYwM2M3Li4yMTUxMTRmIDEwMDY0NAotLS0gYS9SZWxlYXNlX05vdGVzLmh0bWwKKysrIGIvUmVsZWFzZV9Ob3Rlcy5odG1sCkBAIC02LDcgKzYsOCBAQAogCiAKICAgICA8bWV0YSBodHRwLWVxdWl2PSJjb250ZW50LXR5cGUiIGNvbnRlbnQ9InRleHQvaHRtbDsKLSAgICAgIGNoYXJzZXQ9d2luZG93cy0xMjUyIj48dGl0bGU+UmVsZWFzZSBOb3RlcyBmb3IgU1RNMzJGNHh4IEhBTCBEcml2ZXJzPC90aXRsZT48L2hlYWQ+PGJvZHkgbGFuZz0iRU4tVVMiIGxpbms9ImJsdWUiIHZsaW5rPSJibHVlIj4KKyAgICAgIGNoYXJzZXQ9d2luZG93cy0xMjUyIj48dGl0bGU+UmVsZWFzZSBOb3RlcyBmb3IgU1RNMzJGNHh4IEhBTCBEcml2ZXJzPC90aXRsZT48L2hlYWQ+Cis8Ym9keSBsYW5nPSJFTi1VUyIgbGluaz0iYmx1ZSIgdmxpbms9ImJsdWUiPgogICAgIDxkaXYgY2xhc3M9IldvcmRTZWN0aW9uMSI+CiAgICAgICA8ZGl2PgogICAgICAgICA8cCBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iIj48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6ICZxdW90O0FyaWFsJnF1b3Q7LHNhbnMtc2VyaWY7Ij48bzpwPiZuYnNwOzwvbzpwPjwvc3Bhbj48L3A+CkBAIC00NiwxMSArNDcsMzAgQEAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dGJvZHk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dHIgc3R5bGU9IiI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0ZCBzdHlsZT0icGFkZGluZzogMGluOyB3aWR0aDogODQzLjI1cHQ7IiB2YWxpZ249InRvcCIgd2lkdGg9IjExMjQiPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxoMiBzdHlsZT0iYmFja2dyb3VuZDogcmdiKDUxLCAxMDIsIDI1NSkgbm9uZSByZXBlYXQgc2Nyb2xsIDAlIDUwJTsgLW1vei1iYWNrZ3JvdW5kLWNsaXA6IC1tb3otaW5pdGlhbDsgLW1vei1iYWNrZ3JvdW5kLW9yaWdpbjogLW1vei1pbml0aWFsOyAtbW96LWJhY2tncm91bmQtaW5saW5lLXBvbGljeTogLW1vei1pbml0aWFsOyI+PGZvbnQgY29sb3I9IiNmZmZmZmYiPjxhIG5hbWU9Ikhpc3RvcnkiPjwvYT48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMnB0OyI+VXBkYXRlCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGgyIHN0eWxlPSJiYWNrZ3JvdW5kOiByZ2IoNTEsIDEwMiwgMjU1KSBub25lIHJlcGVhdCBzY3JvbGwgMCUgNTAlOyAtbW96LWJhY2tncm91bmQtY2xpcDogaW5pdGlhbDsgLW1vei1iYWNrZ3JvdW5kLW9yaWdpbjogaW5pdGlhbDsgLW1vei1iYWNrZ3JvdW5kLWlubGluZS1wb2xpY3k6IGluaXRpYWw7Ij48Zm9udCBjb2xvcj0iI2ZmZmZmZiI+PGEgbmFtZT0iSGlzdG9yeSI+PC9hPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEycHQ7Ij5VcGRhdGUKIAogCiAKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBIaXN0b3J5PC9zcGFuPjxzcGFuIHN0eWxlPSIiPjxvOnA+PC9vOnA+PC9zcGFuPjwvZm9udD48L2gyPjxoMyBzdHlsZT0iYmFja2dyb3VuZDogcmdiKDUxLCAxMDIsIDI1NSkgbm9uZSByZXBlYXQgc2Nyb2xsIDAlIDUwJTsgLW1vei1iYWNrZ3JvdW5kLWNsaXA6IC1tb3otaW5pdGlhbDsgLW1vei1iYWNrZ3JvdW5kLW9yaWdpbjogLW1vei1pbml0aWFsOyAtbW96LWJhY2tncm91bmQtaW5saW5lLXBvbGljeTogLW1vei1pbml0aWFsOyBtYXJnaW4tcmlnaHQ6IDUwMHB0OyI+PGZvbnQgY29sb3I9IiNmZmZmZmYiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtBcmlhbCZxdW90OyxzYW5zLXNlcmlmOyI+VjEuOC4wCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgSGlzdG9yeTwvc3Bhbj48c3BhbiBzdHlsZT0iIj48bzpwPjwvbzpwPjwvc3Bhbj48L2ZvbnQ+PC9oMj48aDMgc3R5bGU9ImJhY2tncm91bmQ6IHJnYig1MSwgMTAyLCAyNTUpIG5vbmUgcmVwZWF0IHNjcm9sbCAwJSA1MCU7IC1tb3otYmFja2dyb3VuZC1jbGlwOiBpbml0aWFsOyAtbW96LWJhY2tncm91bmQtb3JpZ2luOiBpbml0aWFsOyAtbW96LWJhY2tncm91bmQtaW5saW5lLXBvbGljeTogaW5pdGlhbDsgbWFyZ2luLXJpZ2h0OiA1MDBwdDsiPjxmb250IGNvbG9yPSIjZmZmZmZmIj48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7QXJpYWwmcXVvdDssc2Fucy1zZXJpZjsiPlYxLjguMQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8gMjQtSnVuZS0yMDIyPC9zcGFuPjwvZm9udD48L2gzPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxibG9ja3F1b3RlPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHA+PGI+PHU+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsgY29sb3I6IGJsYWNrOyI+TWFpbgorCisKKworCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIENoYW5nZXM8YnI+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3NwYW4+PC91PjwvYj48L3A+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9ibG9ja3F1b3RlPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bCBzdHlsZT0ib3JwaGFuczogMjsgdGV4dC1hbGlnbjogc3RhcnQ7IHdpZG93czogMjsgd29yZC1zcGFjaW5nOiAwcHg7IiB0eXBlPSJkaXNjIj48bGk+PGZvbnQgZmFjZT0iVmVyZGFuYSIgc2l6ZT0iLTEiPkdlbmVyYWwgdXBkYXRlcyB0byBmaXggSEFMIEVUSCBkZWZlY3RzIGFuZCBpbXBsZW1lbnRhdGlvbiBlbmhhbmNlbWVudHMuPC9mb250PjwvbGk+PGxpPjxwPjxmb250IGZhY2U9IlZlcmRhbmEiIHNpemU9Ii0xIj48c3Ryb25nPkhBTDwvc3Ryb25nPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdXBkYXRlczwvZm9udD48L3A+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxmb250IGZhY2U9IlZlcmRhbmEiIHNpemU9Ii0xIj4gPC9mb250PgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKKyAgICAgICAgICAgICAgICAgICAgICA8dWw+PGZvbnQgZmFjZT0iVmVyZGFuYSIgc2l6ZT0iLTEiPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZm9udD48bGk+PGZvbnQgZmFjZT0iVmVyZGFuYSIgc2l6ZT0iLTEiPjxzdHJvbmc+SEFMIEVUSCA8L3N0cm9uZz51cGRhdGU8L2ZvbnQ+PC9saT48dWw+PGxpIHN0eWxlPSJmb250LWZhbWlseTogLWFwcGxlLXN5c3RlbSxCbGlua01hY1N5c3RlbUZvbnQsJnF1b3Q7U2Vnb2UgVUkmcXVvdDssUm9ib3RvLFVidW50dSwmcXVvdDtIZWx2ZXRpY2EgTmV1ZSZxdW90OyxIZWx2ZXRpY2Esc2Fucy1zZXJpZjsgbGluZS1oZWlnaHQ6IDEuNDsiPlJlbW92ZSB1c2VsZXNzIGFzc2VydF9wYXJhbShJU19FVEhfTUFDX0FERFJFU1MwMTIzKE1hY0FkZHIpKSBmcm9tIHN0YXRpYyBmdW5jdGlvbiBFVEhfTUFDQWRkcmVzc0NvbmZpZygpLjwvbGk+PGxpIHN0eWxlPSJmb250LWZhbWlseTogLWFwcGxlLXN5c3RlbSxCbGlua01hY1N5c3RlbUZvbnQsJnF1b3Q7U2Vnb2UgVUkmcXVvdDssUm9ib3RvLFVidW50dSwmcXVvdDtIZWx2ZXRpY2EgTmV1ZSZxdW90OyxIZWx2ZXRpY2Esc2Fucy1zZXJpZjsgbGluZS1oZWlnaHQ6IDEuNDsiPlJlcGxhY2UgaGFyZCBjb2RlZCBSeCBidWZmZXIgc2l6ZSAoMTAwMFUpIGJ5IG1hY3JvIEVUSF9SWF9CVUZfU0laRS48L2xpPjxsaSBzdHlsZT0iZm9udC1mYW1pbHk6IC1hcHBsZS1zeXN0ZW0sQmxpbmtNYWNTeXN0ZW1Gb250LCZxdW90O1NlZ29lIFVJJnF1b3Q7LFJvYm90byxVYnVudHUsJnF1b3Q7SGVsdmV0aWNhIE5ldWUmcXVvdDssSGVsdmV0aWNhLHNhbnMtc2VyaWY7IGxpbmUtaGVpZ2h0OiAxLjQ7Ij5Db3JyZWN0CitiaXQgcG9zaXRpb25zIHdoZW4gZ2V0dGluZyBNQUMgYW5kIERNQSBjb25maWd1cmF0aW9ucyBhbmQgcmVwbGFjZQorkVVuaWNhc3RTbG93UHJvdG9jb2xQYWNrZXREZXRlY3SSIGJ5IJFVbmljYXN0UGF1c2VQYWNrZXREZXRlY3SSIGluIHRoZQorTUFDIGRlZmF1bHQgY29uZmlndXJhdGlvbiBzdHJ1Y3R1cmUuPC9saT48bGkgc3R5bGU9ImZvbnQtZmFtaWx5OiAtYXBwbGUtc3lzdGVtLEJsaW5rTWFjU3lzdGVtRm9udCwmcXVvdDtTZWdvZSBVSSZxdW90OyxSb2JvdG8sVWJ1bnR1LCZxdW90O0hlbHZldGljYSBOZXVlJnF1b3Q7LEhlbHZldGljYSxzYW5zLXNlcmlmOyBsaW5lLWhlaWdodDogMS40OyI+RW5zdXJlIGEgZGVsYXkgb2YgNCBUWF9DTEsvUlhfQ0xLIGN5Y2xlcyBiZXR3ZWVuIHR3byBzdWNjZXNzaXZlIHdyaXRlIG9wZXJhdGlvbnMgdG8gdGhlIHNhbWUgcmVnaXN0ZXIuPC9saT48bGkgc3R5bGU9ImZvbnQtZmFtaWx5OiAtYXBwbGUtc3lzdGVtLEJsaW5rTWFjU3lzdGVtRm9udCwmcXVvdDtTZWdvZSBVSSZxdW90OyxSb2JvdG8sVWJ1bnR1LCZxdW90O0hlbHZldGljYSBOZXVlJnF1b3Q7LEhlbHZldGljYSxzYW5zLXNlcmlmOyBsaW5lLWhlaWdodDogMS40OyI+RGlzYWJsZSBETUEgdHJhbnNtaXNzaW9uIGluIGJvdGggSEFMX0VUSF9TdG9wX0lUKCkgYW5kIEhBTF9FVEhfU3RvcCgpIEFQSXMuPGJyPjxmb250IGNvbG9yPSIjZmZmZmZmIj48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7QXJpYWwmcXVvdDssc2Fucy1zZXJpZjsiPjwvc3Bhbj48L2ZvbnQ+PC9saT48L3VsPjwvdWw+PC9saT48L3VsPjxoMyBzdHlsZT0iYmFja2dyb3VuZDogcmdiKDUxLCAxMDIsIDI1NSkgbm9uZSByZXBlYXQgc2Nyb2xsIDAlIDUwJTsgLW1vei1iYWNrZ3JvdW5kLWNsaXA6IGluaXRpYWw7IC1tb3otYmFja2dyb3VuZC1vcmlnaW46IGluaXRpYWw7IC1tb3otYmFja2dyb3VuZC1pbmxpbmUtcG9saWN5OiBpbml0aWFsOyBtYXJnaW4tcmlnaHQ6IDUwMHB0OyI+PGZvbnQgY29sb3I9IiNmZmZmZmYiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtBcmlhbCZxdW90OyxzYW5zLXNlcmlmOyI+VjEuOC4wCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyAxMS1GZWJydWFyeS0yMDIyPC9zcGFuPjwvZm9udD48L2gzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxibG9ja3F1b3RlPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHA+PGI+PHU+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsgY29sb3I6IGJsYWNrOyI+TWFpbgpAQCAtMjYwLDcgKzI4MCw3IEBACiAgICAgICAgICAgICAgICAgICAgICAgPC91bD4KICAgICAgICAgICAgICAgICAgICAgPC9saT4KIDwvdWw+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGgzIHN0eWxlPSJiYWNrZ3JvdW5kOiByZ2IoNTEsIDEwMiwgMjU1KSBub25lIHJlcGVhdCBzY3JvbGwgMCUgNTAlOyAtbW96LWJhY2tncm91bmQtY2xpcDogLW1vei1pbml0aWFsOyAtbW96LWJhY2tncm91bmQtb3JpZ2luOiAtbW96LWluaXRpYWw7IC1tb3otYmFja2dyb3VuZC1pbmxpbmUtcG9saWN5OiAtbW96LWluaXRpYWw7IG1hcmdpbi1yaWdodDogNTAwcHQ7Ij48Zm9udCBjb2xvcj0iI2ZmZmZmZiI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O0FyaWFsJnF1b3Q7LHNhbnMtc2VyaWY7Ij5WMS43LjEzCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGgzIHN0eWxlPSJiYWNrZ3JvdW5kOiByZ2IoNTEsIDEwMiwgMjU1KSBub25lIHJlcGVhdCBzY3JvbGwgMCUgNTAlOyAtbW96LWJhY2tncm91bmQtY2xpcDogaW5pdGlhbDsgLW1vei1iYWNrZ3JvdW5kLW9yaWdpbjogaW5pdGlhbDsgLW1vei1iYWNrZ3JvdW5kLWlubGluZS1wb2xpY3k6IGluaXRpYWw7IG1hcmdpbi1yaWdodDogNTAwcHQ7Ij48Zm9udCBjb2xvcj0iI2ZmZmZmZiI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O0FyaWFsJnF1b3Q7LHNhbnMtc2VyaWY7Ij5WMS43LjEzCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyAxNi1KdWx5LTIwMjE8L3NwYW4+PC9mb250PjwvaDM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGJsb2NrcXVvdGU+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cD48Yj48dT48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyBjb2xvcjogYmxhY2s7Ij5NYWluCkBAIC00NjcsNyArNDg3LDcgQEAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGluIFVTQiBQQ0QgY29udHJvbAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZW5kcG9pbnQgcmVjZWl2ZSBJU1IuPC9mb250Pjxicj48Zm9udCBjb2xvcj0iI2ZmZmZmZiI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O0FyaWFsJnF1b3Q7LHNhbnMtc2VyaWY7Ij48L3NwYW4+PC9mb250PjwvbGk+PC91bD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xpPjwvdWw+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xpPjwvdWw+PGgzIHN0eWxlPSJiYWNrZ3JvdW5kOiByZ2IoNTEsIDEwMiwgMjU1KSBub25lIHJlcGVhdCBzY3JvbGwgMCUgNTAlOyAtbW96LWJhY2tncm91bmQtY2xpcDogLW1vei1pbml0aWFsOyAtbW96LWJhY2tncm91bmQtb3JpZ2luOiAtbW96LWluaXRpYWw7IC1tb3otYmFja2dyb3VuZC1pbmxpbmUtcG9saWN5OiAtbW96LWluaXRpYWw7IG1hcmdpbi1yaWdodDogNTAwcHQ7Ij48Zm9udCBjb2xvcj0iI2ZmZmZmZiI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O0FyaWFsJnF1b3Q7LHNhbnMtc2VyaWY7Ij5WMS43LjEyCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xpPjwvdWw+PGgzIHN0eWxlPSJiYWNrZ3JvdW5kOiByZ2IoNTEsIDEwMiwgMjU1KSBub25lIHJlcGVhdCBzY3JvbGwgMCUgNTAlOyAtbW96LWJhY2tncm91bmQtY2xpcDogaW5pdGlhbDsgLW1vei1iYWNrZ3JvdW5kLW9yaWdpbjogaW5pdGlhbDsgLW1vei1iYWNrZ3JvdW5kLWlubGluZS1wb2xpY3k6IGluaXRpYWw7IG1hcmdpbi1yaWdodDogNTAwcHQ7Ij48Zm9udCBjb2xvcj0iI2ZmZmZmZiI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O0FyaWFsJnF1b3Q7LHNhbnMtc2VyaWY7Ij5WMS43LjEyCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyAyNi1NYXJjaC0yMDIxPC9zcGFuPjxzcGFuIHN0eWxlPSIiPjxvOnA+PC9vOnA+PC9zcGFuPjwvZm9udD48L2gzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJtYXJnaW46IDQuNXB0IDBpbiA0LjVwdCAxMTguNXB0OyB0ZXh0LWluZGVudDogLTk3LjVwdDsiPjxiPjx1PjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7IGNvbG9yOiBibGFjazsiPk1haW4KIApAQCAtNDkxLDcgKzUxMSw3IEBACiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3VsPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGgzIHN0eWxlPSJiYWNrZ3JvdW5kOiByZ2IoNTEsIDEwMiwgMjU1KSBub25lIHJlcGVhdCBzY3JvbGwgMCUgNTAlOyAtbW96LWJhY2tncm91bmQtY2xpcDogLW1vei1pbml0aWFsOyAtbW96LWJhY2tncm91bmQtb3JpZ2luOiAtbW96LWluaXRpYWw7IC1tb3otYmFja2dyb3VuZC1pbmxpbmUtcG9saWN5OiAtbW96LWluaXRpYWw7IG1hcmdpbi1yaWdodDogNTAwcHQ7Ij48Zm9udCBjb2xvcj0iI2ZmZmZmZiI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O0FyaWFsJnF1b3Q7LHNhbnMtc2VyaWY7Ij5WMS43LjExCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGgzIHN0eWxlPSJiYWNrZ3JvdW5kOiByZ2IoNTEsIDEwMiwgMjU1KSBub25lIHJlcGVhdCBzY3JvbGwgMCUgNTAlOyAtbW96LWJhY2tncm91bmQtY2xpcDogaW5pdGlhbDsgLW1vei1iYWNrZ3JvdW5kLW9yaWdpbjogaW5pdGlhbDsgLW1vei1iYWNrZ3JvdW5kLWlubGluZS1wb2xpY3k6IGluaXRpYWw7IG1hcmdpbi1yaWdodDogNTAwcHQ7Ij48Zm9udCBjb2xvcj0iI2ZmZmZmZiI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O0FyaWFsJnF1b3Q7LHNhbnMtc2VyaWY7Ij5WMS43LjExCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyAxMi1GZWJydWFyeS0yMDIxPC9zcGFuPjxzcGFuIHN0eWxlPSIiPjxvOnA+PC9vOnA+PC9zcGFuPjwvZm9udD48L2gzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJtYXJnaW46IDQuNXB0IDBpbiA0LjVwdCAxMTguNXB0OyB0ZXh0LWluZGVudDogLTk3LjVwdDsiPjxiPjx1PjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7IGNvbG9yOiBibGFjazsiPk1haW4KIApAQCAtMTAxNiw3ICsxMDM2LDcgQEAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC91bD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC91bD4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aDMgc3R5bGU9ImJhY2tncm91bmQ6IHJnYig1MSwgMTAyLCAyNTUpIG5vbmUgcmVwZWF0IHNjcm9sbCAwJSA1MCU7IC1tb3otYmFja2dyb3VuZC1jbGlwOiAtbW96LWluaXRpYWw7IC1tb3otYmFja2dyb3VuZC1vcmlnaW46IC1tb3otaW5pdGlhbDsgLW1vei1iYWNrZ3JvdW5kLWlubGluZS1wb2xpY3k6IC1tb3otaW5pdGlhbDsgbWFyZ2luLXJpZ2h0OiA1MDBwdDsiPjxmb250IGNvbG9yPSIjZmZmZmZmIj48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+VjEuNy4xMAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxoMyBzdHlsZT0iYmFja2dyb3VuZDogcmdiKDUxLCAxMDIsIDI1NSkgbm9uZSByZXBlYXQgc2Nyb2xsIDAlIDUwJTsgLW1vei1iYWNrZ3JvdW5kLWNsaXA6IGluaXRpYWw7IC1tb3otYmFja2dyb3VuZC1vcmlnaW46IGluaXRpYWw7IC1tb3otYmFja2dyb3VuZC1pbmxpbmUtcG9saWN5OiBpbml0aWFsOyBtYXJnaW4tcmlnaHQ6IDUwMHB0OyI+PGZvbnQgY29sb3I9IiNmZmZmZmYiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5WMS43LjEwCiAKIAogCkBAIC0xMDUwLDcgKzEwNzAsNyBAQAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3VsPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC91bD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3VsPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxoMyBzdHlsZT0iYmFja2dyb3VuZDogcmdiKDUxLCAxMDIsIDI1NSkgbm9uZSByZXBlYXQgc2Nyb2xsIDAlIDUwJTsgLW1vei1iYWNrZ3JvdW5kLWNsaXA6IC1tb3otaW5pdGlhbDsgLW1vei1iYWNrZ3JvdW5kLW9yaWdpbjogLW1vei1pbml0aWFsOyAtbW96LWJhY2tncm91bmQtaW5saW5lLXBvbGljeTogLW1vei1pbml0aWFsOyBtYXJnaW4tcmlnaHQ6IDUwMHB0OyI+PGZvbnQgY29sb3I9IiNmZmZmZmYiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtBcmlhbCZxdW90OyxzYW5zLXNlcmlmOyI+VjEuNy45CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGgzIHN0eWxlPSJiYWNrZ3JvdW5kOiByZ2IoNTEsIDEwMiwgMjU1KSBub25lIHJlcGVhdCBzY3JvbGwgMCUgNTAlOyAtbW96LWJhY2tncm91bmQtY2xpcDogaW5pdGlhbDsgLW1vei1iYWNrZ3JvdW5kLW9yaWdpbjogaW5pdGlhbDsgLW1vei1iYWNrZ3JvdW5kLWlubGluZS1wb2xpY3k6IGluaXRpYWw7IG1hcmdpbi1yaWdodDogNTAwcHQ7Ij48Zm9udCBjb2xvcj0iI2ZmZmZmZiI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O0FyaWFsJnF1b3Q7LHNhbnMtc2VyaWY7Ij5WMS43LjkKIAogCiAKQEAgLTExNzIsNyArMTE5Miw3IEBACiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtb2RlLjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3VsPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGgzIHN0eWxlPSJiYWNrZ3JvdW5kOiByZ2IoNTEsIDEwMiwgMjU1KSBub25lIHJlcGVhdCBzY3JvbGwgMCUgNTAlOyAtbW96LWJhY2tncm91bmQtY2xpcDogLW1vei1pbml0aWFsOyAtbW96LWJhY2tncm91bmQtb3JpZ2luOiAtbW96LWluaXRpYWw7IC1tb3otYmFja2dyb3VuZC1pbmxpbmUtcG9saWN5OiAtbW96LWluaXRpYWw7IG1hcmdpbi1yaWdodDogNTAwcHQ7Ij48Zm9udCBjb2xvcj0iI2ZmZmZmZiI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O0FyaWFsJnF1b3Q7LHNhbnMtc2VyaWY7Ij5WMS43LjgKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aDMgc3R5bGU9ImJhY2tncm91bmQ6IHJnYig1MSwgMTAyLCAyNTUpIG5vbmUgcmVwZWF0IHNjcm9sbCAwJSA1MCU7IC1tb3otYmFja2dyb3VuZC1jbGlwOiBpbml0aWFsOyAtbW96LWJhY2tncm91bmQtb3JpZ2luOiBpbml0aWFsOyAtbW96LWJhY2tncm91bmQtaW5saW5lLXBvbGljeTogaW5pdGlhbDsgbWFyZ2luLXJpZ2h0OiA1MDBwdDsiPjxmb250IGNvbG9yPSIjZmZmZmZmIj48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7QXJpYWwmcXVvdDssc2Fucy1zZXJpZjsiPlYxLjcuOAogCiAKIApAQCAtMTI4MCw3ICsxMzAwLDcgQEAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC91bD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC91bD4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aDMgc3R5bGU9ImJhY2tncm91bmQ6IHJnYig1MSwgMTAyLCAyNTUpIG5vbmUgcmVwZWF0IHNjcm9sbCAwJSA1MCU7IC1tb3otYmFja2dyb3VuZC1jbGlwOiAtbW96LWluaXRpYWw7IC1tb3otYmFja2dyb3VuZC1vcmlnaW46IC1tb3otaW5pdGlhbDsgLW1vei1iYWNrZ3JvdW5kLWlubGluZS1wb2xpY3k6IC1tb3otaW5pdGlhbDsgbWFyZ2luLXJpZ2h0OiA1MDBwdDsiPjxmb250IGNvbG9yPSIjZmZmZmZmIj48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7QXJpYWwmcXVvdDssc2Fucy1zZXJpZjsiPlYxLjcuNworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxoMyBzdHlsZT0iYmFja2dyb3VuZDogcmdiKDUxLCAxMDIsIDI1NSkgbm9uZSByZXBlYXQgc2Nyb2xsIDAlIDUwJTsgLW1vei1iYWNrZ3JvdW5kLWNsaXA6IGluaXRpYWw7IC1tb3otYmFja2dyb3VuZC1vcmlnaW46IGluaXRpYWw7IC1tb3otYmFja2dyb3VuZC1pbmxpbmUtcG9saWN5OiBpbml0aWFsOyBtYXJnaW4tcmlnaHQ6IDUwMHB0OyI+PGZvbnQgY29sb3I9IiNmZmZmZmYiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtBcmlhbCZxdW90OyxzYW5zLXNlcmlmOyI+VjEuNy43CiAKIAogCkBAIC0yNDM1LDcgKzI0NTUsNyBAQAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgd2l0aCByZWZlcmVuY2UgbWFudWFsPC9zcGFuPjxzcGFuIHN0eWxlPSIiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3VsPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGgzIHN0eWxlPSJiYWNrZ3JvdW5kOiByZ2IoNTEsIDEwMiwgMjU1KSBub25lIHJlcGVhdCBzY3JvbGwgMCUgNTAlOyAtbW96LWJhY2tncm91bmQtY2xpcDogLW1vei1pbml0aWFsOyAtbW96LWJhY2tncm91bmQtb3JpZ2luOiAtbW96LWluaXRpYWw7IC1tb3otYmFja2dyb3VuZC1pbmxpbmUtcG9saWN5OiAtbW96LWluaXRpYWw7IG1hcmdpbi1yaWdodDogNTAwcHQ7Ij48Zm9udCBjb2xvcj0iI2ZmZmZmZiI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O0FyaWFsJnF1b3Q7LHNhbnMtc2VyaWY7Ij5WMS43LjYKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aDMgc3R5bGU9ImJhY2tncm91bmQ6IHJnYig1MSwgMTAyLCAyNTUpIG5vbmUgcmVwZWF0IHNjcm9sbCAwJSA1MCU7IC1tb3otYmFja2dyb3VuZC1jbGlwOiBpbml0aWFsOyAtbW96LWJhY2tncm91bmQtb3JpZ2luOiBpbml0aWFsOyAtbW96LWJhY2tncm91bmQtaW5saW5lLXBvbGljeTogaW5pdGlhbDsgbWFyZ2luLXJpZ2h0OiA1MDBwdDsiPjxmb250IGNvbG9yPSIjZmZmZmZmIj48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7QXJpYWwmcXVvdDssc2Fucy1zZXJpZjsiPlYxLjcuNgogCiAKIApAQCAtMjU2Myw3ICsyNTgzLDcgQEAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludGVycnVwdCBoYW5kbGVyczxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3VsPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGgzIHN0eWxlPSJiYWNrZ3JvdW5kOiByZ2IoNTEsIDEwMiwgMjU1KSBub25lIHJlcGVhdCBzY3JvbGwgMCUgNTAlOyAtbW96LWJhY2tncm91bmQtY2xpcDogLW1vei1pbml0aWFsOyAtbW96LWJhY2tncm91bmQtb3JpZ2luOiAtbW96LWluaXRpYWw7IC1tb3otYmFja2dyb3VuZC1pbmxpbmUtcG9saWN5OiAtbW96LWluaXRpYWw7IG1hcmdpbi1yaWdodDogNTAwcHQ7Ij48Zm9udCBjb2xvcj0iI2ZmZmZmZiI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O0FyaWFsJnF1b3Q7LHNhbnMtc2VyaWY7Ij5WMS43LjUKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aDMgc3R5bGU9ImJhY2tncm91bmQ6IHJnYig1MSwgMTAyLCAyNTUpIG5vbmUgcmVwZWF0IHNjcm9sbCAwJSA1MCU7IC1tb3otYmFja2dyb3VuZC1jbGlwOiBpbml0aWFsOyAtbW96LWJhY2tncm91bmQtb3JpZ2luOiBpbml0aWFsOyAtbW96LWJhY2tncm91bmQtaW5saW5lLXBvbGljeTogaW5pdGlhbDsgbWFyZ2luLXJpZ2h0OiA1MDBwdDsiPjxmb250IGNvbG9yPSIjZmZmZmZmIj48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7QXJpYWwmcXVvdDssc2Fucy1zZXJpZjsiPlYxLjcuNQogCiAKIApAQCAtMzI3Nyw3ICszMjk3LDcgQEAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGluc3RhbmNlIGRlZmluZWQgaW4gQ01TSVMgPHNwYW4gY2xhc3M9ImdyYW1lIj48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPmRldmljZTwvc3Bhbj48L3NwYW4+PC9zcGFuPjxzcGFuIHN0eWxlPSIiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3VsPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGgzIHN0eWxlPSJiYWNrZ3JvdW5kOiByZ2IoNTEsIDEwMiwgMjU1KSBub25lIHJlcGVhdCBzY3JvbGwgMCUgNTAlOyAtbW96LWJhY2tncm91bmQtY2xpcDogLW1vei1pbml0aWFsOyAtbW96LWJhY2tncm91bmQtb3JpZ2luOiAtbW96LWluaXRpYWw7IC1tb3otYmFja2dyb3VuZC1pbmxpbmUtcG9saWN5OiAtbW96LWluaXRpYWw7IG1hcmdpbi1yaWdodDogNTAwcHQ7Ij48Zm9udCBjb2xvcj0iI2ZmZmZmZiI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O0FyaWFsJnF1b3Q7LHNhbnMtc2VyaWY7Ij5WMS43LjQKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aDMgc3R5bGU9ImJhY2tncm91bmQ6IHJnYig1MSwgMTAyLCAyNTUpIG5vbmUgcmVwZWF0IHNjcm9sbCAwJSA1MCU7IC1tb3otYmFja2dyb3VuZC1jbGlwOiBpbml0aWFsOyAtbW96LWJhY2tncm91bmQtb3JpZ2luOiBpbml0aWFsOyAtbW96LWJhY2tncm91bmQtaW5saW5lLXBvbGljeTogaW5pdGlhbDsgbWFyZ2luLXJpZ2h0OiA1MDBwdDsiPjxmb250IGNvbG9yPSIjZmZmZmZmIj48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7QXJpYWwmcXVvdDssc2Fucy1zZXJpZjsiPlYxLjcuNAogCiAKIApAQCAtMzMzOSw3ICszMzU5LDcgQEAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGF1ZGlvIGlzc3VlPC9zcGFuPjxzcGFuIHN0eWxlPSIiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3VsPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGgzIHN0eWxlPSJiYWNrZ3JvdW5kOiByZ2IoNTEsIDEwMiwgMjU1KSBub25lIHJlcGVhdCBzY3JvbGwgMCUgNTAlOyAtbW96LWJhY2tncm91bmQtY2xpcDogLW1vei1pbml0aWFsOyAtbW96LWJhY2tncm91bmQtb3JpZ2luOiAtbW96LWluaXRpYWw7IC1tb3otYmFja2dyb3VuZC1pbmxpbmUtcG9saWN5OiAtbW96LWluaXRpYWw7IG1hcmdpbi1yaWdodDogNTAwcHQ7Ij48Zm9udCBjb2xvcj0iI2ZmZmZmZiI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O0FyaWFsJnF1b3Q7LHNhbnMtc2VyaWY7Ij5WMS43LjMKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aDMgc3R5bGU9ImJhY2tncm91bmQ6IHJnYig1MSwgMTAyLCAyNTUpIG5vbmUgcmVwZWF0IHNjcm9sbCAwJSA1MCU7IC1tb3otYmFja2dyb3VuZC1jbGlwOiBpbml0aWFsOyAtbW96LWJhY2tncm91bmQtb3JpZ2luOiBpbml0aWFsOyAtbW96LWJhY2tncm91bmQtaW5saW5lLXBvbGljeTogaW5pdGlhbDsgbWFyZ2luLXJpZ2h0OiA1MDBwdDsiPjxmb250IGNvbG9yPSIjZmZmZmZmIj48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7QXJpYWwmcXVvdDssc2Fucy1zZXJpZjsiPlYxLjcuMwogCiAKIApAQCAtMzYxMCw3ICszNjMwLDcgQEAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8gPHNwYW4gY2xhc3M9InNwZWxsZSI+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5GU01DX1BDQ0FSRF9Jbml0PC9zcGFuPjwvc3Bhbj4oKTwvc3Bhbj48c3BhbiBzdHlsZT0iIj48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC91bD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3VsPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxoMyBzdHlsZT0iYmFja2dyb3VuZDogcmdiKDUxLCAxMDIsIDI1NSkgbm9uZSByZXBlYXQgc2Nyb2xsIDAlIDUwJTsgLW1vei1iYWNrZ3JvdW5kLWNsaXA6IC1tb3otaW5pdGlhbDsgLW1vei1iYWNrZ3JvdW5kLW9yaWdpbjogLW1vei1pbml0aWFsOyAtbW96LWJhY2tncm91bmQtaW5saW5lLXBvbGljeTogLW1vei1pbml0aWFsOyBtYXJnaW4tcmlnaHQ6IDUwMHB0OyI+PGZvbnQgY29sb3I9IiNmZmZmZmYiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtBcmlhbCZxdW90OyxzYW5zLXNlcmlmOyI+VjEuNy4yCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGgzIHN0eWxlPSJiYWNrZ3JvdW5kOiByZ2IoNTEsIDEwMiwgMjU1KSBub25lIHJlcGVhdCBzY3JvbGwgMCUgNTAlOyAtbW96LWJhY2tncm91bmQtY2xpcDogaW5pdGlhbDsgLW1vei1iYWNrZ3JvdW5kLW9yaWdpbjogaW5pdGlhbDsgLW1vei1iYWNrZ3JvdW5kLWlubGluZS1wb2xpY3k6IGluaXRpYWw7IG1hcmdpbi1yaWdodDogNTAwcHQ7Ij48Zm9udCBjb2xvcj0iI2ZmZmZmZiI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O0FyaWFsJnF1b3Q7LHNhbnMtc2VyaWY7Ij5WMS43LjIKIAogCiAKQEAgLTM5OTUsNyArNDAxNSw3IEBACiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iZ3JhbWUiPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+dXNlZDwvc3Bhbj48L3NwYW4+PC9zcGFuPjxzcGFuIHN0eWxlPSIiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3VsPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGgzIHN0eWxlPSJiYWNrZ3JvdW5kOiByZ2IoNTEsIDEwMiwgMjU1KSBub25lIHJlcGVhdCBzY3JvbGwgMCUgNTAlOyAtbW96LWJhY2tncm91bmQtY2xpcDogLW1vei1pbml0aWFsOyAtbW96LWJhY2tncm91bmQtb3JpZ2luOiAtbW96LWluaXRpYWw7IC1tb3otYmFja2dyb3VuZC1pbmxpbmUtcG9saWN5OiAtbW96LWluaXRpYWw7IG1hcmdpbi1yaWdodDogNTAwcHQ7Ij48Zm9udCBjb2xvcj0iI2ZmZmZmZiI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O0FyaWFsJnF1b3Q7LHNhbnMtc2VyaWY7Ij5WMS43LjEKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aDMgc3R5bGU9ImJhY2tncm91bmQ6IHJnYig1MSwgMTAyLCAyNTUpIG5vbmUgcmVwZWF0IHNjcm9sbCAwJSA1MCU7IC1tb3otYmFja2dyb3VuZC1jbGlwOiBpbml0aWFsOyAtbW96LWJhY2tncm91bmQtb3JpZ2luOiBpbml0aWFsOyAtbW96LWJhY2tncm91bmQtaW5saW5lLXBvbGljeTogaW5pdGlhbDsgbWFyZ2luLXJpZ2h0OiA1MDBwdDsiPjxmb250IGNvbG9yPSIjZmZmZmZmIj48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7QXJpYWwmcXVvdDssc2Fucy1zZXJpZjsiPlYxLjcuMQogCiAKIApAQCAtNDA3OSw3ICs0MDk5LDcgQEAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC91bD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC91bD4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aDMgc3R5bGU9ImJhY2tncm91bmQ6IHJnYig1MSwgMTAyLCAyNTUpIG5vbmUgcmVwZWF0IHNjcm9sbCAwJSA1MCU7IC1tb3otYmFja2dyb3VuZC1jbGlwOiAtbW96LWluaXRpYWw7IC1tb3otYmFja2dyb3VuZC1vcmlnaW46IC1tb3otaW5pdGlhbDsgLW1vei1iYWNrZ3JvdW5kLWlubGluZS1wb2xpY3k6IC1tb3otaW5pdGlhbDsgbWFyZ2luLXJpZ2h0OiA1MDBwdDsiPjxmb250IGNvbG9yPSIjZmZmZmZmIj48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7QXJpYWwmcXVvdDssc2Fucy1zZXJpZjsiPlYxLjcuMAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxoMyBzdHlsZT0iYmFja2dyb3VuZDogcmdiKDUxLCAxMDIsIDI1NSkgbm9uZSByZXBlYXQgc2Nyb2xsIDAlIDUwJTsgLW1vei1iYWNrZ3JvdW5kLWNsaXA6IGluaXRpYWw7IC1tb3otYmFja2dyb3VuZC1vcmlnaW46IGluaXRpYWw7IC1tb3otYmFja2dyb3VuZC1pbmxpbmUtcG9saWN5OiBpbml0aWFsOyBtYXJnaW4tcmlnaHQ6IDUwMHB0OyI+PGZvbnQgY29sb3I9IiNmZmZmZmYiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtBcmlhbCZxdW90OyxzYW5zLXNlcmlmOyI+VjEuNy4wCiAKIAogCkBAIC00NTc4LDcgKzQ1OTgsNyBAQAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZnVuY3Rpb25zPC9zcGFuPjxzcGFuIHN0eWxlPSIiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3VsPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGgzIHN0eWxlPSJiYWNrZ3JvdW5kOiByZ2IoNTEsIDEwMiwgMjU1KSBub25lIHJlcGVhdCBzY3JvbGwgMCUgNTAlOyAtbW96LWJhY2tncm91bmQtY2xpcDogLW1vei1pbml0aWFsOyAtbW96LWJhY2tncm91bmQtb3JpZ2luOiAtbW96LWluaXRpYWw7IC1tb3otYmFja2dyb3VuZC1pbmxpbmUtcG9saWN5OiAtbW96LWluaXRpYWw7IG1hcmdpbi1yaWdodDogNTAwcHQ7Ij48Zm9udCBjb2xvcj0iI2ZmZmZmZiI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O0FyaWFsJnF1b3Q7LHNhbnMtc2VyaWY7Ij5WMS42LjAKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aDMgc3R5bGU9ImJhY2tncm91bmQ6IHJnYig1MSwgMTAyLCAyNTUpIG5vbmUgcmVwZWF0IHNjcm9sbCAwJSA1MCU7IC1tb3otYmFja2dyb3VuZC1jbGlwOiBpbml0aWFsOyAtbW96LWJhY2tncm91bmQtb3JpZ2luOiBpbml0aWFsOyAtbW96LWJhY2tncm91bmQtaW5saW5lLXBvbGljeTogaW5pdGlhbDsgbWFyZ2luLXJpZ2h0OiA1MDBwdDsiPjxmb250IGNvbG9yPSIjZmZmZmZmIj48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7QXJpYWwmcXVvdDssc2Fucy1zZXJpZjsiPlYxLjYuMAogCiAKIApAQCAtNDgxNCw3ICs0ODM0LDcgQEAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImdyYW1lIj48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPmNhbGxiYWNrczwvc3Bhbj48L3NwYW4+PC9zcGFuPjwvc3Bhbj48c3BhbiBzdHlsZT0iIj48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC91bD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3VsPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxoMyBzdHlsZT0iYmFja2dyb3VuZDogcmdiKDUxLCAxMDIsIDI1NSkgbm9uZSByZXBlYXQgc2Nyb2xsIDAlIDUwJTsgLW1vei1iYWNrZ3JvdW5kLWNsaXA6IC1tb3otaW5pdGlhbDsgLW1vei1iYWNrZ3JvdW5kLW9yaWdpbjogLW1vei1pbml0aWFsOyAtbW96LWJhY2tncm91bmQtaW5saW5lLXBvbGljeTogLW1vei1pbml0aWFsOyBtYXJnaW4tcmlnaHQ6IDUwMHB0OyI+PGZvbnQgY29sb3I9IiNmZmZmZmYiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtBcmlhbCZxdW90OyxzYW5zLXNlcmlmOyI+VjEuNS4yCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGgzIHN0eWxlPSJiYWNrZ3JvdW5kOiByZ2IoNTEsIDEwMiwgMjU1KSBub25lIHJlcGVhdCBzY3JvbGwgMCUgNTAlOyAtbW96LWJhY2tncm91bmQtY2xpcDogaW5pdGlhbDsgLW1vei1iYWNrZ3JvdW5kLW9yaWdpbjogaW5pdGlhbDsgLW1vei1iYWNrZ3JvdW5kLWlubGluZS1wb2xpY3k6IGluaXRpYWw7IG1hcmdpbi1yaWdodDogNTAwcHQ7Ij48Zm9udCBjb2xvcj0iI2ZmZmZmZiI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O0FyaWFsJnF1b3Q7LHNhbnMtc2VyaWY7Ij5WMS41LjIKIAogCiAKQEAgLTQ5MTMsNyArNDkzMyw3IEBACiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgb3B0aW1pemF0aW9uICZuYnNwOzwvc3Bhbj48bzpwPjwvbzpwPjwvc3Bhbj48L3NwYW4+PC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC91bD4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aDMgc3R5bGU9ImJhY2tncm91bmQ6IHJnYig1MSwgMTAyLCAyNTUpIG5vbmUgcmVwZWF0IHNjcm9sbCAwJSA1MCU7IC1tb3otYmFja2dyb3VuZC1jbGlwOiAtbW96LWluaXRpYWw7IC1tb3otYmFja2dyb3VuZC1vcmlnaW46IC1tb3otaW5pdGlhbDsgLW1vei1iYWNrZ3JvdW5kLWlubGluZS1wb2xpY3k6IC1tb3otaW5pdGlhbDsgbWFyZ2luLXJpZ2h0OiA1MDBwdDsiPjxmb250IGNvbG9yPSIjZmZmZmZmIj48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7QXJpYWwmcXVvdDssc2Fucy1zZXJpZjsiPlYxLjUuMQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxoMyBzdHlsZT0iYmFja2dyb3VuZDogcmdiKDUxLCAxMDIsIDI1NSkgbm9uZSByZXBlYXQgc2Nyb2xsIDAlIDUwJTsgLW1vei1iYWNrZ3JvdW5kLWNsaXA6IGluaXRpYWw7IC1tb3otYmFja2dyb3VuZC1vcmlnaW46IGluaXRpYWw7IC1tb3otYmFja2dyb3VuZC1pbmxpbmUtcG9saWN5OiBpbml0aWFsOyBtYXJnaW4tcmlnaHQ6IDUwMHB0OyI+PGZvbnQgY29sb3I9IiNmZmZmZmYiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtBcmlhbCZxdW90OyxzYW5zLXNlcmlmOyI+VjEuNS4xCiAKIAogCkBAIC01MDA1LDcgKzUwMjUsNyBAQAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbmN1cnJlbnQgPHNwYW4gY2xhc3M9ImdyYW1lIj53YXk8L3NwYW4+PC9zcGFuPjwvc3Bhbj48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC91bD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3VsPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxoMyBzdHlsZT0iYmFja2dyb3VuZDogcmdiKDUxLCAxMDIsIDI1NSkgbm9uZSByZXBlYXQgc2Nyb2xsIDAlIDUwJTsgLW1vei1iYWNrZ3JvdW5kLWNsaXA6IC1tb3otaW5pdGlhbDsgLW1vei1iYWNrZ3JvdW5kLW9yaWdpbjogLW1vei1pbml0aWFsOyAtbW96LWJhY2tncm91bmQtaW5saW5lLXBvbGljeTogLW1vei1pbml0aWFsOyBtYXJnaW4tcmlnaHQ6IDUwMHB0OyI+PGZvbnQgY29sb3I9IiNmZmZmZmYiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtBcmlhbCZxdW90OyxzYW5zLXNlcmlmOyI+VjEuNS4wCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGgzIHN0eWxlPSJiYWNrZ3JvdW5kOiByZ2IoNTEsIDEwMiwgMjU1KSBub25lIHJlcGVhdCBzY3JvbGwgMCUgNTAlOyAtbW96LWJhY2tncm91bmQtY2xpcDogaW5pdGlhbDsgLW1vei1iYWNrZ3JvdW5kLW9yaWdpbjogaW5pdGlhbDsgLW1vei1iYWNrZ3JvdW5kLWlubGluZS1wb2xpY3k6IGluaXRpYWw7IG1hcmdpbi1yaWdodDogNTAwcHQ7Ij48Zm9udCBjb2xvcj0iI2ZmZmZmZiI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O0FyaWFsJnF1b3Q7LHNhbnMtc2VyaWY7Ij5WMS41LjAKIAogCiAKQEAgLTYyMTEsNyArNjIzMSw3IEBACiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGUgY2hhbmdlczogPHNwYW4gY2xhc3M9InNwZWxsZSI+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5XV0RHXzwvc3Bhbj48L3NwYW4+PHNwYW4gY2xhc3M9ImdyYW1lIj48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPkV4YW1wbGU8L3NwYW4+PC9zcGFuPjwvc3Bhbj48c3BhbiBzdHlsZT0iIj48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC91bD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3VsPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxoMyBzdHlsZT0iYmFja2dyb3VuZDogcmdiKDUxLCAxMDIsIDI1NSkgbm9uZSByZXBlYXQgc2Nyb2xsIDAlIDUwJTsgLW1vei1iYWNrZ3JvdW5kLWNsaXA6IC1tb3otaW5pdGlhbDsgLW1vei1iYWNrZ3JvdW5kLW9yaWdpbjogLW1vei1pbml0aWFsOyAtbW96LWJhY2tncm91bmQtaW5saW5lLXBvbGljeTogLW1vei1pbml0aWFsOyBtYXJnaW4tcmlnaHQ6IDUwMHB0OyI+PGZvbnQgY29sb3I9IiNmZmZmZmYiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtBcmlhbCZxdW90OyxzYW5zLXNlcmlmOyI+VjEuNC40CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGgzIHN0eWxlPSJiYWNrZ3JvdW5kOiByZ2IoNTEsIDEwMiwgMjU1KSBub25lIHJlcGVhdCBzY3JvbGwgMCUgNTAlOyAtbW96LWJhY2tncm91bmQtY2xpcDogaW5pdGlhbDsgLW1vei1iYWNrZ3JvdW5kLW9yaWdpbjogaW5pdGlhbDsgLW1vei1iYWNrZ3JvdW5kLWlubGluZS1wb2xpY3k6IGluaXRpYWw7IG1hcmdpbi1yaWdodDogNTAwcHQ7Ij48Zm9udCBjb2xvcj0iI2ZmZmZmZiI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O0FyaWFsJnF1b3Q7LHNhbnMtc2VyaWY7Ij5WMS40LjQKIAogCiAKQEAgLTY5NTcsNyArNjk3Nyw3IEBACiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHAgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9IiI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsiPjxiciBzdHlsZT0iIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPCEtLVtpZiAhc3VwcG9ydExpbmVCcmVha05ld0xpbmVdLS0+PGJyIHN0eWxlPSIiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8IS0tW2VuZGlmXS0tPjxvOnA+PC9vOnA+PC9zcGFuPjwvcD4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aDMgc3R5bGU9ImJhY2tncm91bmQ6IHJnYig1MSwgMTAyLCAyNTUpIG5vbmUgcmVwZWF0IHNjcm9sbCAwJSA1MCU7IC1tb3otYmFja2dyb3VuZC1jbGlwOiAtbW96LWluaXRpYWw7IC1tb3otYmFja2dyb3VuZC1vcmlnaW46IC1tb3otaW5pdGlhbDsgLW1vei1iYWNrZ3JvdW5kLWlubGluZS1wb2xpY3k6IC1tb3otaW5pdGlhbDsgbWFyZ2luLXJpZ2h0OiA1MDBwdDsiPjxmb250IGNvbG9yPSIjZmZmZmZmIj48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7QXJpYWwmcXVvdDssc2Fucy1zZXJpZjsiPlYxLjQuNAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxoMyBzdHlsZT0iYmFja2dyb3VuZDogcmdiKDUxLCAxMDIsIDI1NSkgbm9uZSByZXBlYXQgc2Nyb2xsIDAlIDUwJTsgLW1vei1iYWNrZ3JvdW5kLWNsaXA6IGluaXRpYWw7IC1tb3otYmFja2dyb3VuZC1vcmlnaW46IGluaXRpYWw7IC1tb3otYmFja2dyb3VuZC1pbmxpbmUtcG9saWN5OiBpbml0aWFsOyBtYXJnaW4tcmlnaHQ6IDUwMHB0OyI+PGZvbnQgY29sb3I9IiNmZmZmZmYiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtBcmlhbCZxdW90OyxzYW5zLXNlcmlmOyI+VjEuNC40CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyAxMS1EZWNlbWJlci0yMDE1PC9zcGFuPjxzcGFuIHN0eWxlPSIiPjxvOnA+PC9vOnA+PC9zcGFuPjwvZm9udD48L2gzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSIiPjxiPjx1PjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7IGNvbG9yOiBibGFjazsiPk1haW4gQ2hhbmdlczwvc3Bhbj48L3U+PC9iPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7Ij48bzpwPjwvbzpwPjwvc3Bhbj48L3A+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVsIHN0eWxlPSJtYXJnaW4tdG9wOiAwaW47IiB0eXBlPSJzcXVhcmUiPgpAQCAtNjk5NSw3ICs3MDE1LDcgQEAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFNvZnR3YXJlIHJlc2V0IG1hbmFnZW1lbnQ8L3NwYW4+PHNwYW4gc3R5bGU9IiI+PG86cD48L286cD48L3NwYW4+PC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC91bD4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aDMgc3R5bGU9ImJhY2tncm91bmQ6IHJnYig1MSwgMTAyLCAyNTUpIG5vbmUgcmVwZWF0IHNjcm9sbCAwJSA1MCU7IC1tb3otYmFja2dyb3VuZC1jbGlwOiAtbW96LWluaXRpYWw7IC1tb3otYmFja2dyb3VuZC1vcmlnaW46IC1tb3otaW5pdGlhbDsgLW1vei1iYWNrZ3JvdW5kLWlubGluZS1wb2xpY3k6IC1tb3otaW5pdGlhbDsgbWFyZ2luLXJpZ2h0OiA1MDBwdDsiPjxmb250IGNvbG9yPSIjZmZmZmZmIj48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7QXJpYWwmcXVvdDssc2Fucy1zZXJpZjsiPlYxLjQuMgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxoMyBzdHlsZT0iYmFja2dyb3VuZDogcmdiKDUxLCAxMDIsIDI1NSkgbm9uZSByZXBlYXQgc2Nyb2xsIDAlIDUwJTsgLW1vei1iYWNrZ3JvdW5kLWNsaXA6IGluaXRpYWw7IC1tb3otYmFja2dyb3VuZC1vcmlnaW46IGluaXRpYWw7IC1tb3otYmFja2dyb3VuZC1pbmxpbmUtcG9saWN5OiBpbml0aWFsOyBtYXJnaW4tcmlnaHQ6IDUwMHB0OyI+PGZvbnQgY29sb3I9IiNmZmZmZmYiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtBcmlhbCZxdW90OyxzYW5zLXNlcmlmOyI+VjEuNC4yCiAKIAogCkBAIC03MjI3LDcgKzcyNDcsNyBAQAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcGFyYW1ldGVyczwvc3Bhbj48c3BhbiBzdHlsZT0iIj48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC91bD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3VsPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxoMyBzdHlsZT0iYmFja2dyb3VuZDogcmdiKDUxLCAxMDIsIDI1NSkgbm9uZSByZXBlYXQgc2Nyb2xsIDAlIDUwJTsgLW1vei1iYWNrZ3JvdW5kLWNsaXA6IC1tb3otaW5pdGlhbDsgLW1vei1iYWNrZ3JvdW5kLW9yaWdpbjogLW1vei1pbml0aWFsOyAtbW96LWJhY2tncm91bmQtaW5saW5lLXBvbGljeTogLW1vei1pbml0aWFsOyBtYXJnaW4tcmlnaHQ6IDUwMHB0OyI+PGZvbnQgY29sb3I9IiNmZmZmZmYiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtBcmlhbCZxdW90OyxzYW5zLXNlcmlmOyI+VjEuNC4xCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGgzIHN0eWxlPSJiYWNrZ3JvdW5kOiByZ2IoNTEsIDEwMiwgMjU1KSBub25lIHJlcGVhdCBzY3JvbGwgMCUgNTAlOyAtbW96LWJhY2tncm91bmQtY2xpcDogaW5pdGlhbDsgLW1vei1iYWNrZ3JvdW5kLW9yaWdpbjogaW5pdGlhbDsgLW1vei1iYWNrZ3JvdW5kLWlubGluZS1wb2xpY3k6IGluaXRpYWw7IG1hcmdpbi1yaWdodDogNTAwcHQ7Ij48Zm9udCBjb2xvcj0iI2ZmZmZmZiI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O0FyaWFsJnF1b3Q7LHNhbnMtc2VyaWY7Ij5WMS40LjEKIAogCiAKQEAgLTczMTcsNyArNzMzNyw3IEBACiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjYWxjdWxhdGVkIDxzcGFuIGNsYXNzPSJncmFtZSI+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5jb3JyZWN0bHmUPC9zcGFuPjwvc3Bhbj48L3NwYW4+PHNwYW4gc3R5bGU9IiI+PG86cD48L286cD48L3NwYW4+PC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC91bD4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aDMgc3R5bGU9ImJhY2tncm91bmQ6IHJnYig1MSwgMTAyLCAyNTUpIG5vbmUgcmVwZWF0IHNjcm9sbCAwJSA1MCU7IC1tb3otYmFja2dyb3VuZC1jbGlwOiAtbW96LWluaXRpYWw7IC1tb3otYmFja2dyb3VuZC1vcmlnaW46IC1tb3otaW5pdGlhbDsgLW1vei1iYWNrZ3JvdW5kLWlubGluZS1wb2xpY3k6IC1tb3otaW5pdGlhbDsgbWFyZ2luLXJpZ2h0OiA1MDBwdDsiPjxmb250IGNvbG9yPSIjZmZmZmZmIj48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7QXJpYWwmcXVvdDssc2Fucy1zZXJpZjsiPlYxLjQuMAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxoMyBzdHlsZT0iYmFja2dyb3VuZDogcmdiKDUxLCAxMDIsIDI1NSkgbm9uZSByZXBlYXQgc2Nyb2xsIDAlIDUwJTsgLW1vei1iYWNrZ3JvdW5kLWNsaXA6IGluaXRpYWw7IC1tb3otYmFja2dyb3VuZC1vcmlnaW46IGluaXRpYWw7IC1tb3otYmFja2dyb3VuZC1pbmxpbmUtcG9saWN5OiBpbml0aWFsOyBtYXJnaW4tcmlnaHQ6IDUwMHB0OyI+PGZvbnQgY29sb3I9IiNmZmZmZmYiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtBcmlhbCZxdW90OyxzYW5zLXNlcmlmOyI+VjEuNC4wCiAKIAogCkBAIC03NTQ3LDcgKzc1NjcsNyBAQAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGV2aWNlczwvc3Bhbj48c3BhbiBzdHlsZT0iIj48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC91bD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3VsPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxoMyBzdHlsZT0iYmFja2dyb3VuZDogcmdiKDUxLCAxMDIsIDI1NSkgbm9uZSByZXBlYXQgc2Nyb2xsIDAlIDUwJTsgLW1vei1iYWNrZ3JvdW5kLWNsaXA6IC1tb3otaW5pdGlhbDsgLW1vei1iYWNrZ3JvdW5kLW9yaWdpbjogLW1vei1pbml0aWFsOyAtbW96LWJhY2tncm91bmQtaW5saW5lLXBvbGljeTogLW1vei1pbml0aWFsOyBtYXJnaW4tcmlnaHQ6IDUwMHB0OyI+PGZvbnQgY29sb3I9IiNmZmZmZmYiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtBcmlhbCZxdW90OyxzYW5zLXNlcmlmOyI+VjEuMy4yCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGgzIHN0eWxlPSJiYWNrZ3JvdW5kOiByZ2IoNTEsIDEwMiwgMjU1KSBub25lIHJlcGVhdCBzY3JvbGwgMCUgNTAlOyAtbW96LWJhY2tncm91bmQtY2xpcDogaW5pdGlhbDsgLW1vei1iYWNrZ3JvdW5kLW9yaWdpbjogaW5pdGlhbDsgLW1vei1iYWNrZ3JvdW5kLWlubGluZS1wb2xpY3k6IGluaXRpYWw7IG1hcmdpbi1yaWdodDogNTAwcHQ7Ij48Zm9udCBjb2xvcj0iI2ZmZmZmZiI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O0FyaWFsJnF1b3Q7LHNhbnMtc2VyaWY7Ij5WMS4zLjIKIAogCiAKQEAgLTc4NzUsNyArNzg5NSw3IEBACiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBIb3N0IGNoYW5uZWwgcmUtPHNwYW4gY2xhc3M9ImdyYW1lIj48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPmFjdGl2YXRpb248L3NwYW4+PC9zcGFuPjwvc3Bhbj48c3BhbiBzdHlsZT0iIj48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC91bD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3VsPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxoMyBzdHlsZT0iYmFja2dyb3VuZDogcmdiKDUxLCAxMDIsIDI1NSkgbm9uZSByZXBlYXQgc2Nyb2xsIDAlIDUwJTsgLW1vei1iYWNrZ3JvdW5kLWNsaXA6IC1tb3otaW5pdGlhbDsgLW1vei1iYWNrZ3JvdW5kLW9yaWdpbjogLW1vei1pbml0aWFsOyAtbW96LWJhY2tncm91bmQtaW5saW5lLXBvbGljeTogLW1vei1pbml0aWFsOyBtYXJnaW4tcmlnaHQ6IDUwMHB0OyI+PGZvbnQgY29sb3I9IiNmZmZmZmYiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtBcmlhbCZxdW90OyxzYW5zLXNlcmlmOyI+VjEuMy4xCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGgzIHN0eWxlPSJiYWNrZ3JvdW5kOiByZ2IoNTEsIDEwMiwgMjU1KSBub25lIHJlcGVhdCBzY3JvbGwgMCUgNTAlOyAtbW96LWJhY2tncm91bmQtY2xpcDogaW5pdGlhbDsgLW1vei1iYWNrZ3JvdW5kLW9yaWdpbjogaW5pdGlhbDsgLW1vei1iYWNrZ3JvdW5kLWlubGluZS1wb2xpY3k6IGluaXRpYWw7IG1hcmdpbi1yaWdodDogNTAwcHQ7Ij48Zm9udCBjb2xvcj0iI2ZmZmZmZiI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O0FyaWFsJnF1b3Q7LHNhbnMtc2VyaWY7Ij5WMS4zLjEKIAogCiAKQEAgLTc5NDUsNyArNzk2NSw3IEBACiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzb2Z0d2FyZSB0cmlnZ2VyIDxzcGFuIGNsYXNzPSJncmFtZSI+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5jb25maWd1cmF0aW9uPC9zcGFuPjwvc3Bhbj48L3NwYW4+PHNwYW4gc3R5bGU9IiI+PG86cD48L286cD48L3NwYW4+PC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC91bD4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aDMgc3R5bGU9ImJhY2tncm91bmQ6IHJnYig1MSwgMTAyLCAyNTUpIG5vbmUgcmVwZWF0IHNjcm9sbCAwJSA1MCU7IC1tb3otYmFja2dyb3VuZC1jbGlwOiAtbW96LWluaXRpYWw7IC1tb3otYmFja2dyb3VuZC1vcmlnaW46IC1tb3otaW5pdGlhbDsgLW1vei1iYWNrZ3JvdW5kLWlubGluZS1wb2xpY3k6IC1tb3otaW5pdGlhbDsgbWFyZ2luLXJpZ2h0OiA1MDBwdDsiPjxmb250IGNvbG9yPSIjZmZmZmZmIj48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7QXJpYWwmcXVvdDssc2Fucy1zZXJpZjsiPlYxLjMuMAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxoMyBzdHlsZT0iYmFja2dyb3VuZDogcmdiKDUxLCAxMDIsIDI1NSkgbm9uZSByZXBlYXQgc2Nyb2xsIDAlIDUwJTsgLW1vei1iYWNrZ3JvdW5kLWNsaXA6IGluaXRpYWw7IC1tb3otYmFja2dyb3VuZC1vcmlnaW46IGluaXRpYWw7IC1tb3otYmFja2dyb3VuZC1pbmxpbmUtcG9saWN5OiBpbml0aWFsOyBtYXJnaW4tcmlnaHQ6IDUwMHB0OyI+PGZvbnQgY29sb3I9IiNmZmZmZmYiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtBcmlhbCZxdW90OyxzYW5zLXNlcmlmOyI+VjEuMy4wCiAKIAogCkBAIC04ODQ2LDcgKzg4NjYsNyBAQAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgU2Vuc2luZyBCIGFjdGl2YXRpb248L3NwYW4+PHNwYW4gc3R5bGU9IiI+PG86cD48L286cD48L3NwYW4+PC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC91bD4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aDMgc3R5bGU9ImJhY2tncm91bmQ6IHJnYig1MSwgMTAyLCAyNTUpIG5vbmUgcmVwZWF0IHNjcm9sbCAwJSA1MCU7IC1tb3otYmFja2dyb3VuZC1jbGlwOiAtbW96LWluaXRpYWw7IC1tb3otYmFja2dyb3VuZC1vcmlnaW46IC1tb3otaW5pdGlhbDsgLW1vei1iYWNrZ3JvdW5kLWlubGluZS1wb2xpY3k6IC1tb3otaW5pdGlhbDsgbWFyZ2luLXJpZ2h0OiA1MDBwdDsiPjxmb250IGNvbG9yPSIjZmZmZmZmIj48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7QXJpYWwmcXVvdDssc2Fucy1zZXJpZjsiPlYxLjIuMAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxoMyBzdHlsZT0iYmFja2dyb3VuZDogcmdiKDUxLCAxMDIsIDI1NSkgbm9uZSByZXBlYXQgc2Nyb2xsIDAlIDUwJTsgLW1vei1iYWNrZ3JvdW5kLWNsaXA6IGluaXRpYWw7IC1tb3otYmFja2dyb3VuZC1vcmlnaW46IGluaXRpYWw7IC1tb3otYmFja2dyb3VuZC1pbmxpbmUtcG9saWN5OiBpbml0aWFsOyBtYXJnaW4tcmlnaHQ6IDUwMHB0OyI+PGZvbnQgY29sb3I9IiNmZmZmZmYiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtBcmlhbCZxdW90OyxzYW5zLXNlcmlmOyI+VjEuMi4wCiAKIAogCkBAIC0xMDQ3Niw3ICsxMDQ5Niw3IEBACiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3VsPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGgzIHN0eWxlPSJiYWNrZ3JvdW5kOiByZ2IoNTEsIDEwMiwgMjU1KSBub25lIHJlcGVhdCBzY3JvbGwgMCUgNTAlOyAtbW96LWJhY2tncm91bmQtY2xpcDogLW1vei1pbml0aWFsOyAtbW96LWJhY2tncm91bmQtb3JpZ2luOiAtbW96LWluaXRpYWw7IC1tb3otYmFja2dyb3VuZC1pbmxpbmUtcG9saWN5OiAtbW96LWluaXRpYWw7IG1hcmdpbi1yaWdodDogNTAwcHQ7Ij48Zm9udCBjb2xvcj0iI2ZmZmZmZiI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O0FyaWFsJnF1b3Q7LHNhbnMtc2VyaWY7Ij5WMS4xLjAKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aDMgc3R5bGU9ImJhY2tncm91bmQ6IHJnYig1MSwgMTAyLCAyNTUpIG5vbmUgcmVwZWF0IHNjcm9sbCAwJSA1MCU7IC1tb3otYmFja2dyb3VuZC1jbGlwOiBpbml0aWFsOyAtbW96LWJhY2tncm91bmQtb3JpZ2luOiBpbml0aWFsOyAtbW96LWJhY2tncm91bmQtaW5saW5lLXBvbGljeTogaW5pdGlhbDsgbWFyZ2luLXJpZ2h0OiA1MDBwdDsiPjxmb250IGNvbG9yPSIjZmZmZmZmIj48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7QXJpYWwmcXVvdDssc2Fucy1zZXJpZjsiPlYxLjEuMAogCiAKIApAQCAtMTEzOTMsNyArMTE0MTMsNyBAQAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgV2FrZTwvc3Bhbj48c3BhbiBzdHlsZT0iIj48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC91bD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3VsPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxoMyBzdHlsZT0iYmFja2dyb3VuZDogcmdiKDUxLCAxMDIsIDI1NSkgbm9uZSByZXBlYXQgc2Nyb2xsIDAlIDUwJTsgLW1vei1iYWNrZ3JvdW5kLWNsaXA6IC1tb3otaW5pdGlhbDsgLW1vei1iYWNrZ3JvdW5kLW9yaWdpbjogLW1vei1pbml0aWFsOyAtbW96LWJhY2tncm91bmQtaW5saW5lLXBvbGljeTogLW1vei1pbml0aWFsOyBtYXJnaW4tcmlnaHQ6IDUwMHB0OyI+PGZvbnQgY29sb3I9IiNmZmZmZmYiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtBcmlhbCZxdW90OyxzYW5zLXNlcmlmOyI+VjEuMC4wCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGgzIHN0eWxlPSJiYWNrZ3JvdW5kOiByZ2IoNTEsIDEwMiwgMjU1KSBub25lIHJlcGVhdCBzY3JvbGwgMCUgNTAlOyAtbW96LWJhY2tncm91bmQtY2xpcDogaW5pdGlhbDsgLW1vei1iYWNrZ3JvdW5kLW9yaWdpbjogaW5pdGlhbDsgLW1vei1iYWNrZ3JvdW5kLWlubGluZS1wb2xpY3k6IGluaXRpYWw7IG1hcmdpbi1yaWdodDogNTAwcHQ7Ij48Zm9udCBjb2xvcj0iI2ZmZmZmZiI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O0FyaWFsJnF1b3Q7LHNhbnMtc2VyaWY7Ij5WMS4wLjAKIAogCiAKQEAgLTExNDE4LDcgKzExNDM4LDcgQEAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdHI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dHIgc3R5bGU9IiI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0ZCBzdHlsZT0icGFkZGluZzogMGluOyB3aWR0aDogODQzLjI1cHQ7IiB2YWxpZ249InRvcCIgd2lkdGg9IjExMjQiPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxoMiBzdHlsZT0iYmFja2dyb3VuZDogcmdiKDUxLCAxMDIsIDI1NSkgbm9uZSByZXBlYXQgc2Nyb2xsIDAlIDUwJTsgLW1vei1iYWNrZ3JvdW5kLWNsaXA6IC1tb3otaW5pdGlhbDsgLW1vei1iYWNrZ3JvdW5kLW9yaWdpbjogLW1vei1pbml0aWFsOyAtbW96LWJhY2tncm91bmQtaW5saW5lLXBvbGljeTogLW1vei1pbml0aWFsOyI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTJwdDsiPjxvOnA+Jm5ic3A7PC9vOnA+PC9zcGFuPjwvaDI+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGgyIHN0eWxlPSJiYWNrZ3JvdW5kOiByZ2IoNTEsIDEwMiwgMjU1KSBub25lIHJlcGVhdCBzY3JvbGwgMCUgNTAlOyAtbW96LWJhY2tncm91bmQtY2xpcDogaW5pdGlhbDsgLW1vei1iYWNrZ3JvdW5kLW9yaWdpbjogaW5pdGlhbDsgLW1vei1iYWNrZ3JvdW5kLWlubGluZS1wb2xpY3k6IGluaXRpYWw7Ij48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMnB0OyI+PG86cD4mbmJzcDs8L286cD48L3NwYW4+PC9oMj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC90ZD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdHI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC90Ym9keT4KZGlmZiAtLWdpdCBhL1NyYy9zdG0zMmY0eHhfaGFsLmMgYi9TcmMvc3RtMzJmNHh4X2hhbC5jCmluZGV4IGNiNjUyYjguLjliYTJiYTcgMTAwNjQ0Ci0tLSBhL1NyYy9zdG0zMmY0eHhfaGFsLmMKKysrIGIvU3JjL3N0bTMyZjR4eF9oYWwuYwpAQCAtNTAsMTEgKzUwLDExIEBACiAgICogQHsKICAgKi8KIC8qKgotICAqIEBicmllZiBTVE0zMkY0eHggSEFMIERyaXZlciB2ZXJzaW9uIG51bWJlciBWMS44LjAKKyAgKiBAYnJpZWYgU1RNMzJGNHh4IEhBTCBEcml2ZXIgdmVyc2lvbiBudW1iZXIgVjEuOC4xCiAgICovCiAjZGVmaW5lIF9fU1RNMzJGNHh4X0hBTF9WRVJTSU9OX01BSU4gICAoMHgwMVUpIC8qITwgWzMxOjI0XSBtYWluIHZlcnNpb24gKi8KICNkZWZpbmUgX19TVE0zMkY0eHhfSEFMX1ZFUlNJT05fU1VCMSAgICgweDA4VSkgLyohPCBbMjM6MTZdIHN1YjEgdmVyc2lvbiAqLwotI2RlZmluZSBfX1NUTTMyRjR4eF9IQUxfVkVSU0lPTl9TVUIyICAgKDB4MDBVKSAvKiE8IFsxNTo4XSAgc3ViMiB2ZXJzaW9uICovCisjZGVmaW5lIF9fU1RNMzJGNHh4X0hBTF9WRVJTSU9OX1NVQjIgICAoMHgwMVUpIC8qITwgWzE1OjhdICBzdWIyIHZlcnNpb24gKi8KICNkZWZpbmUgX19TVE0zMkY0eHhfSEFMX1ZFUlNJT05fUkMgICAgICgweDAwVSkgLyohPCBbNzowXSAgcmVsZWFzZSBjYW5kaWRhdGUgKi8gCiAjZGVmaW5lIF9fU1RNMzJGNHh4X0hBTF9WRVJTSU9OICAgICAgICAgKChfX1NUTTMyRjR4eF9IQUxfVkVSU0lPTl9NQUlOIDw8IDI0VSlcCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfChfX1NUTTMyRjR4eF9IQUxfVkVSU0lPTl9TVUIxIDw8IDE2VSlcCmRpZmYgLS1naXQgYS9TcmMvc3RtMzJmNHh4X2hhbF9ldGguYyBiL1NyYy9zdG0zMmY0eHhfaGFsX2V0aC5jCmluZGV4IDM3ZDU1MWIuLjUwZDk1YjggMTAwNjQ0Ci0tLSBhL1NyYy9zdG0zMmY0eHhfaGFsX2V0aC5jCisrKyBiL1NyYy9zdG0zMmY0eHhfaGFsX2V0aC5jCkBAIC0xOTQsNDQgKzE5NCw0NCBAQAogLyoqIEBhZGR0b2dyb3VwIEVUSF9Qcml2YXRlX0NvbnN0YW50cyBFVEggUHJpdmF0ZSBDb25zdGFudHMKICAgKiBAewogICAqLwotI2RlZmluZSBFVEhfTUFDQ1JfTUFTSyAgICAgICAoKHVpbnQzMl90KTB4RkZGQjdGN0NVKQotI2RlZmluZSBFVEhfTUFDRUNSX01BU0sgICAgICAoKHVpbnQzMl90KTB4M0YwNzdGRkZVKQotI2RlZmluZSBFVEhfTUFDRkZSX01BU0sgICAgICAoKHVpbnQzMl90KTB4ODAwMDA3RkZVKQotI2RlZmluZSBFVEhfTUFDV1RSX01BU0sgICAgICAoKHVpbnQzMl90KTB4MDAwMDAxMEZVKQotI2RlZmluZSBFVEhfTUFDVEZDUl9NQVNLICAgICAoKHVpbnQzMl90KTB4RkZGRjAwRjJVKQotI2RlZmluZSBFVEhfTUFDUkZDUl9NQVNLICAgICAoKHVpbnQzMl90KTB4MDAwMDAwMDNVKQotI2RlZmluZSBFVEhfTVRMVFFPTVJfTUFTSyAgICAoKHVpbnQzMl90KTB4MDAwMDAwNzJVKQotI2RlZmluZSBFVEhfTVRMUlFPTVJfTUFTSyAgICAoKHVpbnQzMl90KTB4MDAwMDAwN0JVKQotCi0jZGVmaW5lIEVUSF9ETUFNUl9NQVNLICAgICAgICgodWludDMyX3QpMHgwMDAwNzgwMlUpCi0jZGVmaW5lIEVUSF9ETUFTQk1SX01BU0sgICAgICgodWludDMyX3QpMHgwMDAwRDAwMVUpCi0jZGVmaW5lIEVUSF9ETUFDQ1JfTUFTSyAgICAgICgodWludDMyX3QpMHgwMDAxM0ZGRlUpCi0jZGVmaW5lIEVUSF9ETUFDVENSX01BU0sgICAgICgodWludDMyX3QpMHgwMDNGMTAxMFUpCi0jZGVmaW5lIEVUSF9ETUFDUkNSX01BU0sgICAgICgodWludDMyX3QpMHg4MDNGMDAwMFUpCi0jZGVmaW5lIEVUSF9NQUNQTVRDU1JfTUFTSyAgIChFVEhfTUFDUE1UQ1NSX1BEIHwgRVRIX01BQ1BNVENTUl9XRkUgfCBcCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBFVEhfTUFDUE1UQ1NSX01QRSB8IEVUSF9NQUNQTVRDU1JfR1UpCisjZGVmaW5lIEVUSF9NQUNDUl9NQVNLICAgICAgICAgIDB4RkZGQjdGN0NVCisjZGVmaW5lIEVUSF9NQUNFQ1JfTUFTSyAgICAgICAgIDB4M0YwNzdGRkZVCisjZGVmaW5lIEVUSF9NQUNGRlJfTUFTSyAgICAgICAgIDB4ODAwMDA3RkZVCisjZGVmaW5lIEVUSF9NQUNXVFJfTUFTSyAgICAgICAgIDB4MDAwMDAxMEZVCisjZGVmaW5lIEVUSF9NQUNURkNSX01BU0sgICAgICAgIDB4RkZGRjAwRjJVCisjZGVmaW5lIEVUSF9NQUNSRkNSX01BU0sgICAgICAgIDB4MDAwMDAwMDNVCisjZGVmaW5lIEVUSF9NVExUUU9NUl9NQVNLICAgICAgIDB4MDAwMDAwNzJVCisjZGVmaW5lIEVUSF9NVExSUU9NUl9NQVNLICAgICAgIDB4MDAwMDAwN0JVCisJCQkJCQkJICAgIAorI2RlZmluZSBFVEhfRE1BTVJfTUFTSyAgICAgICAgICAweDAwMDA3ODAyVQorI2RlZmluZSBFVEhfRE1BU0JNUl9NQVNLICAgICAgICAweDAwMDBEMDAxVQorI2RlZmluZSBFVEhfRE1BQ0NSX01BU0sgICAgICAgICAweDAwMDEzRkZGVQorI2RlZmluZSBFVEhfRE1BQ1RDUl9NQVNLICAgICAgICAweDAwM0YxMDEwVQorI2RlZmluZSBFVEhfRE1BQ1JDUl9NQVNLICAgICAgICAweDgwM0YwMDAwVQorI2RlZmluZSBFVEhfTUFDUE1UQ1NSX01BU0sgICAgICAoRVRIX01BQ1BNVENTUl9QRCB8IEVUSF9NQUNQTVRDU1JfV0ZFIHwgXAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgRVRIX01BQ1BNVENTUl9NUEUgfCBFVEhfTUFDUE1UQ1NSX0dVKQogCiAvKiBUaW1lb3V0IHZhbHVlcyAqLwotI2RlZmluZSBFVEhfU1dSRVNFVF9USU1FT1VUICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTUwMFUpCi0jZGVmaW5lIEVUSF9NRElPX0JVU19USU1FT1VUICAgICAgICAgICAgICAgICgodWludDMyX3QpMTAwMFUpCisjZGVmaW5lIEVUSF9TV1JFU0VUX1RJTUVPVVQgICAgIDUwMFUKKyNkZWZpbmUgRVRIX01ESU9fQlVTX1RJTUVPVVQgICAgMTAwMFUKIAogI2RlZmluZSBFVEhfRE1BUlhERVNDX0VSUk9SU19NQVNLICgodWludDMyX3QpKEVUSF9ETUFSWERFU0NfREJFIHwgRVRIX0RNQVJYREVTQ19SRSB8IFwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBFVEhfRE1BUlhERVNDX09FICB8IEVUSF9ETUFSWERFU0NfUldUIHxcCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgRVRIX0RNQVJYREVTQ19MQyB8IEVUSF9ETUFSWERFU0NfQ0UgfFwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBFVEhfRE1BUlhERVNDX0RFIHwgRVRIX0RNQVJYREVTQ19JUFY0SENFKSkKIAotI2RlZmluZSBFVEhfTUFDX1VTX1RJQ0sgICAgICAgICAgICAgICAoKHVpbnQzMl90KTEwMDAwMDBVKQorI2RlZmluZSBFVEhfTUFDX1VTX1RJQ0sgICAgICAgICAxMDAwMDAwVQogCi0jZGVmaW5lIEVUSF9NQUNUU0NSX01BU0sgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDg3RkYyRlUpCisjZGVmaW5lIEVUSF9NQUNUU0NSX01BU0sgICAgICAgIDB4MDA4N0ZGMkZVCiAKLSNkZWZpbmUgRVRIX1BUUFRTSFJfVkFMVUUgICAgICAgICAgICAoKHVpbnQzMl90KTB4RkZGRkZGRkZVKQotI2RlZmluZSBFVEhfUFRQVFNMUl9WQUxVRSAgICAgICAgICAgICgodWludDMyX3QpMHhCQjlBQ0EwMFUpCisjZGVmaW5lIEVUSF9QVFBUU0hSX1ZBTFVFICAgICAgIDB4RkZGRkZGRkZVCisjZGVmaW5lIEVUSF9QVFBUU0xSX1ZBTFVFICAgICAgIDB4QkI5QUNBMDBVCiAKIC8qIEV0aGVybmV0IE1BQ01JSUFSIHJlZ2lzdGVyIE1hc2sgKi8KLSNkZWZpbmUgRVRIX01BQ01JSUFSX0NSX01BU0sgICAgKCh1aW50MzJfdCkweEZGRkZGRkUzVSkKKyNkZWZpbmUgRVRIX01BQ01JSUFSX0NSX01BU0sgICAgMHhGRkZGRkZFM1UKIAogLyogRGVsYXkgdG8gd2FpdCB3aGVuIHdyaXRpbmcgdG8gc29tZSBFdGhlcm5ldCByZWdpc3RlcnMgKi8KLSNkZWZpbmUgRVRIX1JFR19XUklURV9ERUxBWSAoKHVpbnQzMl90KTB4MDAwMDAwMDFVKQorI2RlZmluZSBFVEhfUkVHX1dSSVRFX0RFTEFZICAgICAweDAwMDAwMDAxVQogCiAvKiBFVEhFUk5FVCBNQUNDUiByZWdpc3RlciBNYXNrICovCiAjZGVmaW5lIEVUSF9NQUNDUl9DTEVBUl9NQVNLICAgIDB4RkYyMDgxMEZVCkBAIC0yNDMsOCArMjQzLDggQEAKICNkZWZpbmUgRVRIX0RNQU9NUl9DTEVBUl9NQVNLICAgMHhGOERFM0YyM1UKIAogLyogRVRIRVJORVQgTUFDIGFkZHJlc3Mgb2Zmc2V0cyAqLwotI2RlZmluZSBFVEhfTUFDX0FERFJfSEJBU0UgICAgKHVpbnQzMl90KShFVEhfTUFDX0JBU0UgKyAweDQwVSkgIC8qIEVUSEVSTkVUIE1BQyBhZGRyZXNzIGhpZ2ggb2Zmc2V0ICovCi0jZGVmaW5lIEVUSF9NQUNfQUREUl9MQkFTRSAgICAodWludDMyX3QpKEVUSF9NQUNfQkFTRSArIDB4NDRVKSAgLyogRVRIRVJORVQgTUFDIGFkZHJlc3MgbG93IG9mZnNldCAqLworI2RlZmluZSBFVEhfTUFDX0FERFJfSEJBU0UgICAgICAodWludDMyX3QpKEVUSF9NQUNfQkFTRSArIDB4NDBVKSAgLyogRVRIRVJORVQgTUFDIGFkZHJlc3MgaGlnaCBvZmZzZXQgKi8KKyNkZWZpbmUgRVRIX01BQ19BRERSX0xCQVNFICAgICAgKHVpbnQzMl90KShFVEhfTUFDX0JBU0UgKyAweDQ0VSkgIC8qIEVUSEVSTkVUIE1BQyBhZGRyZXNzIGxvdyBvZmZzZXQgKi8KIAogLyogRVRIRVJORVQgRE1BIFJ4IGRlc2NyaXB0b3JzIEZyYW1lIGxlbmd0aCBTaGlmdCAqLwogI2RlZmluZSAgRVRIX0RNQVJYREVTQ19GUkFNRUxFTkdUSFNISUZUICAgICAgICAgICAgMTZVCkBAIC0xMjI5LDExICsxMjI5LDYgQEAKIAogICAgIGlmIChhbGxvY1N0YXR1cyAhPSAwVSkKICAgICB7Ci0gICAgICAvKiBFbnN1cmUgcmVzdCBvZiBkZXNjcmlwdG9yIGlzIHdyaXR0ZW4gdG8gUkFNIGJlZm9yZSB0aGUgT1dOIGJpdCAqLwotICAgICAgX19ETUIoKTsKLQotICAgICAgV1JJVEVfUkVHKGRtYXJ4ZGVzYy0+REVTQzAsIEVUSF9ETUFSWERFU0NfT1dOKTsKLQogICAgICAgaWYgKGhldGgtPlJ4RGVzY0xpc3QuSXRNb2RlID09IDBVKQogICAgICAgewogICAgICAgICBXUklURV9SRUcoZG1hcnhkZXNjLT5ERVNDMSwgRVRIX0RNQVJYREVTQ19ESUMgfCBFVEhfUlhfQlVGX1NJWkUgfCBFVEhfRE1BUlhERVNDX1JDSCk7CkBAIC0xMjQzLDYgKzEyMzgsMTQgQEAKICAgICAgICAgV1JJVEVfUkVHKGRtYXJ4ZGVzYy0+REVTQzEsIEVUSF9SWF9CVUZfU0laRSB8IEVUSF9ETUFSWERFU0NfUkNIKTsKICAgICAgIH0KIAorICAgICAgLyogQmVmb3JlIHRyYW5zZmVycmluZyB0aGUgb3duZXJzaGlwIHRvIERNQSwgbWFrZSBzdXJlIHRoYXQgdGhlIFJYIGRlc2NyaXB0b3JzIGJpdHMgd3JpdGluZworICAgICAgICAgaXMgZnVsbHkgcGVyZm9ybWVkLgorICAgICAgICAgVGhlIF9fRE1CKCkgaW5zdHJ1Y3Rpb24gaXMgYWRkZWQgdG8gYXZvaWQgYW55IHBvdGVudGlhbCBjb21waWxlciBvcHRpbWl6YXRpb24gdGhhdAorICAgICAgICAgbWF5IGxlYWQgdG8gYWJub3JtYWwgYmVoYXZpb3IuICovCisgICAgICBfX0RNQigpOworCisgICAgICBTRVRfQklUKGRtYXJ4ZGVzYy0+REVTQzAsIEVUSF9ETUFSWERFU0NfT1dOKTsKKwogICAgICAgLyogSW5jcmVtZW50IGN1cnJlbnQgcnggZGVzY3JpcHRvciBpbmRleCAqLwogICAgICAgSU5DUl9SWF9ERVNDX0lOREVYKGRlc2NpZHgsIDFVKTsKICAgICAgIC8qIEdldCBjdXJyZW50IGRlc2NyaXB0b3IgYWRkcmVzcyAqLwpkaWZmIC0tZ2l0IGEvU3JjL3N0bTMyZjR4eF9oYWxfcnRjLmMgYi9TcmMvc3RtMzJmNHh4X2hhbF9ydGMuYwppbmRleCBmNGQ1ZGJjLi4yZDJiZTY2IDEwMDY0NAotLS0gYS9TcmMvc3RtMzJmNHh4X2hhbF9ydGMuYworKysgYi9TcmMvc3RtMzJmNHh4X2hhbF9ydGMuYwpAQCAtMzA2LDUwICszMDYsMzggQEAKICAgLyogU2V0IFJUQyBzdGF0ZSAqLwogICBocnRjLT5TdGF0ZSA9IEhBTF9SVENfU1RBVEVfQlVTWTsKIAotICAvKiBDaGVjayB3aGV0aGVyIHRoZSBjYWxlbmRhciBuZWVkcyB0byBiZSBpbml0aWFsaXplZCAqLwotICBpZiAoX19IQUxfUlRDX0lTX0NBTEVOREFSX0lOSVRJQUxJWkVEKGhydGMpID09IDBVKQorICAvKiBEaXNhYmxlIHRoZSB3cml0ZSBwcm90ZWN0aW9uIGZvciBSVEMgcmVnaXN0ZXJzICovCisgIF9fSEFMX1JUQ19XUklURVBST1RFQ1RJT05fRElTQUJMRShocnRjKTsKKworICAvKiBFbnRlciBJbml0aWFsaXphdGlvbiBtb2RlICovCisgIHN0YXR1cyA9IFJUQ19FbnRlckluaXRNb2RlKGhydGMpOworCisgIGlmIChzdGF0dXMgPT0gSEFMX09LKQogICB7Ci0gICAgLyogRGlzYWJsZSB0aGUgd3JpdGUgcHJvdGVjdGlvbiBmb3IgUlRDIHJlZ2lzdGVycyAqLwotICAgIF9fSEFMX1JUQ19XUklURVBST1RFQ1RJT05fRElTQUJMRShocnRjKTsKKyAgICAvKiBDbGVhciBSVENfQ1IgRk1ULCBPU0VMIGFuZCBQT0wgQml0cyAqLworICAgIGhydGMtPkluc3RhbmNlLT5DUiAmPSAoKHVpbnQzMl90KX4oUlRDX0NSX0ZNVCB8IFJUQ19DUl9PU0VMIHwgUlRDX0NSX1BPTCkpOworICAgIC8qIFNldCBSVENfQ1IgcmVnaXN0ZXIgKi8KKyAgICBocnRjLT5JbnN0YW5jZS0+Q1IgfD0gKHVpbnQzMl90KShocnRjLT5Jbml0LkhvdXJGb3JtYXQgfCBocnRjLT5Jbml0Lk91dFB1dCB8IGhydGMtPkluaXQuT3V0UHV0UG9sYXJpdHkpOwogCi0gICAgLyogRW50ZXIgSW5pdGlhbGl6YXRpb24gbW9kZSAqLwotICAgIHN0YXR1cyA9IFJUQ19FbnRlckluaXRNb2RlKGhydGMpOworICAgIC8qIENvbmZpZ3VyZSB0aGUgUlRDIFBSRVIgKi8KKyAgICBocnRjLT5JbnN0YW5jZS0+UFJFUiA9ICh1aW50MzJfdCkoaHJ0Yy0+SW5pdC5TeW5jaFByZWRpdik7CisgICAgaHJ0Yy0+SW5zdGFuY2UtPlBSRVIgfD0gKHVpbnQzMl90KShocnRjLT5Jbml0LkFzeW5jaFByZWRpdiA8PCBSVENfUFJFUl9QUkVESVZfQV9Qb3MpOwogCi0gICAgaWYgKHN0YXR1cyA9PSBIQUxfT0spCi0gICAgewotICAgICAgLyogQ2xlYXIgUlRDX0NSIEZNVCwgT1NFTCBhbmQgUE9MIEJpdHMgKi8KLSAgICAgIGhydGMtPkluc3RhbmNlLT5DUiAmPSAoKHVpbnQzMl90KX4oUlRDX0NSX0ZNVCB8IFJUQ19DUl9PU0VMIHwgUlRDX0NSX1BPTCkpOwotICAgICAgLyogU2V0IFJUQ19DUiByZWdpc3RlciAqLwotICAgICAgaHJ0Yy0+SW5zdGFuY2UtPkNSIHw9ICh1aW50MzJfdCkoaHJ0Yy0+SW5pdC5Ib3VyRm9ybWF0IHwgaHJ0Yy0+SW5pdC5PdXRQdXQgfCBocnRjLT5Jbml0Lk91dFB1dFBvbGFyaXR5KTsKLQotICAgICAgLyogQ29uZmlndXJlIHRoZSBSVEMgUFJFUiAqLwotICAgICAgaHJ0Yy0+SW5zdGFuY2UtPlBSRVIgPSAodWludDMyX3QpKGhydGMtPkluaXQuU3luY2hQcmVkaXYpOwotICAgICAgaHJ0Yy0+SW5zdGFuY2UtPlBSRVIgfD0gKHVpbnQzMl90KShocnRjLT5Jbml0LkFzeW5jaFByZWRpdiA8PCBSVENfUFJFUl9QUkVESVZfQV9Qb3MpOwotCi0gICAgICAvKiBFeGl0IEluaXRpYWxpemF0aW9uIG1vZGUgKi8KLSAgICAgIHN0YXR1cyA9IFJUQ19FeGl0SW5pdE1vZGUoaHJ0Yyk7Ci0gICAgfQotCi0gICAgaWYgKHN0YXR1cyA9PSBIQUxfT0spCi0gICAgewotICAgICAgaHJ0Yy0+SW5zdGFuY2UtPlRBRkNSICY9ICh1aW50MzJfdCl+UlRDX09VVFBVVF9UWVBFX1BVU0hQVUxMOwotICAgICAgaHJ0Yy0+SW5zdGFuY2UtPlRBRkNSIHw9ICh1aW50MzJfdCkoaHJ0Yy0+SW5pdC5PdXRQdXRUeXBlKTsKLSAgICB9Ci0KLSAgICAvKiBFbmFibGUgdGhlIHdyaXRlIHByb3RlY3Rpb24gZm9yIFJUQyByZWdpc3RlcnMgKi8KLSAgICBfX0hBTF9SVENfV1JJVEVQUk9URUNUSU9OX0VOQUJMRShocnRjKTsKLSAgfQotICBlbHNlCi0gIHsKLSAgICAvKiBUaGUgY2FsZW5kYXIgaXMgYWxyZWFkeSBpbml0aWFsaXplZCAqLwotICAgIHN0YXR1cyA9IEhBTF9PSzsKKyAgICAvKiBFeGl0IEluaXRpYWxpemF0aW9uIG1vZGUgKi8KKyAgICBzdGF0dXMgPSBSVENfRXhpdEluaXRNb2RlKGhydGMpOwogICB9CiAKICAgaWYgKHN0YXR1cyA9PSBIQUxfT0spCiAgIHsKKyAgICBocnRjLT5JbnN0YW5jZS0+VEFGQ1IgJj0gKHVpbnQzMl90KX5SVENfT1VUUFVUX1RZUEVfUFVTSFBVTEw7CisgICAgaHJ0Yy0+SW5zdGFuY2UtPlRBRkNSIHw9ICh1aW50MzJfdCkoaHJ0Yy0+SW5pdC5PdXRQdXRUeXBlKTsKKwogICAgIGhydGMtPlN0YXRlID0gSEFMX1JUQ19TVEFURV9SRUFEWTsKICAgfQogCisgIC8qIEVuYWJsZSB0aGUgd3JpdGUgcHJvdGVjdGlvbiBmb3IgUlRDIHJlZ2lzdGVycyAqLworICBfX0hBTF9SVENfV1JJVEVQUk9URUNUSU9OX0VOQUJMRShocnRjKTsKKwogICByZXR1cm4gc3RhdHVzOwogfQogCg==