LyoKICogV2luZUNmZyByZXNvdXJjZXMKICogRW5nbGlzaCBMYW5ndWFnZSBTdXBwb3J0CiAqCiAqIENvcHlyaWdodCAyMDAyIEphY28gR3JlZWZmCiAqIENvcHlyaWdodCAyMDAzIERpbWl0cmllIE8uIFBhdW4KICogQ29weXJpZ2h0IDIwMDMtMjAwNCBNaWtlIEhlYXJuCiAqCiAqIFRoaXMgbGlicmFyeSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IKICogbW9kaWZ5IGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIExlc3NlciBHZW5lcmFsIFB1YmxpYwogKiBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIKICogdmVyc2lvbiAyLjEgb2YgdGhlIExpY2Vuc2UsIG9yIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCiAqCiAqIFRoaXMgbGlicmFyeSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAogKiBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgogKiBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlIEdOVQogKiBMZXNzZXIgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgogKgogKiBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgTGVzc2VyIEdlbmVyYWwgUHVibGljCiAqIExpY2Vuc2UgYWxvbmcgd2l0aCB0aGlzIGxpYnJhcnk7IGlmIG5vdCwgd3JpdGUgdG8gdGhlIEZyZWUgU29mdHdhcmUKICogRm91bmRhdGlvbiwgSW5jLiwgNTEgRnJhbmtsaW4gU3QsIEZpZnRoIEZsb29yLCBCb3N0b24sIE1BIDAyMTEwLTEzMDEsIFVTQQogKgogKi8KCkxBTkdVQUdFIExBTkdfRU5HTElTSCwgU1VCTEFOR19ERUZBVUxUCgpJRFJfV0lORUNGRyBNRU5VIERJU0NBUkRBQkxFCkJFR0lOCiAgICBQT1BVUCAiIgogICAgQkVHSU4KICAgICAgICBNRU5VSVRFTSAiQ29uZmlndXJlIiwgSURDX0FVRElPX0NPTkZJR1VSRQogICAgRU5ECkVORAoKSUREX0FCT1VUQ0ZHIERJQUxPR0VYIDAsIDAsIDI2MCwgMjcwClNUWUxFIFdTX0NISUxECkZPTlQgOCwgIk1TIFNoZWxsIERsZyIKQkVHSU4KICAgIExURVhUICAgICAgICAgICBQQUNLQUdFX1NUUklORyxJRENfU1RBVElDLDExOSwxNywxMjAsOAogICAgQ09OVFJPTCAgICAgICAgIElEQl9XSU5FLElEQ19TVEFUSUMsIlN0YXRpYyIsU1NfQklUTUFQICwxNSwxNywxNTcsMTExCiAgICBMVEVYVCAgICAgICAgICAgImh0dHA6Ly93d3cud2luZWhxLm9yZy8iLElEQ19TVEFUSUMsMTE5LDMxLDEwNiw4CiAgICBMVEVYVCAgICAgICAgICAgIlRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5IGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIExlc3NlciBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIgdmVyc2lvbiAyLjEgb2YgdGhlIExpY2Vuc2UsIG9yIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uIiwKICAgICAgICAgICAgICAgICAgICBJRENfU1RBVElDLDExOSw0NCwxMjQsNzIKICAgIEdST1VQQk9YICAgICAgICAiIFdpbmRvd3MgUmVnaXN0cmF0aW9uIEluZm9ybWF0aW9uICIsIElEQ19TVEFUSUMsIDE1LCAxMTAsIDIzMCwgNTUKICAgIExURVhUICAgICAgICAgICAiT3duZXI6IiwgSURDX1NUQVRJQywgMjIsIDEyNiwgNDAsIDIwCiAgICBMVEVYVCAgICAgICAgICAgIk9yZ2FuaXphdGlvbjoiLCBJRENfU1RBVElDLCAyMiwgMTQwLCA1MCwgMjAKICAgIEVESVRURVhUICAgICAgICBJRENfQUJUX09XTkVSLCA3NSwgMTI2LCAxNjAsIDEzLCBFU19BVVRPSFNDUk9MTCB8IFdTX1RBQlNUT1AKICAgIEVESVRURVhUICAgICAgICBJRENfQUJUX09SRywgNzUsIDE0MCwgMTYwLCAxMywgRVNfQVVUT0hTQ1JPTEwgfCBXU19UQUJTVE9QCkVORAoKSUREX0FQUENGRyBESUFMT0cgRElTQ0FSREFCTEUgIDAsIDAsIDI2MCwgMjUwClNUWUxFIFdTX0NISUxEIHwgV1NfRElTQUJMRUQKRk9OVCA4LCAiTVMgU2hlbGwgRGxnIgpCRUdJTgogICAgR1JPVVBCT1ggICAgICAgICIgQXBwbGljYXRpb24gU2V0dGluZ3MgIixJRENfU1RBVElDLCA4LDQsMjQ0LDI0MAogICAgTFRFWFQgICAgICAgICAgICJXaW5lIGNhbiBtaW1pYyBkaWZmZXJlbnQgV2luZG93cyB2ZXJzaW9ucyBmb3IgZWFjaCBhcHBsaWNhdGlvbi4gIFRoaXMgdGFiIGlzIGxpbmtlZCB0byB0aGUgTGlicmFyaWVzIGFuZCBHcmFwaGljcyB0YWJzIHRvIGFsbG93IHlvdSB0byBjaGFuZ2Ugc3lzdGVtd2lkZSBvciBwZXItYXBwbGljYXRpb24gc2V0dGluZ3MgaW4gdGhvc2UgdGFicyBhcyB3ZWxsLiIsCiAgICAgICAgICAgICAgICAgICAgSURDX1NUQVRJQywxNSwyMCwyMjcsMzAKICAgIENPTlRST0wgICAgICAgICAiQXBwbGljYXRpb25zIixJRENfQVBQX0xJU1RWSUVXLCJTeXNMaXN0VmlldzMyIixXU19CT1JERVIgfCBXU19UQUJTVE9QIHwgTFZTX0xJU1QgfCBMVlNfU0lOR0xFU0VMIHwgTFZTX1NIT1dTRUxBTFdBWVMsCiAgICAgICAgICAgICAgICAgICAgMTUsNTAsMjMwLDE1MAogICAgUFVTSEJVVFRPTgkgICAgIiZBZGQgYXBwbGljYXRpb24uLi4iLElEQ19BUFBfQUREQVBQLCA5MCwyMDQsNzUsMTQKICAgIFBVU0hCVVRUT04JICAgICImUmVtb3ZlIGFwcGxpY2F0aW9uIixJRENfQVBQX1JFTU9WRUFQUCwgMTcwLDIwNCw3NSwxNAogICAgTFRFWFQgICAgICAgICAgICImV2luZG93cyBWZXJzaW9uOiIsSURDX1NUQVRJQywxNywyMjYsNTgsOAogICAgQ09NQk9CT1ggICAgICAgIElEQ19XSU5WRVIsODMsMjI0LDE2Myw1NixDQlNfRFJPUERPV05MSVNUIHwgV1NfVlNDUk9MTCB8IFdTX1RBQlNUT1AgICAgCkVORAoKSUREX0dSQVBIQ0ZHIERJQUxPRyBESVNDQVJEQUJMRSAgMCwgMCwgMjYwLCAyNTAKU1RZTEUgV1NfQ0hJTEQgfCBXU19ESVNBQkxFRApGT05UIDgsICJNUyBTaGVsbCBEbGciCkJFR0lOCiAgICBHUk9VUEJPWCAgICAiIFdpbmRvdyBTZXR0aW5ncyAiLElEQ19TVEFUSUMsOCw0LDI0NCw4NAogICAgQ09OVFJPTCAgICAgIkFsbG93IERpcmVjdFggYXBwcyB0byBzdG9wIHRoZSAmbW91c2UgbGVhdmluZyB0aGVpciB3aW5kb3ciLElEQ19EWF9NT1VTRV9HUkFCLCJCdXR0b24iLEJTX0FVVE9DSEVDS0JPWCB8IFdTX1RBQlNUT1AsMTUsMjAsMjMwLDgKICAgIENPTlRST0wgICAgICJBbGxvdyB0aGUgd2luZG93IG1hbmFnZXIgdG8gJmRlY29yYXRlIHRoZSB3aW5kb3dzIixJRENfRU5BQkxFX0RFQ09SQVRFRCwiQnV0dG9uIixCU19BVVRPQ0hFQ0tCT1ggfCBXU19UQUJTVE9QLDE1LDMyLDIzMCw4CiAgICBDT05UUk9MICAgICAiQWxsb3cgdGhlICZ3aW5kb3cgbWFuYWdlciB0byBjb250cm9sIHRoZSB3aW5kb3dzIixJRENfRU5BQkxFX01BTkFHRUQsIkJ1dHRvbiIsQlNfQVVUT0NIRUNLQk9YIHwgV1NfVEFCU1RPUCwxNSw0NCwyMzAsOAogICAgQ09OVFJPTCAgICAgIkVtdWxhdGUgYSB2aXJ0dWFsICZkZXNrdG9wIixJRENfRU5BQkxFX0RFU0tUT1AsIkJ1dHRvbiIsCiAgICAgICAgICAgICAgICBCU19BVVRPQ0hFQ0tCT1ggfCBXU19UQUJTVE9QLDE1LDU2LDIzMCw4CiAgICBMVEVYVCAgICAgICAiRGVza3RvcCAmc2l6ZToiLElEQ19ERVNLVE9QX1NJWkUsMTUsNzAsNDQsOCxXU19ESVNBQkxFRAogICAgTFRFWFQgICAgICAgIlgiLElEQ19ERVNLVE9QX0JZLDEwOSw3MCw4LDgsV1NfRElTQUJMRUQKICAgIEVESVRURVhUICAgIElEQ19ERVNLVE9QX1dJRFRILDY0LDY4LDQwLDEyLEVTX0FVVE9IU0NST0xMIHwgRVNfTlVNQkVSIHwgV1NfRElTQUJMRUQKICAgIEVESVRURVhUICAgIElEQ19ERVNLVE9QX0hFSUdIVCwxMTcsNjgsNDAsMTIsRVNfQVVUT0hTQ1JPTEwgfCBFU19OVU1CRVIgfCBXU19ESVNBQkxFRAoKICAgIEdST1VQQk9YICAgICIgRGlyZWN0M0QgIixJRENfU1RBVElDLDgsOTUsMjQ0LDQ5CiAgICBMVEVYVCAgICAgICAiJlZlcnRleCBTaGFkZXIgU3VwcG9ydDogIixJRENfU1RBVElDLDE1LDExMCw4MCwzMgogICAgQ09NQk9CT1ggICAgSURDX0QzRF9WU0hBREVSX01PREUsMTAwLDEwOCwxNDUsNzAsQ0JTX0RST1BET1dOTElTVCB8IFdTX1ZTQ1JPTEwgfCBXU19UQUJTVE9QCiAgICBDT05UUk9MICAgICAiQWxsb3cgJlBpeGVsIFNoYWRlciAoaWYgc3VwcG9ydGVkIGJ5IGhhcmR3YXJlKSIsSURDX0QzRF9QU0hBREVSX01PREUsIkJ1dHRvbiIsQlNfQVVUT0NIRUNLQk9YIHwgV1NfVEFCU1RPUCwxNSwxMjYsMjMwLDEwCgogICAgR1JPVVBCT1ggICAgIiBTY3JlZW4gJlJlc29sdXRpb24gIixJRENfU1RBVElDLDgsMTUxLDI0NCw5MwogICAgQ09OVFJPTCAgICAgIiIsIElEQ19SRVNfVFJBQ0tCQVIsICJtc2N0bHNfdHJhY2tiYXIzMiIsV1NfVEFCU1RPUCwxMiwxNjEsMTg3LDE1CiAgICBFRElUVEVYVCAgICBJRENfUkVTX0RQSUVESVQsMjA0LDE2MSwyMywxMyxFU19OVU1CRVJ8V1NfVEFCU1RPUAogICAgTFRFWFQgICAgICAgImRwaSIsSURDX1NUQVRJQywyMzUsMTYzLDEwLDgKICAgIExURVhUICAgICAgICJUaGlzIGlzIGEgc2FtcGxlIHRleHQgdXNpbmcgMTAgcG9pbnQgVGFob21hIixJRENfUkVTX0ZPTlRfUFJFVklFVywxNSwxODEsMjMwLDU1CkVORAoKSUREX0RMTENGRyBESUFMT0cgRElTQ0FSREFCTEUgIDAsIDAsIDI2MCwgMjUwClNUWUxFIFdTX0NISUxEIHwgV1NfRElTQUJMRUQKRk9OVCA4LCAiTVMgU2hlbGwgRGxnIgpCRUdJTgogICAgR1JPVVBCT1ggICAgICAgICIgRExMIE92ZXJyaWRlcyAiLElEQ19TVEFUSUMsOCw0LDI0NCwyNDAKICAgIExURVhUICAgICAgICAgICAiRHluYW1pYyBMaW5rIExpYnJhcmllcyBjYW4gYmUgc3BlY2lmaWVkIGluZGl2aWR1YWxseSB0byBiZSBlaXRoZXIgYnVpbHRpbiAocHJvdmlkZWQgYnkgV2luZSkgb3IgbmF0aXZlICh0YWtlbiBmcm9tIFdpbmRvd3Mgb3IgcHJvdmlkZWQgYnkgdGhlIGFwcGxpY2F0aW9uKS4iCiAgICAgICAgICAgICAgICAgICAgLElEQ19TVEFUSUMsMTYsMTYsMjIwLDMyCiAgICBMVEVYVCAgICAgICAgICAgIiZOZXcgb3ZlcnJpZGUgZm9yIGxpYnJhcnk6IixJRENfU1RBVElDLDE2LDU4LDEwMCw4CiAgICBDT01CT0JPWCAgICAgICAgSURDX0RMTENPTUJPLDE2LDY4LDE0MCwxNCxDQlNfRFJPUERPV04gfCBXU19WU0NST0xMIHwgV1NfVEFCU1RPUCB8IENCU19TT1JUIHwgQ0JTX0xPV0VSQ0FTRQogICAgUFVTSEJVVFRPTiAgICAgICImQWRkIixJRENfRExMU19BRERETEwsIDE2NCw2OCw4MiwxMyxCU19ERUZQVVNIQlVUVE9OIAogICAgTFRFWFQgICAgICAgICAgICJFeGlzdGluZyAmb3ZlcnJpZGVzOiIsSURDX1NUQVRJQywxNiw4NiwxMDAsOAogICAgTElTVEJPWCAgICAgICAgIElEQ19ETExTX0xJU1QsMTYsOTYsMTQwLDE0MCxXU19CT1JERVIgfCBXU19UQUJTVE9QIHwgV1NfVlNDUk9MTAogICAgUFVTSEJVVFRPTiAgICAgICImRWRpdCIsSURDX0RMTFNfRURJVERMTCwxNjQsOTYsODIsMTQKICAgIFBVU0hCVVRUT04gICAgICAiJlJlbW92ZSIsSURDX0RMTFNfUkVNT1ZFRExMLDE2NCwxMTQsODIsMTQgCkVORAoKSUREX0xPQURPUkRFUiBESUFMT0cgRElTQ0FSREFCTEUgODAsIDkwLCAxMTAsIDkyClNUWUxFIERTX01PREFMRlJBTUUgfCBXU19DQVBUSU9OIHwgV1NfU1lTTUVOVQpDQVBUSU9OICJFZGl0IE92ZXJyaWRlIgpGT05UIDgsICJNUyBTaGVsbCBEbGciCkJFR0lOCiAgICBHUk9VUEJPWCAgICAgICAgIiBMb2FkIE9yZGVyICIsSURDX1NUQVRJQyw4LDQsOTQsNjYKICAgIENPTlRST0wgICAgICAgICAiJkJ1aWx0aW4gKFdpbmUpIixJRENfUkFEX0JVSUxUSU4sIkJ1dHRvbiIsIEJTX0FVVE9SQURJT0JVVFRPTiB8IFdTX0dST1VQLDE2LDE0LDc1LDEwCiAgICBDT05UUk9MICAgICAgICAgIiZOYXRpdmUgKFdpbmRvd3MpIixJRENfUkFEX05BVElWRSwiQnV0dG9uIiwgQlNfQVVUT1JBRElPQlVUVE9OLDE2LDI0LDc1LDEwCiAgICBDT05UUk9MICAgICAgICAgIkJ1aSZsdGluIHRoZW4gTmF0aXZlIixJRENfUkFEX0JVSUxUSU5fTkFUSVZFLCJCdXR0b24iLCBCU19BVVRPUkFESU9CVVRUT04sMTYsMzQsNzUsMTAKICAgIENPTlRST0wgICAgICAgICAiTmF0aSZ2ZSB0aGVuIEJ1aWx0aW4iLElEQ19SQURfTkFUSVZFX0JVSUxUSU4sIkJ1dHRvbiIsIEJTX0FVVE9SQURJT0JVVFRPTiwxNiw0NCw3NSwxMAogICAgQ09OVFJPTCAgICAgICAgICImRGlzYWJsZSIsSURDX1JBRF9ESVNBQkxFLCJCdXR0b24iLCBCU19BVVRPUkFESU9CVVRUT04sMTYsNTQsNzUsMTAKICAgIERFRlBVU0hCVVRUT04gICAiT0siLElET0ssOCw3NCw0NSwxNCxXU19HUk9VUAogICAgUFVTSEJVVFRPTiAgICAgICJDYW5jZWwiLElEQ0FOQ0VMLDU3LDc0LDQ1LDE0LFdTX0dST1VQCkVORAoKSUREX0RSSVZFQ0ZHIERJQUxPRyBESVNDQVJEQUJMRSAgMCwgMCwgMjYwLCAyNTAKU1RZTEUgV1NfQ0hJTEQgfCBXU19ESVNBQkxFRApGT05UIDgsICJNUyBTaGVsbCBEbGciCkJFR0lOCiAgICBHUk9VUEJPWCAgICAgICAgIiBEcml2ZSAmbWFwcGluZ3MgIixJRENfU1RBVElDLDgsNCwyNDQsMjQwCiAgICBDT05UUk9MICAgICAgICAgIkxpc3R2aWV3IixJRENfTElTVF9EUklWRVMsIlN5c0xpc3RWaWV3MzIiLExWU19SRVBPUlQgfCBMVlNfQVVUT0FSUkFOR0UgfCBMVlNfQUxJR05MRUZUIHwKICAgICAgICAgICAgICAgICAgICBMVlNfU0lOR0xFU0VMIHwgV1NfQk9SREVSIHwgV1NfVEFCU1RPUCwgMTUsMTgsMjMyLDc2CiAgICBQVVNIQlVUVE9OICAgICAgIiZBZGQuLi4iLElEQ19CVVRUT05fQURELDE1LDk4LDM3LDE0CiAgICBQVVNIQlVUVE9OICAgICAgIiZSZW1vdmUiLElEQ19CVVRUT05fUkVNT1ZFLDU2LDk4LDM3LDE0CiAgICBQVVNIQlVUVE9OICAgICAgIkF1dG8mZGV0ZWN0Li4uIixJRENfQlVUVE9OX0FVVE9ERVRFQ1QsMTk3LDk4LDQ5LDE0CgogICAgLyogZWRpdGluZyBkcml2ZSBkZXRhaWxzICovCiAgICBMVEVYVCAgICAgICAgICAgIiZQYXRoOiIsSURDX1NUQVRJQywxNSwxMjMsMjAsOSAgICAKICAgIEVESVRURVhUICAgICAgICBJRENfRURJVF9QQVRILDQxLDEyMCwxNjAsMTMsRVNfQVVUT0hTQ1JPTEwgfCBXU19UQUJTVE9QCiAgICBQVVNIQlVUVE9OICAgICAgIiZCcm93c2UuLi4iLElEQ19CVVRUT05fQlJPV1NFX1BBVEgsMjA2LDEyMCw0MCwxMwogICAgCiAgICBMVEVYVCAgICAgICAgICAgIiZUeXBlOiIsSURDX1NUQVRJQ19UWVBFLDE1LDEzOCwyMSwxMAogICAgQ09NQk9CT1ggICAgICAgIElEQ19DT01CT19UWVBFLDQxLDEzNSw3Nyw2MCxDQlNfRFJPUERPV05MSVNUIHwgV1NfVlNDUk9MTCB8IFdTX1RBQlNUT1AKICAgIAogICAgTFRFWFQgICAgICAgICAgICJMYWJlbCBhbmQgc2VyaWFsIG51bWJlciIsSURDX0xBQkVMU0VSSUFMX1NUQVRJQywxNSwxNTUsOTUsMTAKICAgIAogICAgUFVTSEJVVFRPTiAgICAgICJTaG93ICZBZHZhbmNlZCIsSURDX0JVVFRPTl9TSE9XX0hJREVfQURWQU5DRUQsMTg2LDEzNiw2MCwxMwogICAgQ09OVFJPTCAgICAgICAgICJBdXRvZGV0ZWN0ICZmcm9tIERldmljZToiLElEQ19SQURJT19BVVRPREVURUNULCJCdXR0b24iLAogICAgICAgICAgICAgICAgICAgIEJTX0FVVE9SQURJT0JVVFRPTiwxNSwxNjYsOTMsMTAKICAgIEVESVRURVhUICAgICAgICBJRENfRURJVF9ERVZJQ0UsMjcsMTc2LDE3NCwxMyxFU19BVVRPSFNDUk9MTAogICAgUFVTSEJVVFRPTiAgICAgICJCcm8md3NlLi4uIixJRENfQlVUVE9OX0JST1dTRV9ERVZJQ0UsMjA2LDE3Niw0MCwxMwogICAgQ09OVFJPTCAgICAgICAgICImTWFudWFsbHkgQXNzaWduOiIsSURDX1JBRElPX0FTU0lHTiwiQnV0dG9uIiwKICAgICAgICAgICAgICAgICAgICBCU19BVVRPUkFESU9CVVRUT04sMTUsMTk1LDY5LDEwCgogICAgTFRFWFQgICAgICAgICAgICImTGFiZWw6IixJRENfU1RBVElDX0xBQkVMLDMzLDIwOCwyOSwxMgogICAgRURJVFRFWFQgICAgICAgIElEQ19FRElUX0xBQkVMLDYzLDIwNSw3OCwxMyxFU19BVVRPSFNDUk9MTCB8IFdTX1RBQlNUT1AKICAgIExURVhUICAgICAgICAgICAiUyZlcmlhbDoiLElEQ19TVEFUSUNfU0VSSUFMLDMzLDIyNSwyOSwxMgogICAgRURJVFRFWFQgICAgICAgIElEQ19FRElUX1NFUklBTCw2MywyMjEsNzgsMTMsRVNfQVVUT0hTQ1JPTEwgfCBXU19UQUJTVE9QCgogICAgQ09OVFJPTCAgICAgICAgICJTaG93ICZkb3QgZmlsZXMiLElEQ19TSE9XX0RPVF9GSUxFUywiQnV0dG9uIixCU19BVVRPQ0hFQ0tCT1ggfCBXU19UQUJTVE9QLDgsMjYwLDIzMCw4CkVORAoKSUREX0FVRElPQ0ZHIERJQUxPRyBESVNDQVJEQUJMRSAgMCwgMCwgMjYwLCAyNTAKU1RZTEUgV1NfQ0hJTEQgfCBXU19ESVNBQkxFRApGT05UIDgsICJNUyBTaGVsbCBEbGciCkJFR0lOCiAgICBHUk9VUEJPWCAgICAgICAgIiBEcml2ZXIgU2VsZWN0aW9uICIsSURDX1NUQVRJQyw4LDQsMjQ0LDE5NQogICAgTFRFWFQgICAgICAgICAgICJTZWxlY3QgYSBzb3VuZCBkcml2ZXIgYnkgY2hlY2tpbmcgdGhlIGJveCBvZiB0aGUgZGVzaXJlZCBkcml2ZXIuICBEaXNhYmxlIHNvdW5kIGJ5IG5vdCBzZWxlY3RpbmcgYW55IGRyaXZlci4gU2VsZWN0aW9uIG9mIG11bHRpcGxlIGRyaXZlcnMgaXMgbm90IHJlY29tbWVuZGVkLiBDb25maWd1cmUgYSBkcml2ZXIgYnkgcmlnaHQtY2xpY2tpbmcgb24gaXQuIixJRENfU1RBVElDLDE1LDIwLDIyNywzMAogICAgQ09OVFJPTCAgICAgICAgICJEZXZpY2VzIixJRENfQVVESU9fVFJFRSwiU3lzVHJlZVZpZXczMiIsV1NfQk9SREVSIHwgV1NfVEFCU1RPUCwxNSw1MCwxNDAsMTQwIAogICAgUFVTSEJVVFRPTiAgICAgICImVGVzdCBTb3VuZCIsSURDX0FVRElPX1RFU1QsMTcwLDUwLDU5LDE0CiAgICBQVVNIQlVUVE9OCSAgICAiJkNvbnRyb2wgUGFuZWwiLElEQ19BVURJT19DT05UUk9MX1BBTkVMLDE3MCw3MCw1OSwxNAogICAgR1JPVVBCT1ggICAgICAgICIgRGlyZWN0U291bmQgIixJRENfU1RBVElDLDgsMjA1LDI0NCw2MAogICAgTFRFWFQJICAgICImSGFyZHdhcmUgQWNjZWxlcmF0aW9uOiAiLElEQ19TVEFUSUMsMTUsMjE1LDkwLDEwCiAgICBDT01CT0JPWAkgICAgSURDX0RTT1VORF9IV19BQ0NFTCwxMDAsMjEzLDE1MCw3MCxDQlNfRFJPUERPV05MSVNUIHwgV1NfVlNDUk9MTCB8IFdTX1RBQlNUT1AKICAgIExURVhUICAgICAgICAgICAiRGVmYXVsdCAmU2FtcGxlIFJhdGU6IixJRENfU1RBVElDLDE1LDIzMiw3MCw4CiAgICBDT01CT0JPWCAgICAgICAgSURDX0RTT1VORF9SQVRFUyw5MCwyMzAsNDIsNzYsQ0JTX0RST1BET1dOTElTVCB8IFdTX1ZTQ1JPTEwgfCBXU19UQUJTVE9QCiAgICBMVEVYVCAgICAgICAgICAgIkRlZmF1bHQgJkJpdHMgUGVyIFNhbXBsZToiLElEQ19TVEFUSUMsMTM3LDIzMiw4MCw4CiAgICBDT01CT0JPWCAgICAgICAgSURDX0RTT1VORF9CSVRTLDIyMCwyMzAsMzAsNTYsQ0JTX0RST1BET1dOTElTVCB8IFdTX1ZTQ1JPTEwgfCBXU19UQUJTVE9QCiAgICBDT05UUk9MICAgICAgICAgIkRyaXZlciAmRW11bGF0aW9uIixJRENfRFNPVU5EX0RSVl9FTVVMLCJCdXR0b24iLEJTX0FVVE9DSEVDS0JPWCB8IFdTX1RBQlNUT1AsMTUsMjUwLDIzMCwxMApFTkQKCklERF9ERVNLVE9QX0lOVEVHUkFUSU9OIERJQUxPRyBESVNDQVJEQUJMRSAgMCwgMCwgMjYwLCAyNTAKU1RZTEUgV1NfQ0hJTEQgfCBXU19ESVNBQkxFRApGT05UIDgsICJNUyBTaGVsbCBEbGciCkJFR0lOCiAgICBHUk9VUEJPWCAgICAgICAgIiBBcHBlYXJhbmNlICIsSURDX1NUQVRJQyw4LDQsMjQ0LDEwNgogICAgTFRFWFQgICAgICAgICAgICImVGhlbWU6IixJRENfU1RBVElDLDE1LDE2LDEzMCw4CiAgICBDT01CT0JPWCAgICAgICAgSURDX1RIRU1FX1RIRU1FQ09NQk8sMTUsMjQsMTMwLDE0LENCU19EUk9QRE9XTkxJU1QgfCBXU19WU0NST0xMIHwgV1NfVEFCU1RPUAogICAgUFVTSEJVVFRPTiAgICAgICImSW5zdGFsbCB0aGVtZS4uLiIsSURDX1RIRU1FX0lOU1RBTEwsMTUyLDIzLDkzLDE0CiAgICBMVEVYVCAgICAgICAgICAgIiZDb2xvcjoiLElEQ19USEVNRV9DT0xPUlRFWFQsMTUsNDAsMTEyLDgKICAgIENPTUJPQk9YICAgICAgICBJRENfVEhFTUVfQ09MT1JDT01CTywxNSw0OCwxMTIsMTQsQ0JTX0RST1BET1dOTElTVCB8IFdTX1ZTQ1JPTEwgfCBXU19UQUJTVE9QCiAgICBMVEVYVCAgICAgICAgICAgIiZTaXplOiIsSURDX1RIRU1FX1NJWkVURVhULDEzNSw0MCwxMTAsOAogICAgQ09NQk9CT1ggICAgICAgIElEQ19USEVNRV9TSVpFQ09NQk8sMTM1LDQ4LDExMCwxNCxDQlNfRFJPUERPV05MSVNUIHwgV1NfVlNDUk9MTCB8IFdTX1RBQlNUT1AKICAgIExURVhUICAgICAgICAgICAiSXQmZW06IixJRENfU1RBVElDLDE1LDY0LDExMiw4CiAgICBDT01CT0JPWCAgICAgICAgSURDX1NZU1BBUkFNX0NPTUJPLDE1LDc0LDExMiwxMjAsQ0JTX0RST1BET1dOTElTVCB8IFdTX1ZTQ1JPTEwgfCBXU19UQUJTVE9QIHwgQ0JTX1NPUlQKICAgIExURVhUICAgICAgICAgICAiQyZvbG9yOiIsSURDX1NZU1BBUkFNX0NPTE9SX1RFWFQsMTM1LDY0LDI1LDgsV1NfRElTQUJMRUQKICAgIFBVU0hCVVRUT04gICAgICAiIixJRENfU1lTUEFSQU1fQ09MT1IsMTM1LDc0LDI1LDEzLFdTX0RJU0FCTEVEIHwgQlNfT1dORVJEUkFXCiAgICBMVEVYVCAgICAgICAgICAgIlNpJnplOiIsSURDX1NZU1BBUkFNX1NJWkVfVEVYVCwxNjYsNjQsMzAsOCxXU19ESVNBQkxFRAogICAgRURJVFRFWFQgICAgICAgIElEQ19TWVNQQVJBTV9TSVpFLDE2Niw3NCwyMywxMyxFU19BVVRPSFNDUk9MTCB8IFdTX1RBQlNUT1AgfCBXU19ESVNBQkxFRAogICAgQ09OVFJPTCAgICAgICAgICIiLElEQ19TWVNQQVJBTV9TSVpFX1VELFVQRE9XTl9DTEFTUyxVRFNfU0VUQlVERFlJTlQgfCBXU19ESVNBQkxFRCwxODcsNzQsMTUsMTMKICAgIFBVU0hCVVRUT04gICAgICAiJkZvbnQiLElEQ19TWVNQQVJBTV9GT05ULDIwOCw3NCwzNywxMyxXU19ESVNBQkxFRAogICAgR1JPVVBCT1ggICAgICAgICIgUyZoZWxsIEZvbGRlciAiLElEQ19TVEFUSUMsOCwxMTQsMjQ0LDEwMAogICAgQ09OVFJPTCAgICAgICAgICJMaXN0dmlldyIsSURDX0xJU1RfU0ZQQVRIUywiU3lzTGlzdFZpZXczMiIsTFZTX1JFUE9SVCB8IExWU19BVVRPQVJSQU5HRSB8IExWU19BTElHTkxFRlQgfAogICAgICAgICAgICAgICAgICAgICBMVlNfU0lOR0xFU0VMIHwgV1NfQk9SREVSIHwgV1NfVEFCU1RPUCwgMTUsMTI2LDIzMCw2NAogICAgQ09OVFJPTCAgICAgICAgICImTGluayB0bzoiLElEQ19MSU5LX1NGUEFUSCwiQnV0dG9uIixCU19BVVRPQ0hFQ0tCT1h8V1NfVEFCU1RPUHxXU19ESVNBQkxFRCwxNSwxOTUsNTAsMTMKICAgIEVESVRURVhUICAgICAgICAgSURDX0VESVRfU0ZQQVRILDY1LDE5NSwxNDUsMTMsRVNfQVVUT0hTQ1JPTEx8V1NfVEFCU1RPUHxXU19ESVNBQkxFRAogICAgUFVTSEJVVFRPTiAgICAgICJCJnJvd3NlIixJRENfQlJPV1NFX1NGUEFUSCwyMTUsMTk1LDMwLDEzLFdTX0RJU0FCTEVECkVORAoKU1RSSU5HVEFCTEUgRElTQ0FSREFCTEUKQkVHSU4KICAgIElEU19UQUJfQVBQTElDQVRJT05TICAgICJBcHBsaWNhdGlvbnMiCiAgICBJRFNfVEFCX0RMTFMgICAgICAgICAgICAiTGlicmFyaWVzIgogICAgSURTX1RBQl9EUklWRVMgICAgICAgICAgIkRyaXZlcyIKICAgIElEU19DSE9PU0VfUEFUSCAgICAgICAgICJTZWxlY3QgdGhlIHVuaXggdGFyZ2V0IGRpcmVjdG9yeSwgcGxlYXNlLiIKICAgIElEU19ISURFX0FEVkFOQ0VEICAgICAgICJIaWRlICZBZHZhbmNlZCIKICAgIElEU19TSE9XX0FEVkFOQ0VEICAgICAgICJTaG93ICZBZHZhbmNlZCIKICAgIElEU19OT1RIRU1FICAgICAgICAgICAgICIoTm8gVGhlbWUpIgogICAgSURTX1RBQl9HUkFQSElDUyAgICAgICAgIkdyYXBoaWNzIgogICAgSURTX1RBQl9ERVNLVE9QX0lOVEVHUkFUSU9OICJEZXNrdG9wIEludGVncmF0aW9uIgogICAgSURTX1RBQl9BVURJTyAgICAgICAgICAgIkF1ZGlvIgogICAgSURTX1RBQl9BQk9VVCAgICAgICAgICAgIkFib3V0IgogICAgSURTX1dJTkVDRkdfVElUTEUgICAgICAgIldpbmUgY29uZmlndXJhdGlvbiIKICAgIElEU19XSU5FQ0ZHX1RJVExFX0FQUCAgICJXaW5lIGNvbmZpZ3VyYXRpb24gZm9yICVzIgogICAgSURTX1RIRU1FRklMRSAgICAgICAgICAgIlRoZW1lIGZpbGVzIgogICAgSURTX1RIRU1FRklMRV9TRUxFQ1QgICAgIlNlbGVjdCBhIHRoZW1lIGZpbGUiCiAgICBJRFNfQVVESU9fTUlTU0lORyAgICAgICAiVGhlcmUgaXMgbm8gYXVkaW8gZHJpdmVyIGN1cnJlbnRseSBzcGVjaWZpZWQgaW4gdGhlIHJlZ2lzdHJ5LlxuXG5BIHJlY29tbWVuZGVkIGRyaXZlciBoYXMgYmVlbiBzZWxlY3RlZCBmb3IgeW91LlxuWW91IGNhbiB1c2UgdGhpcyBkcml2ZXIgb3Igc2VsZWN0IGFub3RoZXIgZHJpdmVyIGlmIGF2YWlsYWJsZS5cblxuWW91IG11c3QgY2xpY2sgQXBwbHkgZm9yIHRoZSBzZWxlY3Rpb24gdG8gdGFrZSBlZmZlY3QuIgogICAgSURTX1NIRUxMX0ZPTERFUiAgICAgICAgIlNoZWxsIEZvbGRlciIKICAgIElEU19MSU5LU19UTyAgICAgICAgICAgICJMaW5rcyB0byIKRU5ECgpTVFJJTkdUQUJMRSBESVNDQVJEQUJMRQpCRUdJTgogICAgSURTX0RMTF9XQVJOSU5HICAgICAgICAgIkNoYW5naW5nIHRoZSBsb2FkIG9yZGVyIG9mIHRoaXMgbGlicmFyeSBpcyBub3QgcmVjb21tZW5kZWQuXG5BcmUgeW91IHN1cmUgeW91IHdhbnQgdG8gZG8gdGhpcz8iCiAgICBJRFNfRExMX1dBUk5JTkdfQ0FQVElPTiAiV2FybmluZzogc3lzdGVtIGxpYnJhcnkiCiAgICBJRFNfRExMX05BVElWRSAgICAgICAgICAibmF0aXZlIgogICAgSURTX0RMTF9CVUlMVElOICAgICAgICAgImJ1aWx0aW4iCiAgICBJRFNfRExMX05BVElWRV9CVUlMVElOICAibmF0aXZlLCBidWlsdGluIgogICAgSURTX0RMTF9CVUlMVElOX05BVElWRSAgImJ1aWx0aW4sIG5hdGl2ZSIKICAgIElEU19ETExfRElTQUJMRUQgICAgICAgICJkaXNhYmxlZCIKICAgIElEU19ERUZBVUxUX1NFVFRJTkdTICAgICJEZWZhdWx0IFNldHRpbmdzIgogICAgSURTX0VYRUNVVEFCTEVfRklMVEVSICAgIldpbmUgUHJvZ3JhbXMgKCouZXhlLCouZXhlLnNvKVwwKi5leGU7Ki5leGUuc29cMCIKICAgIElEU19VU0VfR0xPQkFMX1NFVFRJTkdTICJVc2UgZ2xvYmFsIHNldHRpbmdzIgogICAgSURTX1NFTEVDVF9FWEVDVVRBQkxFICAgIlNlbGVjdCBhbiBleGVjdXRhYmxlIGZpbGUiCkVORAoKU1RSSU5HVEFCTEUgRElTQ0FSREFCTEUKQkVHSU4KICAgIElEU19TSEFERVJfTU9ERV9IQVJEV0FSRSAgICAiSGFyZHdhcmUiCiAgICBJRFNfU0hBREVSX01PREVfTk9ORSAgICAgICAgIk5vbmUiCkVORAoKU1RSSU5HVEFCTEUgRElTQ0FSREFCTEUKQkVHSU4KICAgIElEU19EUklWRV9VTktOT1dOICAgICAgICAgICAiQXV0b2RldGVjdCIKICAgIElEU19EUklWRV9GSVhFRCAgICAgICAgICAgICAiTG9jYWwgaGFyZCBkaXNrIgogICAgSURTX0RSSVZFX1JFTU9URSAgICAgICAgICAgICJOZXR3b3JrIHNoYXJlIgogICAgSURTX0RSSVZFX1JFTU9WQUJMRSAgICAgICAgICJGbG9wcHkgZGlzayIKICAgIElEU19EUklWRV9DRFJPTSAgICAgICAgICAgICAiQ0QtUk9NIgogICAgSURTX0RSSVZFX0xFVFRFUlNfRVhDRUVERUQgICJZb3UgY2Fubm90IGFkZCBhbnkgbW9yZSBkcml2ZXMuXG5cbkVhY2ggZHJpdmUgbXVzdCBoYXZlIGEgbGV0dGVyLCBmcm9tIEEgdG8gWiwgc28geW91IGNhbm5vdCBoYXZlIG1vcmUgdGhhbiAyNiIKICAgIElEU19TWVNURU1fRFJJVkVfTEFCRUwgICAgICAiU3lzdGVtIGRyaXZlIgogICAgSURTX0NPTkZJUk1fREVMRVRFX0MgICAgICAgICJBcmUgeW91IHN1cmUgeW91IHdhbnQgdG8gZGVsZXRlIGRyaXZlIEM/XG5cbk1vc3QgV2luZG93cyBhcHBsaWNhdGlvbnMgZXhwZWN0IGRyaXZlIEMgdG8gZXhpc3QsIGFuZCB3aWxsIGRpZSBtZXNzaWx5IGlmIGl0IGRvZXNuJ3QuIElmIHlvdSBwcm9jZWVkIHJlbWVtYmVyIHRvIHJlY3JlYXRlIGl0ISIKICAgIElEU19DT0xfRFJJVkVMRVRURVIgICAgICAgICAiTGV0dGVyIgogICAgSURTX0NPTF9EUklWRU1BUFBJTkcgICAgICAgICJEcml2ZSBNYXBwaW5nIgogICAgSURTX05PX0RSSVZFX0MgICAgICAgICAgICAgICJZb3UgZG9uJ3QgaGF2ZSBhIGRyaXZlIEMuIFRoaXMgaXMgbm90IHNvIGdyZWF0LlxuXG5SZW1lbWJlciB0byBjbGljayCRQWRkkiBpbiB0aGUgRHJpdmVzIHRhYiB0byBjcmVhdGUgb25lIVxuIgpFTkQKClNUUklOR1RBQkxFIERJU0NBUkRBQkxFCkJFR0lOCiAgICBJRFNfQUNDRUxfRlVMTCAgICAgICAgICAgICAgIkZ1bGwiCiAgICBJRFNfQUNDRUxfU1RBTkRBUkQgICAgICAgICAgIlN0YW5kYXJkIgogICAgSURTX0FDQ0VMX0JBU0lDICAgICAgICAgICAgICJCYXNpYyIKICAgIElEU19BQ0NFTF9FTVVMQVRJT04gICAgICAgICAiRW11bGF0aW9uIgogICAgSURTX0RSSVZFUl9BTFNBICAgICAgICAgICAgICJBTFNBIERyaXZlciIKICAgIElEU19EUklWRVJfRVNPVU5EICAgICAgICAgICAiRXNvdW5EIERyaXZlciIKICAgIElEU19EUklWRVJfT1NTICAgICAgICAgICAgICAiT1NTIERyaXZlciIKICAgIElEU19EUklWRVJfSkFDSyAgICAgICAgICAgICAiSkFDSyBEcml2ZXIiCiAgICBJRFNfRFJJVkVSX05BUyAgICAgICAgICAgICAgIk5BUyBEcml2ZXIiCiAgICBJRFNfRFJJVkVSX0FVRElPSU8gICAgICAgICAgIkF1ZGlvIElPIChTb2xhcmlzKSBEcml2ZXIiCiAgICBJRFNfRFJJVkVSX0NPUkVBVURJTyAgICAgICAgIkNvcmVBdWRpbyBEcml2ZXIiCiAgICBJRFNfT1BFTl9EUklWRVJfRVJST1IgICAgICAgIkNvdWxkbid0IG9wZW4gJXMhIgogICAgSURTX1NPVU5ERFJJVkVSUyAgICAgICAgICAgICJTb3VuZCBEcml2ZXJzIgogICAgSURTX0RFVklDRVNfV0FWRU9VVCAgICAgICAgICJXYXZlIE91dCBEZXZpY2VzIgogICAgSURTX0RFVklDRVNfV0FWRUlOICAgICAgICAgICJXYXZlIEluIERldmljZXMiCiAgICBJRFNfREVWSUNFU19NSURJT1VUICAgICAgICAgIk1JREkgT3V0IERldmljZXMiCiAgICBJRFNfREVWSUNFU19NSURJSU4gICAgICAgICAgIk1JREkgSW4gRGV2aWNlcyIKICAgIElEU19ERVZJQ0VTX0FVWCAgICAgICAgICAgICAiQXV4IERldmljZXMiCiAgICBJRFNfREVWSUNFU19NSVhFUiAgICAgICAgICAgIk1peGVyIERldmljZXMiCiAgICBJRFNfVU5BVkFJTEFCTEVfRFJJVkVSICAgICAgIkZvdW5kIGRyaXZlciBpbiByZWdpc3RyeSB0aGF0IGlzIG5vdCBhdmFpbGFibGUhXG5cblJlbW92ZSCTJXOUIGZyb20gcmVnaXN0cnk/IgogICAgSURTX1dBUk5JTkcgICAgICAgICAgICAgICAgICJXYXJuaW5nIgpFTkQKClNUUklOR1RBQkxFIERJU0NBUkRBQkxFCkJFR0lOCiAgICBJRENfU1lTUEFSQU1TX0JVVFRPTiAgICAgICAgICAgICJDb250cm9scyBCYWNrZ3JvdW5kIgogICAgSURDX1NZU1BBUkFNU19CVVRUT05fVEVYVCAgICAgICAiQ29udHJvbHMgVGV4dCIKICAgIElEQ19TWVNQQVJBTVNfREVTS1RPUCAgICAgICAgICAgIkRlc2t0b3AiCiAgICBJRENfU1lTUEFSQU1TX01FTlUgICAgICAgICAgICAgICJNZW51IEJhY2tncm91bmQiCiAgICBJRENfU1lTUEFSQU1TX01FTlVfVEVYVCAgICAgICAgICJNZW51IFRleHQiCiAgICBJRENfU1lTUEFSQU1TX1NDUk9MTEJBUiAgICAgICAgICJTY3JvbGxiYXIiCiAgICBJRENfU1lTUEFSQU1TX1NFTEVDVElPTiAgICAgICAgICJTZWxlY3Rpb24gQmFja2dyb3VuZCIKICAgIElEQ19TWVNQQVJBTVNfU0VMRUNUSU9OX1RFWFQgICAgIlNlbGVjdGlvbiBUZXh0IgogICAgSURDX1NZU1BBUkFNU19UT09MVElQICAgICAgICAgICAiVG9vbFRpcCBCYWNrZ3JvdW5kIgogICAgSURDX1NZU1BBUkFNU19UT09MVElQX1RFWFQgICAgICAiVG9vbFRpcCBUZXh0IgogICAgSURDX1NZU1BBUkFNU19XSU5ET1cgICAgICAgICAgICAiV2luZG93IEJhY2tncm91bmQiCiAgICBJRENfU1lTUEFSQU1TX1dJTkRPV19URVhUICAgICAgICJXaW5kb3cgVGV4dCIKICAgIElEQ19TWVNQQVJBTVNfQUNUSVZFX1RJVExFICAgICAgIkFjdGl2ZSBUaXRsZSBCYXIiCiAgICBJRENfU1lTUEFSQU1TX0FDVElWRV9USVRMRV9URVhUICJBY3RpdmUgVGl0bGUgVGV4dCIKICAgIElEQ19TWVNQQVJBTVNfSU5BQ1RJVkVfVElUTEUgICAgIkluYWN0aXZlIFRpdGxlIEJhciIKICAgIElEQ19TWVNQQVJBTVNfSU5BQ1RJVkVfVElUTEVfVEVYVCAiSW5hY3RpdmUgVGl0bGUgVGV4dCIKICAgIElEQ19TWVNQQVJBTVNfTVNHQk9YX1RFWFQgICAgICAgIk1lc3NhZ2UgQm94IFRleHQiCiAgICBJRENfU1lTUEFSQU1TX0FQUFdPUktTUEFDRSAgICAgICJBcHBsaWNhdGlvbiBXb3Jrc3BhY2UiCiAgICBJRENfU1lTUEFSQU1TX1dJTkRPV19GUkFNRSAgICAgICJXaW5kb3cgRnJhbWUiCiAgICBJRENfU1lTUEFSQU1TX0FDVElWRV9CT1JERVIgICAgICJBY3RpdmUgQm9yZGVyIgogICAgSURDX1NZU1BBUkFNU19JTkFDVElWRV9CT1JERVIgICAiSW5hY3RpdmUgQm9yZGVyIgogICAgSURDX1NZU1BBUkFNU19CVVRUT05fU0hBRE9XICAgICAiQ29udHJvbHMgU2hhZG93IgogICAgSURDX1NZU1BBUkFNU19HUkFZX1RFWFQgICAgICAgICAiR3JheSBUZXh0IgogICAgSURDX1NZU1BBUkFNU19CVVRUT05fSElMSUdIVCAgICAiQ29udHJvbHMgSGlnaGxpZ2h0IgogICAgSURDX1NZU1BBUkFNU19CVVRUT05fREFSS19TSEFET1cgIkNvbnRyb2xzIERhcmsgU2hhZG93IgogICAgSURDX1NZU1BBUkFNU19CVVRUT05fTElHSFQgICAgICAiQ29udHJvbHMgTGlnaHQiCiAgICBJRENfU1lTUEFSQU1TX0JVVFRPTl9BTFRFUk5BVEUgICJDb250cm9scyBBbHRlcm5hdGUgQmFja2dyb3VuZCIKICAgIElEQ19TWVNQQVJBTVNfSE9UX1RSQUNLSU5HICAgICAgIkhvdCBUcmFja2VkIEl0ZW0iCiAgICBJRENfU1lTUEFSQU1TX0FDVElWRV9USVRMRV9HUkFESUVOVCAiQWN0aXZlIFRpdGxlIEJhciBHcmFkaWVudCIKICAgIElEQ19TWVNQQVJBTVNfSU5BQ1RJVkVfVElUTEVfR1JBRElFTlQgIkluYWN0aXZlIFRpdGxlIEJhciBHcmFkaWVudCIKICAgIElEQ19TWVNQQVJBTVNfTUVOVV9ISUxJR0hUICAgICAgIk1lbnUgSGlnaGxpZ2h0IgogICAgSURDX1NZU1BBUkFNU19NRU5VQkFSICAgICAgICAgICAiTWVudSBCYXIiCkVORAo=