LyoKICogQ29weXJpZ2h0IDIwMDYgU2FtdWVsIExpZOluIEJvcmVsbAogKgogKiBUaGlzIGxpYnJhcnkgaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yCiAqIG1vZGlmeSBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBMZXNzZXIgR2VuZXJhbCBQdWJsaWMKICogTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyCiAqIHZlcnNpb24gMi4xIG9mIHRoZSBMaWNlbnNlLCBvciAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgogKgogKiBUaGlzIGxpYnJhcnkgaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKICogYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKICogTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZSBHTlUKICogTGVzc2VyIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KICoKICogWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIExlc3NlciBHZW5lcmFsIFB1YmxpYwogKiBMaWNlbnNlIGFsb25nIHdpdGggdGhpcyBsaWJyYXJ5OyBpZiBub3QsIHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3YXJlCiAqIEZvdW5kYXRpb24sIEluYy4sIDUxIEZyYW5rbGluIFN0LCBGaWZ0aCBGbG9vciwgQm9zdG9uLCBNQSAwMjExMC0xMzAxLCBVU0EKICovCgoKTEFOR1VBR0UgTEFOR19TV0VESVNILCBTVUJMQU5HX0RFRkFVTFQKCklEUl9CUk9XU0VfQ09OVEVYVF9NRU5VIE1FTlUKewogICAgUE9QVVAgIlN0YW5kYXJkIgogICAgewogICAgICAgIE1FTlVJVEVNICImQmFr5XQiLCAgICAgICAgICAgICAgICAgICAgICAgICAgSURNX0dPQkFDS1dBUkQKICAgICAgICBNRU5VSVRFTSAiJkZyYW3ldCIsICAgICAgICAgICAgICAgICAgICAgICAgIElETV9HT0ZPUldBUkQKICAgICAgICBNRU5VSVRFTSBTRVBBUkFUT1IKICAgICAgICBNRU5VSVRFTSAiU3BhcmEgYmFrZyZydW5kIHNvbS4uLiIsICAgICAgICAgIElETV9TQVZFQkFDS0dST1VORAogICAgICAgIE1FTlVJVEVNICJBJm525G5kIHNvbSBza3JpdmJvcmRzYmFrZ3J1bmQiLCAgSURNX1NFVFdBTExQQVBFUgogICAgICAgIE1FTlVJVEVNICJLJm9waWVyYSBiYWtncnVuZCIsICAgICAgICAgICAgICAgSURNX0NPUFlCQUNLR1JPVU5ECiAgICAgICAgTUVOVUlURU0gIkFuduRuZCBzb20gJnNrcml2Ym9yZHNvYmpla3QiLCAgICBJRE1fU0VUREVTS1RPUElURU0KICAgICAgICBNRU5VSVRFTSBTRVBBUkFUT1IKICAgICAgICBNRU5VSVRFTSAiJk1hcmtlcmEgYWxsdCIsICAgICAgICAgICAgICAgICAgIElETV9TRUxFQ1RBTEwKICAgICAgICBNRU5VSVRFTSAiSyZsaXN0cmEgaW4iLCAgICAgICAgICAgICAgICAgICAgIElETV9QQVNURQogICAgICAgIE1FTlVJVEVNIFNFUEFSQVRPUgogICAgICAgIE1FTlVJVEVNICJTa2FwYSBnZW52JuRnIiwgICAgICAgICAgICAgICAgICAgSURNX0NSRUFURVNIT1JUQ1VUCiAgICAgICAgTUVOVUlURU0gIkzkZ2cgdGlsbCAmaSBGYXZvcml0ZXIiLCAgICAgICAgICBJRE1fQURERkFWT1JJVEVTCiAgICAgICAgTUVOVUlURU0gIiZWaXNhIGvkbGxrb2QiLCAgICAgICAgICAgICAgICAgICBJRE1fVklFV1NPVVJDRQogICAgICAgIE1FTlVJVEVNIFNFUEFSQVRPUgogICAgICAgIE1FTlVJVEVNICJUZWNrZW4ma29kbmluZyIsICAgICAgICAgICAgICAgICAgSURNX0xBTkdVQUdFCiAgICAgICAgTUVOVUlURU0gU0VQQVJBVE9SCiAgICAgICAgTUVOVUlURU0gIlNrcml2ICZ1dCIsICAgICAgICAgICAgICAgICAgICAgICBJRE1fUFJJTlQKICAgICAgICBNRU5VSVRFTSAiVXBwJmRhdGVyYSIsICAgICAgICAgICAgICAgICAgICAgIF9JRE1fUkVGUkVTSAogICAgICAgIE1FTlVJVEVNIFNFUEFSQVRPUgogICAgICAgIE1FTlVJVEVNIFNFUEFSQVRPUgogICAgICAgIE1FTlVJVEVNICImRWdlbnNrYXBlciIsICAgICAgICAgICAgICAgICAgICAgSURNX1BST1BFUlRJRVMKICAgIH0KCiAgICBQT1BVUCAiQmlsZCIKICAgIHsKICAgICAgICBNRU5VSVRFTSAiJtZwcG5hIGzkbmsiLCAgICAgICAgICAgICAgICAgICAgICAgIElETV9GT0xMT1dMSU5LQwogICAgICAgIE1FTlVJVEVNICLWcHBuYSBs5G5rIGkgbnl0dCAmZvZuc3RlciIsICAgICAgICAgSURNX0ZPTExPV0xJTktOCiAgICAgICAgTUVOVUlURU0gIlNwYXJhICZt5Wwgc29tLi4uIiwgICAgICAgICAgICAgICAgICBJRE1fU0FWRVRBUkdFVAogICAgICAgIE1FTlVJVEVNICJTa3JpdiB1dCBtJuVsIiwgICAgICAgICAgICAgICAgICAgICAgSURNX1BSSU5UVEFSR0VUCiAgICAgICAgTUVOVUlURU0gU0VQQVJBVE9SCiAgICAgICAgTUVOVUlURU0gIlZpc2EgJmJpbGQiLCAgICAgICAgICAgICAgICAgICAgICAgICBJRE1fU0hPV1BJQ1RVUkUKICAgICAgICBNRU5VSVRFTSAiU3BhcmEgYmlsJmQgc29tLi4uIiwgICAgICAgICAgICAgICAgIElETV9TQVZFUElDVFVSRQogICAgICAgIE1FTlVJVEVNICJTa2kmY2thIGJpbGQgaSBlLXBvc3RtZWRkZWxhbmRlLi4uIiwgSURNX01QX0VNQUlMUElDVFVSRQogICAgICAgIE1FTlVJVEVNICJTa3JpdiAmdXQgYmlsZC4uLiIsICAgICAgICAgICAgICAgICAgSURNX01QX1BSSU5UUElDVFVSRQogICAgICAgIE1FTlVJVEVNICImR+UgdGlsbCBNaW5hIGJpbGRlciIsICAgICAgICAgICAgICAgSURNX01QX01ZUElDUwogICAgICAgIE1FTlVJVEVNICJBJm525G5kIHNvbSBza3JpdmJvcmRzYmFrZ3J1bmQiLCAgICAgSURNX1NFVFdBTExQQVBFUgogICAgICAgIE1FTlVJVEVNICJBbnbkbmQgc29tICZza3JpdmJvcmRzb2JqZWt0Li4uIiwgICAgSURNX1NFVERFU0tUT1BJVEVNCiAgICAgICAgTUVOVUlURU0gU0VQQVJBVE9SCiAgICAgICAgTUVOVUlURU0gIiZLbGlwcCB1dCIsICAgICAgICAgICAgICAgICAgICAgICAgICBJRE1fQ1VUCiAgICAgICAgTUVOVUlURU0gIksmb3BpZXJhIiwgICAgICAgICAgICAgICAgICAgICAgICAgICBJRE1fQ09QWQogICAgICAgIE1FTlVJVEVNICJLb3BpZXImYSBnZW525GciLCAgICAgICAgICAgICAgICAgICAgSURNX0NPUFlTSE9SVENVVAogICAgICAgIE1FTlVJVEVNICJLJmxpc3RyYSBpbiIsICAgICAgICAgICAgICAgICAgICAgICAgSURNX1BBU1RFCiAgICAgICAgTUVOVUlURU0gU0VQQVJBVE9SCiAgICAgICAgTUVOVUlURU0gIkzkZ2cgdGlsbCAmaSBGYXZvcml0ZXIuLi4iLCAgICAgICAgICBJRE1fQURERkFWT1JJVEVTCiAgICAgICAgTUVOVUlURU0gU0VQQVJBVE9SCiAgICAgICAgTUVOVUlURU0gU0VQQVJBVE9SCiAgICAgICAgTUVOVUlURU0gIiZFZ2Vuc2thcGVyIiwgICAgICAgICAgICAgICAgICAgICAgICBJRE1fUFJPUEVSVElFUwogICAgfQoKICAgIFBPUFVQICJLb250cm9sbCIKICAgIHsKICAgICAgICBNRU5VSVRFTSAiJsVuZ3JhIiwgICAgICAgIElETV9VTkRPCiAgICAgICAgTUVOVUlURU0gU0VQQVJBVE9SCiAgICAgICAgTUVOVUlURU0gIiZLbGlwcCB1dCIsICAgICBJRE1fQ1VUCiAgICAgICAgTUVOVUlURU0gIksmb3BpZXJhIiwgICAgICBJRE1fQ09QWQogICAgICAgIE1FTlVJVEVNICJLJmxpc3RyYSBpbiIsICAgSURNX1BBU1RFCiAgICAgICAgTUVOVUlURU0gIiZUYSBib3J0IiwgICAgICBJRE1fREVMRVRFCiAgICAgICAgTUVOVUlURU0gU0VQQVJBVE9SCiAgICAgICAgTUVOVUlURU0gU0VQQVJBVE9SCiAgICAgICAgTUVOVUlURU0gIiZNYXJrZXJhIGFsbHQiLCBJRE1fU0VMRUNUQUxMCiAgICB9CgogICAgUE9QVVAgIlRhYmVsbCIKICAgIHsKICAgICAgICBQT1BVUCAiJk1hcmtlcmEiCiAgICAgICAgewogICAgICAgICAgICBNRU5VSVRFTSAiJkNlbGwiLCAgICAgICAgIElETV9DRUxMU0VMRUNUCiAgICAgICAgICAgIE1FTlVJVEVNICImUmFkIiwgICAgICAgICAgSURNX1JPV1NFTEVDVAogICAgICAgICAgICBNRU5VSVRFTSAiJktvbHVtbiIsICAgICAgIElETV9DT0xVTU5TRUxFQ1QKICAgICAgICAgICAgTUVOVUlURU0gIiZUYWJlbGwiLCAgICAgICBJRE1fVEFCTEVTRUxFQ1QKICAgICAgICB9CiAgICAgICAgTUVOVUlURU0gU0VQQVJBVE9SCiAgICAgICAgTUVOVUlURU0gU0VQQVJBVE9SCiAgICAgICAgTUVOVUlURU0gIiZDZWxsZWdlbnNrYXBlciIsICAgSURNX0NFTExQUk9QRVJUSUVTCiAgICAgICAgTUVOVUlURU0gIiZUYWJlbGxlZ2Vuc2thcGVyIiwgSURNX1RBQkxFUFJPUEVSVElFUwogICAgfQoKICAgIFBPUFVQICIxRFNpdGUgU2VsZWN0IgogICAgewogICAgICAgIE1FTlVJVEVNICImS2xpcHAgdXQiLCAgICAgSURNX0NVVAogICAgICAgIE1FTlVJVEVNICJLJm9waWVyYSIsICAgICAgSURNX0NPUFkKICAgICAgICBNRU5VSVRFTSAiSyZsaXN0cmEgaW4iICAsIElETV9QQVNURQogICAgICAgIE1FTlVJVEVNICImTWFya2VyYSBhbGx0IiwgSURNX1NFTEVDVEFMTAogICAgICAgIE1FTlVJVEVNICJTa3JpdiAmdXQiLCAgICAgSURNX1BSSU5UCiAgICAgICAgTUVOVUlURU0gU0VQQVJBVE9SCiAgICB9CgogICAgUE9QVVAgIkFua2FyZSIKICAgIHsKICAgICAgICBNRU5VSVRFTSAiJtZwcG5hIiwgICAgICAgICAgICAgICAgICAgIElETV9GT0xMT1dMSU5LQwogICAgICAgIE1FTlVJVEVNICLWcHBuYSBpIG55dHQgJmb2bnN0ZXIiLCAgICAgSURNX0ZPTExPV0xJTktOCiAgICAgICAgTUVOVUlURU0gIlNwYXJhICZt5Wwgc29tLi4uIiwgICAgICAgICBJRE1fU0FWRVRBUkdFVAogICAgICAgIE1FTlVJVEVNICJTa3JpdiB1dCBtJuVsIiwgICAgICAgICAgICAgSURNX1BSSU5UVEFSR0VUCiAgICAgICAgTUVOVUlURU0gU0VQQVJBVE9SCiAgICAgICAgTUVOVUlURU0gIiZLbGlwcCB1dCIsICAgICAgICAgICAgICAgICBJRE1fQ1VUCiAgICAgICAgTUVOVUlURU0gIksmb3BpZXJhIiwgICAgICAgICAgICAgICAgICBJRE1fQ09QWQogICAgICAgIE1FTlVJVEVNICJLb3BpZXImYSBnZW525GciLCAgICAgICAgICAgSURNX0NPUFlTSE9SVENVVAogICAgICAgIE1FTlVJVEVNICJLJmxpc3RyYSBpbiIsICAgICAgICAgICAgICAgSURNX1BBU1RFCiAgICAgICAgTUVOVUlURU0gU0VQQVJBVE9SCiAgICAgICAgTUVOVUlURU0gIkzkZ2cgdGlsbCAmaSBGYXZvcml0ZXIuLi4iLCBJRE1fQURERkFWT1JJVEVTCiAgICAgICAgTUVOVUlURU0gU0VQQVJBVE9SCiAgICAgICAgTUVOVUlURU0gU0VQQVJBVE9SCiAgICAgICAgTUVOVUlURU0gIiZFZ2Vuc2thcGVyIiwgICAgICAgICAgICAgICBJRE1fUFJPUEVSVElFUwogICAgfQoKICAgIFBPUFVQICJDb250ZXh0IFVua25vd24iCiAgICB7CiAgICAgICAgTUVOVUlURU0gU0VQQVJBVE9SCiAgICB9CgogICAgUE9QVVAgIkRZTlNSQy1iaWxkIgogICAgewogICAgICAgIE1FTlVJVEVNICIm1nBwbmEiLCAgICAgICAgICAgICAgICAgICAgICAgICAgSURNX0ZPTExPV0xJTktDCiAgICAgICAgTUVOVUlURU0gItZwcG5hIGkgbnl0dCAmZvZuc3RlciIsICAgICAgICAgICBJRE1fRk9MTE9XTElOS04KICAgICAgICBNRU5VSVRFTSAiU3BhcmEgJm3lbCBzb20uLi4iLCAgICAgICAgICAgICAgIElETV9TQVZFVEFSR0VUCiAgICAgICAgTUVOVUlURU0gIlNrcml2IHV0IG0m5WwiLCAgICAgICAgICAgICAgICAgICBJRE1fUFJJTlRUQVJHRVQKICAgICAgICBNRU5VSVRFTSBTRVBBUkFUT1IKICAgICAgICBNRU5VSVRFTSAiVmlzYSAmYmlsZCIsICAgICAgICAgICAgICAgICAgICAgIElETV9TSE9XUElDVFVSRQogICAgICAgIE1FTlVJVEVNICJTcGFyYSBiaWwmZCBzb20uLi4iLCAgICAgICAgICAgICAgSURNX1NBVkVQSUNUVVJFCiAgICAgICAgTUVOVUlURU0gIkEmbnbkbmQgc29tIHNrcml2Ym9yZHNiYWtncnVuZCIsICBJRE1fU0VUV0FMTFBBUEVSCiAgICAgICAgTUVOVUlURU0gIkFuduRuZCBzb20gJnNrcml2Ym9yZHNvYmpla3QuLi4iLCBJRE1fU0VUREVTS1RPUElURU0KICAgICAgICBNRU5VSVRFTSBTRVBBUkFUT1IKICAgICAgICBNRU5VSVRFTSAiJktsaXBwIHV0IiwgICAgICAgICAgICAgICAgICAgICAgIElETV9DVVQKICAgICAgICBNRU5VSVRFTSAiSyZvcGllcmEiLCAgICAgICAgICAgICAgICAgICAgICAgIElETV9DT1BZCiAgICAgICAgTUVOVUlURU0gIktvcGllciZhIGdlbnbkZyIsICAgICAgICAgICAgICAgICBJRE1fQ09QWVNIT1JUQ1VUCiAgICAgICAgTUVOVUlURU0gIksmbGlzdHJhIGluIiwgICAgICAgICAgICAgICAgICAgICBJRE1fUEFTVEUKICAgICAgICBNRU5VSVRFTSBTRVBBUkFUT1IKICAgICAgICBNRU5VSVRFTSAiTORnZyB0aWxsICZpIEZhdm9yaXRlci4uLiIsICAgICAgIElETV9BRERGQVZPUklURVMKICAgICAgICBNRU5VSVRFTSBTRVBBUkFUT1IKICAgICAgICBNRU5VSVRFTSBTRVBBUkFUT1IKICAgICAgICBNRU5VSVRFTSAiU3BlbGEgdXBwIiwgICAgICAgICAgICAgICAgICAgICAgIElETV9EWU5TUkNQTEFZCiAgICAgICAgTUVOVUlURU0gIlN0b3BwYSIsICAgICAgICAgICAgICAgICAgICAgICAgICBJRE1fRFlOU1JDU1RPUAogICAgICAgIE1FTlVJVEVNICImRWdlbnNrYXBlciIsICAgICAgICAgICAgICAgICAgICAgSURNX1BST1BFUlRJRVMKICAgIH0KCiAgICBQT1BVUCAiQVJULWJpbGQiCiAgICB7CiAgICAgICAgTUVOVUlURU0gIibWcHBuYSIsICAgICAgICAgICAgICAgICAgICAgICAgICBJRE1fRk9MTE9XTElOS0MKICAgICAgICBNRU5VSVRFTSAi1nBwbmEgaSBueXR0ICZm9m5zdGVyIiwgICAgICAgICAgIElETV9GT0xMT1dMSU5LTgogICAgICAgIE1FTlVJVEVNICJTcGFyYSAmbeVsIHNvbS4uLiIsICAgICAgICAgICAgICAgSURNX1NBVkVUQVJHRVQKICAgICAgICBNRU5VSVRFTSAiU2tyaXYgdXQgbSblbCIsICAgICAgICAgICAgICAgICAgIElETV9QUklOVFRBUkdFVAogICAgICAgIE1FTlVJVEVNIFNFUEFSQVRPUgogICAgICAgIE1FTlVJVEVNICJWaXNhICZiaWxkIiwgICAgICAgICAgICAgICAgICAgICAgSURNX1NIT1dQSUNUVVJFCiAgICAgICAgTUVOVUlURU0gIlNwYXJhIGJpbCZkIHNvbS4uLiIsICAgICAgICAgICAgICBJRE1fU0FWRVBJQ1RVUkUKICAgICAgICBNRU5VSVRFTSAiQSZuduRuZCBzb20gc2tyaXZib3Jkc2Jha2dydW5kIiwgIElETV9TRVRXQUxMUEFQRVIKICAgICAgICBNRU5VSVRFTSAiQW525G5kIHNvbSAmc2tyaXZib3Jkc29iamVrdC4uLiIsIElETV9TRVRERVNLVE9QSVRFTQogICAgICAgIE1FTlVJVEVNIFNFUEFSQVRPUgogICAgICAgIE1FTlVJVEVNICImS2xpcHAgdXQiLCAgICAgICAgICAgICAgICAgICAgICAgSURNX0NVVAogICAgICAgIE1FTlVJVEVNICJLJm9waWVyYSIsICAgICAgICAgICAgICAgICAgICAgICAgSURNX0NPUFkKICAgICAgICBNRU5VSVRFTSAiS29waWVyJmEgZ2VuduRnIiwgICAgICAgICAgICAgICAgIElETV9DT1BZU0hPUlRDVVQKICAgICAgICBNRU5VSVRFTSAiSyZsaXN0cmEgaW4iLCAgICAgICAgICAgICAgICAgICAgIElETV9QQVNURQogICAgICAgIE1FTlVJVEVNIFNFUEFSQVRPUgogICAgICAgIE1FTlVJVEVNICJM5GdnIHRpbGwgJmkgRmF2b3JpdGVyLi4uIiwgICAgICAgSURNX0FEREZBVk9SSVRFUwogICAgICAgIE1FTlVJVEVNIFNFUEFSQVRPUgogICAgICAgIE1FTlVJVEVNICJTcGVsYSB1cHAiLCAgICAgICAgICAgICAgICAgICAgICAgSURNX0lNR0FSVFBMQVkKICAgICAgICBNRU5VSVRFTSAiU3RvcHBhIiwgICAgICAgICAgICAgICAgICAgICAgICAgIElETV9JTUdBUlRTVE9QCiAgICAgICAgTUVOVUlURU0gIlNwb2xhIHRpbGxiYWthIiwgICAgICAgICAgICAgICAgICBJRE1fSU1HQVJUUkVXSU5ECiAgICAgICAgTUVOVUlURU0gU0VQQVJBVE9SCiAgICAgICAgTUVOVUlURU0gU0VQQVJBVE9SCiAgICAgICAgTUVOVUlURU0gIiZFZ2Vuc2thcGVyIiwgICAgICAgICAgICAgICAgICAgICBJRE1fUFJPUEVSVElFUwogICAgfQoKICAgIFBPUFVQICJEZWJ1ZyIKICAgIHsKICAgICAgICBNRU5VSVRFTSAiVHJhY2UgVGFncyIsICAgICAgICAgSURNX1RSQUNFVEFHUwogICAgICAgIE1FTlVJVEVNICJSZXNvdXJjZSBGYWlsdXJlcyIsICBJRE1fUkVTT1VSQ0VGQUlMVVJFUwogICAgICAgIE1FTlVJVEVNICJEdW1wIFRyYWNraW5nIEluZm8iLCBJRE1fRFVNUFRSQUNLSU5HSU5GTwogICAgICAgIE1FTlVJVEVNICJEZWJ1ZyBCcmVhayIsICAgICAgICBJRE1fREVCVUdCUkVBSwogICAgICAgIE1FTlVJVEVNICJEZWJ1ZyBWaWV3IiwgICAgICAgICBJRE1fREVCVUdWSUVXCiAgICAgICAgTUVOVUlURU0gIkR1bXAgVHJlZSIsICAgICAgICAgIElETV9EVU1QVFJFRQogICAgICAgIE1FTlVJVEVNICJEdW1wIExpbmVzIiwgICAgICAgICBJRE1fRFVNUExJTkVTCiAgICAgICAgTUVOVUlURU0gIkR1bXAgRGlzcGxheVRyZWUiLCAgIElETV9EVU1QRElTUExBWVRSRUUKICAgICAgICBNRU5VSVRFTSAiRHVtcCBGb3JtYXRDYWNoZXMiLCAgSURNX0RVTVBGT1JNQVRDQUNIRVMKICAgICAgICBNRU5VSVRFTSAiRHVtcCBMYXlvdXRSZWN0cyIsICAgSURNX0RVTVBMQVlPVVRSRUNUUwogICAgICAgIE1FTlVJVEVNICJNaW5uZXNt5HRhcmUiLCAgICAgSURNX01FTU9SWU1PTklUT1IKICAgICAgICBNRU5VSVRFTSAiUHJlc3RhbmRhbeR0YXJlIiwgSURNX1BFUkZPUk1BTkNFTUVURVJTCiAgICAgICAgTUVOVUlURU0gIlNwYXJhIEhUTUwiLCAgICAgICAgICBJRE1fU0FWRUhUTUwKICAgICAgICBNRU5VSVRFTSBTRVBBUkFUT1IKICAgICAgICBNRU5VSVRFTSAiJkJs5GRkcmEgdnkiLCAgICAgICBJRE1fQlJPV1NFTU9ERQogICAgICAgIE1FTlVJVEVNICJSJmVkaWdlcmEgdnkiLCAgICAgICAgIElETV9FRElUTU9ERQogICAgfQoKICAgIFBPUFVQICJWZXJ0aWthbCBydWxsbmluZ3NsaXN0IgogICAgewogICAgICAgIE1FTlVJVEVNICJSdWxsYSBoaXQiLCAgICBJRE1fU0NST0xMX0hFUkUKICAgICAgICBNRU5VSVRFTSBTRVBBUkFUT1IKICAgICAgICBNRU5VSVRFTSAiTORuZ3N0IHVwcCIsICAgSURNX1NDUk9MTF9UT1AKICAgICAgICBNRU5VSVRFTSAiTORuZ3N0IG5lZCIsICAgSURNX1NDUk9MTF9CT1RUT00KICAgICAgICBNRU5VSVRFTSBTRVBBUkFUT1IKICAgICAgICBNRU5VSVRFTSAiRW4gc2lkYSB1cHAiLCAgSURNX1NDUk9MTF9QQUdFVVAKICAgICAgICBNRU5VSVRFTSAiRW4gc2lkYSBuZWQiLCAgSURNX1NDUk9MTF9QQUdFRE9XTgogICAgICAgIE1FTlVJVEVNIFNFUEFSQVRPUgogICAgICAgIE1FTlVJVEVNICJSdWxsYSB1cHDldCIsICBJRE1fU0NST0xMX1VQCiAgICAgICAgTUVOVUlURU0gIlJ1bGxhIG5lZOV0IiwgIElETV9TQ1JPTExfRE9XTgogICAgfQoKICAgIFBPUFVQICJIb3Jpc29udGVsbCBydWxsbmluZ3NsaXN0IgogICAgewogICAgICAgIE1FTlVJVEVNICJSdWxsYSBoaXQiLCAgICAgICAgICBJRE1fU0NST0xMX0hFUkUKICAgICAgICBNRU5VSVRFTSBTRVBBUkFUT1IKICAgICAgICBNRU5VSVRFTSAiTORuZ3N0IOV0IHbkbnN0ZXIiLCAgSURNX1NDUk9MTF9MRUZURURHRQogICAgICAgIE1FTlVJVEVNICJM5G5nc3Qg5XQgaPZnZXIiLCAgICBJRE1fU0NST0xMX1JJR0hURURHRQogICAgICAgIE1FTlVJVEVNIFNFUEFSQVRPUgogICAgICAgIE1FTlVJVEVNICJFbiBzaWRhIOV0IHbkbnN0ZXIiLCBJRE1fU0NST0xMX1BBR0VMRUZUCiAgICAgICAgTUVOVUlURU0gIkVuIHNpZGEg5XQgaPZnZXIiLCAgIElETV9TQ1JPTExfUEFHRVJJR0hUCiAgICAgICAgTUVOVUlURU0gU0VQQVJBVE9SCiAgICAgICAgTUVOVUlURU0gIlJ1bGxhIOV0IHbkbnN0ZXIiLCAgIElETV9TQ1JPTExfTEVGVAogICAgICAgIE1FTlVJVEVNICJSdWxsYSDldCBo9mdlciIsICAgICBJRE1fU0NST0xMX1JJR0hUCiAgICB9Cn0K