LyoKICogIFRhc2sgTWFuYWdlcgogKiAgR2VybWFuIExhbmd1YWdlIFN1cHBvcnQKICoKICogIENvcHlyaWdodCAyMDA1IEhlbm5pbmcgR2VyaGFyZHQKICoKICoKICogVGhpcyBsaWJyYXJ5IGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vcgogKiBtb2RpZnkgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgTGVzc2VyIEdlbmVyYWwgUHVibGljCiAqIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlcgogKiB2ZXJzaW9uIDIuMSBvZiB0aGUgTGljZW5zZSwgb3IgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KICoKICogVGhpcyBsaWJyYXJ5IGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCiAqIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCiAqIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUgR05VCiAqIExlc3NlciBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCiAqCiAqIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBMZXNzZXIgR2VuZXJhbCBQdWJsaWMKICogTGljZW5zZSBhbG9uZyB3aXRoIHRoaXMgbGlicmFyeTsgaWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZQogKiBGb3VuZGF0aW9uLCBJbmMuLCA1MSBGcmFua2xpbiBTdCwgRmlmdGggRmxvb3IsIEJvc3RvbiwgTUEgMDIxMTAtMTMwMSwgVVNBCiAqLwoKTEFOR1VBR0UgTEFOR19HRVJNQU4sIFNVQkxBTkdfTkVVVFJBTAoKLyoKIE1lbnUKKi8KCklEUl9UQVNLTUFOQUdFUiBNRU5VIERJU0NBUkRBQkxFCkJFR0lOCiAgICBQT1BVUCAiJkRhdGVpIgogICAgQkVHSU4KICAgICAgICBNRU5VSVRFTSAiJk5ldWVuIFRhc2sgKEF1c2b8aHJlbi4uLikiLCAgICAgICAgICBJRF9GSUxFX05FVwogICAgICAgIE1FTlVJVEVNIFNFUEFSQVRPUgogICAgICAgIE1FTlVJVEVNICJCJmVlbmRlIFRhc2sgTWFuYWdlciIsICAgICAgICAgIElEX0ZJTEVfRVhJVAogICAgRU5ECiAgICBQT1BVUCAiJk9wdGlvbmVuIgogICAgQkVHSU4KICAgICAgICBNRU5VSVRFTSAiJkltbWVyIGltIFZvcmRlcmdydW5kIiwgICAgICAgICAgICAgIElEX09QVElPTlNfQUxXQVlTT05UT1AKICAgICAgICAsIENIRUNLRUQKICAgICAgICBNRU5VSVRFTSAiJk1pbmltaWVyZW4gbmFjaCBTdGFydCIsICAgICAgICAgICAgSURfT1BUSU9OU19NSU5JTUlaRU9OVVNFCiAgICAgICAgLCBDSEVDS0VECiAgICAgICAgTUVOVUlURU0gIiZWZXJzdGVja2VuLCB3ZW5uIG1pbmltaWVydCIsICAgICAgICBJRF9PUFRJT05TX0hJREVXSEVOTUlOSU1JWkVECiAgICAgICAgLCBDSEVDS0VECiAgICAgICAgTUVOVUlURU0gIiZaZWlnZSAxNi1iaXQgVGFza3MgYW4iLCAgICAgICAgICBJRF9PUFRJT05TX1NIT1cxNkJJVFRBU0tTCiAgICAgICAgLCBDSEVDS0VECiAgICBFTkQKICAgIFBPUFVQICImQW5zaWNodCIKICAgIEJFR0lOCiAgICAgICAgTUVOVUlURU0gIkFrdHVhbGlzaWVyZSAmamV0enQiLCAgICAgICAgICAgICAgICBJRF9WSUVXX1JFRlJFU0gKICAgICAgICBQT1BVUCAiJkFrdHVhbGlzaWVydW5nc2dlc2Nod2luZGlna2VpdGUiCiAgICAgICAgQkVHSU4KICAgICAgICAgICAgTUVOVUlURU0gIiZIb2NoIiwgICAgICAgICAgICAgICAgICAgICAgIElEX1ZJRVdfVVBEQVRFU1BFRURfSElHSAogICAgICAgICAgICBNRU5VSVRFTSAiJk5vcm1hbCIsICAgICAgICAgICAgICAgICAgICAgSURfVklFV19VUERBVEVTUEVFRF9OT1JNQUwKICAgICAgICAgICAgLCBDSEVDS0VECiAgICAgICAgICAgIE1FTlVJVEVNICJOaWUmZHJpZyIsICAgICAgICAgICAgICAgICAgICAgICAgSURfVklFV19VUERBVEVTUEVFRF9MT1cKICAgICAgICAgICAgTUVOVUlURU0gIiZBbmdlaGFsdGVuIiwgICAgICAgICAgICAgICAgICAgICBJRF9WSUVXX1VQREFURVNQRUVEX1BBVVNFRAoKICAgICAgICBFTkQKICAgICAgICBNRU5VSVRFTSBTRVBBUkFUT1IKICAgICAgICBNRU5VSVRFTSAiJkdyb99lIFN5bWJvbGUiLCAgICAgICAgICAgICAgICBJRF9WSUVXX0xBUkdFCiAgICAgICAgTUVOVUlURU0gIiZLbGVpbmUgU3ltYm9sZSIsICAgICAgICAgICAgICAgIElEX1ZJRVdfU01BTEwKICAgICAgICBNRU5VSVRFTSAiJkRldGFpbHMiLCAgICAgICAgICAgICAgICAgICAgSURfVklFV19ERVRBSUxTLCBDSEVDS0VECiAgICAgICAgTUVOVUlURU0gIiZX5GhsZSBTcGFsdGVuLi4uIiwgICAgICAgICAgSURfVklFV19TRUxFQ1RDT0xVTU5TCiAgICAgICAgUE9QVVAgIiZDUFUgVmVybGF1ZiIKICAgICAgICBCRUdJTgogICAgICAgICAgICBNRU5VSVRFTSAiJkVpbiBHcmFwaCwgQWxsZSBDUFVzIiwgICAgICAgIElEX1ZJRVdfQ1BVSElTVE9SWV9PTkVHUkFQSEFMTAoKICAgICAgICAgICAgTUVOVUlURU0gIkVpbiBHcmFwaCAmcHJvIENQVSIsICAgICAgICAgIElEX1ZJRVdfQ1BVSElTVE9SWV9PTkVHUkFQSFBFUkNQVQogICAgICAgICAgICAsIENIRUNLRUQKICAgICAgICBFTkQKICAgICAgICBNRU5VSVRFTSAiJlplaWdlIEtlcm5lbCBaZWl0ZW4gYW4iLCAgICAgICAgICBJRF9WSUVXX1NIT1dLRVJORUxUSU1FUwogICAgRU5ECiAgICBQT1BVUCAiJkZlbnN0ZXIiCiAgICBCRUdJTgogICAgICAgIE1FTlVJVEVNICIm3GJlcmVpbmFuZGVyIiwgICAgICAgICAgSURfV0lORE9XU19USUxFSE9SSVpPTlRBTExZCiAgICAgICAgTUVOVUlURU0gIiZOZWJlbmVpbmFuZGVyIiwgICAgICAgICAgICBJRF9XSU5ET1dTX1RJTEVWRVJUSUNBTExZCiAgICAgICAgTUVOVUlURU0gIiZNaW5pbWllcmVuIiwgICAgICAgICAgICAgICAgICAgSURfV0lORE9XU19NSU5JTUlaRQogICAgICAgIE1FTlVJVEVNICJNYSZ4aW1pZXJlbiIsICAgICAgICAgICAgICAgICAgIElEX1dJTkRPV1NfTUFYSU1JWkUKICAgICAgICBNRU5VSVRFTSAiSGludGVyJmVpbmFuZGVyIiwgICAgICAgICAgICAgICAgICAgIElEX1dJTkRPV1NfQ0FTQ0FERQogICAgICAgIE1FTlVJVEVNICImSW4gZGVyIFZvcmRlcmdydW5kIGhvbGVuIiwgICAgICAgICAgICAgSURfV0lORE9XU19CUklOR1RPRlJPTlQKICAgIEVORAogICAgUE9QVVAgIiZIaWxmZSIKICAgIEJFR0lOCiAgICAgICAgTUVOVUlURU0gIlRhc2sgTWFuYWdlciAmSGlsZmUgVGhlbWVuIiwgICBJRF9IRUxQX1RPUElDUwogICAgICAgIE1FTlVJVEVNIFNFUEFSQVRPUgogICAgICAgIE1FTlVJVEVNICIm3GJlciBUYXNrIE1hbmFnZXIiLCAgICAgICAgIElEX0hFTFBfQUJPVVQKICAgIEVORApFTkQKCklEUl9XSU5ET1dTTUVOVSBNRU5VIERJU0NBUkRBQkxFCkJFR0lOCiAgICBNRU5VSVRFTSAiJtxiZXJlaW5hbmRlciIsICAgICAgICAgIElEX1dJTkRPV1NfVElMRUhPUklaT05UQUxMWQogICAgTUVOVUlURU0gIiZOZWJlbmVpbmFuZGVyIiwgICAgICAgICAgICBJRF9XSU5ET1dTX1RJTEVWRVJUSUNBTExZCiAgICBNRU5VSVRFTSAiJk1pbmltaWVyZW4iLCAgICAgICAgICAgICAgICAgICBJRF9XSU5ET1dTX01JTklNSVpFCiAgICBNRU5VSVRFTSAiTWEmeGltaWVyZW4iLCAgICAgICAgICAgICAgICAgICBJRF9XSU5ET1dTX01BWElNSVpFCiAgICBNRU5VSVRFTSAiSGludGVyJmVpbmFuZGVyIiwgICAgICAgICAgICAgICAgICAgIElEX1dJTkRPV1NfQ0FTQ0FERQogICAgTUVOVUlURU0gIiZJbiBkZW4gVm9yZGVyZ3J1bmQgaG9sZW4iLCAgICAgICAgICAgICBJRF9XSU5ET1dTX0JSSU5HVE9GUk9OVApFTkQKCklEUl9BUFBMSUNBVElPTl9QQUdFX0NPTlRFWFQxIE1FTlUgRElTQ0FSREFCTEUKQkVHSU4KICAgIFBPUFVQICJEVU1NWSIKICAgIEJFR0lOCiAgICAgICAgTUVOVUlURU0gIiZOZXVlbiBUYXNrIChBdXNm/GhyZW4uLi4pIiwgICAgICAgICAgSURfRklMRV9ORVcKICAgICAgICBNRU5VSVRFTSBTRVBBUkFUT1IKICAgICAgICBNRU5VSVRFTSAiJkdyb99lIFN5bWJvbGUiLCAgICAgICAgICAgICAgICBJRF9WSUVXX0xBUkdFCiAgICAgICAgTUVOVUlURU0gIiZLbGVpbmUgU3ltYm9sZSIsICAgICAgICAgICAgICAgIElEX1ZJRVdfU01BTEwKICAgICAgICBNRU5VSVRFTSAiJkRldGFpbHMiLCAgICAgICAgICAgICAgICAgICAgSURfVklFV19ERVRBSUxTLCBDSEVDS0VECiAgICBFTkQKRU5ECgpJRFJfQVBQTElDQVRJT05fUEFHRV9DT05URVhUMiBNRU5VIERJU0NBUkRBQkxFCkJFR0lOCiAgICBQT1BVUCAiRFVNTVkiCiAgICBCRUdJTgogICAgICAgIE1FTlVJVEVNICImV2VjaHNsZSB6dSIsICAgICAgICAgICAgICAgICAgSURfQVBQTElDQVRJT05fUEFHRV9TV0lUQ0hUTwogICAgICAgIE1FTlVJVEVNICImSW4gZGVuIFZvcmRlcmdydW5kIGJyaW5nZW4iLCAgICAgICAgICAgICBJRF9XSU5ET1dTX0JSSU5HVE9GUk9OVAogICAgICAgIE1FTlVJVEVNIFNFUEFSQVRPUgogICAgICAgIE1FTlVJVEVNICIm3GJlcmVpbmFuZGVyIiwgICAgICAgICAgSURfV0lORE9XU19USUxFSE9SSVpPTlRBTExZCiAgICAgICAgTUVOVUlURU0gIiZOZWJlbmVpbmFuZGVyIiwgICAgICAgICAgICBJRF9XSU5ET1dTX1RJTEVWRVJUSUNBTExZCiAgICAgICAgTUVOVUlURU0gIiZNaW5pbWllcmVuIiwgICAgICAgICAgICAgICAgICAgSURfV0lORE9XU19NSU5JTUlaRQogICAgICAgIE1FTlVJVEVNICJNYSZ4aW1pZXJlbiIsICAgICAgICAgICAgICAgICAgIElEX1dJTkRPV1NfTUFYSU1JWkUKICAgICAgICBNRU5VSVRFTSAiSGludGVyJmVpbmFuZGVyIiwgICAgICAgICAgICAgICAgICAgIElEX1dJTkRPV1NfQ0FTQ0FERQogICAgICAgIE1FTlVJVEVNIFNFUEFSQVRPUgogICAgICAgIE1FTlVJVEVNICJUYXNrICZiZWVuZGVuIiwgICAgICAgICAgICAgICAgICAgSURfQVBQTElDQVRJT05fUEFHRV9FTkRUQVNLCiAgICAgICAgTUVOVUlURU0gIiZHZWhlIHp1IFByb3pl3yIsICAgICAgICAgICAgICBJRF9BUFBMSUNBVElPTl9QQUdFX0dPVE9QUk9DRVNTCiAgICBFTkQKRU5ECgpJRFJfVFJBWV9QT1BVUCBNRU5VIERJU0NBUkRBQkxFCkJFR0lOCiAgICBQT1BVUCAiRFVNTVkiCiAgICBCRUdJTgogICAgICAgIE1FTlVJVEVNICImV2llZGVyaGVyc3RlbGxlbiIsICAgICAgICAgICAgICAgSURfUkVTVE9SRQogICAgICAgIE1FTlVJVEVNICImU2NobGll32VuIiwgICAgICAgICAgICAgICAgICAgICAgSURfRklMRV9FWElUCiAgICAgICAgTUVOVUlURU0gU0VQQVJBVE9SCiAgICAgICAgTUVOVUlURU0gIiZJbW1lciBpbSBWb3JkZXJncnVuZCIsICAgICAgICAgICBJRF9PUFRJT05TX0FMV0FZU09OVE9QCiAgICBFTkQKRU5ECgpJRFJfUFJPQ0VTU19QQUdFX0NPTlRFWFQgTUVOVSBESVNDQVJEQUJMRQpCRUdJTgogICAgUE9QVVAgIkRVTU1ZIgogICAgQkVHSU4KICAgICAgICBNRU5VSVRFTSAiUHJvemXfICZiZWVuZGVuIiwgICAgICAgICAgICAgICAgSURfUFJPQ0VTU19QQUdFX0VORFBST0NFU1MKICAgICAgICBNRU5VSVRFTSAiQmVlbmRlIFByb3pl3yZiYXVtIiwgICAgICAgICAgIElEX1BST0NFU1NfUEFHRV9FTkRQUk9DRVNTVFJFRQoKICAgICAgICBNRU5VSVRFTSAiJkRlYnVnZ2VuIiwgICAgICAgICAgICAgICAgICAgICAgSURfUFJPQ0VTU19QQUdFX0RFQlVHCiAgICAgICAgTUVOVUlURU0gU0VQQVJBVE9SCiAgICAgICAgUE9QVVAgIlNldHplICZQcmlvcml05HQiCiAgICAgICAgQkVHSU4KICAgICAgICAgICAgTUVOVUlURU0gIiZFY2h0emVpdCIsICAgICAgICAgICAgICAgICAgIElEX1BST0NFU1NfUEFHRV9TRVRQUklPUklUWV9SRUFMVElNRQogICAgICAgICAgICBNRU5VSVRFTSAiJkhvY2giLCAgICAgICAgICAgICAgICAgICAgICAgSURfUFJPQ0VTU19QQUdFX1NFVFBSSU9SSVRZX0hJR0gKICAgICAgICAgICAgTUVOVUlURU0gIiZI9mhlciBhbHMgTm9ybWFsIiwgICAgICAgICAgICAgICAgSURfUFJPQ0VTU19QQUdFX1NFVFBSSU9SSVRZX0FCT1ZFTk9STUFMCiAgICAgICAgICAgIE1FTlVJVEVNICImTm9ybWFsIiwgICAgICAgICAgICAgICAgICAgICBJRF9QUk9DRVNTX1BBR0VfU0VUUFJJT1JJVFlfTk9STUFMCiAgICAgICAgICAgIE1FTlVJVEVNICJOJmllZHJpZ2VyIGFscyBOb3JtYWwiLCAgICAgICAgICAgICAgICBJRF9QUk9DRVNTX1BBR0VfU0VUUFJJT1JJVFlfQkVMT1dOT1JNQUwKICAgICAgICAgICAgTUVOVUlURU0gIk5pZSZkcmlnIiwgICAgICAgICAgICAgICAgICAgICAgICBJRF9QUk9DRVNTX1BBR0VfU0VUUFJJT1JJVFlfTE9XCiAgICAgICAgRU5ECiAgICAgICAgTUVOVUlURU0gIlNldHplIEFmZmluaXTkdC4uLiIsICAgICAgICAgICAgSURfUFJPQ0VTU19QQUdFX1NFVEFGRklOSVRZCgkgICAgICBNRU5VSVRFTSAiRWRpdGllcmUgRGVidWcgJkthbuRsZS4uLiIsCUlEX1BST0NFU1NfUEFHRV9ERUJVR0NIQU5ORUxTCiAgICBFTkQKRU5ECgovKgogRGlhbG9nCiovCgpJRERfQUJPVVRCT1ggRElBTE9HIERJU0NBUkRBQkxFICAyMiwgMTcsIDI1OSwgMjEwClNUWUxFIERTX01PREFMRlJBTUUgfCBXU19DQVBUSU9OIHwgV1NfU1lTTUVOVQpDQVBUSU9OICLcYmVyIFRhc2sgTWFuYWdlciIKRk9OVCA4LCAiTVMgU2hlbGwgRGxnIgpCRUdJTgogICAgQ09OVFJPTCAgICAgICAgICJUYXNrIE1hbmFnZXIgdjEuMFxuQ29weXJpZ2h0IChDKSAxOTk5IC0gMjAwMVxuYnkgQnJpYW4gUGFsbWVyIChicmlhbnBAcmVhY3Rvcy5vcmcpIiwKICAgICAgICAgICAgICAgICAgICBJRENfU1RBVElDLCJTdGF0aWMiLFNTX0xFRlROT1dPUkRXUkFQIHwgV1NfR1JPVVAsNTMsMjgsCiAgICAgICAgICAgICAgICAgICAgMTIyLDI2CiAgICBERUZQVVNIQlVUVE9OICAgIk9LIixJRE9LLDE4MywxODksNDQsMTQsV1NfR1JPVVAKICAgIElDT04gICAgICAgICAgICBJRElfVEFTS01BTkFHRVIsSURDX1NUQVRJQywxOSwzMCwyMCwyMAogICAgRURJVFRFWFQgICAgICAgIElEQ19MSUNFTlNFX0VESVQsNTMsNjMsMTc0LDEwNyxFU19NVUxUSUxJTkUgfAogICAgICAgICAgICAgICAgICAgIEVTX1JFQURPTkxZIHwgV1NfVlNDUk9MTApFTkQKCklERF9UQVNLTUdSX0RJQUxPRyBESUFMT0cgRElTQ0FSREFCTEUgIDAsIDAsIDI2NCwgMjQ2ClNUWUxFIERTX0NFTlRFUiB8IFdTX01JTklNSVpFQk9YIHwgV1NfTUFYSU1JWkVCT1ggfCBXU19QT1BVUCB8CiAgICBXU19DTElQU0lCTElOR1MgfCBXU19DTElQQ0hJTERSRU4gfCBXU19DQVBUSU9OIHwgV1NfU1lTTUVOVSB8CiAgICBXU19USElDS0ZSQU1FCkNBUFRJT04gIlRhc2sgTWFuYWdlciIKTUVOVSBJRFJfVEFTS01BTkFHRVIKRk9OVCA4LCAiTVMgU2hlbGwgRGxnIgpCRUdJTgogICAgQ09OVFJPTCAgICAgICAgICJUYWIxIixJRENfVEFCLCJTeXNUYWJDb250cm9sMzIiLFdTX1RBQlNUT1AsMywzLDI1NywyMjgKRU5ECgpJRERfQVBQTElDQVRJT05fUEFHRSBESUFMT0cgRElTQ0FSREFCTEUgIDAsIDAsIDI0NywgMjEwClNUWUxFIERTX0NPTlRST0wgfCBXU19DSElMRCB8IFdTX0NMSVBDSElMRFJFTgpGT05UIDgsICJNUyBTaGVsbCBEbGciCkJFR0lOCiAgICBDT05UUk9MICAgICAgICAgIkxpc3QyIixJRENfQVBQTElTVCwiU3lzTGlzdFZpZXczMiIsTFZTX1JFUE9SVCB8CiAgICAgICAgICAgICAgICAgICAgTFZTX1NIT1dTRUxBTFdBWVMgfCBXU19CT1JERVIgfCBXU19UQUJTVE9QLDcsNywyMzMsMTc3CiAgICBQVVNIQlVUVE9OICAgICAgIiZOZXVlciBUYXNrLi4uIixJRENfTkVXVEFTSywxODcsMTg5LDUzLDE0CiAgICBQVVNIQlVUVE9OICAgICAgIiZXZWNoc2xlIHp1IixJRENfU1dJVENIVE8sMTMxLDE4OSw1MywxNCxXU19ESVNBQkxFRAogICAgUFVTSEJVVFRPTiAgICAgICImQmVlbmRlIFRhc2siLElEQ19FTkRUQVNLLDc1LDE4OSw1MywxNCxXU19ESVNBQkxFRApFTkQKCklERF9QUk9DRVNTX1BBR0UgRElBTE9HIERJU0NBUkRBQkxFICAwLCAwLCAyNDcsIDIxMApTVFlMRSBEU19DT05UUk9MIHwgV1NfQ0hJTEQgfCBXU19DTElQQ0hJTERSRU4KRk9OVCA4LCAiTVMgU2hlbGwgRGxnIgpCRUdJTgogICAgQ09OVFJPTCAgICAgICAgICJMaXN0MiIsSURDX1BST0NFU1NMSVNULCJTeXNMaXN0VmlldzMyIixMVlNfUkVQT1JUIHwKICAgICAgICAgICAgICAgICAgICBMVlNfU0lOR0xFU0VMIHwgTFZTX1NIT1dTRUxBTFdBWVMgfCBMVlNfT1dORVJEQVRBIHwKICAgICAgICAgICAgICAgICAgICBXU19CT1JERVIgfCBXU19UQUJTVE9QLDcsNywyMzMsMTc3CiAgICBQVVNIQlVUVE9OICAgICAgIiZCZWVuZGUgUHJvemVzcyIsSURDX0VORFBST0NFU1MsMTcxLDE4OSw2OSwxNAogICAgQ09OVFJPTCAgICAgICAgICImWmVpZ2UgUHJvemVzc2UgYWxsZXIgQmVudXR6ZXJuIGFuIixJRENfU0hPV0FMTFBST0NFU1NFUywKICAgICAgICAgICAgICAgICAgICAiQnV0dG9uIixCU19BVVRPQ0hFQ0tCT1ggfCBXU19UQUJTVE9QLDcsMTkxLDEyMSwxMApFTkQKCi8qSUREX1BFUkZPUk1BTkNFX1BBR0UgRElBTE9HRVggMCwgMCwgMjQ3LCAyMTAqLwpJRERfUEVSRk9STUFOQ0VfUEFHRSBESUFMT0dFWCBESVNDQVJEQUJMRSAgMCwgMCwgMjQ3LCAyMTAKU1RZTEUgRFNfQ09OVFJPTCB8IFdTX0NISUxEIHwgV1NfQ0xJUENISUxEUkVOCkZPTlQgOCwgIk1TIFNoZWxsIERsZyIKQkVHSU4KICAgIEdST1VQQk9YICAgICAgICAiQ1BVLUF1c2xhc3R1bmciLElEQ19DUFVfVVNBR0VfRlJBTUUsNSw1LDYwLDU0LFdTX1RBQlNUT1AsIFdTX0VYX1RSQU5TUEFSRU5UCiAgICBHUk9VUEJPWCAgICAgICAgIlNwZWljaGVyYXVzbC4iLElEQ19NRU1fVVNBR0VfRlJBTUUsNSw2Myw2MCw1NCxCU19MRUZUVEVYVCwgV1NfRVhfVFJBTlNQQVJFTlQKICAgIEdST1VQQk9YICAgICAgICAiSW5zZ2VzYW10IixJRENfVE9UQUxTX0ZSQU1FLDUsMTIyLDExMSwzOSwwLFdTX0VYX1RSQU5TUEFSRU5UCiAgICBHUk9VUEJPWCAgICAgICAgIkNvbW1pdCBDaGFyZ2UgKEspIixJRENfQ09NTUlUX0NIQVJHRV9GUkFNRSw1LDE2NiwxMTEsMzksMCxXU19FWF9UUkFOU1BBUkVOVAogICAgR1JPVVBCT1ggICAgICAgICJQaHlzaWthbGlzY2hlciBTcGVpY2hlciAoSykiLElEQ19QSFlTSUNBTF9NRU1PUllfRlJBTUUsMTMxLDEyMiwxMTEsMzksMCxXU19FWF9UUkFOU1BBUkVOVAogICAgR1JPVVBCT1ggICAgICAgICJLZXJuZWwgU3BlaWNoZXIgKEspIixJRENfS0VSTkVMX01FTU9SWV9GUkFNRSwxMzEsMTY2LDExMSwzOSwwLFdTX0VYX1RSQU5TUEFSRU5UCiAgICBMVEVYVCAgICAgICAgICAgIkhhbmRsZXMiLElEU19UT1RBTFNfSEFORExFX0NPVU5ULDEyLDEzMSwyNyw4CiAgICBMVEVYVCAgICAgICAgICAgIlRocmVhZHMiLElEU19UT1RBTFNfVEhSRUFEX0NPVU5ULDEyLDE0MCwyNyw4CiAgICBMVEVYVCAgICAgICAgICAgIlByb3plc3NlIixJRFNfVE9UQUxTX1BST0NFU1NfQ09VTlQsMTIsMTQ5LDM0LDgKICAgIEVESVRURVhUICAgICAgICBJRENfVE9UQUxTX0hBTkRMRV9DT1VOVCw2NSwxMzEsNDUsOCxFU19SSUdIVCB8CiAgICAgICAgICAgICAgICAgICAgRVNfUkVBRE9OTFkgfCBFU19OVU1CRVIgfCBOT1QgV1NfQk9SREVSCiAgICBFRElUVEVYVCAgICAgICAgSURDX1RPVEFMU19USFJFQURfQ09VTlQsNjUsMTQwLDQ1LDgsRVNfUklHSFQgfAogICAgICAgICAgICAgICAgICAgIEVTX1JFQURPTkxZIHwgRVNfTlVNQkVSIHwgTk9UIFdTX0JPUkRFUgogICAgRURJVFRFWFQgICAgICAgIElEQ19UT1RBTFNfUFJPQ0VTU19DT1VOVCw2NSwxNDksNDUsOCxFU19SSUdIVCB8CiAgICAgICAgICAgICAgICAgICAgRVNfUkVBRE9OTFkgfCBFU19OVU1CRVIgfCBOT1QgV1NfQk9SREVSCiAgICBMVEVYVCAgICAgICAgICAgIkluc2dlc2FtdCIsSURTX0NPTU1JVF9DSEFSR0VfVE9UQUwsMTIsMTc1LDM3LDgKICAgIExURVhUICAgICAgICAgICAiTGltaXQiLElEU19DT01NSVRfQ0hBUkdFX0xJTUlULDEyLDE4NCwxNSw4CiAgICBMVEVYVCAgICAgICAgICAgIlNwaXR6ZSIsSURTX0NPTU1JVF9DSEFSR0VfUEVBSywxMiwxOTMsMzQsOAogICAgRURJVFRFWFQgICAgICAgIElEQ19DT01NSVRfQ0hBUkdFX1RPVEFMLDY1LDE3NCw0NSw4LEVTX1JJR0hUIHwKICAgICAgICAgICAgICAgICAgICBFU19SRUFET05MWSB8IEVTX05VTUJFUiB8IE5PVCBXU19CT1JERVIKICAgIEVESVRURVhUICAgICAgICBJRENfQ09NTUlUX0NIQVJHRV9MSU1JVCw2NSwxODQsNDUsOCxFU19SSUdIVCB8CiAgICAgICAgICAgICAgICAgICAgRVNfUkVBRE9OTFkgfCBFU19OVU1CRVIgfCBOT1QgV1NfQk9SREVSCiAgICBFRElUVEVYVCAgICAgICAgSURDX0NPTU1JVF9DSEFSR0VfUEVBSyw2NSwxOTMsNDUsOCxFU19SSUdIVCB8CiAgICAgICAgICAgICAgICAgICAgRVNfUkVBRE9OTFkgfCBFU19OVU1CRVIgfCBOT1QgV1NfQk9SREVSCiAgICBMVEVYVCAgICAgICAgICAgIkluc2dlc2FtdCIsSURTX1BIWVNJQ0FMX01FTU9SWV9UT1RBTCwxMzcsMTMxLDM3LDgKICAgIExURVhUICAgICAgICAgICAiRHVyY2hzY2huaXR0bGljaCIsSURTX1BIWVNJQ0FMX01FTU9SWV9BVkFJTEFCTEUsMTM3LDE0MCw2MCw4CiAgICBMVEVYVCAgICAgICAgICAgIlN5c3RlbSBDYWNoZSIsSURTX1BIWVNJQ0FMX01FTU9SWV9TWVNURU1fQ0FDSEUsMTM3LDE0OSw0Niw4CiAgICBFRElUVEVYVCAgICAgICAgSURDX1BIWVNJQ0FMX01FTU9SWV9UT1RBTCwxODUsMTMxLDQ4LDgsRVNfUklHSFQgfAogICAgICAgICAgICAgICAgICAgIEVTX1JFQURPTkxZIHwgRVNfTlVNQkVSIHwgTk9UIFdTX0JPUkRFUgogICAgRURJVFRFWFQgICAgICAgIElEQ19QSFlTSUNBTF9NRU1PUllfQVZBSUxBQkxFLDIwNSwxNDAsMjgsOCxFU19SSUdIVCB8CiAgICAgICAgICAgICAgICAgICAgRVNfUkVBRE9OTFkgfCBFU19OVU1CRVIgfCBOT1QgV1NfQk9SREVSCiAgICBFRElUVEVYVCAgICAgICAgSURDX1BIWVNJQ0FMX01FTU9SWV9TWVNURU1fQ0FDSEUsMTg1LDE0OSw0OCw4LEVTX1JJR0hUIHwKICAgICAgICAgICAgICAgICAgICBFU19SRUFET05MWSB8IEVTX05VTUJFUiB8IE5PVCBXU19CT1JERVIKICAgIExURVhUICAgICAgICAgICAiSW5zZ2VzYW10IixJRFNfS0VSTkVMX01FTU9SWV9UT1RBTCwxMzcsMTc0LDM3LDgKICAgIExURVhUICAgICAgICAgICAiQXVzZ2VsYWdlcnQiLElEU19LRVJORUxfTUVNT1JZX1BBR0VELDEzNywxODQsMjEsOAogICAgTFRFWFQgICAgICAgICAgICJOaWNodGF1c2dlbGFnZXJ0IixJRFNfS0VSTkVMX01FTU9SWV9OT05QQUdFRCwxMzcsMTkzLDY0LDgKICAgIEVESVRURVhUICAgICAgICBJRENfS0VSTkVMX01FTU9SWV9UT1RBTCwxODUsMTc0LDQ4LDgsRVNfUklHSFQgfAogICAgICAgICAgICAgICAgICAgIEVTX1JFQURPTkxZIHwgRVNfTlVNQkVSIHwgTk9UIFdTX0JPUkRFUgogICAgRURJVFRFWFQgICAgICAgIElEQ19LRVJORUxfTUVNT1JZX1BBR0VELDE4NSwxODQsNDgsOCxFU19SSUdIVCB8CiAgICAgICAgICAgICAgICAgICAgRVNfUkVBRE9OTFkgfCBFU19OVU1CRVIgfCBOT1QgV1NfQk9SREVSCiAgICBFRElUVEVYVCAgICAgICAgSURDX0tFUk5FTF9NRU1PUllfTk9OUEFHRUQsMTk1LDE5MywzOCw4LEVTX1JJR0hUIHwKICAgICAgICAgICAgICAgICAgICBFU19SRUFET05MWSB8IEVTX05VTUJFUiB8IE5PVCBXU19CT1JERVIKICAgIEdST1VQQk9YICAgICAgICAiVmVybGF1ZiBkZXIgQ1BVLUF1c2xhc3R1bmciLElEQ19DUFVfVVNBR0VfSElTVE9SWV9GUkFNRSw3NCw1LDE2OCw1NCwwLFdTX0VYX1RSQU5TUEFSRU5UCiAgICBHUk9VUEJPWCAgICAgICAgIlZlcmxhdWYgZGVyIFNwZWljaGVyYXVzbGFzdHVuZyIsSURDX01FTU9SWV9VU0FHRV9ISVNUT1JZX0ZSQU1FLDc0LDYzLDE2OCw1NCwwLFdTX0VYX1RSQU5TUEFSRU5UCiAgICBQVVNIQlVUVE9OICAgICAgIkNQVS1BdXNsYXN0dW5nIEFuemVpZ2UiLElEQ19DUFVfVVNBR0VfR1JBUEgsMTIsMTcsNDcsMzcsMCwKCQkgICAgV1NfRVhfQ0xJRU5URURHRQogICAgUFVTSEJVVFRPTiAgICAgICJTcGVpY2hlcmF1c2xhc3R1bmcgQW56ZWlnZSIsSURDX01FTV9VU0FHRV9HUkFQSCwxMiw3NSw0NywzNywwLAogICAgICAgICAgICAgICAgICAgIFdTX0VYX0NMSUVOVEVER0UKICAgIFBVU0hCVVRUT04gICAgICAiQ1BVLUF1c2xhc3R1bmdzdmVybGF1ZiIsSURDX0NQVV9VU0FHRV9ISVNUT1JZX0dSQVBILDgxLDE3LAogICAgICAgICAgICAgICAgICAgIDE1MywzNywwLFdTX0VYX0NMSUVOVEVER0UKICAgIFBVU0hCVVRUT04gICAgICAiU3BlaWNoZXJhdXNsYXN0dW5nc3ZlcmxhdWYiLElEQ19NRU1fVVNBR0VfSElTVE9SWV9HUkFQSCw4MSw3NSwKICAgICAgICAgICAgICAgICAgICAxNTMsMzcsMCxXU19FWF9DTElFTlRFREdFCkVORAoKSUREX0RFQlVHX0NIQU5ORUxTX0RJQUxPRyBESUFMT0cgRElTQ0FSREFCTEUgIDAsIDAsIDI0NywgMjEwClNUWUxFIERTX01PREFMRlJBTUUgfCBXU19QT1BVUCB8IFdTX0NBUFRJT04gfCBXU19TWVNNRU5VCkNBUFRJT04gIkRlYnVnIEthbuRsZSIKRk9OVCA4LCAiTVMgU2hlbGwgRGxnIgpCRUdJTgogICAgQ09OVFJPTCAgICAgICAgICJMaXN0MiIsSURDX0RFQlVHX0NIQU5ORUxTX0xJU1QsIlN5c0xpc3RWaWV3MzIiLExWU19SRVBPUlQgfAogICAgICAgICAgICAgICAgICAgIExWU19TSU5HTEVTRUwgfCBMVlNfU0hPV1NFTEFMV0FZUyB8IFdTX0JPUkRFUiB8IFdTX1RBQlNUT1AgfAoJCSAgICBMVlNfU09SVEFTQ0VORElORyw3LDcsMjMzLDE3NwogICAgUFVTSEJVVFRPTiAgICAgICJTY2hsaWXfZW4iLElET0ssMTcxLDE4OSw2OSwxNApFTkQKCklERF9BRkZJTklUWV9ESUFMT0cgRElBTE9HIERJU0NBUkRBQkxFICAwLCAwLCAyMzEsIDE1NApTVFlMRSBEU19NT0RBTEZSQU1FIHwgV1NfUE9QVVAgfCBXU19DQVBUSU9OIHwgV1NfU1lTTUVOVQpDQVBUSU9OICJQcm96ZXNzb3IgQWZmaW5pdOR0IgpGT05UIDgsICJNUyBTaGVsbCBEbGciCkJFR0lOCiAgICBERUZQVVNIQlVUVE9OICAgIk9LIixJRE9LLDEyMCwxMzMsNTAsMTQKICAgIFBVU0hCVVRUT04gICAgICAiQWJicmVjaGVuIixJRENBTkNFTCwxNzQsMTMzLDUwLDE0CiAgICBMVEVYVCAgICAgICAgICAgIkRpZSBQcm96ZXNzb3IgQWZmaW5pdOR0IEVpbnN0ZWxsdW5nIGtvbnRyb2xsaWVydCwgYXVmIHdlbGNoZW4gQ1BVJ3MgZGVyIFByb3pl3ywgZGllIEVybGF1Ym5pcyBoYXQsIGF1c2dlZvxocnQgd2VyZGVuIHp1IGv2bm5lbi4iLAogICAgICAgICAgICAgICAgICAgIElEQ19TVEFUSUMsNSw1LDIyMCwxNgogICAgQ09OVFJPTCAgICAgICAgICJDUFUgMCIsSURDX0NQVTAsIkJ1dHRvbiIsQlNfQVVUT0NIRUNLQk9YIHwgV1NfVEFCU1RPUCwKICAgICAgICAgICAgICAgICAgICAxMSwyOCwzNywxMAogICAgQ09OVFJPTCAgICAgICAgICJDUFUgMSIsSURDX0NQVTEsIkJ1dHRvbiIsQlNfQVVUT0NIRUNLQk9YIHwgV1NfRElTQUJMRUQgfAogICAgICAgICAgICAgICAgICAgIFdTX1RBQlNUT1AsMTEsNDEsMzcsMTAKICAgIENPTlRST0wgICAgICAgICAiQ1BVIDIiLElEQ19DUFUyLCJCdXR0b24iLEJTX0FVVE9DSEVDS0JPWCB8IFdTX0RJU0FCTEVEIHwKICAgICAgICAgICAgICAgICAgICBXU19UQUJTVE9QLDExLDU0LDM3LDEwCiAgICBDT05UUk9MICAgICAgICAgIkNQVSAzIixJRENfQ1BVMywiQnV0dG9uIixCU19BVVRPQ0hFQ0tCT1ggfCBXU19ESVNBQkxFRCB8CiAgICAgICAgICAgICAgICAgICAgV1NfVEFCU1RPUCwxMSw2NywzNywxMAogICAgQ09OVFJPTCAgICAgICAgICJDUFUgNCIsSURDX0NQVTQsIkJ1dHRvbiIsQlNfQVVUT0NIRUNLQk9YIHwgV1NfRElTQUJMRUQgfAogICAgICAgICAgICAgICAgICAgIFdTX1RBQlNUT1AsMTEsODAsMzcsMTAKICAgIENPTlRST0wgICAgICAgICAiQ1BVIDUiLElEQ19DUFU1LCJCdXR0b24iLEJTX0FVVE9DSEVDS0JPWCB8IFdTX0RJU0FCTEVEIHwKICAgICAgICAgICAgICAgICAgICBXU19UQUJTVE9QLDExLDkzLDM3LDEwCiAgICBDT05UUk9MICAgICAgICAgIkNQVSA2IixJRENfQ1BVNiwiQnV0dG9uIixCU19BVVRPQ0hFQ0tCT1ggfCBXU19ESVNBQkxFRCB8CiAgICAgICAgICAgICAgICAgICAgV1NfVEFCU1RPUCwxMSwxMDYsMzcsMTAKICAgIENPTlRST0wgICAgICAgICAiQ1BVIDciLElEQ19DUFU3LCJCdXR0b24iLEJTX0FVVE9DSEVDS0JPWCB8IFdTX0RJU0FCTEVEIHwKICAgICAgICAgICAgICAgICAgICBXU19UQUJTVE9QLDExLDExOSwzNywxMAogICAgQ09OVFJPTCAgICAgICAgICJDUFUgOCIsSURDX0NQVTgsIkJ1dHRvbiIsQlNfQVVUT0NIRUNLQk9YIHwgV1NfRElTQUJMRUQgfAogICAgICAgICAgICAgICAgICAgIFdTX1RBQlNUT1AsNjEsMjgsMzcsMTAKICAgIENPTlRST0wgICAgICAgICAiQ1BVIDkiLElEQ19DUFU5LCJCdXR0b24iLEJTX0FVVE9DSEVDS0JPWCB8IFdTX0RJU0FCTEVEIHwKICAgICAgICAgICAgICAgICAgICBXU19UQUJTVE9QLDYxLDQxLDM3LDEwCiAgICBDT05UUk9MICAgICAgICAgIkNQVSAxMCIsSURDX0NQVTEwLCJCdXR0b24iLEJTX0FVVE9DSEVDS0JPWCB8CiAgICAgICAgICAgICAgICAgICAgV1NfRElTQUJMRUQgfCBXU19UQUJTVE9QLDYxLDU0LDQxLDEwCiAgICBDT05UUk9MICAgICAgICAgIkNQVSAxMSIsSURDX0NQVTExLCJCdXR0b24iLEJTX0FVVE9DSEVDS0JPWCB8CiAgICAgICAgICAgICAgICAgICAgV1NfRElTQUJMRUQgfCBXU19UQUJTVE9QLDYxLDY3LDQxLDEwCiAgICBDT05UUk9MICAgICAgICAgIkNQVSAxMiIsSURDX0NQVTEyLCJCdXR0b24iLEJTX0FVVE9DSEVDS0JPWCB8CiAgICAgICAgICAgICAgICAgICAgV1NfRElTQUJMRUQgfCBXU19UQUJTVE9QLDYxLDgwLDQxLDEwCiAgICBDT05UUk9MICAgICAgICAgIkNQVSAxMyIsSURDX0NQVTEzLCJCdXR0b24iLEJTX0FVVE9DSEVDS0JPWCB8CiAgICAgICAgICAgICAgICAgICAgV1NfRElTQUJMRUQgfCBXU19UQUJTVE9QLDYxLDkzLDQxLDEwCiAgICBDT05UUk9MICAgICAgICAgIkNQVSAxNCIsSURDX0NQVTE0LCJCdXR0b24iLEJTX0FVVE9DSEVDS0JPWCB8CiAgICAgICAgICAgICAgICAgICAgV1NfRElTQUJMRUQgfCBXU19UQUJTVE9QLDYxLDEwNiw0MSwxMAogICAgQ09OVFJPTCAgICAgICAgICJDUFUgMTUiLElEQ19DUFUxNSwiQnV0dG9uIixCU19BVVRPQ0hFQ0tCT1ggfAogICAgICAgICAgICAgICAgICAgIFdTX0RJU0FCTEVEIHwgV1NfVEFCU1RPUCw2MSwxMTksNDEsMTAKICAgIENPTlRST0wgICAgICAgICAiQ1BVIDE2IixJRENfQ1BVMTYsIkJ1dHRvbiIsQlNfQVVUT0NIRUNLQk9YIHwKICAgICAgICAgICAgICAgICAgICBXU19ESVNBQkxFRCB8IFdTX1RBQlNUT1AsMTE2LDI4LDQxLDEwCiAgICBDT05UUk9MICAgICAgICAgIkNQVSAxNyIsSURDX0NQVTE3LCJCdXR0b24iLEJTX0FVVE9DSEVDS0JPWCB8CiAgICAgICAgICAgICAgICAgICAgV1NfRElTQUJMRUQgfCBXU19UQUJTVE9QLDExNiw0MSw0MSwxMAogICAgQ09OVFJPTCAgICAgICAgICJDUFUgMTgiLElEQ19DUFUxOCwiQnV0dG9uIixCU19BVVRPQ0hFQ0tCT1ggfAogICAgICAgICAgICAgICAgICAgIFdTX0RJU0FCTEVEIHwgV1NfVEFCU1RPUCwxMTYsNTQsNDEsMTAKICAgIENPTlRST0wgICAgICAgICAiQ1BVIDE5IixJRENfQ1BVMTksIkJ1dHRvbiIsQlNfQVVUT0NIRUNLQk9YIHwKICAgICAgICAgICAgICAgICAgICBXU19ESVNBQkxFRCB8IFdTX1RBQlNUT1AsMTE2LDY3LDQxLDEwCiAgICBDT05UUk9MICAgICAgICAgIkNQVSAyMCIsSURDX0NQVTIwLCJCdXR0b24iLEJTX0FVVE9DSEVDS0JPWCB8CiAgICAgICAgICAgICAgICAgICAgV1NfRElTQUJMRUQgfCBXU19UQUJTVE9QLDExNiw4MCw0MSwxMAogICAgQ09OVFJPTCAgICAgICAgICJDUFUgMjEiLElEQ19DUFUyMSwiQnV0dG9uIixCU19BVVRPQ0hFQ0tCT1ggfAogICAgICAgICAgICAgICAgICAgIFdTX0RJU0FCTEVEIHwgV1NfVEFCU1RPUCwxMTYsOTMsNDEsMTAKICAgIENPTlRST0wgICAgICAgICAiQ1BVIDIyIixJRENfQ1BVMjIsIkJ1dHRvbiIsQlNfQVVUT0NIRUNLQk9YIHwKICAgICAgICAgICAgICAgICAgICBXU19ESVNBQkxFRCB8IFdTX1RBQlNUT1AsMTE2LDEwNiw0MSwxMAogICAgQ09OVFJPTCAgICAgICAgICJDUFUgMjMiLElEQ19DUFUyMywiQnV0dG9uIixCU19BVVRPQ0hFQ0tCT1ggfAogICAgICAgICAgICAgICAgICAgIFdTX0RJU0FCTEVEIHwgV1NfVEFCU1RPUCwxMTYsMTE5LDQxLDEwCiAgICBDT05UUk9MICAgICAgICAgIkNQVSAyNCIsSURDX0NQVTI0LCJCdXR0b24iLEJTX0FVVE9DSEVDS0JPWCB8CiAgICAgICAgICAgICAgICAgICAgV1NfRElTQUJMRUQgfCBXU19UQUJTVE9QLDE3NSwyOCw0MSwxMAogICAgQ09OVFJPTCAgICAgICAgICJDUFUgMjUiLElEQ19DUFUyNSwiQnV0dG9uIixCU19BVVRPQ0hFQ0tCT1ggfAogICAgICAgICAgICAgICAgICAgIFdTX0RJU0FCTEVEIHwgV1NfVEFCU1RPUCwxNzUsNDEsNDEsMTAKICAgIENPTlRST0wgICAgICAgICAiQ1BVIDI2IixJRENfQ1BVMjYsIkJ1dHRvbiIsQlNfQVVUT0NIRUNLQk9YIHwKICAgICAgICAgICAgICAgICAgICBXU19ESVNBQkxFRCB8IFdTX1RBQlNUT1AsMTc1LDU0LDQxLDEwCiAgICBDT05UUk9MICAgICAgICAgIkNQVSAyNyIsSURDX0NQVTI3LCJCdXR0b24iLEJTX0FVVE9DSEVDS0JPWCB8CiAgICAgICAgICAgICAgICAgICAgV1NfRElTQUJMRUQgfCBXU19UQUJTVE9QLDE3NSw2Nyw0MSwxMAogICAgQ09OVFJPTCAgICAgICAgICJDUFUgMjgiLElEQ19DUFUyOCwiQnV0dG9uIixCU19BVVRPQ0hFQ0tCT1ggfAogICAgICAgICAgICAgICAgICAgIFdTX0RJU0FCTEVEIHwgV1NfVEFCU1RPUCwxNzUsODAsNDEsMTAKICAgIENPTlRST0wgICAgICAgICAiQ1BVIDI5IixJRENfQ1BVMjksIkJ1dHRvbiIsQlNfQVVUT0NIRUNLQk9YIHwKICAgICAgICAgICAgICAgICAgICBXU19ESVNBQkxFRCB8IFdTX1RBQlNUT1AsMTc1LDkzLDQxLDEwCiAgICBDT05UUk9MICAgICAgICAgIkNQVSAzMCIsSURDX0NQVTMwLCJCdXR0b24iLEJTX0FVVE9DSEVDS0JPWCB8CiAgICAgICAgICAgICAgICAgICAgV1NfRElTQUJMRUQgfCBXU19UQUJTVE9QLDE3NSwxMDYsNDEsMTAKICAgIENPTlRST0wgICAgICAgICAiQ1BVIDMxIixJRENfQ1BVMzEsIkJ1dHRvbiIsQlNfQVVUT0NIRUNLQk9YIHwKICAgICAgICAgICAgICAgICAgICBXU19ESVNBQkxFRCB8IFdTX1RBQlNUT1AsMTc1LDExOSw0MSwxMApFTkQKCklERF9DT0xVTU5TX0RJQUxPRyBESUFMT0cgRElTQ0FSREFCTEUgIDAsIDAsIDI0NSwgMTk5ClNUWUxFIERTX01PREFMRlJBTUUgfCBXU19QT1BVUCB8IFdTX0NBUFRJT04gfCBXU19TWVNNRU5VCkNBUFRJT04gIlfkaGxlIFNwYWx0ZW4iCkZPTlQgOCwgIk1TIFNoZWxsIERsZyIKQkVHSU4KICAgIERFRlBVU0hCVVRUT04gICAiT0siLElET0ssODQsMTc4LDUwLDE0CiAgICBQVVNIQlVUVE9OICAgICAgIkFiYnJlY2hlbiIsSURDQU5DRUwsMTM4LDE3OCw1MCwxNAogICAgTFRFWFQgICAgICAgICAgICJX5GhsZSBkaWUgU3BhbHRlbiBhdXMsIGRpZSBhdWYgZGVyIFByb3pl3y1TZWl0ZSBkZXMgVGFzayBNYW5hZ2VycyBlcnNjaGVpbmVuIHNvbGxlbiIsICAgICAKICAgICAgICAgICAgICAgICAgICBJRENfU1RBVElDLDcsNywxODEsMTcKICAgIENPTlRST0wgICAgICAgICAiJk5hbWUiLElEQ19JTUFHRU5BTUUsIkJ1dHRvbiIsQlNfQVVUT0NIRUNLQk9YIHwKICAgICAgICAgICAgICAgICAgICBXU19ESVNBQkxFRCB8IFdTX1RBQlNUT1AsNywyOCw1NiwxMAogICAgQ09OVFJPTCAgICAgICAgICImUElEIChQcm96Zd8tSUQpIixJRENfUElELCJCdXR0b24iLAogICAgICAgICAgICAgICAgICAgIEJTX0FVVE9DSEVDS0JPWCB8IFdTX1RBQlNUT1AsNywzOSw4OCwxMAogICAgQ09OVFJPTCAgICAgICAgICImQ1BVLUF1c2xhc3R1bmciLElEQ19DUFVVU0FHRSwiQnV0dG9uIixCU19BVVRPQ0hFQ0tCT1ggfAogICAgICAgICAgICAgICAgICAgIFdTX1RBQlNUT1AsNyw1MCw5MCwxMAogICAgQ09OVFJPTCAgICAgICAgICJDUFUgWiZlaXQiLElEQ19DUFVUSU1FLCJCdXR0b24iLEJTX0FVVE9DSEVDS0JPWCB8CiAgICAgICAgICAgICAgICAgICAgV1NfVEFCU1RPUCw3LDYxLDQ4LDEwCiAgICBDT05UUk9MICAgICAgICAgIlMmcGVpY2hlcmF1c2xhc3R1bmciLElEQ19NRU1PUllVU0FHRSwiQnV0dG9uIixCU19BVVRPQ0hFQ0tCT1ggfAogICAgICAgICAgICAgICAgICAgIFdTX1RBQlNUT1AsNyw3Miw5NSwxMAogICAgQ09OVFJPTCAgICAgICAgICImVmVy5G5kLiBkZXIgU3BlaWNoZXJhdXNsYXN0dW5nIixJRENfTUVNT1JZVVNBR0VERUxUQSwiQnV0dG9uIiwKICAgICAgICAgICAgICAgICAgICBCU19BVVRPQ0hFQ0tCT1ggfCBXU19UQUJTVE9QLDcsODMsMTE1LDEwCiAgICBDT05UUk9MICAgICAgICAgIiZNYXhpbWFsZSBTcGVpY2hlcmF1c2xhc3R1bmciLElEQ19QRUFLTUVNT1JZVVNBR0UsIkJ1dHRvbiIsCiAgICAgICAgICAgICAgICAgICAgQlNfQVVUT0NIRUNLQk9YIHwgV1NfVEFCU1RPUCw3LDk0LDExNSwxMAogICAgQ09OVFJPTCAgICAgICAgICJTZWl0ZW4mZmVobGVyIixJRENfUEFHRUZBVUxUUywiQnV0dG9uIixCU19BVVRPQ0hFQ0tCT1ggfAogICAgICAgICAgICAgICAgICAgIFdTX1RBQlNUT1AsNywxMDUsNTMsMTAKICAgIENPTlRST0wgICAgICAgICAiJkJlbnV0emVyLU9iamVrdGUiLElEQ19VU0VST0JKRUNUUywiQnV0dG9uIixCU19BVVRPQ0hFQ0tCT1ggfAogICAgICAgICAgICAgICAgICAgIFdTX1RBQlNUT1AsNywxMTYsOTAsMTAKICAgIENPTlRST0wgICAgICAgICAiSS9PIChMZXNlbikiLElEQ19JT1JFQURTLCJCdXR0b24iLEJTX0FVVE9DSEVDS0JPWCB8CiAgICAgICAgICAgICAgICAgICAgV1NfVEFCU1RPUCw3LDEyNyw0OSwxMAogICAgQ09OVFJPTCAgICAgICAgICJJL08gLSBCeXRlcyAoTGVzZW4pIixJRENfSU9SRUFEQllURVMsIkJ1dHRvbiIsCiAgICAgICAgICAgICAgICAgICAgQlNfQVVUT0NIRUNLQk9YIHwgV1NfVEFCU1RPUCw3LDEzOCw3NSwxMAogICAgQ09OVFJPTCAgICAgICAgICImU2l0enVuZ3MtSUQiLElEQ19TRVNTSU9OSUQsIkJ1dHRvbiIsQlNfQVVUT0NIRUNLQk9YIHwKICAgICAgICAgICAgICAgICAgICBXU19UQUJTVE9QLDcsMTQ5LDUwLDEwCiAgICBDT05UUk9MICAgICAgICAgIkJlbnV0emVyJm5hbWUiLElEQ19VU0VSTkFNRSwiQnV0dG9uIixCU19BVVRPQ0hFQ0tCT1ggfAogICAgICAgICAgICAgICAgICAgIFdTX1RBQlNUT1AsNywxNjAsODAsMTAKICAgIENPTlRST0wgICAgICAgICAiVmVy5G4mZC4gZGVyIFNlaXRlbmZlaGxlciIsSURDX1BBR0VGQVVMVFNERUxUQSwiQnV0dG9uIiwKICAgICAgICAgICAgICAgICAgICBCU19BVVRPQ0hFQ0tCT1ggfCBXU19UQUJTVE9QLDEzMiwyOCw3MiwxMAogICAgQ09OVFJPTCAgICAgICAgICImR3L232UgZGVzIHZpcnQuIFNwZWljaGVycyIsSURDX1ZJUlRVQUxNRU1PUllTSVpFLCJCdXR0b24iLAogICAgICAgICAgICAgICAgICAgIEJTX0FVVE9DSEVDS0JPWCB8IFdTX1RBQlNUT1AsMTMyLDM5LDEwNSwxMAogICAgQ09OVFJPTCAgICAgICAgICJBdXMmZ2VsYWdlcnRlciBQb29sIixJRENfUEFHRURQT09MLCJCdXR0b24iLEJTX0FVVE9DSEVDS0JPWCB8CiAgICAgICAgICAgICAgICAgICAgV1NfVEFCU1RPUCwxMzIsNTAsOTAsMTAKICAgIENPTlRST0wgICAgICAgICAiTmljaCZ0YXVzZ2VsYWdlcnRlciBQb29sIixJRENfTk9OUEFHRURQT09MLCJCdXR0b24iLAogICAgICAgICAgICAgICAgICAgIEJTX0FVVE9DSEVDS0JPWCB8IFdTX1RBQlNUT1AsMTMyLDYxLDEwNSwxMAogICAgQ09OVFJPTCAgICAgICAgICJCYXNpc3Amcmlvcml05HQiLElEQ19CQVNFUFJJT1JJVFksIkJ1dHRvbiIsCiAgICAgICAgICAgICAgICAgICAgQlNfQVVUT0NIRUNLQk9YIHwgV1NfVEFCU1RPUCwxMzIsNzIsNTUsMTAKICAgIENPTlRST0wgICAgICAgICAiJkhhbmRsZS1BbnphaGwiLElEQ19IQU5ETEVDT1VOVCwiQnV0dG9uIixCU19BVVRPQ0hFQ0tCT1ggfAogICAgICAgICAgICAgICAgICAgIFdTX1RBQlNUT1AsMTMyLDgzLDU5LDEwCiAgICBDT05UUk9MICAgICAgICAgIiZUaHJlYWQtQW56YWhsIixJRENfVEhSRUFEQ09VTlQsIkJ1dHRvbiIsQlNfQVVUT0NIRUNLQk9YIHwKICAgICAgICAgICAgICAgICAgICBXU19UQUJTVE9QLDEzMiw5NCw1OSwxMAogICAgQ09OVFJPTCAgICAgICAgICJHREktT2JqZWt0ZSIsSURDX0dESU9CSkVDVFMsIkJ1dHRvbiIsQlNfQVVUT0NIRUNLQk9YIHwKICAgICAgICAgICAgICAgICAgICBXU19UQUJTVE9QLDEzMiwxMDUsOTAsMTAKICAgIENPTlRST0wgICAgICAgICAiSS9PIChTY2hyZWliZW4pIixJRENfSU9XUklURVMsIkJ1dHRvbiIsQlNfQVVUT0NIRUNLQk9YIHwKICAgICAgICAgICAgICAgICAgICBXU19UQUJTVE9QLDEzMiwxMTYsOTAsMTAKICAgIENPTlRST0wgICAgICAgICAiSS9PIC0gQnl0ZXMgKFNjaHJlaWJlbikiLElEQ19JT1dSSVRFQllURVMsIkJ1dHRvbiIsCiAgICAgICAgICAgICAgICAgICAgQlNfQVVUT0NIRUNLQk9YIHwgV1NfVEFCU1RPUCwxMzIsMTI3LDEwNSwxMAogICAgQ09OVFJPTCAgICAgICAgICJJL08gKEFuZGVyZSkiLElEQ19JT09USEVSLCJCdXR0b24iLEJTX0FVVE9DSEVDS0JPWCB8CiAgICAgICAgICAgICAgICAgICAgV1NfVEFCU1RPUCwxMzIsMTM4LDkwLDEwCiAgICBDT05UUk9MICAgICAgICAgIkkvTyAtIEJ5dGVzIChBbmRlcmUpIixJRENfSU9PVEhFUkJZVEVTLCJCdXR0b24iLAogICAgICAgICAgICAgICAgICAgIEJTX0FVVE9DSEVDS0JPWCB8IFdTX1RBQlNUT1AsMTMyLDE0OSwxMDUsMTAKRU5ECgovKgogU3RyaW5nIFRhYmxlCiovCgpTVFJJTkdUQUJMRSBESVNDQVJEQUJMRQpCRUdJTgogICAgSURTX0FQUF9USVRMRSAgICAgICAgICAgIlRhc2sgTWFuYWdlciIKICAgIElEQ19UQVNLTUdSICAgICAgICAgICAgICJUYXNrIE1hbmFnZXIiCkVORAoKU1RSSU5HVEFCTEUgRElTQ0FSREFCTEUKQkVHSU4KICAgIElEX0ZJTEVfTkVXICAgICAgICAgICAgICAgICAgICJTdGFydGUgZWluIG5ldWVzIFByb2dyYW1tIgogICAgSURfT1BUSU9OU19BTFdBWVNPTlRPUCAgICAgICAgIkRlciBUYXNrIE1hbmFnZXIgYmxlaWJ0IGltbWVyIG1pdCBzZWluZW4gZ2VzYW10ZW4gRmVuc3Rlcm4gaW0gVm9yZGVyZ3J1bmQsIGJpcyBlciBtaW5pbWllcnQgd2lyZCIKICAgIElEX09QVElPTlNfTUlOSU1JWkVPTlVTRSAgICAgICJEZXIgVGFzayBNYW5hZ2VyIG1pbmltaWVydCBzaWNoLCB3ZW5uIGVpbmUgJ1dlY2hzbGUgenUnIE9wZXJhdGlvbiBhdXNnZWb8aHJ0IHdpcmQiCiAgICBJRF9PUFRJT05TX0hJREVXSEVOTUlOSU1JWkVEICAiVmVyc3RlY2tlIGRlbiBUYXNrIE1hbmFnZXIsIHdlbm4gZXIgbWluaW1pZXJ0IGlzdCIKICAgIElEX1ZJRVdfUkVGUkVTSCAgICAgICAgICAgICAgICJad2luZ2UgZGVuIFRhc2sgTWFuYWdlciB6dSBlaW5lciBBa3R1YWxpc2llcnVuZywgdW5hYmjkbmlnIHZvbiBkZXIgQWt0dWFsaXNpZXJ1bmdzZ2VzY2h3aW5kaWdrZWl0IgogICAgSURfVklFV19MQVJHRSAgICAgICAgICAgICAgICAgIlplaWdlIFRhc2tzIG1pdCBncm/fZW4gU3ltYm9sZW4gYW4iCiAgICBJRF9WSUVXX1NNQUxMICAgICAgICAgICAgICAgICAiWmVpZ2UgVGFza3MgbWl0IGtsZWluZW4gU3ltYm9sZW4gYW4iCiAgICBJRF9WSUVXX0RFVEFJTFMgICAgICAgICAgICAgICAiWmVpZ2UgZGV0YWlsaWVydGUgSW5mb3JtYXRpb25lbiD8YmVyIGplZGVuIGVpbnplbG5lbiBUYXNrIGFuIgogICAgSURfVklFV19VUERBVEVTUEVFRF9ISUdIICAgICAgIkFrdHVhbGlzaWVydCBkaWUgQW56ZWlnZSB6d2VpbWFsIHBybyBTZWt1bmRlIgogICAgSURfVklFV19VUERBVEVTUEVFRF9OT1JNQUwgICAgIkFrdHVhbGlzaWVydCBkaWUgQW56ZWlnZSBhbGxlciAyIFNla3VuZGVuIgogICAgSURfVklFV19VUERBVEVTUEVFRF9MT1cgICAgICAgIkFrdHVhbGlzaWVydCBkaWUgQW56ZWlnZSBhbGxlciA0IFNla3VuZGVuIgpFTkQKClNUUklOR1RBQkxFIERJU0NBUkRBQkxFCkJFR0lOCiAgICBJRF9WSUVXX1VQREFURVNQRUVEX1BBVVNFRCAgICAgICAgIk5pY2h0IGF1dG9tYXRpc2NoIEFrdHVhbGlzaWVyZW4iCiAgICBJRF9XSU5ET1dTX1RJTEVIT1JJWk9OVEFMTFkgICAgICAgIlN0ZWxsZSBkaWUgRmVuc3RlciD8YmVyZWluYW5kZXIgYXVmIGRlbSBEZXNrdG9wIGRhciIKICAgIElEX1dJTkRPV1NfVElMRVZFUlRJQ0FMTFkgICAgICAgICAiU3RlbGxlIGRpZSBGZW5zdGVyIG5lYmVuZWluYW5kZXIgYXVmIGRlbSBEZXNrdG9wIGRhciIKICAgIElEX1dJTkRPV1NfTUlOSU1JWkUgICAgICAgICAgICAgICAiTWluaW1pZXJlIGRpZSBGZW5zdGVyIgogICAgSURfV0lORE9XU19NQVhJTUlaRSAgICAgICAgICAgICAgICJNYXhpbWllcmUgZGllIEZlbnN0ZXIiCiAgICBJRF9XSU5ET1dTX0NBU0NBREUgICAgICAgICAgICAgICAgIlN0ZWxsZSBkaWUgRmVuc3RlciBoaW50ZXJlaW5hbmRlciBhdWYgZGVtIERlc2t0b3AgZGFyIgogICAgSURfV0lORE9XU19CUklOR1RPRlJPTlQgICAgICAgICAgICJIb2xlIGRhcyBGZW5zdGVyIGluIGRlbiBWb3JkZXJncnVuZCwgYWJlciB3ZWNoc2xlIG5pY2h0IHp1IGRpZXNlbSIKICAgIElEX0hFTFBfVE9QSUNTICAgICAgICAgICAgICAgICAgICAiWmVpZ2UgZGllIEhpbGZldGhlbWVuIGRlcyBUYXNrIE1hbmFnZXJzIGFuIgogICAgSURfSEVMUF9BQk9VVCAgICAgICAgICAgICAgICAgICAgICJaZWlnZSBQcm9ncmFtbWluZm9ybWF0aW9uZW4sIFZlcnNpb25zbnVtbWVyIHVuZCBDb3B5cmlnaHQgYW4iCiAgICBJRF9GSUxFX0VYSVQgICAgICAgICAgICAgICAgICAgICAgIkJlZW5kZSBkaWUgVGFzayBNYW5hZ2VyIEFud2VuZHVuZyIgICAKICAgIElEX09QVElPTlNfU0hPVzE2QklUVEFTS1MgICAgICAgICAiWmVpZ2UgMTYtYml0IFRhc2tzIHVuZGVyIGRlciBWZXJ3ZW5kdW5nIHZvbiBudHZkbS5leGUgYW4iCiAgICBJRF9WSUVXX1NFTEVDVENPTFVNTlMgICAgICAgICAgICAgIlfkaGxlLCB3ZWxjaGUgU3BhbHRlbiBhdWYgZGVyIFByb3pl3y1TZWl0ZSBzaWNodGJhciBzZWluIHNvbGxlbiIKICAgIElEX1ZJRVdfU0hPV0tFUk5FTFRJTUVTICAgICAgICAgICAiWmVpZ2UgZGllIEtlcm5lbC1aZWl0ZW4gaW0gTGVpc3R1bmdzZ3JhcGhlbiBhbiIKICAgIElEX1ZJRVdfQ1BVSElTVE9SWV9PTkVHUkFQSEFMTCAgICAiRWluIGVpbnplbG5lciBWZXJsYXVmc2dyYXBoIHplaWd0IGRpZSBnZXNhbXRlIENQVS1BdXNsYXN0dW5nIGFuIgogICAgSURfVklFV19DUFVISVNUT1JZX09ORUdSQVBIUEVSQ1BVICJKZWRlIENQVSBoYXQgaWhyZW4gZWlnZW5lbiBWZXJsYXVmc2dyYXBoZW4iCiAgICBJRF9BUFBMSUNBVElPTl9QQUdFX1NXSVRDSFRPICAgICAgIkhvbHQgZGVuIFRhc2sgaW4gZGVuIFZvcmRlcmdydW5kIHVuZCB3ZWNoc2VsdCBkZW4gRm9rdXMgYXVmIGRlbiBUYXNrIgpFTkQKClNUUklOR1RBQkxFIERJU0NBUkRBQkxFCkJFR0lOCiAgICBJRF9FTkRUQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIldlaXN0IGRpZSBhdXNnZXfkaGx0ZW4gVGFza3MgYW4sIHNpY2ggenUgYmVlbmRlbiIKICAgIElEX0dPVE9QUk9DRVNTICAgICAgICAgICAgICAgICAgICAgICAgICAiV2VjaHNlbHQgZGVuIEZva3VzIHp1IGRlbSBQcm96Zd8gZGVzIGF1c2dld+RobHRlbiBUYXNrcyIKICAgIElEX1JFU1RPUkUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiU3RlbGx0IGRlbiBUYXNrIE1hbmFnZXIgdm9uIHNlaW5lciB2ZXJzdGVja3RlbiBTdGF0dXMgd2llZGVyIGhlciIKICAgIElEX1BST0NFU1NfUEFHRV9FTkRQUk9DRVNTICAgICAgICAgICAgICAiRW50ZmVybnQgZGVuIFByb3pl3yB2b20gU3lzdGVtIgogICAgSURfUFJPQ0VTU19QQUdFX0VORFBST0NFU1NUUkVFICAgICAgICAgICJFbnRmZXJudCBkZW4gUHJvemXfIHVuZCBhbGwgc2VpbmUgS2luZHByb3plc3NlIHZvbSBTeXN0ZW0iCiAgICBJRF9QUk9DRVNTX1BBR0VfREVCVUcgICAgICAgICAgICAgICAgICAgIkhlZnRldCBkZW4gRGVidWdnZXIgYW4gZGllc2VuIFByb3pl3yBhbiIKICAgIElEX1BST0NFU1NfUEFHRV9TRVRBRkZJTklUWSAgICAgICAgICAgICAiS29udHJvbGxpZXJ0LCBhdWYgd2VsY2hlIFByb3plc3NvcmVuIGVpbiBQcm96Zd8gYXVzZ2Vm/GhydCB3ZXJkZW4gZGFyZiIKICAgIElEX1BST0NFU1NfUEFHRV9TRVRQUklPUklUWV9SRUFMVElNRSAgICAiU2V0enQgZGVuIFByb3pl3yBpbiBkaWUgRUNIVFpFSVQtUHJpb3JpdOR0c2tsYXNzZSIKICAgIElEX1BST0NFU1NfUEFHRV9TRVRQUklPUklUWV9ISUdIICAgICAgICAiU2V0enQgZGVuIFByb3pl3yBpbiBkaWUgSE9DSC1Qcmlvcml05HRza2xhc3NlIgogICAgSURfUFJPQ0VTU19QQUdFX1NFVFBSSU9SSVRZX0FCT1ZFTk9STUFMICJTZXR6dCBkZW4gUHJvemXfIGluIGRpZSBI1khFUiBBTFMgTk9STUFMLVByaW9yaXTkdHNrbGFzc2UiCiAgICBJRF9QUk9DRVNTX1BBR0VfU0VUUFJJT1JJVFlfTk9STUFMICAgICAgIlNldHp0IGRlbiBQcm96Zd8gaW4gZGllIE5PUk1BTC1Qcmlvcml05HRza2xhc3NlIgogICAgSURfUFJPQ0VTU19QQUdFX1NFVFBSSU9SSVRZX0JFTE9XTk9STUFMICJTZXR6dCBkZW4gUHJvemXfIGluIGRpZSBOSUVEUklHRVIgQUxTIE5PUk1BTC1Qcmlvcml05HRza2xhc3NlIgogICAgSURfUFJPQ0VTU19QQUdFX1NFVFBSSU9SSVRZX0xPVyAgICAgICAgICJTZXR6dCBkZW4gUHJvemXfIGluIGRpZSBOSUVEUklHLVByaW9yaXTkdHNrbGFzc2UiCiAgICBJRFNfTElDRU5TRSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIlRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5IGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIExlc3NlciBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIgdmVyc2lvbiAyLjEgb2YgdGhlIExpY2Vuc2UsIG9yIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uXHJcblxyXG5UaGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZSBHTlUgTGVzc2VyIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy5cclxuXHJcbllvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBMZXNzZXIgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbTsgaWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuLCA1MSBGcmFua2xpbiBTdCwgRmlmdGggRmxvb3IsIEJvc3RvbiwgTUEgMDIxMTAtMTMwMSwgVVNBLiIKRU5ECg==