LyoKICogQ29weXJpZ2h0IDE5OTYgRHVuY2FuIEMgVGhvbXNvbgogKiBDb3B5cmlnaHQgMjAwNiBBbnRvbmlvIENvZGF6emkKICoKICogVGhpcyBsaWJyYXJ5IGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vcgogKiBtb2RpZnkgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgTGVzc2VyIEdlbmVyYWwgUHVibGljCiAqIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlcgogKiB2ZXJzaW9uIDIuMSBvZiB0aGUgTGljZW5zZSwgb3IgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KICoKICogVGhpcyBsaWJyYXJ5IGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCiAqIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCiAqIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUgR05VCiAqIExlc3NlciBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCiAqCiAqIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBMZXNzZXIgR2VuZXJhbCBQdWJsaWMKICogTGljZW5zZSBhbG9uZyB3aXRoIHRoaXMgbGlicmFyeTsgaWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZQogKiBGb3VuZGF0aW9uLCBJbmMuLCA1MSBGcmFua2xpbiBTdCwgRmlmdGggRmxvb3IsIEJvc3RvbiwgTUEgMDIxMTAtMTMwMSwgVVNBCiAqLwoKI2luY2x1ZGUgImNkbGcuaCIKI2luY2x1ZGUgImZpbGVkbGdicm93c2VyLmgiCgovKgogKiBXQVJOSU5HOiBETyBOT1QgQ0hBTkdFIFRIRSBTSVpFIE9GIFRIRSBTVEFOREFSRCBESUFMT0cgVEVNUExBVEVTLgogKi8KCkxBTkdVQUdFIExBTkdfRVNQRVJBTlRPLCBTVUJMQU5HX0RFRkFVTFQKCk9QRU5fRklMRSBESUFMT0cgMzYsIDI0LCAyNzUsIDEzNApTVFlMRSBEU19NT0RBTEZSQU1FIHwgV1NfUE9QVVAgfCBXU19DQVBUSU9OIHwgV1NfU1lTTUVOVQpDQVBUSU9OICJNYWxmZXJtdSIKRk9OVCA4LCAiTVMgU2hlbGwgRGxnIgp7CiBMVEVYVCAiRG9zaWVyJm5vbW86IiwgMTA5MCwgNiwgNiwgNzYsIDkKIEVESVRURVhUIDExNTIsIDYsIDE2LCA5MCwgMTIsIEVTX0FVVE9IU0NST0xMIHwgRVNfT0VNQ09OVkVSVCB8IFdTX0JPUkRFUiB8IFdTX1RBQlNUT1AKIExJU1RCT1ggMTEyMCwgNiwgMzIsIDkwLCA2OCwgTEJTX1NUQU5EQVJEIHwgTEJTX09XTkVSRFJBV0ZJWEVEIHwgTEJTX0hBU1NUUklOR1MgfCBMQlNfRElTQUJMRU5PU0NST0xMIHwgV1NfVEFCU1RPUAogTFRFWFQgIiZWb2pvOiIsIC0xLCAxMTAsIDYsIDkyLCA5CiBMVEVYVCAiIiwgMTA4OCwgMTEwLCAxOCwgOTIsIDksIFNTX05PUFJFRklYIHwgV1NfR1JPVVAKIExJU1RCT1ggMTEyMSwgMTEwLCAzMiwgOTIsIDY4LCBMQlNfU1RBTkRBUkQgfCBMQlNfT1dORVJEUkFXRklYRUQgfCBMQlNfSEFTU1RSSU5HUyB8IExCU19ESVNBQkxFTk9TQ1JPTEwgfCBXU19UQUJTVE9QCiBMVEVYVCAiRG9zaWVyJnNwZWNvOiIsIDEwODksIDYsIDEwNCwgOTAsIDkKIENPTUJPQk9YIDExMzYsIDYsIDExNCwgOTAsIDM2LCBDQlNfRFJPUERPV05MSVNUIHwgQ0JTX0FVVE9IU0NST0xMIHwgV1NfQk9SREVSIHwgV1NfVlNDUk9MTCB8IFdTX1RBQlNUT1AKIExURVhUICImRHJhanZvOiIsIDEwOTEsIDExMCwgMTA0LCA5MiwgOQogQ09NQk9CT1ggMTEzNywgMTEwLCAxMTQsIDkyLCA2OCwgQ0JTX0RST1BET1dOTElTVCB8IENCU19PV05FUkRSQVdGSVhFRCB8IENCU19BVVRPSFNDUk9MTCB8IENCU19TT1JUIHwgQ0JTX0hBU1NUUklOR1MgfCBXU19CT1JERVIgfCBXU19WU0NST0xMIHwgV1NfVEFCU1RPUAogREVGUFVTSEJVVFRPTiAiTWFsZmVybXUiLCBJRE9LLCAyMDgsIDYsIDU2LCAxNCwgQlNfREVGUFVTSEJVVFRPTiB8IFdTX0dST1VQIHwgV1NfVEFCU1RPUAogUFVTSEJVVFRPTiAiTnVsaWdpIiwgSURDQU5DRUwsIDIwOCwgMjQsIDU2LCAxNCwgV1NfR1JPVVAgfCBXU19UQUJTVE9QCiBQVVNIQlVUVE9OICImSGVscG8iLCAxMDM4LCAyMDgsIDQ2LCA1NiwgMTQsIFdTX0dST1VQIHwgV1NfVEFCU1RPUAogQ0hFQ0tCT1ggIk51ciAmbGVnZWJsYSIsIDEwNDAsIDIwOCwgNjgsIDUwLCAxMiwgQlNfQVVUT0NIRUNLQk9YIHwgV1NfR1JPVVAgfCBXU19UQUJTVE9QCn0KCgpTQVZFX0ZJTEUgRElBTE9HIDM2LCAyNCwgMjc1LCAxMzQKU1RZTEUgRFNfTU9EQUxGUkFNRSB8IFdTX1BPUFVQIHwgV1NfQ0FQVElPTiB8IFdTX1NZU01FTlUKQ0FQVElPTiAiS29uc2VydnUga2llbC4uLiIKRk9OVCA4LCAiTVMgU2hlbGwgRGxnIgp7CiBMVEVYVCAiRG9zaWVyJm5vbW86IiwgMTA5MCwgNiwgNiwgNzYsIDkKIEVESVRURVhUIDExNTIsIDYsIDE2LCA5MCwgMTIsIEVTX0FVVE9IU0NST0xMIHwgRVNfT0VNQ09OVkVSVCB8IFdTX0JPUkRFUiB8IFdTX1RBQlNUT1AKIExJU1RCT1ggMTEyMCwgNiwgMzIsIDkwLCA2OCwgTEJTX1NUQU5EQVJEIHwgTEJTX09XTkVSRFJBV0ZJWEVEIHwgTEJTX0hBU1NUUklOR1MgfCBMQlNfRElTQUJMRU5PU0NST0xMIHwgV1NfVEFCU1RPUAogTFRFWFQgIiZWb2pvOiIsIC0xLCAxMTAsIDYsIDkyLCA5CiBMVEVYVCAiIiwgMTA4OCwgMTEwLCAxOCwgOTIsIDksIFNTX05PUFJFRklYIHwgV1NfR1JPVVAKIExJU1RCT1ggMTEyMSwgMTEwLCAzMiwgOTIsIDY4LCBMQlNfU1RBTkRBUkQgfCBMQlNfT1dORVJEUkFXRklYRUQgfCBMQlNfSEFTU1RSSU5HUyB8IExCU19ESVNBQkxFTk9TQ1JPTEwgfCBXU19UQUJTVE9QCiBMVEVYVCAiRG9zaWVyJnNwZWNvOiIsIDEwODksIDYsIDEwNCwgOTAsIDkKIENPTUJPQk9YIDExMzYsIDYsIDExNCwgOTAsIDM2LCBDQlNfRFJPUERPV05MSVNUIHwgQ0JTX0FVVE9IU0NST0xMIHwgV1NfQk9SREVSIHwgV1NfVlNDUk9MTCB8IFdTX1RBQlNUT1AKIExURVhUICImRHJhanZvOiIsIDEwOTEsIDExMCwgMTA0LCA5MiwgOQogQ09NQk9CT1ggMTEzNywgMTEwLCAxMTQsIDkyLCA2OCwgQ0JTX0RST1BET1dOTElTVCB8IENCU19PV05FUkRSQVdGSVhFRCB8IENCU19BVVRPSFNDUk9MTCB8IENCU19TT1JUIHwgQ0JTX0hBU1NUUklOR1MgfCBXU19CT1JERVIgfCBXU19WU0NST0xMIHwgV1NfVEFCU1RPUAogREVGUFVTSEJVVFRPTiAiS29uc2VydnUiLCBJRE9LLCAyMDgsIDYsIDU2LCAxNCwgQlNfREVGUFVTSEJVVFRPTiB8IFdTX0dST1VQIHwgV1NfVEFCU1RPUAogUFVTSEJVVFRPTiAiTnVsaWdpIiwgSURDQU5DRUwsIDIwOCwgMjQsIDU2LCAxNCwgV1NfR1JPVVAgfCBXU19UQUJTVE9QCiBQVVNIQlVUVE9OICImSGVscG8iLCAxMDM4LCAyMDgsIDQ2LCA1NiwgMTQsIFdTX0dST1VQIHwgV1NfVEFCU1RPUAogQ0hFQ0tCT1ggIk51ciAmbGVnZWJsYSIsIDEwNDAsIDIwOCwgNjgsIDUwLCAxMiwgQlNfQVVUT0NIRUNLQk9YIHwgV1NfR1JPVVAgfCBXU19UQUJTVE9QCn0KCgpQUklOVCBESUFMT0cgMzYsIDI0LCAyNjQsIDEzNApTVFlMRSBEU19NT0RBTEZSQU1FIHwgV1NfUE9QVVAgfCBXU19DQVBUSU9OIHwgV1NfU1lTTUVOVQpDQVBUSU9OICJQcmVzdSIKRk9OVCA4LCAiTVMgU2hlbGwgRGxnIgp7CiBMVEVYVCAiUHJpbnRpbG86IiwgMTA4OCwgNiwgNiwgNDAsIDkKIExURVhUICIiLCAxMDg5LCA2MCwgNiwgMTUwLCA5CiBHUk9VUEJPWCAiRXRlbmRp+G9uIiwgMTA3MiwgNiwgMzAsIDE2MCwgNjUsIEJTX0dST1VQQk9YCiBSQURJT0JVVFRPTiAi5iZpdWpuIiwgMTA1NiwgMTYsIDQ1LCA2MCwgMTIKIFJBRElPQlVUVE9OICImZWxla3RvbiIsIDEwNTcsIDE2LCA2MCwgNjAsIDEyCiBSQURJT0JVVFRPTiAiJnBh+G9qbiIsIDEwNTgsIDE2LCA3NSwgNjAsIDEyCiBERUZQVVNIQlVUVE9OICJQcmVzdSIsIElET0ssIDIwNiwgNiwgNTYsIDE0LCBCU19ERUZQVVNIQlVUVE9OIHwgV1NfR1JPVVAgfCBXU19UQUJTVE9QCiBQVVNIQlVUVE9OICJOdWxpZ2kiLCBJRENBTkNFTCwgMjA2LCAyNCwgNTYsIDE0LCBXU19HUk9VUCB8IFdTX1RBQlNUT1AKIFBVU0hCVVRUT04gIiZBcmFu+HUiLCAxMDI0LCAyMDYsIDQ2LCA1NiwgMTQsIFdTX0dST1VQIHwgV1NfVEFCU1RPUAogTFRFWFQgImRlOiIsIDEwOTAsIDYwLCA4MCwgMzAsIDkKIExURVhUICL4aXM6IiwgMTA5MSwgMTIwLCA4MCwgMzAsIDkKIExURVhUICImS3ZhbGl0bzoiLCAxMDkyLCA2LCAxMDAsIDc2LCA5CiBDT01CT0JPWCAxMTM2LCA4MCwgMTAwLCA5MiwgNjgsIENCU19EUk9QRE9XTkxJU1QgfCBDQlNfT1dORVJEUkFXRklYRUQgfCBDQlNfQVVUT0hTQ1JPTEwgfCBDQlNfU09SVCB8IENCU19IQVNTVFJJTkdTIHwgV1NfQk9SREVSIHwgV1NfVlNDUk9MTCB8IFdTX1RBQlNUT1AKIENIRUNLQk9YICJQcmVzdSAmZG9zaWVyZW4iLCAxMDQwLCAyMCwgMTAwLCA1MCwgMTIsIEJTX0FVVE9DSEVDS0JPWCB8IFdTX0dST1VQIHwgV1NfVEFCU1RPUAogQ0hFQ0tCT1ggIk1hbGxhcvh0aXBlIiwgMTA0MSwgMTYwLCAxMDAsIDUwLCAxMiwgQlNfQVVUT0NIRUNLQk9YIHwgV1NfR1JPVVAgfCBXU19UQUJTVE9QCn0KCgpQUklOVF9TRVRVUCBESUFMT0cgMzYsIDI0LCAyNjQsIDEzNApTVFlMRSBEU19NT0RBTEZSQU1FIHwgV1NfUE9QVVAgfCBXU19DQVBUSU9OIHwgV1NfU1lTTUVOVQpDQVBUSU9OICJQcmVzYWRhaiBBZ29yZG9qIgpGT05UIDgsICJNUyBTaGVsbCBEbGciCnsKIEdST1VQQk9YICJQcmludGlsbyIsIDEwNzIsIDYsIDEwLCAxODAsIDY1LCBCU19HUk9VUEJPWAogUkFESU9CVVRUT04gIiZJbXBsaWNpdGEgUHJlc2lsbyIsIDEwNTYsIDE2LCAyMCwgODAsIDEyCiBMVEVYVCAiW25vbmVdIiwgMTA4OCwgMzUsIDM1LCAxMjAsIDkKIFJBRElPQlVUVE9OICImU3BlY2lmYSBQcmludGlsbyIsIDEwNTcsIDE2LCA1MCwgODAsIDEyCiBDT01CT0JPWCAxMTM2LCAzNSwgNjUsIDE0OSwgNjgsIENCU19EUk9QRE9XTkxJU1QgfCBDQlNfT1dORVJEUkFXRklYRUQgfCBDQlNfQVVUT0hTQ1JPTEwgfCBDQlNfU09SVCB8IENCU19IQVNTVFJJTkdTIHwgV1NfQk9SREVSIHwgV1NfVlNDUk9MTCB8IFdTX1RBQlNUT1AKIERFRlBVU0hCVVRUT04gIkJvbmUiLCBJRE9LLCAyMDYsIDYsIDU2LCAxNCwgQlNfREVGUFVTSEJVVFRPTiB8IFdTX0dST1VQIHwgV1NfVEFCU1RPUAogUFVTSEJVVFRPTiAiTnVsaWdpIiwgSURDQU5DRUwsIDIwNiwgMjQsIDU2LCAxNCwgV1NfR1JPVVAgfCBXU19UQUJTVE9QCiBQVVNIQlVUVE9OICImQWdvcmRvIiwgMTAyNCwgMjA2LCA0NiwgNTYsIDE0LCBXU19HUk9VUCB8IFdTX1RBQlNUT1AKIEdST1VQQk9YICJGb3JtYXRvIiwgMTA3MywgNiwgODUsIDEwMCwgNTAsIEJTX0dST1VQQk9YCiBSQURJT0JVVFRPTiAiJlZlcnRpa2FsYSIsIDEwNTgsIDUwLCAxMDAsIDQwLCAxMgogUkFESU9CVVRUT04gIiZIb3Jpem9udGFsYSIsIDEwNTksIDUwLCAxMTUsIDQwLCAxMgogSUNPTiAiTEFORFNDQVAiLCAxMDk3LCAxMCwgOTUsIDMyLCAzMgogSUNPTiAiUE9SVFJBSVQiLCAxMDk4LCAxMCwgOTUsIDMyLCAzMgogR1JPVVBCT1ggIlBhcGVybyIsIDEwNzQsIDEyMCwgODUsIDE4MCwgNTAsIEJTX0dST1VQQk9YCiBMVEVYVCAiJkRpbWVuc2lvIiwgMTA4OSwgMTMwLCA5NSwgMzAsIDkKIExURVhUICImRm9udG8iLCAxMDkwLCAxMzAsIDExMCwgMzAsIDkKIENPTUJPQk9YIDExMzcsIDE1NSwgOTUsIDkyLCA2OCwgQ0JTX0RST1BET1dOTElTVCB8IENCU19PV05FUkRSQVdGSVhFRCB8IENCU19BVVRPSFNDUk9MTCB8IENCU19TT1JUIHwgQ0JTX0hBU1NUUklOR1MgfCBXU19CT1JERVIgfCBXU19WU0NST0xMIHwgV1NfVEFCU1RPUAogQ09NQk9CT1ggMTEzOCwgMTU1LCAxMTAsIDkyLCA2OCwgQ0JTX0RST1BET1dOTElTVCB8IENCU19PV05FUkRSQVdGSVhFRCB8IENCU19BVVRPSFNDUk9MTCB8IENCU19TT1JUIHwgQ0JTX0hBU1NUUklOR1MgfCBXU19CT1JERVIgfCBXU19WU0NST0xMIHwgV1NfVEFCU1RPUAp9CgoKQ0hPT1NFX0ZPTlQgRElBTE9HIDM2LCAyNCwgMjY0LCAxNDcKU1RZTEUgRFNfTU9EQUxGUkFNRSB8IFdTX1BPUFVQIHwgV1NfQ0FQVElPTiB8IFdTX1NZU01FTlUKQ0FQVElPTiAiVGlwYXJvIgpGT05UIDgsICJNUyBTaGVsbCBEbGciCnsKTFRFWFQgICAgICAgICAgICImVGlwYXJvOiIsc3RjMSAsNiwzLDQwLDkKQ09NQk9CT1ggICAgICAgIGNtYjEsIDYsMTMsOTQsNTQsICBDQlNfT1dORVJEUkFXRklYRUQgfCBDQlNfSEFTU1RSSU5HUyB8IENCU19ESVNBQkxFTk9TQ1JPTEwgfApDQlNfQVVUT0hTQ1JPTEwgfCBDQlNfU09SVCB8IFdTX1ZTQ1JPTEwgfCBXU19UQUJTVE9QIHwgQ0JTX1NJTVBMRQpMVEVYVCAgICAgICAgICAgIlRpcGFyYSBTdCZpbG86IixzdGMyICwxMDgsMyw0NCw5CkNPTUJPQk9YICAgICAgICBjbWIyLDEwOCwxMyw2NCw1NCwgQ0JTX09XTkVSRFJBV0ZJWEVEIHwgQ0JTX0hBU1NUUklOR1MgfCBDQlNfRElTQUJMRU5PU0NST0xMIHwKV1NfVlNDUk9MTCB8IFdTX1RBQlNUT1AgfCBDQlNfU0lNUExFCkxURVhUICAgICAgICAgICAiJkRpbWVuc2lvOiIsc3RjMywxNzcsMywzMyw5CkNPTUJPQk9YICAgICAgICBjbWIzLDE3OSwxMywzMiw1NCwgQ0JTX09XTkVSRFJBV0ZJWEVEIHwgQ0JTX0hBU1NUUklOR1MgfCBDQlNfRElTQUJMRU5PU0NST0xMIHwKV1NfVlNDUk9MTCB8IFdTX1RBQlNUT1AgfCBDQlNfU0lNUExFIHwgQ0JTX1NPUlQKREVGUFVTSEJVVFRPTiAgICJCb25lIixJRE9LLDIxOCw2LDQwLDE0LCBXU19HUk9VUCB8IFdTX1RBQlNUT1AgfCBCU19ERUZQVVNIQlVUVE9OClBVU0hCVVRUT04gICAgICAiUmV6aWduaSIsSURDQU5DRUwsMjE4LDIzLDQwLDE0LFdTX0dST1VQIHwgV1NfVEFCU1RPUApQVVNIQlVUVE9OICAgICAgIiZBcGxpa2kiLCBwc2gzLDIxOCw0MCw0MCwxNCxXU19HUk9VUCB8IFdTX1RBQlNUT1AKUFVTSEJVVFRPTiAgICAgICImSGVscG8iICwgcHNoSGVscCwyMTgsNTcsNDAsMTQsV1NfR1JPVVAgfCBXU19UQUJTVE9QCkdST1VQQk9YICAgICAgICAiRWZpY29qIixncnAxLDYsNzIsODQsMzQsV1NfR1JPVVAKQ0hFQ0tCT1gJICAgICJTdHJlJmtvIiwgY2h4MSwgMTAsODIsNTAsMTAsIEJTX0FVVE9DSEVDS0JPWCB8IFdTX1RBQlNUT1AKQ0hFQ0tCT1ggCSAgICAiUyZ1YnN0cmVrbyIsIGNoeDIsIDEwLDk0LDUwLDEwLCBCU19BVVRPQ0hFQ0tCT1gKTFRFWFQgICAgICAgICAgICImS29sb3JvOiIsIHN0YzQgLDYsMTEwLDMwLDkKQ09NQk9CT1ggICAgICAgIGNtYjQsNiwxMjAsODQsMTAwLENCU19EUk9QRE9XTkxJU1QgfCBDQlNfT1dORVJEUkFXRklYRUQgfCBDQlNfSEFTU1RSSU5HUyB8CkNCU19BVVRPSFNDUk9MTCB8ICBXU19CT1JERVIgfCBXU19WU0NST0xMIHwgV1NfVEFCU1RPUApHUk9VUEJPWCAgICAgICAgIkVremVtcGxvIixncnAyLDk4LDcyLDEyMCwzNixXU19HUk9VUApDVEVYVCAgICAgICAgICAgIkFhQmJZeVp6IixzdGM1LDEwMyw4MCwxMDksMjQsU1NfTk9QUkVGSVggfCBOT1QgV1NfVklTSUJMRQpMVEVYVCAgICAgICAgICAgIlNjcmkmcHQ6IixzdGM3ICw5OCwxMTQsNDAsOQpDT01CT0JPWCAgICAgICAgY21iNSw5OCwxMjQsMTIwLDkwLENCU19EUk9QRE9XTkxJU1QgfCBDQlNfSEFTU1RSSU5HUyB8CkNCU19BVVRPSFNDUk9MTCB8ICAgV1NfVlNDUk9MTCB8IFdTX1RBQlNUT1AKfQoKQ0hPT1NFX0NPTE9SIERJQUxPRyAzNiwgMjQsIDMwMCwgMTg1ClNUWUxFIERTX01PREFMRlJBTUUgfCBXU19QT1BVUCB8IFdTX0NBUFRJT04gfCBXU19TWVNNRU5VCkNBUFRJT04gIktvbG9ybyIKRk9OVCA4LCAiTVMgU2hlbGwgRGxnIgp7CkxURVhUICImTm9ybWFsYSBrb2xvcmFybzoiLCAxMDg4LCA2LCA2LCA0MCwgOQpMVEVYVCAiJlBlcnNvbmEga29sb3Jhcm86IiwgMTA4OSwgNiwgMTI2LCA0MCwgOQpMVEVYVCAiU29sJmlka29sb3JvIiwgMTA5MCwgMTAwLCAxNDYsIDQwLCA5CkxURVhUICAgIiZSdfhvIiwgNzI2IC8qMTA5NCovLDI0OSwxMjYsMjQsMTAKRURJVFRFWFQgNzA2LCAyNzUsMTI0LDIxLDEyLCBXU19CT1JERVIgfCBXU19HUk9VUCB8IFdTX1RBQlNUT1AKTFRFWFQgICAiJlZlcmRvIiw3MjcvKjEwOTUqLywyNDksMTQwLDI0LDEwCkVESVRURVhUIDcwNywgMjc1LDEzOCwyMSwxMiwgV1NfQk9SREVSIHwgV1NfR1JPVVAgfCBXU19UQUJTVE9QCkxURVhUICAgIiZCbHVvIiw3MjggLyoxMDk2Ki8sMjQ5LDE1NCwyNCwxMApFRElUVEVYVCA3MDgsIDI3NSwxNTIsMjEsMTIsIFdTX0JPUkRFUiB8IFdTX0dST1VQIHwgV1NfVEFCU1RPUApMVEVYVCAgIiZGYXJibyIgLDcyMyAvKjEwOTEqLywyMDIsMTI2LDIyLDEwCkVESVRURVhUIDcwMywgMjI2LDEyNCwyMSwxMiwgV1NfQk9SREVSIHwgV1NfR1JPVVAgfCBXU19UQUJTVE9QCkxURVhUICAiJlNhdHVybyIgLDcyNCAvKjEwOTIqLywyMDIsMTQwLDIyLDEwCkVESVRURVhUIDcwNCwgMjI2LDEzOCwyMSwxMiwgV1NfQk9SREVSIHwgV1NfR1JPVVAgfCBXU19UQUJTVE9QCkxURVhUICAiJkhlbG8iICw3MjUgLyoxMDkzKi8sMjAyLDE1NCwyMiwxMApFRElUVEVYVCA3MDUsIDIyNiwxNTIsMjEsMTIsIFdTX0JPUkRFUiB8IFdTX0dST1VQIHwgV1NfVEFCU1RPUApDT05UUk9MICIiICw3MjAsIlNUQVRJQyIsU1NfU0lNUExFfFdTX1RBQlNUT1B8V1NfR1JPVVAsNCwxNCwxNDAsODYKQ09OVFJPTCAiIiAsNzIxLCJTVEFUSUMiLFNTX1NJTVBMRXxXU19UQUJTVE9QfFdTX0dST1VQLDQsMTE2LDE0MCwyOApDT05UUk9MICIiICw3MTAsIlNUQVRJQyIsV1NfQk9SREVSfFNTX1NJTVBMRXxXU19UQUJTVE9QfFdTX0dST1VQLCAxNTIsNCwxMTgsMTE2CkNPTlRST0wgIiIgLDcwMiwiU1RBVElDIixTU19TSU1QTEV8V1NfVEFCU1RPUHxXU19HUk9VUCwgMjc4LDQsOCwxMTYKQ09OVFJPTCAiIiAsNzA5LCJTVEFUSUMiLFNTX1NJTVBMRXxXU19UQUJTVE9QfFdTX0dST1VQLCAxNTIsMTI0LDQwLDI2CkRFRlBVU0hCVVRUT04gIkJvbmUiLCAgMSwgIDQsIDE2NiwgNDQsIDE0LCBCU19ERUZQVVNIQlVUVE9OIHwgV1NfR1JPVVAgfCBXU19UQUJTVE9QClBVU0hCVVRUT04gIlJlemlnbmkiLCAyLCA1MiwgMTY2LCA0NCwgMTQsIFdTX0dST1VQIHwgV1NfVEFCU1RPUApQVVNIQlVUVE9OICJIZWxwbyIsIHBzaEhlbHAsMTAwLDE2NiwgNDQsIDE0ClBVU0hCVVRUT04gIiZBbGRvbnUgYWwgS29sb3Jhcm8iLCAgICA3MTIvKjEwMjQqLywgMTUyLCAxNjYsIDE0MiwgMTQsIFdTX0dST1VQIHwgV1NfVEFCU1RPUApQVVNIQlVUVE9OICImRm9ydiZp/nUgS29sb3Jhcm9uID4+IiwgNzE5LyoxMDI1Ki8sICAgNCwgMTUwLCAxNDIsIDE0LCBXU19HUk9VUCB8IFdTX1RBQlNUT1AKUFVTSEJVVFRPTiAgIiZpIiw3MTMsMzAwLDIwMCw0LDE0ICAgLyoganVzdCBhIGR1bW15OiAgJ2knIGlzICBsaWtlICAmaSAgaW4gInNvbCZpZCIgICovCn0KCgpGSU5ERExHT1JEIERJQUxPRyAzNiwgMjQsIDIzNiwgNjIKU1RZTEUgRFNfTU9EQUxGUkFNRSB8IFdTX1BPUFVQIHwgV1NfQ0FQVElPTiB8IFdTX1NZU01FTlUKQ0FQVElPTiAiU2Vy5nUiCkZPTlQgOCwgIk1TIFNoZWxsIERsZyIKewogTFRFWFQgIiZTZXLmdToiLCAtMSwgNCwgOCwgNDIsIDgKIEVESVRURVhUIDExNTIsIDQ3LCA3LCAxMjgsIDEyLCBFU19BVVRPSFNDUk9MTCB8IFdTX0JPUkRFUiB8IFdTX0dST1VQIHwgV1NfVEFCU1RPUAogQ0hFQ0tCT1ggIk51ciB0dXRhbiAmdm9ydG9uIiwgMTA0MCwgNCwgMjYsIDEwMCwgMTIsIEJTX0FVVE9DSEVDS0JPWCB8IFdTX0dST1VQIHwgV1NfVEFCU1RPUAogQ0hFQ0tCT1ggIkF0ZW50dSAmVXNrbGVjb24iLCAxMDQxLCA0LCA0MiwgNjQsIDEyLCBCU19BVVRPQ0hFQ0tCT1ggfCBXU19UQUJTVE9QCiBHUk9VUEJPWCAiRGlyZWt0byIsIDEwNzIsIDEwNywgMjYsIDY4LCAyOAogQ09OVFJPTCAiJlN1cHJlIiwgMTA1NiwgIkJVVFRPTiIsIEJTX0FVVE9SQURJT0JVVFRPTiB8IFdTX0NISUxEIHwgV1NfVklTSUJMRSB8IFdTX0dST1VQIHwgV1NfVEFCU1RPUCwgMTA4LCAzOCwgMzAsIDEyCiBDT05UUk9MICImU3ViZSIsIDEwNTcsICJCVVRUT04iLCBCU19BVVRPUkFESU9CVVRUT04gfCBXU19DSElMRCB8IFdTX1ZJU0lCTEUgfCBXU19UQUJTVE9QLCAxNDQsIDM4LCAyOCwgMTIKIERFRlBVU0hCVVRUT04gIiZQbHVzZXLmdSIsIElET0ssIDE4MiwgNSwgNTAsIDE0LCBXU19HUk9VUCB8IFdTX1RBQlNUT1AKIFBVU0hCVVRUT04gIk51bGlnaSIsIElEQ0FOQ0VMLCAxODIsIDIzLCA1MCwgMTQsIFdTX0dST1VQIHwgV1NfVEFCU1RPUAogUFVTSEJVVFRPTiAiJkhlbHBvIiwgMTAzOCwgMTgyLCA0NSwgNTAsIDE0LCBXU19HUk9VUCB8IFdTX1RBQlNUT1AKfQoKClJFUExBQ0VETEdPUkQgRElBTE9HIDM2LCAyNCwgMjMwLCA5NApTVFlMRSBEU19NT0RBTEZSQU1FIHwgV1NfUE9QVVAgfCBXU19DQVBUSU9OIHwgV1NfU1lTTUVOVQpDQVBUSU9OICJBbnN0YXRh/WlndSIKRk9OVCA4LCAiTVMgU2hlbGwgRGxnIgp7CiBMVEVYVCAiQW5zdGF0Yf1pZ3U6IiwgLTEsIDQsIDksIDQ4LCA4CiBFRElUVEVYVCAxMTUyLCA1NCwgNywgMTE0LCAxMiwgRVNfQVVUT0hTQ1JPTEwgfCBXU19CT1JERVIgfCBXU19HUk9VUCB8IFdTX1RBQlNUT1AKIExURVhUICImcGVyOiIsIC0xLCA0LCAyNiwgNDgsIDgKIEVESVRURVhUIDExNTMsIDU0LCAyNCwgMTE0LCAxMiwgRVNfQVVUT0hTQ1JPTEwgfCBXU19CT1JERVIgfCBXU19HUk9VUCB8IFdTX1RBQlNUT1AKIENIRUNLQk9YICJOdXIgdHV0YW4gJnZvcnRvbiIsIDEwNDAsIDUsIDQ2LCAxMDQsIDEyLCBCU19BVVRPQ0hFQ0tCT1ggfCBXU19HUk9VUCB8IFdTX1RBQlNUT1AKIENIRUNLQk9YICJBdGVudHUgJlVza2xlY29uIiwgMTA0MSwgNSwgNjIsIDU5LCAxMiwgQlNfQVVUT0NIRUNLQk9YIHwgV1NfVEFCU1RPUAogREVGUFVTSEJVVFRPTiAiUGx1JnNlcuZ1IiwgSURPSywgMTc0LCA0LCA1MCwgMTQsIEJTX0RFRlBVU0hCVVRUT04gfCBXU19HUk9VUCB8IFdTX1RBQlNUT1AKIFBVU0hCVVRUT04gIiZBbnN0YXRh/WlndSIsIDEwMjQsIDE3NCwgMjEsIDUwLCAxNCwgV1NfR1JPVVAgfCBXU19UQUJTVE9QCiBQVVNIQlVUVE9OICJBbnN0YXRh/WlndSDmJml1am4iLCAxMDI1LCAxNzQsIDM4LCA1MCwgMTQsIFdTX0dST1VQIHwgV1NfVEFCU1RPUAogUFVTSEJVVFRPTiAiTnVsaWdpIiwgSURDQU5DRUwsIDE3NCwgNTUsIDUwLCAxNCwgV1NfR1JPVVAgfCBXU19UQUJTVE9QCiBQVVNIQlVUVE9OICImSGVscG8iLCAxMDM4LCAxNzQsIDc1LCA1MCwgMTQsIFdTX0dST1VQIHwgV1NfVEFCU1RPUAp9CgoKUFJJTlQzMiBESUFMT0cgIDMyLCAzMiwgMjg4LCAxODYKU1RZTEUgRFNfTU9EQUxGUkFNRSB8IFdTX1BPUFVQIHwgV1NfVklTSUJMRSB8IFdTX0NBUFRJT04gfCBXU19TWVNNRU5VIHwKRFNfQ09OVEVYVEhFTFAgfCBEU18zRExPT0sKQ0FQVElPTiAiUHJlc3UiCkZPTlQgOCwgIk1TIFNoZWxsIERsZyIKewpERUZQVVNIQlVUVE9OICAgIkJvbmUiLCAgICAgSURPSywgICAgIDE4MCwxNjQsIDQ4LDE0LCBXU19HUk9VUCB8IEJTX0RFRlBVU0hCVVRUT04KUFVTSEJVVFRPTiAgICAgICJSZXppZ25pIiwgSURDQU5DRUwsIDIzMiwxNjQsIDQ4LDE0LCBXU19HUk9VUApQVVNIQlVUVE9OICAgICAgIiZIZWxwbyIsICBwc2hIZWxwLCAgNTAsIDE2MSwgNDgsMTQsIFdTX0dST1VQCgpHUk9VUEJPWCAgICAgICAgIlByaW50aWxvIiwgICAgICAgIGdycDQsICAgOCwgIDQsIDI3Miw4NCwgV1NfR1JPVVAKQ09OVFJPTCAgICAgICAgICJQcmV6dSBraWVsICZkb3NpZXJvIiwgY2h4MSwgIkJ1dHRvbiIsQlNfQVVUT0NIRUNLQk9YIHwgV1NfR1JPVVAgfCBXU19UQUJTVE9QLDIxMiw3MCw2NCwxMgpQVVNIQlVUVE9OICAgICAgIiZFY29qIiwgICAgcHNoMiwgMjEyLCAxNywgIDYwLDE0LCBXU19HUk9VUApMVEVYVCAgICAgICAgICAgIiZOb21vOiIsICAgICAgICAgc3RjNiwgIDE2LCAyMCwgIDM2LDgKQ09NQk9CT1ggICAgICAgICAgICAgICAgICAgICAgICAgIGNtYjQsICA1MiwgMTgsIDE1MiwxNTIsQ0JTX0RST1BET1dOTElTVCB8IENCU19TT1JUIHwgV1NfVlNDUk9MTCB8IFdTX0dST1VQIHwgV1NfVEFCU1RPUApMVEVYVCAgICAgICAgICAgIlN0YXRvOiIsICAgICAgICBzdGM4LCAgMTYsIDM2LCAgMzYsMTAsIFNTX05PUFJFRklYCkxURVhUICAgICAgICAgICAiRHVtbXkgU3RhdGUiLCAgICBzdGMxMiwgNTIsIDM2LCAyMjQsMTAsIFNTX05PUFJFRklYIHwgU1NfTEVGVE5PV09SRFdSQVAKTFRFWFQgICAgICAgICAgICJTcGVjbzoiLCAgICAgICAgICBzdGM3LCAgMTYsIDQ4LCAgMzYsMTAsIFNTX05PUFJFRklYCkxURVhUICAgICAgICAgICAiRHVtbXkgVHlwZSIsICAgICBzdGMxMSwgNTIsIDQ4LCAyMjQsMTAsIFNTX05PUFJFRklYIHwgU1NfTEVGVE5PV09SRFdSQVAKTFRFWFQgICAgICAgICAgICJLaWU6IiwgICAgICAgICBzdGMxMCwgMTYsIDYwLCAgMzYsMTAsIFNTX05PUFJFRklYCkxURVhUICAgICAgICAgICAiRHVtbXkgTG9jYXRpb24iLCBzdGMxNCwgNTIsIDYwLCAyMjQsMTAsIFNTX05PUFJFRklYIHwgU1NfTEVGVE5PV09SRFdSQVAKTFRFWFQgICAgICAgICAgICJLb21lbnRvOiIsICAgICAgIHN0YzksICAxNiwgNzIsICAzNiwxMCwgU1NfTk9QUkVGSVgKTFRFWFQgICAgICAgICAgICJEdW1teSBSZW1hcmsiLCAgIHN0YzEzLCA1MiwgNzIsIDE1MiwxMCwgU1NfTk9QUkVGSVggfCBTU19MRUZUTk9XT1JEV1JBUAoKR1JPVVBCT1ggICAgICAgICJFa3plbXBsZXJvaiIsICAgICAgICAgZ3JwMiwgMTYwLCA5MiwgMTIwLDY0LCBXU19HUk9VUApMVEVYVCAgICAgICAgICAgIk5vbWJybyBkYSAmZWt6ZW1wbGVyb2o6IixzdGM1LDE2OCwxMDgsNjgsOApJQ09OICAgICAgICAgICAgIiIsICAgICAgICAgICAgICAgaWNvMywgMTYyLDEyNCwgIDc2LDI0LCBXU19HUk9VUCB8IFNTX0NFTlRFUklNQUdFCkNPTlRST0wgICAgICAgICAiTGH9JmthamVyZSIsICAgICAgIGNoeDIsIkJ1dHRvbiIsQlNfQVVUT0NIRUNLQk9YIHwgV1NfR1JPVVAgfCBXU19UQUJTVE9QLDI0MCwxMzAsMzYsMTIKRURJVFRFWFQgICAgICAgICAgICAgICAgICAgICAgICAgIGVkdDMsIDI0MCwxMDYsICAzMiwxMiwgV1NfR1JPVVAgfCBFU19OVU1CRVIKCkdST1VQQk9YICAgICAgICAiRXRlbmRp+G9uIiwgICAgZ3JwMSwgICA4LDkyLCAgMTQ0LDY0LCBXU19HUk9VUApDT05UUk9MICAgICAgICAgIuYmaXVqbiIsICAgICAgICAgICByYWQxLCJCdXR0b24iLEJTX0FVVE9SQURJT0JVVFRPTiB8IFdTX0dST1VQIHwgV1NfVEFCU1RPUCwxNiwxMDYsNjQsMTIKQ09OVFJPTCAgICAgICAgICImcGH4b2puIiwgICAgICAgICByYWQzLCJCdXR0b24iLEJTX0FVVE9SQURJT0JVVFRPTiwxNiwxMjIsMzYsMTIKQ09OVFJPTCAgICAgICAgICImZWxla3RvbiIsICAgICByYWQyLCJCdXR0b24iLEJTX0FVVE9SQURJT0JVVFRPTiwxNiwxMzgsNjQsMTIKRURJVFRFWFQgICAgICAgICAgICAgICAgICAgICAgICAgIGVkdDEsICA3NCwxMjIsICAyNiwxMiwgV1NfR1JPVVAgfCBFU19OVU1CRVIKRURJVFRFWFQgICAgICAgICAgICAgICAgICAgICAgICAgIGVkdDIsIDExOCwxMjIsICAyNiwxMiwgV1NfR1JPVVAgfCBFU19OVU1CRVIKUlRFWFQgICAgICAgICAgICJkZToiLCAgICAgICAgIHN0YzIsICA1MiwxMjQsICAyMCw4ClJURVhUICAgICAgICAgICAi+GlzOiIsICAgICAgICAgICBzdGMzLCAxMDAsMTI0LCAgMTYsOAp9CgpQUklOVDMyX1NFVFVQIERJQUxPRyAgMzIsIDMyLCAyODgsIDE3OApTVFlMRSBEU19NT0RBTEZSQU1FIHwgV1NfUE9QVVAgfCBXU19WSVNJQkxFIHwgV1NfQ0FQVElPTiB8IFdTX1NZU01FTlUgfApEU19DT05URVhUSEVMUCB8IERTXzNETE9PSwpDQVBUSU9OICJQcmVzYWRhaiBBZ29yZG9qIgpGT05UIDgsICJNUyBTaGVsbCBEbGciCkJFR0lOCkRFRlBVU0hCVVRUT04gICAiQm9uZSIsSURPSywxODAsMTU2LDQ4LDE0LFdTX0dST1VQClBVU0hCVVRUT04gICAgICAiUmV6aWduaSIsSURDQU5DRUwsMjMyLDE1Niw0OCwxNAovKiAgICBQVVNIQlVUVE9OICAgICAgIk5ldHdvcmsuLi4iLCBwc2g1LCAyODQsMTU2LDQ4LDE0ICovCgpHUk9VUEJPWCAgICAgICAgIlByaW50aWxvIiwgICAgICAgIGdycDQsICAgOCwgIDQsIDI3Miw4NCwgV1NfR1JPVVAKUFVTSEJVVFRPTiAgICAgICImRWNvaiIsICAgIHBzaDIsIDIxMiwgMTcsICA2MCwxNCwgV1NfR1JPVVAKTFRFWFQgICAgICAgICAgICImTm9tbzoiLCAgICAgICAgIHN0YzYsICAxNiwgMjAsICAzNiw4CkNPTUJPQk9YICAgICAgICAgICAgICAgICAgICAgICAgICBjbWIxLCAgNTIsIDE4LCAxNTIsMTUyLENCU19EUk9QRE9XTkxJU1QgfCBDQlNfU09SVCB8IFdTX1ZTQ1JPTEwgfCBXU19HUk9VUCB8IFdTX1RBQlNUT1AKTFRFWFQgICAgICAgICAgICJTdGF0bzoiLCAgICAgICAgc3RjOCwgIDE2LCAzNiwgIDM2LDEwLCBTU19OT1BSRUZJWApMVEVYVCAgICAgICAgICAgIkR1bW15IFN0YXRlIiwgICAgc3RjMTIsIDUyLCAzNiwgMjI0LDEwLCBTU19OT1BSRUZJWCB8IFNTX0xFRlROT1dPUkRXUkFQCkxURVhUICAgICAgICAgICAiU3BlY286IiwgICAgICAgICAgc3RjNywgIDE2LCA0OCwgIDM2LDEwLCBTU19OT1BSRUZJWApMVEVYVCAgICAgICAgICAgIkR1bW15IFR5cGUiLCAgICAgc3RjMTEsIDUyLCA0OCwgMjI0LDEwLCBTU19OT1BSRUZJWCB8IFNTX0xFRlROT1dPUkRXUkFQCkxURVhUICAgICAgICAgICAiS2llOiIsICAgICAgICAgc3RjMTAsIDE2LCA2MCwgIDM2LDEwLCBTU19OT1BSRUZJWApMVEVYVCAgICAgICAgICAgIkR1bW15IExvY2F0aW9uIiwgc3RjMTQsIDUyLCA2MCwgMjI0LDEwLCBTU19OT1BSRUZJWCB8IFNTX0xFRlROT1dPUkRXUkFQCkxURVhUICAgICAgICAgICAiS29tZW50bzoiLCAgICAgICBzdGM5LCAgMTYsIDcyLCAgMzYsMTAsIFNTX05PUFJFRklYCkxURVhUICAgICAgICAgICAiRHVtbXkgUmVtYXJrIiwgICBzdGMxMywgNTIsIDcyLCAyMjQsMTAsIFNTX05PUFJFRklYIHwgU1NfTEVGVE5PV09SRFdSQVAKCkdST1VQQk9YICAgICAgICAiUGFwZXJvIiwgICAgICAgICAgZ3JwMiwgICA4LCA5MiwgMTY0LDU2LCBXU19HUk9VUApMVEVYVCAgICAgICAgICAgIiZEaW1lbnNpbzoiLCAgICAgICAgIHN0YzIsICAxNiwxMDgsICAzNiwgOApDT01CT0JPWCAgICAgICAgICAgICAgICAgICAgICAgICAgY21iMiwgIDUyLDEwNiwgMTEyLDExMixDQlNfRFJPUERPV05MSVNUIHwgQ0JTX1NPUlQgfCBXU19WU0NST0xMIHwgV1NfR1JPVVAgfCBXU19UQUJTVE9QCkxURVhUICAgICAgICAgICAiJkZvbnRvOiIsICAgICAgIHN0YzMsICAxNiwxMjgsICAzNiwgOApDT01CT0JPWCAgICAgICAgICAgICAgICAgICAgICAgICAgY21iMywgIDUyLDEyNiwgMTEyLDExMixDQlNfRFJPUERPV05MSVNUIHwgQ0JTX1NPUlQgfCBXU19WU0NST0xMIHwgV1NfR1JPVVAgfCBXU19UQUJTVE9QCgpHUk9VUEJPWCAgICAgICAgIkZvcm1hdG8iLCAgICBncnAxLCAxODAsIDkyLCAxMDAsNTYsIFdTX0dST1VQCklDT04gICAgICAgICAgICAiIiwgICAgICAgICAgICAgICBpY28xLCAxOTUsMTEyLCAgMTgsMjAsIFdTX0dST1VQCkNPTlRST0wgICAgICAgICAiJlZlcnRpa2FsYSIsICAgICAgcmFkMSwiQnV0dG9uIixCU19BVVRPUkFESU9CVVRUT04gfCBXU19HUk9VUCB8V1NfVEFCU1RPUCwyMjQsMTA2LDUyLDEyCkNPTlRST0wgICAgICAgICAiJkhvcml6b250YWxhIiwgICAgIHJhZDIsIkJ1dHRvbiIsQlNfQVVUT1JBRElPQlVUVE9OLDIyNCwxMjYsNTIsMTIKRU5ECgpQQUdFU0VUVVBETEdPUkQgRElBTE9HIDMyLCAzMiwgMjQwLCAyNDAKU1RZTEUgRFNfTU9EQUxGUkFNRSB8IFdTX1BPUFVQIHwgV1NfVklTSUJMRSB8IFdTX0NBUFRJT04gfCBXU19TWVNNRU5VCkNBUFRJT04gIkltcG96dSBQYfhvbiIKRk9OVCA4LCAiTVMgU2hlbGwgRGxnIgpCRUdJTgpDT05UUk9MICIiLCByY3QxLCAiU3RhdGljIiwgU1NfV0hJVEVSRUNULCA4MCwgOCwgODAsIDgwCkNPTlRST0wgIiIsIHJjdDIsICJTdGF0aWMiLCBTU19HUkFZUkVDVCwgMTYwLCAxMiwgNCwgODAKQ09OVFJPTCAiIiwgcmN0MywgIlN0YXRpYyIsIFNTX0dSQVlSRUNULCAgODQsIDg4LCA4MCwgNApHUk9VUEJPWCAiUGFwZXJvIiwgZ3JwMiwgOCwgOTYsIDIyNCwgNTYsIEJTX0dST1VQQk9YCkxURVhUICImRGltZW5zaW86Iiwgc3RjMiwgMTYsIDExMiwgMzYsIDgKQ09NQk9CT1ggY21iMiwgNjQsIDExMCwgMTYwLCAxNjAsIENCU19TSU1QTEV8Q0JTX0RST1BET1dOfENCU19TT1JUfFdTX0dST1VQfFdTX1RBQlNUT1B8V1NfVlNDUk9MTApMVEVYVCAiUCZsZXRvOiIsIHN0YzMsIDE2LCAxMzIsIDM2LCA4CkNPTUJPQk9YIGNtYjMsIDY0LCAxMzAsIDE2MCwgMTYwLCBDQlNfU0lNUExFfENCU19EUk9QRE9XTnxDQlNfU09SVHxXU19HUk9VUHxXU19UQUJTVE9QfFdTX1ZTQ1JPTEwKR1JPVVBCT1ggIkZvcm1hdG8iLCBncnAxLCA4LCAxNTYsIDY0LCA1NiwgQlNfR1JPVVBCT1gKQVVUT1JBRElPQlVUVE9OICImVmVydGlrYWxhIiwgcmFkMSwgMTYsIDE3MCwgNTIsIDEyLCBCU19BVVRPUkFESU9CVVRUT04KQVVUT1JBRElPQlVUVE9OICImSG9yaXpvbnRhbGEiLCByYWQyLCAxNiwgMTkwLCA1MiwgMTIsIEJTX0FVVE9SQURJT0JVVFRPTgpHUk9VUEJPWCAiTWFy+GVub2oiLCBncnA0LCA4MCwgMTU2LCAxNTIsIDU2LCBCU19HUk9VUEJPWApMVEVYVCAiJkRla3N0cmE6Iiwgc3RjMTUsIDg4LCAxNzIsIDIxLCA4CkVESVRURVhUIGVkdDQsIDExMSwgMTcwLCAzOSwgMTIsIFdTX1RBQlNUT1B8V1NfR1JPVVB8V1NfQk9SREVSCkxURVhUICImTWFsZGVrc3RyYToiLCBzdGMxNiwgMTU5LCAxNzIsIDI3LCA4CkVESVRURVhUIGVkdDYsIDE4NywgMTcwLCAzOSwgMTIsIFdTX1RBQlNUT1B8V1NfR1JPVVB8V1NfQk9SREVSCkxURVhUICImU3VwcmU6Iiwgc3RjMTcsIDg4LCAxOTIsIDIxLCA4CkVESVRURVhUIGVkdDUsIDExMSwgMTkwLCAzOSwgMTIsIFdTX1RBQlNUT1B8V1NfR1JPVVB8V1NfQk9SREVSCkxURVhUICJTdSZiZToiLCBzdGMxOCwgMTU5LCAxOTIsIDIzLCA4CkVESVRURVhUIGVkdDcsIDE4NywgMTkwLCAzOSwgMTIsIFdTX1RBQlNUT1B8V1NfR1JPVVB8V1NfQk9SREVSCkRFRlBVU0hCVVRUT04gIkJvbmUiLCBJRE9LLCA3MSwgMjIwLCA1MCwgMTQsIEJTX1BVU0hCVVRUT04KUFVTSEJVVFRPTiAiUmV6aWduaSIsIElEQ0FOQ0VMLCAxMjYsIDIyMCwgNTAsIDE0ClBVU0hCVVRUT04gIiZQcmludGlsby4uIiwgcHNoMywgMTg0LCAyMjAsIDQ4LCAxNApFTkQKCk5FV0ZJTEVPUEVOT1JEIERJQUxPRyAwLCAwLCAyODAsIDE2NApTVFlMRSBEU19NT0RBTEZSQU1FIHwgRFNfQ09OVEVYVEhFTFAgfCBXU19WSVNJQkxFIHwgV1NfUE9QVVAgfCBXU19DQVBUSU9OIHwgV1NfU1lTTUVOVSB8IFdTX0NMSVBDSElMRFJFTgpDQVBUSU9OICJNYWxmZXJtdSIKRk9OVCA4LCAiTVMgU2hlbGwgRGxnIgp7CkxURVhUCSJTZXLmdSAmZW46IixJRENfTE9PS0lOU1RBVElDLDQsNiw0Myw4LCBTU19OT1RJRlkKQ09NQk9CT1gJSURDX0xPT0tJTiw0OSwzLDEzMiwxMDAsQ0JTX0RST1BET1dOTElTVCB8IENCU19PV05FUkRSQVdGSVhFRCB8IENCU19IQVNTVFJJTkdTIHwgV1NfVlNDUk9MTCB8IFdTX1RBQlNUT1AKCkxURVhUCSIiICwgSURDX1RPT0xCQVJTVEFUSUMsIDE4MSwgMiwgMTAyLCAxNywgTk9UIFdTX0dST1VQIHwgTk9UIFdTX1ZJU0lCTEUKTElTVEJPWAlJRENfU0hFTExTVEFUSUMsNCwyMCwyNzIsODUsIExCU19TT1JUIHwgTEJTX05PSU5URUdSQUxIRUlHSFQgfCBMQlNfTVVMVElDT0xVTU4gfCBXU19IU0NST0xMIHwgTk9UIFdTX1ZJU0lCTEUKCkxURVhUCSJEb3NpZXImbm9tbzoiLElEQ19GSUxFTkFNRVNUQVRJQyw1LDExMiw0Niw4LCBTU19OT1RJRlkKRURJVFRFWFQJSURDX0ZJTEVOQU1FLDU0LDExMCwxNTUsMTIsRVNfQVVUT0hTQ1JPTEwKCkxURVhUCSJEb3NpZXImc3BlY286IixJRENfRklMRVRZUEVTVEFUSUMsNSwxMjgsNDIsOCwgU1NfTk9USUZZCkNPTUJPQk9YCUlEQ19GSUxFVFlQRSw1NCwxMjYsMTU1LDUzLENCU19EUk9QRE9XTkxJU1QgfCBXU19WU0NST0xMIHwgV1NfVEFCU1RPUAoKQ09OVFJPTAkiTnVyICZsZWdlYmxhIixJRENfT1BFTlJFQURPTkxZLCJCdXR0b24iLEJTX0FVVE9DSEVDS0JPWCB8IFdTX1RBQlNUT1AsNTQsMTQ1LDEwMCwxMAoKREVGUFVTSEJVVFRPTgkiJk1hbGZlcm11IiwJCSBJRE9LLDIyMiwxMTAsNTAsMTQKUFVTSEJVVFRPTgkJIlJlemlnbmkiLAkJIElEQ0FOQ0VMLDIyMiwxMjgsNTAsMTQKUFVTSEJVVFRPTgkJIiZIZWxwbyIsCQkgcHNoSGVscCwyMjIsMTQ1LDUwLDE0Cn0KClNUUklOR1RBQkxFCnsKSURTX0FCT1VUQk9YICAgICAgICAgICAgIiZQcmkgJ1Rlc3QgRm9sZGVyUGlja2VyJyIKSURTX0RPQ1VNRU5URk9MREVSUyAgICAgIkRva3VtZW50ZG9zaWVydWpvaiIKSURTX1BFUlNPTkFMICAgICAgICAgICAgIk1pYWogRG9rdW1lbnRvaiIKSURTX0ZBVk9SSVRFUyAgICAgICAgICAgIk1pYWogRmF2b3JpdGFqIgpJRFNfUEFUSCAgICAgICAgICAgICAgICAiU2lzdGVtdm9qbyIKSURTX0RFU0tUT1AgICAgICAgICAgICAgIkRlc2t0b3AiCklEU19GT05UUyAgICAgICAgICAgICAgICJUaXBhcm9qIgpJRFNfTVlDT01QVVRFUiAgICAgICAgICAiTWlhIEtvbXB1dGVybyIKfQoKU1RSSU5HVEFCTEUKewpJRFNfU1lTVEVNRk9MREVSUyAgICAgICAiU2lzdGVtZG9zaWVydWpvaiIKSURTX0xPQ0FMSEFSRFJJVkVTICAgICAgIkxvY2FsYWogRHVyZGlza29qIgpJRFNfRklMRU5PVEZPVU5EICAgICAgICAiRG9zaWVybyBuZSBlc3RpcyB0cm92aXRhIgpJRFNfVkVSSUZZRklMRSAgICAgICAgICAiS29udHJvbHUgbGEg+HVzdGVjb24gamUgaGF2aWdpdGEgZG9zaWVybm9tby4iCklEU19DUkVBVEVGSUxFICAgICAgICAgICJEb3NpZXJvIGVzdGFzIG5lZWt6aXN0YW50YVxuxnUgdmkgdm9sYXMga3JlaSBkb3NpZXJvbj8iCklEU19PVkVSV1JJVEVGSUxFICAgICAgICJEb3NpZXJvIGVzdGFzIGphbSBla3ppc3RhbnRhLlxuxnUgdmkgdm9sYXMgc3VwZXJza3JpYmkg+GluPyIKSURTX0lOVkFMSURfRklMRU5BTUVfVElUTEUgIk5la29yZWt0YShqKSB0aXBvKGopIGVuIHZvam8iCklEU19JTlZBTElEX0ZJTEVOQU1FICAgICJMYSBkb3NpZXJub21vIG5lIHBvdmFzIGVuaGF2aSBsYSBqZW5ham4gdGlwb2puOlxuIC8gOiA8ID4gfCIKSURTX1BBVEhOT1RFWElTVElORyAgICAgIlZvam8gZXN0YXMgbmVla3ppc3RhbnRhIgpJRFNfRklMRU5PVEVYSVNUSU5HICAgICAiRG9zaWVybyBlc3RhcyBuZWVremlzdGFudGEiCn0KClNUUklOR1RBQkxFCnsKCUlEU19VUEZPTERFUiAgICAgICAgICJTdXJpcnUgZGEgdW51IG5pdmVsbyIKCUlEU19ORVdGT0xERVIgICAgICAgICJLcmV1IE5vdmFuIERvc2lldWpvbiIKCUlEU19MSVNUVklFVyAgICAgICAgICJMaXN0byIKCUlEU19SRVBPUlRWSUVXICAgICAgICJEZXRhbGUiCglJRFNfVE9ERVNLVE9QICAgICAgICAiRm9saXUgRGVza3RvcCIKfQoKU1RSSU5HVEFCTEUKewoJUEQzMl9QUklOVF9USVRMRSAgICAgICAiUHJlc3UiCgkKCVBEMzJfVkFMVUVfVVJFQURBQkxFICAgICAgICAgICAgICAgICAgIk5lbGVnZWJsYSBFbnRyeSIKCVBEMzJfSU5WQUxJRF9QQUdFX1JBTkdFICLGaSB0aXUgdmFsb3JvIG5lIGVzdGFzIGVuIGxhIHBh+G8uXG5cCglFbmlndSB2YWxvcm9uIGludGVyICVkIGthaiAlZC4iCglQRDMyX0ZST01fTk9UX0FCT1ZFX1RPICAgICAgICAgICAgICAgICJMYSAnZGU6JyB2YWxvcm8gbmUgcG92YXMgc3VwZXJpIGxhIFwKCSf4aXM6JyB2YWxvcm9uLiIKCVBEMzJfTUFSR0lOU19PVkVSTEFQICAgICAgICAgICAgICAgICAgIk1hcvhlbm9qIHN1cm1ldGn4YXMgaW50ZXIgc2kgYf0gZXN0YXMgZWtzdGVyIFwKCXBhcGVyZm9saW8uXG5EaWZpbnUgZGVub3ZlIGxhIG1hcvhlbm9qbi4iCglQRDMyX05SX09GX0NPUElFU19FTVBUWSAgICAgICAgICAgICAgICJMYSBub21icnZhbG9ybyBqZSAnTm9tYnJvIGRhICZla3plbXBsZXJvaicgXAoJbmUgcG92YXMgZXN0aSBtYWxwbGVuYS4iCglQRDMyX1RPT19MQVJHRV9DT1BJRVMgICAgICAgICAgICAgICAgICJMYSB2aWEgcHJpbnRpbG8gbmUgcG92YXMgcHJlc2kgdGllbCBncmFuZGEgbm9tYnJvIGRhIGVremVtcGxlcm9qXG5FbmlndSB2YWxvcm9uIGludGVyIDEga2FqICVkLiIKCVBEMzJfUFJJTlRfRVJST1IgICAgICAgICAgICAgICAgICAgICAgIk9rYXppcyBwcmludGlsYSBlcm9yby4iCglQRDMyX05PX0RFRkFVTFRfUFJJTlRFUiAgICAgICAgICAgICAgICJOZSBlc3RhcyBkZWZh/Wx0YSBwcmludGlsby4iCglQRDMyX0NBTlRfRklORF9QUklOVEVSICAgICAgICAgICAgICAgICJNaSBuZSBwb3ZhcyB0cm92aSBsYSBwcmludGlsb24uIgoJUEQzMl9PVVRfT0ZfTUVNT1JZICAgICAgICAgICAgICAgICAgICAiTGEgbWVtb3JvIGVzdGFzIGVs5mVycGl0YS4iCglQRDMyX0dFTkVSSUNfRVJST1IgICAgICAgICAgICAgICAgICAgICJPa2F6aXMgZXJvcm8uIgoJUEQzMl9EUklWRVJfVU5LTk9XTiAgICAgICAgICAgICAgICAgICAiTmVrb25hdGEgcHJpbnRpbHpvcmdpbG8uIgoJUEQzMl9OT19ERVZJQ0VTICAgICAgICAgICAgICAgICAgICAgICAiQW50Yf0gb2wgdmkgcG92b3MgcGxlbnVtaSBwcmludGlsdGFza29qbiBcCglrdmF6Yf0gaW1wb3ppIHBh+G9uIGH9IHByZXNpIGRva3VtZW50b24sIGVzdGFzIG5lY2VzZSBrZSB2aSBpbnN0YWx1IHByaW50aWxvbi4gXAoJT25pIGtvbnNpbGFzIGluc3RhbGkg+GluIGthaiByZXByb3ZpLiIKCQoJUEQzMl9ERUZBVUxUX1BSSU5URVIgICAgICAgICAgICAgICAgICAiRGVmYf1sdGEgUHJpbnRpbG87ICIKCVBEMzJfTlJfT0ZfRE9DVU1FTlRTX0lOX1FVRVVFICAgICAgICAgIiVkIGRva3VtZW50byhqKSBlc3RhcyBlbiBwcmVzdmljbyIKCVBEMzJfTUFSR0lOU19JTl9JTkNIRVMgICAgICAgICAgICAgICAgIk1hcvhlbm9qIFtpbmNoZXNdIgoJUEQzMl9NQVJHSU5TX0lOX01JTExJTUVURVJTICAgICAgICAgICAiTWFy+GVub2ogW21tXSIKCVBEMzJfTUlMTElNRVRFUlMgICAgICAgICAgICAgICAgICAgICAgIm1tIgoJCglQRDMyX1BSSU5URVJfU1RBVFVTX1JFQURZICAgICAgICAgICAgICJQcmV0YSIKCVBEMzJfUFJJTlRFUl9TVEFUVVNfUEFVU0VEICAgICAgICAgICAgIlBh/XNlOyAiCglQRDMyX1BSSU5URVJfU1RBVFVTX0VSUk9SICAgICAgICAgICAgICJFcm9ybzsgIgoJUEQzMl9QUklOVEVSX1NUQVRVU19QRU5ESU5HX0RFTEVUSU9OICAiTnVsaWdhIGF0ZW5kYWRvOyAiCglQRDMyX1BSSU5URVJfU1RBVFVTX1BBUEVSX0pBTSAgICAgICAgICJCbG9raXRhIHBhcGVybzsgIgoJUEQzMl9QUklOVEVSX1NUQVRVU19QQVBFUl9PVVQgICAgICAgICAiRWzmZXJwaXRhIHBhcGVybzsgIgoJUEQzMl9QUklOVEVSX1NUQVRVU19NQU5VQUxfRkVFRCAgICAgICAiTWFuZSBlbv5vdm8gZGUgcGFwZXJvOyAiCglQRDMyX1BSSU5URVJfU1RBVFVTX1BBUEVSX1BST0JMRU0gICAgICJQYXBlcmEgcHJvYmxlbW87ICIKCVBEMzJfUFJJTlRFUl9TVEFUVVNfT0ZGTElORSAgICAgICAgICAgIk5la29uZWt0aXRhIHByaW50aWxvOyAiCglQRDMyX1BSSU5URVJfU1RBVFVTX0lPX0FDVElWRSAgICAgICAgICJJL08gQWt0aXZhOyAiCglQRDMyX1BSSU5URVJfU1RBVFVTX0JVU1kgICAgICAgICAgICAgICJPa3VwaXRhIHByaW50aWxvOyAiCglQRDMyX1BSSU5URVJfU1RBVFVTX1BSSU5USU5HICAgICAgICAgICJOdW4gcHJlc2F0YTsgIgoJUEQzMl9QUklOVEVSX1NUQVRVU19PVVRQVVRfQklOX0ZVTEwgICAiRWxqcmVqYSBwbGV0byBlc3RhcyBwbGVuYTsgIgoJUEQzMl9QUklOVEVSX1NUQVRVU19OT1RfQVZBSUxBQkxFICAgICAiTmUgZGlzcG9uZWJsYTsgIgoJUEQzMl9QUklOVEVSX1NUQVRVU19XQUlUSU5HICAgICAgICAgICAiQXRlbmRhbmRvOyAiCglQRDMyX1BSSU5URVJfU1RBVFVTX1BST0NFU1NJTkcgICAgICAgICJQcm9jZXpvOyAiCglQRDMyX1BSSU5URVJfU1RBVFVTX0lOSVRJQUxJWklORyAgICAgICJQcmVwYXJhZG87ICIKCVBEMzJfUFJJTlRFUl9TVEFUVVNfV0FSTUlOR19VUCAgICAgICAgIlZhcm1pZ28gZGUgbGEgcHJpbnRpbG87ICIKCVBEMzJfUFJJTlRFUl9TVEFUVVNfVE9ORVJfTE9XICAgICAgICAgIktzZXJvcHJpbnRpbGEgbml2ZWxvIGVzdGFzIGJhc2E7ICIKCVBEMzJfUFJJTlRFUl9TVEFUVVNfTk9fVE9ORVIgICAgICAgICAgIk5lbml1IGtzZXJvcHJpbnRpbG87ICIKCVBEMzJfUFJJTlRFUl9TVEFUVVNfUEFHRV9QVU5UICAgICAgICAgIlBh+GEgJ3B1bnQnOyAiCglQRDMyX1BSSU5URVJfU1RBVFVTX1VTRVJfSU5URVJWRU5USU9OICJJbnRlcnJvbXBpdGEgZmFyIHV6YW50bzsgIgoJUEQzMl9QUklOVEVSX1NUQVRVU19PVVRfT0ZfTUVNT1JZICAgICAiRWzmZXJwaXRhIG1lbW9ybzsgIgoJUEQzMl9QUklOVEVSX1NUQVRVU19ET09SX09QRU4gICAgICAgICAiTGEgcHJpbnRpbGEgcG9yZG8gZXN0YXMgbWFsZmVybWl0YTsgIgoJUEQzMl9QUklOVEVSX1NUQVRVU19TRVJWRVJfVU5LTk9XTiAgICAiTmVrb25hdGEgcHJlcy1zZXJ2YW50bzsgIgoJUEQzMl9QUklOVEVSX1NUQVRVU19QT1dFUl9TQVZFICAgICAgICAiRW5lcmdp/nBhcmU7ICIKfQoKU1RSSU5HVEFCTEUgLyogQ29sb3IgbmFtZXMgKi8KewoJSURTX0NPTE9SX0JMQUNLICAgICAiTmlncm8iCglJRFNfQ09MT1JfTUFST09OICAgICJEdW9ucnX4YnJ1bmEga29sb3JvIgoJSURTX0NPTE9SX0dSRUVOICAgICAiVmVyZG8iCglJRFNfQ09MT1JfT0xJVkUgICAgICJPbGl2dmVyZG8iCglJRFNfQ09MT1JfTkFWWSAgICAgICJVbHRyYW1hcmEgYmx1byIKCUlEU19DT0xPUl9QVVJQTEUgICAgIlB1cnB1cnJ1+G8iCglJRFNfQ09MT1JfVEVBTCAgICAgICJLcmVrYSBrb2xvcm8iCglJRFNfQ09MT1JfR1JBWSAgICAgICJHcml6byIKCUlEU19DT0xPUl9TSUxWRVIgICAgIkFy+GVudG8iCglJRFNfQ09MT1JfUkVEICAgICAgICJSdfhvIgoJSURTX0NPTE9SX0xJTUUgICAgICAiTGltZXRhIGtvbG9ybyIKCUlEU19DT0xPUl9ZRUxMT1cgICAgIkZsYXZvIgoJSURTX0NPTE9SX0JMVUUgICAgICAiQmx1byIKCUlEU19DT0xPUl9GVUNIU0lBICAgIkZ1a3NpYSBrb2xvcm8iCglJRFNfQ09MT1JfQVFVQSAgICAgICJBa3ZvIgoJSURTX0NPTE9SX1dISVRFICAgICAiQmxhbmtvIgp9CgpTVFJJTkdUQUJMRQp7CglJRFNfRk9OVF9TSVpFICAgIkVsZWt0dSB0aXBhcmFuIGdyYW5kZWN2YWxvcm9uIGludGVyICVkIGthaiAlZCBwdW5rdG9qLiIKCUlEU19TQVZFX0JVVFRPTiAiS29uJnNlcnZ1IgoJSURTX1NBVkVfSU4gICAgICJLb25zZXJ2dSAmZW46IgoJSURTX1NBVkUgICAgICAgICJLb25zZXJ2dSIKCUlEU19TQVZFX0FTICAgICAiS29uc2VydnUga2llbCIKCUlEU19PUEVOX0ZJTEUgICAiTWFsZmVybXUgRG9zaWVyb24iCn0K