LyoKICogQ29weXJpZ2h0IDIwMDYtMjAwOCBTYW11ZWwgTGlk6W4gQm9yZWxsCiAqCiAqIFRoaXMgbGlicmFyeSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IKICogbW9kaWZ5IGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIExlc3NlciBHZW5lcmFsIFB1YmxpYwogKiBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIKICogdmVyc2lvbiAyLjEgb2YgdGhlIExpY2Vuc2UsIG9yIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCiAqCiAqIFRoaXMgbGlicmFyeSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAogKiBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgogKiBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlIEdOVQogKiBMZXNzZXIgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgogKgogKiBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgTGVzc2VyIEdlbmVyYWwgUHVibGljCiAqIExpY2Vuc2UgYWxvbmcgd2l0aCB0aGlzIGxpYnJhcnk7IGlmIG5vdCwgd3JpdGUgdG8gdGhlIEZyZWUgU29mdHdhcmUKICogRm91bmRhdGlvbiwgSW5jLiwgNTEgRnJhbmtsaW4gU3QsIEZpZnRoIEZsb29yLCBCb3N0b24sIE1BIDAyMTEwLTEzMDEsIFVTQQogKi8KCgpMQU5HVUFHRSBMQU5HX1NXRURJU0gsIFNVQkxBTkdfREVGQVVMVAoKU1RSSU5HVEFCTEUgRElTQ0FSREFCTEUKewogICAgSURTX01FU1NBR0VfQk9YX1RJVExFLCAiV2luZSBJbnRlcm5ldCBFeHBsb3JlciIKfQoKU1RSSU5HVEFCTEUgRElTQ0FSREFCTEUKewogICAgSURTX1BSSU5UX0hFQURFUl9URU1QTEFURSAiJncmYlNpZGEgJnAiIC8qIEZJWE1FOiBzaG91bGQgYmUgIiZ3JmJQYWdlICZwIG9mICZQIiAqLwogICAgSURTX1BSSU5UX0ZPT1RFUl9URU1QTEFURSAiJnUmYiZkIgp9CgpJRFJfQlJPV1NFX0NPTlRFWFRfTUVOVSBNRU5VCnsKICAgIFBPUFVQICJTdGFuZGFyZCIKICAgIHsKICAgICAgICBNRU5VSVRFTSAiJkJha+V0IiwgICAgICAgICAgICAgICAgICAgICAgICAgIElETV9HT0JBQ0tXQVJECiAgICAgICAgTUVOVUlURU0gIiZGcmFt5XQiLCAgICAgICAgICAgICAgICAgICAgICAgICBJRE1fR09GT1JXQVJECiAgICAgICAgTUVOVUlURU0gU0VQQVJBVE9SCiAgICAgICAgTUVOVUlURU0gIlNwYXJhIGJha2cmcnVuZCBzb20uLi4iLCAgICAgICAgICBJRE1fU0FWRUJBQ0tHUk9VTkQKICAgICAgICBNRU5VSVRFTSAiQSZuduRuZCBzb20gc2tyaXZib3Jkc2Jha2dydW5kIiwgIElETV9TRVRXQUxMUEFQRVIKICAgICAgICBNRU5VSVRFTSAiSyZvcGllcmEgYmFrZ3J1bmQiLCAgICAgICAgICAgICAgIElETV9DT1BZQkFDS0dST1VORAogICAgICAgIE1FTlVJVEVNICJBbnbkbmQgc29tICZza3JpdmJvcmRzb2JqZWt0IiwgICAgSURNX1NFVERFU0tUT1BJVEVNCiAgICAgICAgTUVOVUlURU0gU0VQQVJBVE9SCiAgICAgICAgTUVOVUlURU0gIiZNYXJrZXJhIGFsbHQiLCAgICAgICAgICAgICAgICAgICBJRE1fU0VMRUNUQUxMCiAgICAgICAgTUVOVUlURU0gIksmbGlzdHJhIGluIiwgICAgICAgICAgICAgICAgICAgICBJRE1fUEFTVEUKICAgICAgICBNRU5VSVRFTSBTRVBBUkFUT1IKICAgICAgICBNRU5VSVRFTSAiU2thcGEgZ2VudibkZyIsICAgICAgICAgICAgICAgICAgIElETV9DUkVBVEVTSE9SVENVVAogICAgICAgIE1FTlVJVEVNICJM5GdnIHRpbGwgJmkgRmF2b3JpdGVyIiwgICAgICAgICAgSURNX0FEREZBVk9SSVRFUwogICAgICAgIE1FTlVJVEVNICImVmlzYSBr5Gxsa29kIiwgICAgICAgICAgICAgICAgICAgSURNX1ZJRVdTT1VSQ0UKICAgICAgICBNRU5VSVRFTSBTRVBBUkFUT1IKICAgICAgICBNRU5VSVRFTSAiVGVja2VuJmtvZG5pbmciLCAgICAgICAgICAgICAgICAgIElETV9MQU5HVUFHRQogICAgICAgIE1FTlVJVEVNIFNFUEFSQVRPUgogICAgICAgIE1FTlVJVEVNICJTa3JpdiAmdXQiLCAgICAgICAgICAgICAgICAgICAgICAgSURNX1BSSU5UCiAgICAgICAgTUVOVUlURU0gIlVwcCZkYXRlcmEiLCAgICAgICAgICAgICAgICAgICAgICBfSURNX1JFRlJFU0gKICAgICAgICBNRU5VSVRFTSBTRVBBUkFUT1IKICAgICAgICBNRU5VSVRFTSBTRVBBUkFUT1IKICAgICAgICBNRU5VSVRFTSAiJkVnZW5za2FwZXIiLCAgICAgICAgICAgICAgICAgICAgIElETV9QUk9QRVJUSUVTCiAgICB9CgogICAgUE9QVVAgIkJpbGQiCiAgICB7CiAgICAgICAgTUVOVUlURU0gIibWcHBuYSBs5G5rIiwgICAgICAgICAgICAgICAgICAgICAgICBJRE1fRk9MTE9XTElOS0MKICAgICAgICBNRU5VSVRFTSAi1nBwbmEgbORuayBpIG55dHQgJmb2bnN0ZXIiLCAgICAgICAgIElETV9GT0xMT1dMSU5LTgogICAgICAgIE1FTlVJVEVNICJTcGFyYSAmbeVsIHNvbS4uLiIsICAgICAgICAgICAgICAgICAgSURNX1NBVkVUQVJHRVQKICAgICAgICBNRU5VSVRFTSAiU2tyaXYgdXQgbSblbCIsICAgICAgICAgICAgICAgICAgICAgIElETV9QUklOVFRBUkdFVAogICAgICAgIE1FTlVJVEVNIFNFUEFSQVRPUgogICAgICAgIE1FTlVJVEVNICJWaXNhICZiaWxkIiwgICAgICAgICAgICAgICAgICAgICAgICAgSURNX1NIT1dQSUNUVVJFCiAgICAgICAgTUVOVUlURU0gIlNwYXJhIGJpbCZkIHNvbS4uLiIsICAgICAgICAgICAgICAgICBJRE1fU0FWRVBJQ1RVUkUKICAgICAgICBNRU5VSVRFTSAiU2tpJmNrYSBiaWxkIGkgZS1wb3N0bWVkZGVsYW5kZS4uLiIsIElETV9NUF9FTUFJTFBJQ1RVUkUKICAgICAgICBNRU5VSVRFTSAiU2tyaXYgJnV0IGJpbGQuLi4iLCAgICAgICAgICAgICAgICAgIElETV9NUF9QUklOVFBJQ1RVUkUKICAgICAgICBNRU5VSVRFTSAiJkflIHRpbGwgTWluYSBiaWxkZXIiLCAgICAgICAgICAgICAgIElETV9NUF9NWVBJQ1MKICAgICAgICBNRU5VSVRFTSAiQSZuduRuZCBzb20gc2tyaXZib3Jkc2Jha2dydW5kIiwgICAgIElETV9TRVRXQUxMUEFQRVIKICAgICAgICBNRU5VSVRFTSAiQW525G5kIHNvbSAmc2tyaXZib3Jkc29iamVrdC4uLiIsICAgIElETV9TRVRERVNLVE9QSVRFTQogICAgICAgIE1FTlVJVEVNIFNFUEFSQVRPUgogICAgICAgIE1FTlVJVEVNICImS2xpcHAgdXQiLCAgICAgICAgICAgICAgICAgICAgICAgICAgSURNX0NVVAogICAgICAgIE1FTlVJVEVNICJLJm9waWVyYSIsICAgICAgICAgICAgICAgICAgICAgICAgICAgSURNX0NPUFkKICAgICAgICBNRU5VSVRFTSAiS29waWVyJmEgZ2VuduRnIiwgICAgICAgICAgICAgICAgICAgIElETV9DT1BZU0hPUlRDVVQKICAgICAgICBNRU5VSVRFTSAiSyZsaXN0cmEgaW4iLCAgICAgICAgICAgICAgICAgICAgICAgIElETV9QQVNURQogICAgICAgIE1FTlVJVEVNIFNFUEFSQVRPUgogICAgICAgIE1FTlVJVEVNICJM5GdnIHRpbGwgJmkgRmF2b3JpdGVyLi4uIiwgICAgICAgICAgSURNX0FEREZBVk9SSVRFUwogICAgICAgIE1FTlVJVEVNIFNFUEFSQVRPUgogICAgICAgIE1FTlVJVEVNIFNFUEFSQVRPUgogICAgICAgIE1FTlVJVEVNICImRWdlbnNrYXBlciIsICAgICAgICAgICAgICAgICAgICAgICAgSURNX1BST1BFUlRJRVMKICAgIH0KCiAgICBQT1BVUCAiS29udHJvbGwiCiAgICB7CiAgICAgICAgTUVOVUlURU0gIibFbmdyYSIsICAgICAgICBJRE1fVU5ETwogICAgICAgIE1FTlVJVEVNIFNFUEFSQVRPUgogICAgICAgIE1FTlVJVEVNICImS2xpcHAgdXQiLCAgICAgSURNX0NVVAogICAgICAgIE1FTlVJVEVNICJLJm9waWVyYSIsICAgICAgSURNX0NPUFkKICAgICAgICBNRU5VSVRFTSAiSyZsaXN0cmEgaW4iLCAgIElETV9QQVNURQogICAgICAgIE1FTlVJVEVNICImVGEgYm9ydCIsICAgICAgSURNX0RFTEVURQogICAgICAgIE1FTlVJVEVNIFNFUEFSQVRPUgogICAgICAgIE1FTlVJVEVNIFNFUEFSQVRPUgogICAgICAgIE1FTlVJVEVNICImTWFya2VyYSBhbGx0IiwgSURNX1NFTEVDVEFMTAogICAgfQoKICAgIFBPUFVQICJUYWJlbGwiCiAgICB7CiAgICAgICAgUE9QVVAgIiZNYXJrZXJhIgogICAgICAgIHsKICAgICAgICAgICAgTUVOVUlURU0gIiZDZWxsIiwgICAgICAgICBJRE1fQ0VMTFNFTEVDVAogICAgICAgICAgICBNRU5VSVRFTSAiJlJhZCIsICAgICAgICAgIElETV9ST1dTRUxFQ1QKICAgICAgICAgICAgTUVOVUlURU0gIiZLb2x1bW4iLCAgICAgICBJRE1fQ09MVU1OU0VMRUNUCiAgICAgICAgICAgIE1FTlVJVEVNICImVGFiZWxsIiwgICAgICAgSURNX1RBQkxFU0VMRUNUCiAgICAgICAgfQogICAgICAgIE1FTlVJVEVNIFNFUEFSQVRPUgogICAgICAgIE1FTlVJVEVNIFNFUEFSQVRPUgogICAgICAgIE1FTlVJVEVNICImQ2VsbGVnZW5za2FwZXIiLCAgIElETV9DRUxMUFJPUEVSVElFUwogICAgICAgIE1FTlVJVEVNICImVGFiZWxsZWdlbnNrYXBlciIsIElETV9UQUJMRVBST1BFUlRJRVMKICAgIH0KCiAgICBQT1BVUCAiMURTaXRlIFNlbGVjdCIKICAgIHsKICAgICAgICBNRU5VSVRFTSAiJktsaXBwIHV0IiwgICAgIElETV9DVVQKICAgICAgICBNRU5VSVRFTSAiSyZvcGllcmEiLCAgICAgIElETV9DT1BZCiAgICAgICAgTUVOVUlURU0gIksmbGlzdHJhIGluIiAgLCBJRE1fUEFTVEUKICAgICAgICBNRU5VSVRFTSAiJk1hcmtlcmEgYWxsdCIsIElETV9TRUxFQ1RBTEwKICAgICAgICBNRU5VSVRFTSAiU2tyaXYgJnV0IiwgICAgIElETV9QUklOVAogICAgICAgIE1FTlVJVEVNIFNFUEFSQVRPUgogICAgfQoKICAgIFBPUFVQICJBbmthcmUiCiAgICB7CiAgICAgICAgTUVOVUlURU0gIibWcHBuYSIsICAgICAgICAgICAgICAgICAgICBJRE1fRk9MTE9XTElOS0MKICAgICAgICBNRU5VSVRFTSAi1nBwbmEgaSBueXR0ICZm9m5zdGVyIiwgICAgIElETV9GT0xMT1dMSU5LTgogICAgICAgIE1FTlVJVEVNICJTcGFyYSAmbeVsIHNvbS4uLiIsICAgICAgICAgSURNX1NBVkVUQVJHRVQKICAgICAgICBNRU5VSVRFTSAiU2tyaXYgdXQgbSblbCIsICAgICAgICAgICAgIElETV9QUklOVFRBUkdFVAogICAgICAgIE1FTlVJVEVNIFNFUEFSQVRPUgogICAgICAgIE1FTlVJVEVNICImS2xpcHAgdXQiLCAgICAgICAgICAgICAgICAgSURNX0NVVAogICAgICAgIE1FTlVJVEVNICJLJm9waWVyYSIsICAgICAgICAgICAgICAgICAgSURNX0NPUFkKICAgICAgICBNRU5VSVRFTSAiS29waWVyJmEgZ2VuduRnIiwgICAgICAgICAgIElETV9DT1BZU0hPUlRDVVQKICAgICAgICBNRU5VSVRFTSAiSyZsaXN0cmEgaW4iLCAgICAgICAgICAgICAgIElETV9QQVNURQogICAgICAgIE1FTlVJVEVNIFNFUEFSQVRPUgogICAgICAgIE1FTlVJVEVNICJM5GdnIHRpbGwgJmkgRmF2b3JpdGVyLi4uIiwgSURNX0FEREZBVk9SSVRFUwogICAgICAgIE1FTlVJVEVNIFNFUEFSQVRPUgogICAgICAgIE1FTlVJVEVNIFNFUEFSQVRPUgogICAgICAgIE1FTlVJVEVNICImRWdlbnNrYXBlciIsICAgICAgICAgICAgICAgSURNX1BST1BFUlRJRVMKICAgIH0KCiAgICBQT1BVUCAiQ29udGV4dCBVbmtub3duIgogICAgewogICAgICAgIE1FTlVJVEVNIFNFUEFSQVRPUgogICAgfQoKICAgIFBPUFVQICJEWU5TUkMtYmlsZCIKICAgIHsKICAgICAgICBNRU5VSVRFTSAiJtZwcG5hIiwgICAgICAgICAgICAgICAgICAgICAgICAgIElETV9GT0xMT1dMSU5LQwogICAgICAgIE1FTlVJVEVNICLWcHBuYSBpIG55dHQgJmb2bnN0ZXIiLCAgICAgICAgICAgSURNX0ZPTExPV0xJTktOCiAgICAgICAgTUVOVUlURU0gIlNwYXJhICZt5Wwgc29tLi4uIiwgICAgICAgICAgICAgICBJRE1fU0FWRVRBUkdFVAogICAgICAgIE1FTlVJVEVNICJTa3JpdiB1dCBtJuVsIiwgICAgICAgICAgICAgICAgICAgSURNX1BSSU5UVEFSR0VUCiAgICAgICAgTUVOVUlURU0gU0VQQVJBVE9SCiAgICAgICAgTUVOVUlURU0gIlZpc2EgJmJpbGQiLCAgICAgICAgICAgICAgICAgICAgICBJRE1fU0hPV1BJQ1RVUkUKICAgICAgICBNRU5VSVRFTSAiU3BhcmEgYmlsJmQgc29tLi4uIiwgICAgICAgICAgICAgIElETV9TQVZFUElDVFVSRQogICAgICAgIE1FTlVJVEVNICJBJm525G5kIHNvbSBza3JpdmJvcmRzYmFrZ3J1bmQiLCAgSURNX1NFVFdBTExQQVBFUgogICAgICAgIE1FTlVJVEVNICJBbnbkbmQgc29tICZza3JpdmJvcmRzb2JqZWt0Li4uIiwgSURNX1NFVERFU0tUT1BJVEVNCiAgICAgICAgTUVOVUlURU0gU0VQQVJBVE9SCiAgICAgICAgTUVOVUlURU0gIiZLbGlwcCB1dCIsICAgICAgICAgICAgICAgICAgICAgICBJRE1fQ1VUCiAgICAgICAgTUVOVUlURU0gIksmb3BpZXJhIiwgICAgICAgICAgICAgICAgICAgICAgICBJRE1fQ09QWQogICAgICAgIE1FTlVJVEVNICJLb3BpZXImYSBnZW525GciLCAgICAgICAgICAgICAgICAgSURNX0NPUFlTSE9SVENVVAogICAgICAgIE1FTlVJVEVNICJLJmxpc3RyYSBpbiIsICAgICAgICAgICAgICAgICAgICAgSURNX1BBU1RFCiAgICAgICAgTUVOVUlURU0gU0VQQVJBVE9SCiAgICAgICAgTUVOVUlURU0gIkzkZ2cgdGlsbCAmaSBGYXZvcml0ZXIuLi4iLCAgICAgICBJRE1fQURERkFWT1JJVEVTCiAgICAgICAgTUVOVUlURU0gU0VQQVJBVE9SCiAgICAgICAgTUVOVUlURU0gU0VQQVJBVE9SCiAgICAgICAgTUVOVUlURU0gIlNwZWxhIHVwcCIsICAgICAgICAgICAgICAgICAgICAgICBJRE1fRFlOU1JDUExBWQogICAgICAgIE1FTlVJVEVNICJTdG9wcGEiLCAgICAgICAgICAgICAgICAgICAgICAgICAgSURNX0RZTlNSQ1NUT1AKICAgICAgICBNRU5VSVRFTSAiJkVnZW5za2FwZXIiLCAgICAgICAgICAgICAgICAgICAgIElETV9QUk9QRVJUSUVTCiAgICB9CgogICAgUE9QVVAgIkFSVC1iaWxkIgogICAgewogICAgICAgIE1FTlVJVEVNICIm1nBwbmEiLCAgICAgICAgICAgICAgICAgICAgICAgICAgSURNX0ZPTExPV0xJTktDCiAgICAgICAgTUVOVUlURU0gItZwcG5hIGkgbnl0dCAmZvZuc3RlciIsICAgICAgICAgICBJRE1fRk9MTE9XTElOS04KICAgICAgICBNRU5VSVRFTSAiU3BhcmEgJm3lbCBzb20uLi4iLCAgICAgICAgICAgICAgIElETV9TQVZFVEFSR0VUCiAgICAgICAgTUVOVUlURU0gIlNrcml2IHV0IG0m5WwiLCAgICAgICAgICAgICAgICAgICBJRE1fUFJJTlRUQVJHRVQKICAgICAgICBNRU5VSVRFTSBTRVBBUkFUT1IKICAgICAgICBNRU5VSVRFTSAiVmlzYSAmYmlsZCIsICAgICAgICAgICAgICAgICAgICAgIElETV9TSE9XUElDVFVSRQogICAgICAgIE1FTlVJVEVNICJTcGFyYSBiaWwmZCBzb20uLi4iLCAgICAgICAgICAgICAgSURNX1NBVkVQSUNUVVJFCiAgICAgICAgTUVOVUlURU0gIkEmbnbkbmQgc29tIHNrcml2Ym9yZHNiYWtncnVuZCIsICBJRE1fU0VUV0FMTFBBUEVSCiAgICAgICAgTUVOVUlURU0gIkFuduRuZCBzb20gJnNrcml2Ym9yZHNvYmpla3QuLi4iLCBJRE1fU0VUREVTS1RPUElURU0KICAgICAgICBNRU5VSVRFTSBTRVBBUkFUT1IKICAgICAgICBNRU5VSVRFTSAiJktsaXBwIHV0IiwgICAgICAgICAgICAgICAgICAgICAgIElETV9DVVQKICAgICAgICBNRU5VSVRFTSAiSyZvcGllcmEiLCAgICAgICAgICAgICAgICAgICAgICAgIElETV9DT1BZCiAgICAgICAgTUVOVUlURU0gIktvcGllciZhIGdlbnbkZyIsICAgICAgICAgICAgICAgICBJRE1fQ09QWVNIT1JUQ1VUCiAgICAgICAgTUVOVUlURU0gIksmbGlzdHJhIGluIiwgICAgICAgICAgICAgICAgICAgICBJRE1fUEFTVEUKICAgICAgICBNRU5VSVRFTSBTRVBBUkFUT1IKICAgICAgICBNRU5VSVRFTSAiTORnZyB0aWxsICZpIEZhdm9yaXRlci4uLiIsICAgICAgIElETV9BRERGQVZPUklURVMKICAgICAgICBNRU5VSVRFTSBTRVBBUkFUT1IKICAgICAgICBNRU5VSVRFTSAiU3BlbGEgdXBwIiwgICAgICAgICAgICAgICAgICAgICAgIElETV9JTUdBUlRQTEFZCiAgICAgICAgTUVOVUlURU0gIlN0b3BwYSIsICAgICAgICAgICAgICAgICAgICAgICAgICBJRE1fSU1HQVJUU1RPUAogICAgICAgIE1FTlVJVEVNICJTcG9sYSB0aWxsYmFrYSIsICAgICAgICAgICAgICAgICAgSURNX0lNR0FSVFJFV0lORAogICAgICAgIE1FTlVJVEVNIFNFUEFSQVRPUgogICAgICAgIE1FTlVJVEVNIFNFUEFSQVRPUgogICAgICAgIE1FTlVJVEVNICImRWdlbnNrYXBlciIsICAgICAgICAgICAgICAgICAgICAgSURNX1BST1BFUlRJRVMKICAgIH0KCiAgICBQT1BVUCAiRGVidWciCiAgICB7CiAgICAgICAgTUVOVUlURU0gIlRyYWNlIFRhZ3MiLCAgICAgICAgIElETV9UUkFDRVRBR1MKICAgICAgICBNRU5VSVRFTSAiUmVzb3VyY2UgRmFpbHVyZXMiLCAgSURNX1JFU09VUkNFRkFJTFVSRVMKICAgICAgICBNRU5VSVRFTSAiRHVtcCBUcmFja2luZyBJbmZvIiwgSURNX0RVTVBUUkFDS0lOR0lORk8KICAgICAgICBNRU5VSVRFTSAiRGVidWcgQnJlYWsiLCAgICAgICAgSURNX0RFQlVHQlJFQUsKICAgICAgICBNRU5VSVRFTSAiRGVidWcgVmlldyIsICAgICAgICAgSURNX0RFQlVHVklFVwogICAgICAgIE1FTlVJVEVNICJEdW1wIFRyZWUiLCAgICAgICAgICBJRE1fRFVNUFRSRUUKICAgICAgICBNRU5VSVRFTSAiRHVtcCBMaW5lcyIsICAgICAgICAgSURNX0RVTVBMSU5FUwogICAgICAgIE1FTlVJVEVNICJEdW1wIERpc3BsYXlUcmVlIiwgICBJRE1fRFVNUERJU1BMQVlUUkVFCiAgICAgICAgTUVOVUlURU0gIkR1bXAgRm9ybWF0Q2FjaGVzIiwgIElETV9EVU1QRk9STUFUQ0FDSEVTCiAgICAgICAgTUVOVUlURU0gIkR1bXAgTGF5b3V0UmVjdHMiLCAgIElETV9EVU1QTEFZT1VUUkVDVFMKICAgICAgICBNRU5VSVRFTSAiTWlubmVzbeR0YXJlIiwgICAgIElETV9NRU1PUllNT05JVE9SCiAgICAgICAgTUVOVUlURU0gIlByZXN0YW5kYW3kdGFyZSIsIElETV9QRVJGT1JNQU5DRU1FVEVSUwogICAgICAgIE1FTlVJVEVNICJTcGFyYSBIVE1MIiwgICAgICAgICAgSURNX1NBVkVIVE1MCiAgICAgICAgTUVOVUlURU0gU0VQQVJBVE9SCiAgICAgICAgTUVOVUlURU0gIiZCbORkZHJhIHZ5IiwgICAgICAgSURNX0JST1dTRU1PREUKICAgICAgICBNRU5VSVRFTSAiUiZlZGlnZXJhIHZ5IiwgICAgICAgICBJRE1fRURJVE1PREUKICAgIH0KCiAgICBQT1BVUCAiVmVydGlrYWwgcnVsbG5pbmdzbGlzdCIKICAgIHsKICAgICAgICBNRU5VSVRFTSAiUnVsbGEgaGl0IiwgICAgSURNX1NDUk9MTF9IRVJFCiAgICAgICAgTUVOVUlURU0gU0VQQVJBVE9SCiAgICAgICAgTUVOVUlURU0gIkzkbmdzdCB1cHAiLCAgIElETV9TQ1JPTExfVE9QCiAgICAgICAgTUVOVUlURU0gIkzkbmdzdCBuZWQiLCAgIElETV9TQ1JPTExfQk9UVE9NCiAgICAgICAgTUVOVUlURU0gU0VQQVJBVE9SCiAgICAgICAgTUVOVUlURU0gIkVuIHNpZGEgdXBwIiwgIElETV9TQ1JPTExfUEFHRVVQCiAgICAgICAgTUVOVUlURU0gIkVuIHNpZGEgbmVkIiwgIElETV9TQ1JPTExfUEFHRURPV04KICAgICAgICBNRU5VSVRFTSBTRVBBUkFUT1IKICAgICAgICBNRU5VSVRFTSAiUnVsbGEgdXBw5XQiLCAgSURNX1NDUk9MTF9VUAogICAgICAgIE1FTlVJVEVNICJSdWxsYSBuZWTldCIsICBJRE1fU0NST0xMX0RPV04KICAgIH0KCiAgICBQT1BVUCAiSG9yaXNvbnRlbGwgcnVsbG5pbmdzbGlzdCIKICAgIHsKICAgICAgICBNRU5VSVRFTSAiUnVsbGEgaGl0IiwgICAgICAgICAgSURNX1NDUk9MTF9IRVJFCiAgICAgICAgTUVOVUlURU0gU0VQQVJBVE9SCiAgICAgICAgTUVOVUlURU0gIkzkbmdzdCDldCB25G5zdGVyIiwgIElETV9TQ1JPTExfTEVGVEVER0UKICAgICAgICBNRU5VSVRFTSAiTORuZ3N0IOV0IGj2Z2VyIiwgICAgSURNX1NDUk9MTF9SSUdIVEVER0UKICAgICAgICBNRU5VSVRFTSBTRVBBUkFUT1IKICAgICAgICBNRU5VSVRFTSAiRW4gc2lkYSDldCB25G5zdGVyIiwgSURNX1NDUk9MTF9QQUdFTEVGVAogICAgICAgIE1FTlVJVEVNICJFbiBzaWRhIOV0IGj2Z2VyIiwgICBJRE1fU0NST0xMX1BBR0VSSUdIVAogICAgICAgIE1FTlVJVEVNIFNFUEFSQVRPUgogICAgICAgIE1FTlVJVEVNICJSdWxsYSDldCB25G5zdGVyIiwgICBJRE1fU0NST0xMX0xFRlQKICAgICAgICBNRU5VSVRFTSAiUnVsbGEg5XQgaPZnZXIiLCAgICAgSURNX1NDUk9MTF9SSUdIVAogICAgfQp9Cg==