LyoKICogQ29weXJpZ2h0IDIwMDYtMjAwNyBieSBKb25hdGhhbiBFcm5zdAogKgogKiBUaGlzIGxpYnJhcnkgaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yCiAqIG1vZGlmeSBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBMZXNzZXIgR2VuZXJhbCBQdWJsaWMKICogTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyCiAqIHZlcnNpb24gMi4xIG9mIHRoZSBMaWNlbnNlLCBvciAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgogKgogKiBUaGlzIGxpYnJhcnkgaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKICogYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKICogTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZSBHTlUKICogTGVzc2VyIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KICoKICogWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIExlc3NlciBHZW5lcmFsIFB1YmxpYwogKiBMaWNlbnNlIGFsb25nIHdpdGggdGhpcyBsaWJyYXJ5OyBpZiBub3QsIHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3YXJlCiAqIEZvdW5kYXRpb24sIEluYy4sIDUxIEZyYW5rbGluIFN0LCBGaWZ0aCBGbG9vciwgQm9zdG9uLCBNQSAwMjExMC0xMzAxLCBVU0EKICovCgpMQU5HVUFHRSBMQU5HX0ZSRU5DSCwgU1VCTEFOR19ORVVUUkFMCgpJRE1fTUFJTk1FTlUgTUVOVSBESVNDQVJEQUJMRQpCRUdJTgogICAgUE9QVVAgIiZGaWNoaWVyIgogICAgQkVHSU4KICAgICAgICBNRU5VSVRFTSAiJk5vdXZlYXUuLi5cdEN0cmwrTiIsICAgICAgICBJRF9GSUxFX05FVwogICAgICAgIE1FTlVJVEVNICImT3V2cmlyLi4uXHRDdHJsK08iLCAgICAgIElEX0ZJTEVfT1BFTgogICAgICAgIE1FTlVJVEVNICImRW5yZWdpc3RyZXJcdEN0cmwrUyIsICAgIElEX0ZJTEVfU0FWRQogICAgICAgIE1FTlVJVEVNICJFbnJlZ2lzdHJlciAmc291cy4uLiIsICAgIElEX0ZJTEVfU0FWRUFTCiAgICAgICAgTUVOVUlURU0gU0VQQVJBVE9SCiAgICAgICAgTUVOVUlURU0gIiZJbXByaW1lci4uLlx0Q3RybCtQIiwgICAgSURfUFJJTlQKICAgICAgICBNRU5VSVRFTSAiQSZwZXLndSBhdmFudCBpbXByZXNzaW9uLi4uIiwgICAgSURfUFJFVklFVwogICAgICAgIE1FTlVJVEVNICImTWlzZSBlbiBwYWdlLi4uIiwgICAgICAgIElEX1BSSU5UU0VUVVAKICAgICAgICBNRU5VSVRFTSBTRVBBUkFUT1IKICAgICAgICBNRU5VSVRFTSAiJlF1aXR0ZXIiLCAgICAgICAgSURfRklMRV9FWElUCiAgICBFTkQKICAgIFBPUFVQICLJJmRpdGlvbiIKICAgIEJFR0lOCiAgICAgICAgTUVOVUlURU0gIiZBbm51bGVyXHRDdHJsK1oiLCAgICAgICAgICAgICAgICBJRF9FRElUX1VORE8KICAgICAgICBNRU5VSVRFTSAiJlLpdGFibGlyXHRDdHJsK1kiLCAgICAgICAgICAgICAgICBJRF9FRElUX1JFRE8KICAgICAgICBNRU5VSVRFTSBTRVBBUkFUT1IKICAgICAgICBNRU5VSVRFTSAiJkNvdXBlclx0Q3RybCtYIiwgICAgICAgICAgICAgICAgIElEX0VESVRfQ1VUCiAgICAgICAgTUVOVUlURU0gIkNvJnBpZXJcdEN0cmwrQyIsICAgICAgICAgICAgICAgICBJRF9FRElUX0NPUFkKICAgICAgICBNRU5VSVRFTSAiQyZvbGxlclx0Q3RybCtWIiwgICAgICAgICAgICAgICAgIElEX0VESVRfUEFTVEUKICAgICAgICBNRU5VSVRFTSAiJkVmZmFjZXJcdERlbCIsICAgICAgICAgICAgICAgICAgIElEX0VESVRfQ0xFQVIKICAgICAgICBNRU5VSVRFTSAiJlPpbGVjdGlvbm5lciB0b3V0XHRDdHJsK0EiLCAgICAgIElEX0VESVRfU0VMRUNUQUxMCiAgICAgICAgTUVOVUlURU0gU0VQQVJBVE9SCiAgICAgICAgTUVOVUlURU0gIiZSZWNoZXJjaGVyLi4uXHRDcnRsK0YiLCAgICAgICAgICAgICBJRF9GSU5ECiAgICAgICAgTUVOVUlURU0gIlJlY2hlcmNoZXIgbGUgJnN1aXZhbnRcdEYzIiwgICAgICAgICAgICAgICAgICBJRF9GSU5EX05FWFQKICAgICAgICBNRU5VSVRFTSAiJlJlbXBsYWNlci4uLlx0Q3RybCtIIiwgICAgICAgICAgSURfUkVQTEFDRQogICAgICAgIE1FTlVJVEVNIFNFUEFSQVRPUgogICAgICAgIE1FTlVJVEVNICJMZWN0dXJlLSZzZXVsZSIsICAgICAgICAgICAgICAgICAgSURfRURJVF9SRUFET05MWQogICAgICAgIE1FTlVJVEVNICImTW9kaWZp6SIsICAgICAgICAgICAgICAgICAgICAgICAgSURfRURJVF9NT0RJRklFRAogICAgICAgIE1FTlVJVEVNIFNFUEFSQVRPUgogICAgICAgIFBPUFVQICImQXZhbmPpcyIKICAgICAgICBCRUdJTgogICAgICAgICAgICBNRU5VSVRFTSAiJkluZm9ybWF0aW9uIHPpbGVjdGlvbiIsICAgICAgSURfRURJVF9TRUxFQ1RJT05JTkZPCiAgICAgICAgICAgIE1FTlVJVEVNICImRm9ybWF0IGNhcmFjdOhyZXMiLCAgICAgICAgICBJRF9FRElUX0NIQVJGT1JNQVQKICAgICAgICAgICAgTUVOVUlURU0gIiZE6WYuIGZvcm1hdCBjYXIuIiwgICAgICAgICAgIElEX0VESVRfREVGQ0hBUkZPUk1BVAogICAgICAgICAgICBNRU5VSVRFTSAiRm9ybWF0IHBhcmFncmFwJmhlIiwgICAgICAgICAgSURfRURJVF9QQVJBRk9STUFUCiAgICAgICAgICAgIE1FTlVJVEVNICImUmVjZXZvaXIgdGV4dGUiLCAgICAgICAgICAgICBJRF9FRElUX0dFVFRFWFQKICAgICAgICBFTkQKICAgIEVORAogICAgUE9QVVAgIiZBZmZpY2hhZ2UiCiAgICBCRUdJTgogICAgICAgIE1FTlVJVEVNICImQmFycmUgZCdvdXRpbHMiLCAgICAgICAgSURfVE9HR0xFX1RPT0xCQVIKICAgICAgICBNRU5VSVRFTSAiJkJhcnJlIGRlIGZvcm1hdCIsICAgICAgSURfVE9HR0xFX0ZPUk1BVEJBUgogICAgICAgIE1FTlVJVEVNICImUuhnbGUiLCAgICAgICAgICAgICBJRF9UT0dHTEVfUlVMRVIKICAgICAgICBNRU5VSVRFTSAiJkJhcnJlIGQn6XRhdCIsICAgICAgSURfVE9HR0xFX1NUQVRVU0JBUgogICAgICAgIE1FTlVJVEVNIFNFUEFSQVRPUgogICAgICAgIE1FTlVJVEVNICImT3B0aW9ucy4uLiIsICBJRF9WSUVXUFJPUEVSVElFUwogICAgRU5ECiAgICBQT1BVUCAiJkluc2VydGlvbiIKICAgIEJFR0lOCiAgICAgICAgTUVOVUlURU0gIiZEYXRlIGV0IGhldXJlLi4uIiwgIElEX0RBVEVUSU1FCiAgICBFTkQKICAgIFBPUFVQICJGb3JtYSZ0IgogICAgQkVHSU4KICAgICAgICBNRU5VSVRFTSAiJlBvbGljZS4uLiIsICAgICAgICAgICAgICAgICAgSURfRk9OVFNFVFRJTkdTCiAgICAgICAgTUVOVUlURU0gIiZQdWNlcyIgICAgICAgICAgICAgICAgSURfQlVMTEVUCiAgICAgICAgTUVOVUlURU0gIiZQYXJhZ3JhcGhlLi4uIiAgICAgICAgICAgICAgSURfUEFSQUZPUk1BVAogICAgICAgIE1FTlVJVEVNICImVGFidWxhdGlvbnMuLi4iICAgICAgICAgICAgICAgICAgIElEX1RBQlNUT1BTCiAgICAgICAgUE9QVVAgIiZGb25kIgogICAgICAgIEJFR0lOCiAgICAgICAgICAgIE1FTlVJVEVNICImU3lzdOhtZVx0Q3RybCsxIiwgICAgICAgICBJRF9CQUNLXzEKICAgICAgICAgICAgTUVOVUlURU0gIiZKYXVuYXNzZVx0Q3RybCsyIiwgICAgICAgICAgIElEX0JBQ0tfMgogICAgICAgIEVORAogICAgRU5ECiAgICBQT1BVUCAiQWlkJmUiCiAgICBCRUdJTgogICAgICAgIE1FTlVJVEVNICLAICZwcm9wb3MgZHUgV29yZHBhZCBkZSBXaW5lIiAgICAgICBJRF9BQk9VVAogICAgRU5ECkVORAoKSURNX1BPUFVQIE1FTlUgRElTQ0FSREFCTEUKQkVHSU4KICAgIFBPUFVQICIiCiAgICBCRUdJTgogICAgICAgIE1FTlVJVEVNICImQ291cGVyIiwgICAgICAgICAgICAgSURfRURJVF9DVVQKICAgICAgICBNRU5VSVRFTSAiQ28mcGllciIsICAgICAgICAgICAgIElEX0VESVRfQ09QWQogICAgICAgIE1FTlVJVEVNICJDJm9sbGVyIiwgICAgICAgICAgICAgSURfRURJVF9QQVNURQogICAgICAgIE1FTlVJVEVNIFNFUEFSQVRPUgogICAgICAgIE1FTlVJVEVNICImUHVjZXMiICAgICAgIElEX0JVTExFVAogICAgICAgIE1FTlVJVEVNICImUGFyYWdyYXBoZSIgICAgIElEX1BBUkFGT1JNQVQKICAgIEVORApFTkQKCklERF9EQVRFVElNRSBESUFMT0cgRElTQ0FSREFCTEUgMzAsIDIwLCAxMzAsIDgwClNUWUxFIERTX01PREFMRlJBTUUgfCBXU19DQVBUSU9OIHwgV1NfU1lTTUVOVQpDQVBUSU9OICJEYXRlIGV0IGhldXJlIgpGT05UIDEwLCAiTVMgU2FucyBTZXJpZiIKQkVHSU4KICAgIExURVhUICAgICAgICAiRm9ybWF0cyBkaXNwb25pYmxlcyIsMCwzLDIsMTAwLDE1CiAgICBMSVNUQk9YICAgICAgSURDX0RBVEVUSU1FLDMsMTIsODAsNjUsTEJTX05PSU5URUdSQUxIRUlHSFQgfCBMQlNfTk9USUZZCiAgICBQVVNIQlVUVE9OICAgIiZPSyIsSURPSyw4NywxMiw0MCwxMgogICAgUFVTSEJVVFRPTiAgICImQW5udWxlciIsSURDQU5DRUwsODcsMjYsNDAsMTIKRU5ECgpJRERfTkVXRklMRSBESUFMT0cgRElTQ0FSREFCTEUgMzAsIDIwLCAxNDAsIDgwClNUWUxFIERTX01PREFMRlJBTUUgfCBXU19DQVBUSU9OIHwgV1NfU1lTTUVOVQpDQVBUSU9OICJOb3V2ZWF1IgpGT05UIDEwLCAiTVMgU2FucyBTZXJpZiIKQkVHSU4KICAgIExURVhUICAgICAgICAiTm91dmVhdSB0eXBlIGRlIGRvY3VtZW50IiwwLDMsMiwxMDAsMTUKICAgIExJU1RCT1ggICAgICBJRENfTkVXRklMRSwzLDEyLDkwLDY1LExCU19OT0lOVEVHUkFMSEVJR0hUCiAgICBQVVNIQlVUVE9OICAgIiZPSyIsSURPSyw5NywxMiw0MCwxMgogICAgUFVTSEJVVFRPTiAgICImQW5udWxlciIsSURDQU5DRUwsOTcsMjYsNDAsMTIKRU5ECgpJRERfUEFSQUZPUk1BVCBESUFMT0cgRElTQ0FSREFCTEUgMzAsIDIwLCAyMDAsIDExMApTVFlMRSBEU19NT0RBTEZSQU1FIHwgV1NfQ0FQVElPTiB8IFdTX1NZU01FTlUKQ2FwdGlvbiAiRm9ybWF0IGRlIHBhcmFncmFwaGUiCkZPTlQgOCwgIk1TIFNoZWxsIERsZyIKQkVHSU4KICAgIEdST1VQQk9YICJJbmRlbnRhdGlvbiIsIDAsIDEwLCAxMCwgMTIwLCA2OAogICAgTFRFWFQgIkdhdWNoZSIsIDAsIDE1LCAyMiwgNDAsIDEzCiAgICBFRElUVEVYVCBJRENfUEFSQV9MRUZULCA1NSwgMjAsIDYwLCAxMwogICAgTFRFWFQgIkRyb2l0ZSIsIDAsIDE1LCA0MCwgNDAsIDEzCiAgICBFRElUVEVYVCBJRENfUEFSQV9SSUdIVCwgNTUsIDM4LCA2MCwgMTMKICAgIExURVhUICJQcmVtaehyZSBsaWduZSIsIDAsIDE1LCA1OCwgNDAsIDE4CiAgICBFRElUVEVYVCBJRENfUEFSQV9GSVJTVCwgNTUsIDU2LCA2MCwgMTMKICAgIExURVhUICJBbGlnbmVtZW50IiwgMCwgMTUsIDg3LCA0MCwgMTMKICAgIENPTUJPQk9YIElEQ19QQVJBX0FMSUdOLCA1NSwgODUsIDYwLCA2MCwgQ0JTX0RST1BET1dOTElTVAogICAgUFVTSEJVVFRPTiAiJk9LIiwgSURPSywgMTM3LCAxNSwgNTAsIDE1CiAgICBQVVNIQlVUVE9OICImQW5udWxlciIsIElEQ0FOQ0VMLCAxMzcsIDMzLCA1MCwgMTUKRU5ECgpJRERfVEFCU1RPUFMgRElBTE9HIERJU0NBUkRBQkxFIDMwLCAyMCwgMjAwLCAxMTAKU1RZTEUgRFNfTU9EQUxGUkFNRSB8IFdTX0NBUFRJT04gfCBXU19TWVNNRU5VCkNhcHRpb24gIlRhYnVsYXRpb25zIgpGT05UIDgsICJNUyBTSGVsbCBETGciCkJFR0lOCiAgICBHUk9VUEJPWCAiQXJy6nRzIGRlIHRhYnVsYXRpb24iLCAwLCAxMCwgMTAsIDEyMCwgOTAKICAgIENPTUJPQk9YIElEQ19UQUJTVE9QUywgMjAsIDIwLCAxMDAsIDYwLCBDQlNfU0lNUExFIHwgQ0JTX1NPUlQKICAgIERFRlBVU0hCVVRUT04gIiZBam91dGVyIiwgSURfVEFCX0FERCwgMjAsIDgwLCA0NSwgMTUKICAgIFBVU0hCVVRUT04gIiZTdXBwcmltZXIiLCBJRF9UQUJfREVMLCA3MiwgODAsIDQ1LCAxNQogICAgUFVTSEJVVFRPTiAiJk9LIiwgSURPSywgMTM3LCAxNSwgNTAsIDE1CiAgICBQVVNIQlVUVE9OICImQW5udWxlciIsIElEQ0FOQ0VMLCAxMzcsIDMzLCA1MCwgMTUKICAgIFBVU0hCVVRUT04gIlN1cHByaW1lciAmdG91cyIsIElEX1RBQl9FTVBUWSwgMTM3LCA1MSwgNTAsIDE1CkVORAoKSUREX0ZPUk1BVE9QVFMgRElBTE9HIERJU0NBUkRBQkxFIDAsIDAsIDI4MCwgMTEwClNUWUxFIERTX1NZU01PREFMCkNhcHRpb24gIiIKRk9OVCA4LCAiTVMgU2hlbGwgRGxnIgpCRUdJTgogICAgR1JPVVBCT1ggIkVudmVsb3BwZW1lbnQgZGUgbGlnbmUiLCAwLCAxMCwgMTAsIDE3MCwgODUKICAgIFJBRElPQlVUVE9OICJObyBsaW5lIHdyYXBwaW5nIiwgSURDX1BBR0VGTVRfV04sIDE4LCAyNSwgMTQ1LCAxNQogICAgUkFESU9CVVRUT04gIkVudmVsb3BwZSBsZSB0ZXh0ZSDgIHBhcnRpciBkZSBsYSBib3JkdXJlIGRlIGZlbup0cmUiLCBJRENfUEFHRUZNVF9XVywgMTgsIDQ1LCAxNDUsIDE1CiAgICBSQURJT0JVVFRPTiAiRW52ZWxvcHBlIGxlIHRleHRlIOAgcGFydGlyIGRlIGxhICZtYXJnZSIsIElEQ19QQUdFRk1UX1dNLCAxOCwgNjUsIDE0NSwgMTUKICAgIEdST1VQQk9YICJCYXJyZXMgZCdvdXRpbHMiLCAwLCAxNzAsIDEwLCAxMjAsIDg1CiAgICBDSEVDS0JPWCAiJkJhcnJlIGQnb3V0aWxzIiwgSURDX1BBR0VGTVRfVEIsIDE4MCwgMjAsIDgwLCAxNQogICAgQ0hFQ0tCT1ggIkJhcnJlIGRlICZmb3JtYXQiLCBJRENfUEFHRUZNVF9GQiwgMTgwLCAzOCwgODAsIDE1CiAgICBDSEVDS0JPWCAiJlLoZ2xlIiwgSURDX1BBR0VGTVRfUlUsIDE4MCwgNTYsIDgwLCAxNQogICAgQ0hFQ0tCT1ggIkJhcnJlIGRlICZzdGF0dXQiLCBJRENfUEFHRUZNVF9TQiwgMTgwLCA3NCwgODAsIDE1CiAgICBMVEVYVCAiIiwgSURDX1BBR0VGTVRfSUQsIDAsMCwwLDAKRU5ECgpTVFJJTkdUQUJMRSBESVNDQVJEQUJMRQpCRUdJTgogICAgU1RSSU5HX1JJQ0hURVhUX0ZJTEVTX1JURiwgICAgICJEb2N1bWVudHMgdGV4dGUgcmljaGUgKCoucnRmKSIKICAgIFNUUklOR19URVhUX0ZJTEVTX1RYVCwgICAgICAgICAiRG9jdW1lbnRzIHRleHRlICgqLnR4dCkiCiAgICBTVFJJTkdfVEVYVF9GSUxFU19VTklDT0RFX1RYVCwgIkRvY3VtZW50cyB0ZXh0ZSB1bmljb2RlICgqLnR4dCkiCiAgICBTVFJJTkdfQUxMX0ZJTEVTLCAgICAgICAgICAgICAgIlRvdXMgbGVzIGRvY3VtZW50cyAoKi4qKSIKRU5ECgpTVFJJTkdUQUJMRSBESVNDQVJEQUJMRQpCRUdJTgogICAgU1RSSU5HX0FMSUdOX0xFRlQsICAgICAgICAgICAgIkdhdWNoZSIKICAgIFNUUklOR19BTElHTl9SSUdIVCwgICAgICAgICAgICJEcm9pdGUiCiAgICBTVFJJTkdfQUxJR05fQ0VOVEVSLCAgICAgICAgICAiQ2VudHJlciIKRU5ECgpTVFJJTkdUQUJMRSBESVNDQVJEQUJMRQpCRUdJTgogICAgU1RSSU5HX05FV0ZJTEVfUklDSFRFWFQsICAgICAiRG9jdW1lbnQgdGV4dGUgcmljaGUiCiAgICBTVFJJTkdfTkVXRklMRV9UWFQsICAgICAgICAgICJEb2N1bWVudCB0ZXh0ZSIKICAgIFNUUklOR19ORVdGSUxFX1RYVF9VTklDT0RFLCAgIkRvY3VtZW50IHRleHRlIHVuaWNvZGUiCkVORAoKU1RSSU5HVEFCTEUgRElTQ0FSREFCTEUKQkVHSU4KICAgIFNUUklOR19QUklOVEVSX0ZJTEVTX1BSTiwgICAgICAgICJGaWNoaWVycyBkJ2ltcHJlc3Npb24gKCouUFJOKSIKRU5ECgpTVFJJTkdUQUJMRSBESVNDQVJEQUJMRQpCRUdJTgogICAgU1RSSU5HX1ZJRVdQUk9QU19USVRMRSwgICAgICAgICAgIk9wdGlvbnMiCiAgICBTVFJJTkdfVklFV1BST1BTX1RFWFQsICAgICAgICAgICAiVGV4dGUiCiAgICBTVFJJTkdfVklFV1BST1BTX1JJQ0hURVhULCAgICAgICAiVGV4dGUgcmljaGUiCkVORAoKU1RSSU5HVEFCTEUgRElTQ0FSREFCTEUKQkVHSU4KICAgIFNUUklOR19QUkVWSUVXX1BSSU5ULCAgICAgICAgICAgICJJbXByaW1lciIKICAgIFNUUklOR19QUkVWSUVXX05FWFRQQUdFLCAgICAgICAgICJQYWdlIHN1aXZhbnRlIgogICAgU1RSSU5HX1BSRVZJRVdfUFJFVlBBR0UsICAgICAgICAgIlBhZ2UgcHLpY+lkZW50ZSIKICAgIFNUUklOR19QUkVWSUVXX1RXT1BBR0VTLCAgICAgICAgICJEZXV4IHBhZ2VzIgogICAgU1RSSU5HX1BSRVZJRVdfT05FUEFHRSwgICAgICAgICAgIlVuZSBwYWdlIgogICAgU1RSSU5HX1BSRVZJRVdfQ0xPU0UsICAgICAgICAgICAgIkZlcm1lciIKRU5ECgpTVFJJTkdUQUJMRSBESVNDQVJEQUJMRQpCRUdJTgogICAgU1RSSU5HX1VOSVRTX0NNLCAgICAgICAgICAgICAiY20iCkVORAoKU1RSSU5HVEFCTEUgRElTQ0FSREFCTEUKQkVHSU4KICAgIFNUUklOR19ERUZBVUxUX0ZJTEVOQU1FLCAgICAgIkRvY3VtZW50IgogICAgU1RSSU5HX1BST01QVF9TQVZFX0NIQU5HRVMsICAiRW5yZWdpc3RyZXIgbGVzIG1vZGlmaWNhdGlvbnMgZGUgq6Alc6C7oD8iCiAgICBTVFJJTkdfU0VBUkNIX0ZJTklTSEVELCAgICAgICJSZWNoZXJjaGUgdGVybWlu6WUgZGFucyBsZSBkb2N1bWVudC4iCiAgICBTVFJJTkdfTE9BRF9SSUNIRURfRkFJTEVELCAgICJJbXBvc3NpYmxlIGRlIGNoYXJnZXIgbGEgYmlibGlvdGjocXVlIFJpY2hFZGl0LiIKICAgIFNUUklOR19TQVZFX0xPU0VGT1JNQVRUSU5HLCAgIlZvdXMgYXZleiBjaG9pc2kgZCdlbnJlZ2lzdHJlciBlbiB0ZXh0ZSBzaW1wbGUsICIgXAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiY2UgcXVpIGNhdXNlcmEgbGEgcGVydGUgZGUgdG91dCBmb3JtYXR0YWdlLiAiIFwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIlZvdWxlei12b3VzIHZyYWltZW50IGNvbnRpbnVlcqA/IgogICAgU1RSSU5HX0lOVkFMSURfTlVNQkVSLCAgICAgICAiRm9ybWF0IGRlIG5vbWJyZSBpbnZhbGlkZSIKICAgIFNUUklOR19PTEVfU1RPUkFHRV9OT1RfU1VQUE9SVEVELCAiTGVzIGRvY3VtZW50cyBjb250ZW5ldXIgT0xFIG5lIHNvbnQgcGFzIHN1cHBvcnTpcyIKRU5ECg==