LyoKICogRHV0Y2ggcmVzb3VyY2VzIGZvciBtc2h0bWwKICoKICogQ29weXJpZ2h0IDIwMDUgSGFucyBMZWlkZWtrZXIKICoKICogVGhpcyBsaWJyYXJ5IGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vcgogKiBtb2RpZnkgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgTGVzc2VyIEdlbmVyYWwgUHVibGljCiAqIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlcgogKiB2ZXJzaW9uIDIuMSBvZiB0aGUgTGljZW5zZSwgb3IgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KICoKICogVGhpcyBsaWJyYXJ5IGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCiAqIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCiAqIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUgR05VCiAqIExlc3NlciBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCiAqCiAqIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBMZXNzZXIgR2VuZXJhbCBQdWJsaWMKICogTGljZW5zZSBhbG9uZyB3aXRoIHRoaXMgbGlicmFyeTsgaWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZQogKiBGb3VuZGF0aW9uLCBJbmMuLCA1MSBGcmFua2xpbiBTdCwgRmlmdGggRmxvb3IsIEJvc3RvbiwgTUEgMDIxMTAtMTMwMSwgVVNBCiAqLwoKCkxBTkdVQUdFIExBTkdfRFVUQ0gsIFNVQkxBTkdfTkVVVFJBTAoKSURSX0JST1dTRV9DT05URVhUX01FTlUgTUVOVQp7CiAgICBQT1BVUCAiU3RhbmRhYXJkIgogICAgewogICAgICAgIE1FTlVJVEVNICImVGVydWciLCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgSURNX0dPQkFDS1dBUkQKICAgICAgICBNRU5VSVRFTSAiViZvb3J1aXQiLCAgICAgICAgICAgICAgICAgICAgICAgICAgIElETV9HT0ZPUldBUkQKICAgICAgICBNRU5VSVRFTSBTRVBBUkFUT1IKICAgICAgICBNRU5VSVRFTSAiJkFjaHRlcmdyb25kIG9wc2xhYW4gYWxzLi4uIiwgICAgICAgIElETV9TQVZFQkFDS0dST1VORAogICAgICAgIE1FTlVJVEVNICJBbHMgYWNodGVyZ3JvbmQgaW5zdGVsbGVuIiwgICAgICAgICAgSURNX1NFVFdBTExQQVBFUgogICAgICAgIE1FTlVJVEVNICJBY2h0ZXJncm9uZCAma29waetyZW4iLCAgICAgICAgICAgICAgSURNX0NPUFlCQUNLR1JPVU5ECiAgICAgICAgTUVOVUlURU0gIkFscyBkZXNrdG9wZWxlbWVudCBpbnN0ZWxsZW4uLi4iLCAgICBJRE1fU0VUREVTS1RPUElURU0KICAgICAgICBNRU5VSVRFTSBTRVBBUkFUT1IKICAgICAgICBNRU5VSVRFTSAiQWxsZXMgJnNlbGVjdGVyZW4iLCAgICAgICAgICAgICAgICAgIElETV9TRUxFQ1RBTEwKICAgICAgICBNRU5VSVRFTSAiJlBsYWtrZW4iLCAgICAgICAgICAgICAgICAgICAgICAgICAgIElETV9QQVNURQogICAgICAgIE1FTlVJVEVNIFNFUEFSQVRPUgogICAgICAgIE1FTlVJVEVNICImU25lbGtvcHBlbGluZyBhYW5tYWtlbiIsICAgICAgICAgICAgSURNX0NSRUFURVNIT1JUQ1VUCiAgICAgICAgTUVOVUlURU0gIkFscyAmZmF2b3JpZXQgdG9ldm9lZ2VuIiwgICAgICAgICAgICBJRE1fQURERkFWT1JJVEVTCiAgICAgICAgTUVOVUlURU0gIiZCcm9ud2VlcmdhdmUiLCAgICAgICAgICAgICAgICAgICAgICBJRE1fVklFV1NPVVJDRQogICAgICAgIE1FTlVJVEVNIFNFUEFSQVRPUgogICAgICAgIE1FTlVJVEVNICImVGVrc3Rjb2RlcmluZyIsICAgICAgICAgICAgICAgICAgICAgSURNX0xBTkdVQUdFCiAgICAgICAgTUVOVUlURU0gU0VQQVJBVE9SCiAgICAgICAgTUVOVUlURU0gIiZBZmRydWtrZW4iLCAgICAgICAgICAgICAgICAgICAgICAgICBJRE1fUFJJTlQKICAgICAgICBNRU5VSVRFTSAiQSZjdHVhbGlzZXJlbiIsICAgICAgICAgICAgICAgICAgICAgIF9JRE1fUkVGUkVTSAogICAgICAgIE1FTlVJVEVNIFNFUEFSQVRPUgogICAgICAgIE1FTlVJVEVNIFNFUEFSQVRPUgogICAgICAgIE1FTlVJVEVNICImRWlnZW5zY2hhcHBlbiIsICAgICAgICAgICAgICAgICAgICAgSURNX1BST1BFUlRJRVMKICAgIH0KCiAgICBQT1BVUCAiQmVlbGQiCiAgICB7CiAgICAgICAgTUVOVUlURU0gIiZPcGVuIGxpbmsiLCAgICAgICAgICAgICAgICAgICAgICAgICBJRE1fRk9MTE9XTElOS0MKICAgICAgICBNRU5VSVRFTSAiT3BlbiBsaW5rIGluIG5pZXV3IHZlbnN0ZXIiLCAgICAgICAgIElETV9GT0xMT1dMSU5LTgogICAgICAgIE1FTlVJVEVNICImRG9lbCBvcHNsYWFuIGFscy4uLiIsICAgICAgICAgICAgICAgSURNX1NBVkVUQVJHRVQKICAgICAgICBNRU5VSVRFTSAiRG9lbCAmYWZkcnVra2VuIiwgICAgICAgICAgICAgICAgICAgIElETV9QUklOVFRBUkdFVAogICAgICAgIE1FTlVJVEVNIFNFUEFSQVRPUgogICAgICAgIE1FTlVJVEVNICJUb29uIGImZWVsZCIsICAgICAgICAgICAgICAgICAgICAgICAgSURNX1NIT1dQSUNUVVJFCiAgICAgICAgTUVOVUlURU0gIiZCZWVsZCBvcHNsYWFuIGFscy4uLiIsICAgICAgICAgICAgICBJRE1fU0FWRVBJQ1RVUkUKICAgICAgICBNRU5VSVRFTSAiQmVlbGQgJnZlcnN0dXJlbi4uLiIsICAgICAgICAgICAgICAgIElETV9NUF9FTUFJTFBJQ1RVUkUKICAgICAgICBNRU5VSVRFTSAiQmVlbGQgQWYmZHJ1a2tlbi4uLiIsICAgICAgICAgICAgICAgIElETV9NUF9QUklOVFBJQ1RVUkUKICAgICAgICBNRU5VSVRFTSAiJkdhIG5hYXIgTWlqbiBBZmJlZWxkaW5nZW4iLCAgICAgICAgIElETV9NUF9NWVBJQ1MKICAgICAgICBNRU5VSVRFTSAiQWxzIGFjaHRlcmdyb25kIGluc3RlbGxlbiIsICAgICAgICAgIElETV9TRVRXQUxMUEFQRVIKICAgICAgICBNRU5VSVRFTSAiQWxzIGRlc2t0b3BlbGVtZW50IGluc3RlbGxlbi4uLiIsICAgIElETV9TRVRERVNLVE9QSVRFTQogICAgICAgIE1FTlVJVEVNIFNFUEFSQVRPUgogICAgICAgIE1FTlVJVEVNICJLJm5pcHBlbiIsICAgICAgICAgICAgICAgICAgICAgICAgICAgSURNX0NVVAogICAgICAgIE1FTlVJVEVNICImS29waetyZW4iLCAgICAgICAgICAgICAgICAgICAgICAgICAgSURNX0NPUFkKICAgICAgICBNRU5VSVRFTSAiJlNuZWxrb3BwZWxpbmcga29waetyZW4iLCAgICAgICAgICAgIElETV9DT1BZU0hPUlRDVVQKICAgICAgICBNRU5VSVRFTSAiJlBsYWtrZW4iLCAgICAgICAgICAgICAgICAgICAgICAgICAgIElETV9QQVNURQogICAgICAgIE1FTlVJVEVNIFNFUEFSQVRPUgogICAgICAgIE1FTlVJVEVNICJBYW4gJmZhdm9yaWV0ZW4gdG9ldm9lZ2VuLi4uIiwgICAgICAgSURNX0FEREZBVk9SSVRFUwogICAgICAgIE1FTlVJVEVNIFNFUEFSQVRPUgogICAgICAgIE1FTlVJVEVNIFNFUEFSQVRPUgogICAgICAgIE1FTlVJVEVNICImRWlnZW5zY2hhcHBlbiIsICAgICAgICAgICAgICAgICAgICAgSURNX1BST1BFUlRJRVMKICAgIH0KCiAgICBQT1BVUCAiQmVzdHVyaW5nIgogICAgewogICAgICAgIE1FTlVJVEVNICImT25nZWRhYW4gbWFrZW4iLCAgIElETV9VTkRPCiAgICAgICAgTUVOVUlURU0gU0VQQVJBVE9SCiAgICAgICAgTUVOVUlURU0gIiZLbmlwcGVuIiwgICAgICAgICAgSURNX0NVVAogICAgICAgIE1FTlVJVEVNICJLJm9waetyZW4iLCAgICAgICAgIElETV9DT1BZCiAgICAgICAgTUVOVUlURU0gIiZQbGFra2VuIiwgICAgICAgICAgSURNX1BBU1RFCiAgICAgICAgTUVOVUlURU0gIiZWZXJ3aWpkZXJlbiIsICAgICAgSURNX0RFTEVURQogICAgICAgIE1FTlVJVEVNIFNFUEFSQVRPUgogICAgICAgIE1FTlVJVEVNIFNFUEFSQVRPUgogICAgICAgIE1FTlVJVEVNICJBbGxlcyAmc2VsZWN0ZXJlbiIsIElETV9TRUxFQ1RBTEwKICAgIH0KCiAgICBQT1BVUCAiVGFiZWxsZW4iCiAgICB7CiAgICAgICAgUE9QVVAgIiZTZWxlY3RlcmVuIgogICAgICAgIHsKICAgICAgICAgICAgTUVOVUlURU0gIiZDZWwiLCAgICAgICAgICAgICAgICAgSURNX0NFTExTRUxFQ1QKICAgICAgICAgICAgTUVOVUlURU0gIiZSZWdlbCIsICAgICAgICAgICAgICAgSURNX1JPV1NFTEVDVAogICAgICAgICAgICBNRU5VSVRFTSAiJktvbG9tIiwgICAgICAgICAgICAgICBJRE1fQ09MVU1OU0VMRUNUCiAgICAgICAgICAgIE1FTlVJVEVNICImVGFiZWwiLCAgICAgICAgICAgICAgIElETV9UQUJMRVNFTEVDVAogICAgICAgIH0KICAgICAgICBNRU5VSVRFTSBTRVBBUkFUT1IKICAgICAgICBNRU5VSVRFTSBTRVBBUkFUT1IKICAgICAgICBNRU5VSVRFTSAiJkNlbGVpZ2Vuc2NoYXBwZW4iLCAgICAgICBJRE1fQ0VMTFBST1BFUlRJRVMKICAgICAgICBNRU5VSVRFTSAiJlRhYmVsZWlnZW5zY2hhcHBlbiIsICAgICBJRE1fVEFCTEVQUk9QRVJUSUVTCiAgICB9CgogICAgUE9QVVAgIjFEUGFnaW5ha2V1emUiCiAgICB7CiAgICAgICAgTUVOVUlURU0gIksmbmlwcGVuIiwgICAgICAgICAgSURNX0NVVAogICAgICAgIE1FTlVJVEVNICImS29waetyZW4iLCAgICAgICAgIElETV9DT1BZCiAgICAgICAgTUVOVUlURU0gIiZQbGFra2VuIiwgICAgICAgICAgSURNX1BBU1RFCiAgICAgICAgTUVOVUlURU0gIkFsbGVzICZzZWxlY3RlcmVuIiwgSURNX1NFTEVDVEFMTAogICAgICAgIE1FTlVJVEVNICImQWZkcnVra2VuIiwgICAgICAgIElETV9QUklOVAogICAgICAgIE1FTlVJVEVNIFNFUEFSQVRPUgogICAgfQoKICAgIFBPUFVQICJBbmtlciIKICAgIHsKICAgICAgICBNRU5VSVRFTSAiJk9wZW5lbiIsICAgICAgICAgICAgICAgICAgICAgIElETV9GT0xMT1dMSU5LQwogICAgICAgIE1FTlVJVEVNICJJbiAmbmlldXcgdmVuc3RlciBvcGVuZW4iLCAgICAgSURNX0ZPTExPV0xJTktOCiAgICAgICAgTUVOVUlURU0gIkRvZWwgb3Amc2xhYW4gYWxzLi4uIiwgICAgICAgICBJRE1fU0FWRVRBUkdFVAogICAgICAgIE1FTlVJVEVNICJEb2VsICZhZmRydWtrZW4iLCAgICAgICAgICAgICAgSURNX1BSSU5UVEFSR0VUCiAgICAgICAgTUVOVUlURU0gU0VQQVJBVE9SCiAgICAgICAgTUVOVUlURU0gIksmbmlwcGVuIiwgICAgICAgICAgICAgICAgICAgICBJRE1fQ1VUCiAgICAgICAgTUVOVUlURU0gIiZLb3Bp63JlbiIsICAgICAgICAgICAgICAgICAgICBJRE1fQ09QWQogICAgICAgIE1FTlVJVEVNICImU25lbGtvcHBlbGluZyBrb3Bp63JlbiIsICAgICAgSURNX0NPUFlTSE9SVENVVAogICAgICAgIE1FTlVJVEVNICImUGxha2tlbiIsICAgICAgICAgICAgICAgICAgICAgSURNX1BBU1RFCiAgICAgICAgTUVOVUlURU0gU0VQQVJBVE9SCiAgICAgICAgTUVOVUlURU0gIkFhbiAmZmF2b3JpZXRlbiB0b2V2b2VnZW4uLi4iLCBJRE1fQURERkFWT1JJVEVTCiAgICAgICAgTUVOVUlURU0gU0VQQVJBVE9SCiAgICAgICAgTUVOVUlURU0gU0VQQVJBVE9SCiAgICAgICAgTUVOVUlURU0gIiZFaWdlbnNjaGFwcGVuIiwgICAgICAgICAgICAgICBJRE1fUFJPUEVSVElFUwogICAgfQoKICAgIFBPUFVQICJDb250ZXh0IFVua25vd24iCiAgICB7CiAgICAgICAgTUVOVUlURU0gU0VQQVJBVE9SCiAgICB9CgogICAgUE9QVVAgIkRZTlNSQyBCZWVsZCIKICAgIHsKICAgICAgICBNRU5VSVRFTSAiJk9wZW4gbGluayIsICAgICAgICAgICAgICAgICAgICAgICAgSURNX0ZPTExPV0xJTktDCiAgICAgICAgTUVOVUlURU0gIk9wZW4gbGluayBpbiAmbmlldXcgdmVuc3RlciIsICAgICAgIElETV9GT0xMT1dMSU5LTgogICAgICAgIE1FTlVJVEVNICJEb2VsICZvcHNsYWFuIGFscy4uLiIsICAgICAgICAgICAgICBJRE1fU0FWRVRBUkdFVAogICAgICAgIE1FTlVJVEVNICImRG9lbCBhZmRydWtrZW4iLCAgICAgICAgICAgICAgICAgICBJRE1fUFJJTlRUQVJHRVQKICAgICAgICBNRU5VSVRFTSBTRVBBUkFUT1IKICAgICAgICBNRU5VSVRFTSAiVG9vbiBiJmVlbGQiLCAgICAgICAgICAgICAgICAgICAgICAgSURNX1NIT1dQSUNUVVJFCiAgICAgICAgTUVOVUlURU0gIiZCZWVsZCBvcHNsYWFuIGFscy4uLiIsICAgICAgICAgICAgIElETV9TQVZFUElDVFVSRQogICAgICAgIE1FTlVJVEVNICJBbHMgYWNodGVyZ3JvbmQgaW5zdGVsbGVuIiwgICAgICAgICBJRE1fU0VUV0FMTFBBUEVSCiAgICAgICAgTUVOVUlURU0gIkFscyBkZXNrdG9wZWxlbWVudCBpbnN0ZWxsZW4uLi4iLCAgIElETV9TRVRERVNLVE9QSVRFTQogICAgICAgIE1FTlVJVEVNIFNFUEFSQVRPUgogICAgICAgIE1FTlVJVEVNICJLJm5pcHBlbiIsICAgICAgICAgICAgICAgICAgICAgICAgICBJRE1fQ1VUCiAgICAgICAgTUVOVUlURU0gIiZLb3Bp63JlbiIsICAgICAgICAgICAgICAgICAgICAgICAgIElETV9DT1BZCiAgICAgICAgTUVOVUlURU0gIiZTbmVsa29wcGVsaW5nIGtvcGnrcmVuIiwgICAgICAgICAgIElETV9DT1BZU0hPUlRDVVQKICAgICAgICBNRU5VSVRFTSAiJlBsYWtrZW4iLCAgICAgICAgICAgICAgICAgICAgICAgICAgSURNX1BBU1RFCiAgICAgICAgTUVOVUlURU0gU0VQQVJBVE9SCiAgICAgICAgTUVOVUlURU0gIkFhbiAmZmF2b3JpZXRlbiB0b2V2b2VnZW4uLi4iLCAgICAgIElETV9BRERGQVZPUklURVMKICAgICAgICBNRU5VSVRFTSBTRVBBUkFUT1IKICAgICAgICBNRU5VSVRFTSBTRVBBUkFUT1IKICAgICAgICBNRU5VSVRFTSAiQWZzcGVsZW4iLCAgICAgICAgICAgICAgICAgICAgICAgICAgSURNX0RZTlNSQ1BMQVkKICAgICAgICBNRU5VSVRFTSAiU3RvcCIsICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgSURNX0RZTlNSQ1NUT1AKICAgICAgICBNRU5VSVRFTSAiJkVpZ2Vuc2NoYXBwZW4iLCAgICAgICAgICAgICAgICAgICAgSURNX1BST1BFUlRJRVMKICAgIH0KCiAgICBQT1BVUCAiQVJUIEJlZWxkIgogICAgewogICAgICAgIE1FTlVJVEVNICImT3BlbiBsaW5rIiwgICAgICAgICAgICAgICAgICAgICAgICBJRE1fRk9MTE9XTElOS0MKICAgICAgICBNRU5VSVRFTSAiT3BlbiBsaW5rIGluICZuaWV1dyB2ZW5zdGVyIiwgICAgICAgSURNX0ZPTExPV0xJTktOCiAgICAgICAgTUVOVUlURU0gIkRvZWwgJm9wc2xhYW4gYWxzLi4uIiwgICAgICAgICAgICAgIElETV9TQVZFVEFSR0VUCiAgICAgICAgTUVOVUlURU0gIiZEb2VsIGFmZHJ1a2tlbiIsICAgICAgICAgICAgICAgICAgIElETV9QUklOVFRBUkdFVAogICAgICAgIE1FTlVJVEVNIFNFUEFSQVRPUgogICAgICAgIE1FTlVJVEVNICJUb29uIGImZWVsZCIsICAgICAgICAgICAgICAgICAgICAgICBJRE1fU0hPV1BJQ1RVUkUKICAgICAgICBNRU5VSVRFTSAiJkJlZWxkIG9wc2xhYW4gYWxzLi4uIiwgICAgICAgICAgICAgSURNX1NBVkVQSUNUVVJFCiAgICAgICAgTUVOVUlURU0gIkFscyBhY2h0ZXJncm9uZCBpbnN0ZWxsZW4iLCAgICAgICAgIElETV9TRVRXQUxMUEFQRVIKICAgICAgICBNRU5VSVRFTSAiQWxzIGRlc2t0b3BlbGVtZW50IGluc3RlbGxlbi4uLiIsICAgSURNX1NFVERFU0tUT1BJVEVNCiAgICAgICAgTUVOVUlURU0gU0VQQVJBVE9SCiAgICAgICAgTUVOVUlURU0gIksmbmlwcGVuIiwgICAgICAgICAgICAgICAgICAgICAgICAgIElETV9DVVQKICAgICAgICBNRU5VSVRFTSAiJktvcGnrcmVuIiwgICAgICAgICAgICAgICAgICAgICAgICAgSURNX0NPUFkKICAgICAgICBNRU5VSVRFTSAiJlNuZWxrb3BwZWxpbmcga29waetyZW4iLCAgICAgICAgICAgSURNX0NPUFlTSE9SVENVVAogICAgICAgIE1FTlVJVEVNICImUGxha2tlbiIsICAgICAgICAgICAgICAgICAgICAgICAgICBJRE1fUEFTVEUKICAgICAgICBNRU5VSVRFTSBTRVBBUkFUT1IKICAgICAgICBNRU5VSVRFTSAiQWFuICZmYXZvcmlldGVuIHRvZXZvZWdlbi4uLiIsICAgICAgSURNX0FEREZBVk9SSVRFUwogICAgICAgIE1FTlVJVEVNIFNFUEFSQVRPUgogICAgICAgIE1FTlVJVEVNICJBZnNwZWxlbiIsICAgICAgICAgICAgICAgICAgICAgICAgICBJRE1fSU1HQVJUUExBWQogICAgICAgIE1FTlVJVEVNICJTdG9wIiwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBJRE1fSU1HQVJUU1RPUAogICAgICAgIE1FTlVJVEVNICJUZXJ1Z3Nwb2VsZW4iLCAgICAgICAgICAgICAgICAgICAgICBJRE1fSU1HQVJUUkVXSU5ECiAgICAgICAgTUVOVUlURU0gU0VQQVJBVE9SCiAgICAgICAgTUVOVUlURU0gU0VQQVJBVE9SCiAgICAgICAgTUVOVUlURU0gIiZFaWdlbnNjaGFwcGVuIiwgICAgICAgICAgICAgICAgICAgIElETV9QUk9QRVJUSUVTCiAgICB9CgogICAgUE9QVVAgIkRlYnVnIgogICAgewogICAgICAgIE1FTlVJVEVNICJUcmFjZSBUYWdzIiwgICAgICAgICBJRE1fVFJBQ0VUQUdTCiAgICAgICAgTUVOVUlURU0gIlJlc291cmNlIEZhaWx1cmVzIiwgIElETV9SRVNPVVJDRUZBSUxVUkVTCiAgICAgICAgTUVOVUlURU0gIkR1bXAgVHJhY2tpbmcgSW5mbyIsIElETV9EVU1QVFJBQ0tJTkdJTkZPCiAgICAgICAgTUVOVUlURU0gIkRlYnVnIEJyZWFrIiwgICAgICAgIElETV9ERUJVR0JSRUFLCiAgICAgICAgTUVOVUlURU0gIkRlYnVnIFZpZXciLCAgICAgICAgIElETV9ERUJVR1ZJRVcKICAgICAgICBNRU5VSVRFTSAiRHVtcCBUcmVlIiwgICAgICAgICAgSURNX0RVTVBUUkVFCiAgICAgICAgTUVOVUlURU0gIkR1bXAgTGluZXMiLCAgICAgICAgIElETV9EVU1QTElORVMKICAgICAgICBNRU5VSVRFTSAiRHVtcCBEaXNwbGF5dHJlZSIsICAgSURNX0RVTVBESVNQTEFZVFJFRQogICAgICAgIE1FTlVJVEVNICJEdW1wIEZvcm1hdENhY2hlcyIsICBJRE1fRFVNUEZPUk1BVENBQ0hFUwogICAgICAgIE1FTlVJVEVNICJEdW1wIExheW91dFJlY3RzIiwgICBJRE1fRFVNUExBWU9VVFJFQ1RTCiAgICAgICAgTUVOVUlURU0gIk1lbW9yeSBNb25pdG9yIiwgICAgIElETV9NRU1PUllNT05JVE9SCiAgICAgICAgTUVOVUlURU0gIlBlcmZvcm1hbmNlIE1ldGVycyIsIElETV9QRVJGT1JNQU5DRU1FVEVSUwogICAgICAgIE1FTlVJVEVNICJTYXZlIEhUTUwiLCAgICAgICAgICBJRE1fU0FWRUhUTUwKICAgICAgICBNRU5VSVRFTSBTRVBBUkFUT1IKICAgICAgICBNRU5VSVRFTSAiJkJyb3dzZSBWaWV3IiwgICAgICAgSURNX0JST1dTRU1PREUKICAgICAgICBNRU5VSVRFTSAiJkVkaXQgVmlldyIsICAgICAgICAgSURNX0VESVRNT0RFCiAgICB9CgogICAgUE9QVVAgIlZlcnRpa2FsZSBzY3JvbGxiYWxrIgogICAgewogICAgICAgIE1FTlVJVEVNICJTY3JvbGwgaGllciIsICAgICBJRE1fU0NST0xMX0hFUkUKICAgICAgICBNRU5VSVRFTSBTRVBBUkFUT1IKICAgICAgICBNRU5VSVRFTSAiQm92ZW4iLCAgICAgICAgICAgSURNX1NDUk9MTF9UT1AKICAgICAgICBNRU5VSVRFTSAiT25kZXIiLCAgICAgICAgICAgSURNX1NDUk9MTF9CT1RUT00KICAgICAgICBNRU5VSVRFTSBTRVBBUkFUT1IKICAgICAgICBNRU5VSVRFTSAiUGFnaW5hIGJvdmVuIiwgICAgSURNX1NDUk9MTF9QQUdFVVAKICAgICAgICBNRU5VSVRFTSAiUGFnaW5hIG9uZGVyIiwgICAgSURNX1NDUk9MTF9QQUdFRE9XTgogICAgICAgIE1FTlVJVEVNIFNFUEFSQVRPUgogICAgICAgIE1FTlVJVEVNICJTY3JvbGwgb21ob29nIiwgICBJRE1fU0NST0xMX1VQCiAgICAgICAgTUVOVUlURU0gIlNjcm9sbCBvbWxhYWciLCAgIElETV9TQ1JPTExfRE9XTgogICAgfQoKICAgIFBPUFVQICJIb3Jpem9udGFsZSBzY3JvbGxiYWxrIgogICAgewogICAgICAgIE1FTlVJVEVNICJTY3JvbGwgaGllciIsICAgICBJRE1fU0NST0xMX0hFUkUKICAgICAgICBNRU5VSVRFTSBTRVBBUkFUT1IKICAgICAgICBNRU5VSVRFTSAiTGlua2VyIGhvZWsiLCAgICAgSURNX1NDUk9MTF9MRUZURURHRQogICAgICAgIE1FTlVJVEVNICJSZWNodGVyIGhvZWsiLCAgICBJRE1fU0NST0xMX1JJR0hURURHRQogICAgICAgIE1FTlVJVEVNIFNFUEFSQVRPUgogICAgICAgIE1FTlVJVEVNICJQYWdpbmEgbGlua3MiLCAgICBJRE1fU0NST0xMX1BBR0VMRUZUCiAgICAgICAgTUVOVUlURU0gIlBhZ2luYSByZWNodHMiLCAgIElETV9TQ1JPTExfUEFHRVJJR0hUCiAgICAgICAgTUVOVUlURU0gU0VQQVJBVE9SCiAgICAgICAgTUVOVUlURU0gIlNjcm9sbCBsaW5rcyIsICAgIElETV9TQ1JPTExfTEVGVAogICAgICAgIE1FTlVJVEVNICJTY3JvbGwgcmVjaHRzIiwgICBJRE1fU0NST0xMX1JJR0hUCiAgICB9Cn0K