LyoKICogQ29weXJpZ2h0IDIwMDAgU2ltZW4gWmFtZWNuaWsKICogQ29weXJpZ2h0IDIwMDggTeFyaW8gS2HobeFyIChrYXJpb0Bzem0uc2spCiAqCiAqIFRoaXMgbGlicmFyeSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IKICogbW9kaWZ5IGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIExlc3NlciBHZW5lcmFsIFB1YmxpYwogKiBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIKICogdmVyc2lvbiAyLjEgb2YgdGhlIExpY2Vuc2UsIG9yIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCiAqCiAqIFRoaXMgbGlicmFyeSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAogKiBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgogKiBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlIEdOVQogKiBMZXNzZXIgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgogKgogKiBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgTGVzc2VyIEdlbmVyYWwgUHVibGljCiAqIExpY2Vuc2UgYWxvbmcgd2l0aCB0aGlzIGxpYnJhcnk7IGlmIG5vdCwgd3JpdGUgdG8gdGhlIEZyZWUgU29mdHdhcmUKICogRm91bmRhdGlvbiwgSW5jLiwgNTEgRnJhbmtsaW4gU3QsIEZpZnRoIEZsb29yLCBCb3N0b24sIE1BIDAyMTEwLTEzMDEsIFVTQQogKi8KCiNpbmNsdWRlICJjZGxnLmgiCiNpbmNsdWRlICJmaWxlZGxnYnJvd3Nlci5oIgoKLyoKICogV0FSTklORzogRE8gTk9UIENIQU5HRSBUSEUgU0laRSBPRiBUSEUgU1RBTkRBUkQgRElBTE9HIFRFTVBMQVRFUy4KICovCgpMQU5HVUFHRSBMQU5HX1NMT1ZBSywgU1VCTEFOR19ERUZBVUxUCgovKiBTbG92YWsgc3RyaW5ncyBpbiBDUDEyNTAgKi8KCk9QRU5fRklMRSBESUFMT0cgMzYsIDI0LCAyNzUsIDEzNApTVFlMRSBEU19NT0RBTEZSQU1FIHwgV1NfUE9QVVAgfCBXU19DQVBUSU9OIHwgV1NfU1lTTUVOVQpDQVBUSU9OICJPdHZvcmmdIgpGT05UIDgsICJNUyBTaGVsbCBEbGciCnsKIExURVhUICImTuF6b3Ygc/pib3J1OiIsIDEwOTAsIDYsIDYsIDc2LCA5CiBFRElUVEVYVCAxMTUyLCA2LCAxNiwgOTAsIDEyLCBFU19BVVRPSFNDUk9MTCB8IEVTX09FTUNPTlZFUlQgfCBXU19CT1JERVIgfCBXU19UQUJTVE9QCiBMSVNUQk9YIDExMjAsIDYsIDMyLCA5MCwgNjgsIExCU19TVEFOREFSRCB8IExCU19PV05FUkRSQVdGSVhFRCB8IExCU19IQVNTVFJJTkdTIHwgTEJTX0RJU0FCTEVOT1NDUk9MTCB8IFdTX1RBQlNUT1AKIExURVhUICImQWRyZXPhcmU6IiwgLTEsIDExMCwgNiwgOTIsIDkKIExURVhUICIiLCAxMDg4LCAxMTAsIDE4LCA5MiwgOSwgU1NfTk9QUkVGSVggfCBXU19HUk9VUAogTElTVEJPWCAxMTIxLCAxMTAsIDMyLCA5MiwgNjgsIExCU19TVEFOREFSRCB8IExCU19PV05FUkRSQVdGSVhFRCB8IExCU19IQVNTVFJJTkdTIHwgTEJTX0RJU0FCTEVOT1NDUk9MTCB8IFdTX1RBQlNUT1AKIExURVhUICImVHlwIHpvYnJhemVu/WNoIHP6Ym9yb3Y6IiwgMTA4OSwgNiwgMTA0LCA5MCwgOQogQ09NQk9CT1ggMTEzNiwgNiwgMTE0LCA5MCwgMzYsIENCU19EUk9QRE9XTkxJU1QgfCBDQlNfQVVUT0hTQ1JPTEwgfCBXU19CT1JERVIgfCBXU19WU0NST0xMIHwgV1NfVEFCU1RPUAogTFRFWFQgIiZEaXNrb3bpIGplZG5vdGt5OiIsIDEwOTEsIDExMCwgMTA0LCA5MiwgOQogQ09NQk9CT1ggMTEzNywgMTEwLCAxMTQsIDkyLCA2OCwgQ0JTX0RST1BET1dOTElTVCB8IENCU19PV05FUkRSQVdGSVhFRCB8IENCU19BVVRPSFNDUk9MTCB8IENCU19TT1JUIHwgQ0JTX0hBU1NUUklOR1MgfCBXU19CT1JERVIgfCBXU19WU0NST0xMIHwgV1NfVEFCU1RPUAogREVGUFVTSEJVVFRPTiAiT3R2b3JpnSIsIElET0ssIDIwOCwgNiwgNTYsIDE0LCBCU19ERUZQVVNIQlVUVE9OIHwgV1NfR1JPVVAgfCBXU19UQUJTVE9QCiBQVVNIQlVUVE9OICJacnWaaZ0iLCBJRENBTkNFTCwgMjA4LCAyNCwgNTYsIDE0LCBXU19HUk9VUCB8IFdTX1RBQlNUT1AKIFBVU0hCVVRUT04gIiZQb21vYyIsIDEwMzgsIDIwOCwgNDYsIDU2LCAxNCwgV1NfR1JPVVAgfCBXU19UQUJTVE9QCiBDSEVDS0JPWCAiJkxlbiBuYSDo7XRhbmllIiwgMTA0MCwgMjA4LCA2OCwgNTAsIDEyLCBCU19BVVRPQ0hFQ0tCT1ggfCBXU19HUk9VUCB8IFdTX1RBQlNUT1AKfQoKClNBVkVfRklMRSBESUFMT0cgMzYsIDI0LCAyNzUsIDEzNApTVFlMRSBEU19NT0RBTEZSQU1FIHwgV1NfUE9QVVAgfCBXU19DQVBUSU9OIHwgV1NfU1lTTUVOVQpDQVBUSU9OICJVbG+eaZ0gYWtvLi4uIgpGT05UIDgsICJNUyBTaGVsbCBEbGciCnsKIExURVhUICImTuF6b3Ygc/pib3J1OiIsIDEwOTAsIDYsIDYsIDc2LCA5CiBFRElUVEVYVCAxMTUyLCA2LCAxNiwgOTAsIDEyLCBFU19BVVRPSFNDUk9MTCB8IEVTX09FTUNPTlZFUlQgfCBXU19CT1JERVIgfCBXU19UQUJTVE9QCiBMSVNUQk9YIDExMjAsIDYsIDMyLCA5MCwgNjgsIExCU19TVEFOREFSRCB8IExCU19PV05FUkRSQVdGSVhFRCB8IExCU19IQVNTVFJJTkdTIHwgTEJTX0RJU0FCTEVOT1NDUk9MTCB8IFdTX1RBQlNUT1AKIExURVhUICImQWRyZXPhcmU6IiwgLTEsIDExMCwgNiwgOTIsIDkKIExURVhUICIiLCAxMDg4LCAxMTAsIDE4LCA5MiwgOSwgU1NfTk9QUkVGSVggfCBXU19HUk9VUAogTElTVEJPWCAxMTIxLCAxMTAsIDMyLCA5MiwgNjgsIExCU19TVEFOREFSRCB8IExCU19PV05FUkRSQVdGSVhFRCB8IExCU19IQVNTVFJJTkdTIHwgTEJTX0RJU0FCTEVOT1NDUk9MTCB8IFdTX1RBQlNUT1AKIExURVhUICImVHlwIHpvYnJhemVu/WNoIHP6Ym9yb3Y6IiwgMTA4OSwgNiwgMTA0LCA5MCwgOQogQ09NQk9CT1ggMTEzNiwgNiwgMTE0LCA5MCwgMzYsIENCU19EUk9QRE9XTkxJU1QgfCBDQlNfQVVUT0hTQ1JPTEwgfCBXU19CT1JERVIgfCBXU19WU0NST0xMIHwgV1NfVEFCU1RPUAogTFRFWFQgIiZEaXNrb3bpIGplZG5vdGt5OiIsIDEwOTEsIDExMCwgMTA0LCA5MiwgOQogQ09NQk9CT1ggMTEzNywgMTEwLCAxMTQsIDkyLCA2OCwgQ0JTX0RST1BET1dOTElTVCB8IENCU19PV05FUkRSQVdGSVhFRCB8IENCU19BVVRPSFNDUk9MTCB8IENCU19TT1JUIHwgQ0JTX0hBU1NUUklOR1MgfCBXU19CT1JERVIgfCBXU19WU0NST0xMIHwgV1NfVEFCU1RPUAogREVGUFVTSEJVVFRPTiAiVWxvnmmdIGFrbyIsIDEsIDIwOCwgNiwgNTYsIDE0LCBCU19ERUZQVVNIQlVUVE9OIHwgV1NfR1JPVVAgfCBXU19UQUJTVE9QCiBQVVNIQlVUVE9OICJacnWaaZ0iLCBJRENBTkNFTCwgMjA4LCAyNCwgNTYsIDE0LCBXU19HUk9VUCB8IFdTX1RBQlNUT1AKIFBVU0hCVVRUT04gIiZQb21vYyIsIDEwMzgsIDIwOCwgNDYsIDU2LCAxNCwgV1NfR1JPVVAgfCBXU19UQUJTVE9QCiBDSEVDS0JPWCAiJkxlbiBuYSDo7XRhbmllIiwgMTA0MCwgMjA4LCA2OCwgNTAsIDEyLCBCU19BVVRPQ0hFQ0tCT1ggfCBXU19HUk9VUCB8IFdTX1RBQlNUT1AKfQoKClBSSU5UIERJQUxPRyAzNiwgMjQsIDI2NCwgMTM0ClNUWUxFIERTX01PREFMRlJBTUUgfCBXU19QT1BVUCB8IFdTX0NBUFRJT04gfCBXU19TWVNNRU5VCkNBUFRJT04gIlRsYegiCkZPTlQgOCwgIk1TIFNoZWxsIERsZyIKewogTFRFWFQgIlRsYehpYXJl8joiLCAxMDg4LCA2LCA2LCA0MCwgOQogTFRFWFQgIiIsIDEwODksIDYwLCA2LCAxNTAsIDkKIEdST1VQQk9YICJSb3pzYWggdGxh6GUiLCAxMDcyLCA2LCAzMCwgMTYwLCA2NSwgQlNfR1JPVVBCT1gKIFJBRElPQlVUVE9OICJWeXRsYehpnSAmdppldGtvIiwgMTA1NiwgMTYsIDQ1LCA2MCwgMTIKIFJBRElPQlVUVE9OICJWeXRsYehpnSB2/SZiZXIiLCAxMDU3LCAxNiwgNjAsIDYwLCAxMgogUkFESU9CVVRUT04gIlZ5dGxh6GmdICZ6YWRhbukgc3RyYW55IiwgMTA1OCwgMTYsIDc1LCA2MCwgMTIKIERFRlBVU0hCVVRUT04gIlRsYegiLCBJRE9LLCAyMDYsIDYsIDU2LCAxNCwgQlNfREVGUFVTSEJVVFRPTiB8IFdTX0dST1VQIHwgV1NfVEFCU1RPUAogUFVTSEJVVFRPTiAiWnJ1mmmdIiwgSURDQU5DRUwsIDIwNiwgMjQsIDU2LCAxNCwgV1NfR1JPVVAgfCBXU19UQUJTVE9QCiBQVVNIQlVUVE9OICImTmFzdGF2aZ0uLi4iLCAxMDI0LCAyMDYsIDQ2LCA1NiwgMTQsIFdTX0dST1VQIHwgV1NfVEFCU1RPUAogTFRFWFQgIiZPZDoiLCAxMDkwLCA2MCwgODAsIDMwLCA5CiBMVEVYVCAiJkRvOiIsIDEwOTEsIDEyMCwgODAsIDMwLCA5CiBMVEVYVCAiJkt2YWxpdGEgdGxh6GU6IiwgMTA5MiwgNiwgMTAwLCA3NiwgOQogQ09NQk9CT1ggMTEzNiwgODAsIDEwMCwgOTIsIDY4LCBDQlNfRFJPUERPV05MSVNUIHwgQ0JTX09XTkVSRFJBV0ZJWEVEIHwgQ0JTX0FVVE9IU0NST0xMIHwgQ0JTX1NPUlQgfCBDQlNfSEFTU1RSSU5HUyB8IFdTX0JPUkRFUiB8IFdTX1ZTQ1JPTEwgfCBXU19UQUJTVE9QCiBDSEVDS0JPWCAiVGxh6GmdIGRvICZz+mJvcnUiLCAxMDQwLCAyMCwgMTAwLCA1MCwgMTIsIEJTX0FVVE9DSEVDS0JPWCB8IFdTX0dST1VQIHwgV1NfVEFCU1RPUAogQ0hFQ0tCT1ggIktvbmRlbnpvdmFu6SIsIDEwNDEsIDE2MCwgMTAwLCA1MCwgMTIsIEJTX0FVVE9DSEVDS0JPWCB8IFdTX0dST1VQIHwgV1NfVEFCU1RPUAp9CgoKUFJJTlRfU0VUVVAgRElBTE9HIDM2LCAyNCwgMjY0LCAxMzQKU1RZTEUgRFNfTU9EQUxGUkFNRSB8IFdTX1BPUFVQIHwgV1NfQ0FQVElPTiB8IFdTX1NZU01FTlUKQ0FQVElPTiAiTmFzdGF2ZW5pZSBzcPRzb2J1IHRsYehlIgpGT05UIDgsICJNUyBTaGVsbCBEbGciCnsKIEdST1VQQk9YICJUbGHoaWFyZfIiLCAxMDcyLCA2LCAxMCwgMTgwLCA2NSwgQlNfR1JPVVBCT1gKIFJBRElPQlVUVE9OICImUHJlZHZvbGVu4SB0bGHoaWFyZfIiLCAxMDU2LCAxNiwgMjAsIDgwLCAxMgogTFRFWFQgIlueaWFkbmFdIiwgMTA4OCwgMzUsIDM1LCAxMjAsIDkKIFJBRElPQlVUVE9OICKKcGVjaWZpY2vhICZ0bGHoaWFyZfIiLCAxMDU3LCAxNiwgNTAsIDgwLCAxMgogQ09NQk9CT1ggMTEzNiwgMzUsIDY1LCAxNDksIDY4LCBDQlNfRFJPUERPV05MSVNUIHwgQ0JTX09XTkVSRFJBV0ZJWEVEIHwgQ0JTX0FVVE9IU0NST0xMIHwgQ0JTX1NPUlQgfCBDQlNfSEFTU1RSSU5HUyB8IFdTX0JPUkRFUiB8IFdTX1ZTQ1JPTEwgfCBXU19UQUJTVE9QCiBERUZQVVNIQlVUVE9OICJPSyIsIElET0ssIDIwNiwgNiwgNTYsIDE0LCBCU19ERUZQVVNIQlVUVE9OIHwgV1NfR1JPVVAgfCBXU19UQUJTVE9QCiBQVVNIQlVUVE9OICJacnWaaZ0iLCBJRENBTkNFTCwgMjA2LCAyNCwgNTYsIDE0LCBXU19HUk9VUCB8IFdTX1RBQlNUT1AKIFBVU0hCVVRUT04gIs9hvpppJmUgdm++YnkuLi4iLCAxMDI0LCAyMDYsIDQ2LCA1NiwgMTQsIFdTX0dST1VQIHwgV1NfVEFCU1RPUAogR1JPVVBCT1ggIk9yaWVudOFjaWEiLCAxMDczLCA2LCA4NSwgMTAwLCA1MCwgQlNfR1JPVVBCT1gKIFJBRElPQlVUVE9OICJOYSAmdv2aa3UiLCAxMDU4LCA1MCwgMTAwLCA0MCwgMTIKIFJBRElPQlVUVE9OICJOYSCa7SZya3UiLCAxMDU5LCA1MCwgMTE1LCA0MCwgMTIKIElDT04gIkxBTkRTQ0FQIiwgMTA5NywgMTAsIDk1LCAzMiwgMzIKIElDT04gIlBPUlRSQUlUIiwgMTA5OCwgMTAsIDk1LCAzMiwgMzIKIEdST1VQQk9YICJQYXBpZXIiLCAxMDc0LCAxMjAsIDg1LCAxODAsIDUwLCBCU19HUk9VUEJPWAogTFRFWFQgIiZGb3Jt4XQiLCAxMDg5LCAxMzAsIDk1LCAzMCwgOQogTFRFWFQgIiZPZGtpYb4iLCAxMDkwLCAxMzAsIDExMCwgMzAsIDkKIENPTUJPQk9YIDExMzcsIDE1NSwgOTUsIDkyLCA2OCwgQ0JTX0RST1BET1dOTElTVCB8IENCU19PV05FUkRSQVdGSVhFRCB8IENCU19BVVRPSFNDUk9MTCB8IENCU19TT1JUIHwgQ0JTX0hBU1NUUklOR1MgfCBXU19CT1JERVIgfCBXU19WU0NST0xMIHwgV1NfVEFCU1RPUAogQ09NQk9CT1ggMTEzOCwgMTU1LCAxMTAsIDkyLCA2OCwgQ0JTX0RST1BET1dOTElTVCB8IENCU19PV05FUkRSQVdGSVhFRCB8IENCU19BVVRPSFNDUk9MTCB8IENCU19TT1JUIHwgQ0JTX0hBU1NUUklOR1MgfCBXU19CT1JERVIgfCBXU19WU0NST0xMIHwgV1NfVEFCU1RPUAp9CgoKQ0hPT1NFX0ZPTlQgRElBTE9HICAxMywgNTQsIDI2NCwgMTQ3ClNUWUxFIERTX01PREFMRlJBTUUgfCBXU19QT1BVUCB8IFdTX0NBUFRJT04gfCBXU19TWVNNRU5VCkNBUFRJT04gIlDtc21vIgpGT05UIDgsICJNUyBTaGVsbCBEbGciCnsKICAgIExURVhUICAgICAgICAgICAiJlDtc21vOiIsMTA4OCAsNiwzLDQwLDkKICAgIENPTUJPQk9YICAgICAgICAxMTM2ICw2LDEzLDk0LDU0LCAgQ0JTX09XTkVSRFJBV0ZJWEVEIHwgQ0JTX0hBU1NUUklOR1MgfCBDQlNfRElTQUJMRU5PU0NST0xMIHwKICAgICAgICAgICAgICAgICAgICBDQlNfQVVUT0hTQ1JPTEwgfCBDQlNfU09SVCB8IFdTX1ZTQ1JPTEwgfCBXU19UQUJTVE9QIHwgQ0JTX1NJTVBMRQogICAgTFRFWFQgICAgICAgICAgICKKJnT9bCBw7XNtYToiLDEwODkgLDEwOCwzLDQ0LDkKICAgIENPTUJPQk9YICAgICAgICAxMTM3LDEwOCwxMyw2NCw1NCwgQ0JTX09XTkVSRFJBV0ZJWEVEIHwgQ0JTX0hBU1NUUklOR1MgfCBDQlNfRElTQUJMRU5PU0NST0xMIHwKICAgICAgICAgICAgICAgICAgICBXU19WU0NST0xMIHwgV1NfVEFCU1RPUCB8IENCU19TSU1QTEUKICAgIExURVhUICAgICAgICAgICAiJlZlvmtvc506IiwxMDkwLDE3OSwzLDMwLDkKICAgIENPTUJPQk9YICAgICAgICAxMTM4LDE3OSwxMywzMiw1NCwgQ0JTX09XTkVSRFJBV0ZJWEVEIHwgQ0JTX0hBU1NUUklOR1MgfCBDQlNfRElTQUJMRU5PU0NST0xMIHwKICAgICAgICAgICAgICAgICAgICBXU19WU0NST0xMIHwgV1NfVEFCU1RPUCB8IENCU19TSU1QTEUgfCBDQlNfU09SVAogICAgREVGUFVTSEJVVFRPTiAgICJPSyIsSURPSywyMTgsNiw0MCwxNCwgV1NfR1JPVVAgfCBXU19UQUJTVE9QIHwgQlNfREVGUFVTSEJVVFRPTgogICAgUFVTSEJVVFRPTiAgICAgICJacnWaaZ0iLElEQ0FOQ0VMLDIxOCwyMyw0MCwxNCxXU19HUk9VUCB8IFdTX1RBQlNUT1AKICAgIFBVU0hCVVRUT04gICAgICAiJkFwbGlrb3ZhnSIsIDEwMjYsMjE4LDQwLDQwLDE0LFdTX0dST1VQIHwgV1NfVEFCU1RPUAogICAgUFVTSEJVVFRPTiAgICAgICImUG9tb2MiICwgMTAzOCwyMTgsNTcsNDAsMTQsV1NfR1JPVVAgfCBXU19UQUJTVE9QCiAgICBHUk9VUEJPWCAgICAgICAgIkVmZWt0eSIsMTA3Miw2LDcyLDg0LDM0LFdTX0dST1VQCiAgICBDSEVDS0JPWAkgICAgIlAmcmXoaWFya251dOkiLCAxMDQwLCAxMCw4Miw1MCwxMCwgQlNfQVVUT0NIRUNLQk9YIHwgV1NfVEFCU1RPUAogICAgQ0hFQ0tCT1ggCSAgICAiJlBvZOhpYXJrbnV06SIsIDEwNDEsIDEwLDk0LDUwLDEwLCBCU19BVVRPQ0hFQ0tCT1gKICAgIExURVhUICAgICAgICAgICAiJkZhcmJhOiIsIDEwOTEgLDYsMTEwLDMwLDkKICAgIENPTUJPQk9YICAgICAgICAxMTM5LDYsMTIwLDg0LDEwMCxDQlNfRFJPUERPV05MSVNUIHwgQ0JTX09XTkVSRFJBV0ZJWEVEIHwgQ0JTX0hBU1NUUklOR1MgfAoJCSAgICBDQlNfQVVUT0hTQ1JPTEwgfCAgV1NfQk9SREVSIHwgV1NfVlNDUk9MTCB8IFdTX1RBQlNUT1AKICAgIEdST1VQQk9YICAgICAgICAiVnpvcmthIixncnAyLDk4LDcyLDEyMCwzNixXU19HUk9VUAogICAgQ1RFWFQgICAgICAgICAgICJBYUJiWXlaeiIsc3RjNSwxMDMsODAsMTA5LDI0LFNTX05PUFJFRklYIHwgTk9UIFdTX1ZJU0lCTEUKICAgIExURVhUICAgICAgICAgICAiU2NyJmlwdDoiLHN0YzcgLDk4LDExNCw0MCw5CiAgICBDT01CT0JPWCAgICAgICAgY21iNSw5OCwxMjQsMTIwLDkwLENCU19EUk9QRE9XTkxJU1QgfCBDQlNfSEFTU1RSSU5HUyB8CgkJICAgIENCU19BVVRPSFNDUk9MTCB8ICAgV1NfVlNDUk9MTCB8IFdTX1RBQlNUT1AKfQoKCkNIT09TRV9DT0xPUiBESUFMT0cgMzYsIDI0LCAzMDAsIDE4NQpTVFlMRSBEU19NT0RBTEZSQU1FIHwgV1NfUE9QVVAgfCBXU19DQVBUSU9OIHwgV1NfU1lTTUVOVQpDQVBUSU9OICJGYXJieSIKRk9OVCA4LCAiTVMgU2hlbGwgRGxnIgp7CiBMVEVYVCAiWuFrbGFkbukgJmZhcmJ5OiIsICAgMTA4OCwgNCwgICAgNCwgIDE0MCwgMTAKIExURVhUICImVmxhc3Ru6SBmYXJieToiLCAgMTA4OSwgNCwgICAxMDYsIDE0MCwgMTAKIExURVhUICJGYXJiYSB8IFBsJm7hIiwgIDEwOTAsIDE1MCwgMTUxLCAgNDgsIDEwCiBMVEVYVCAgICLIZSZydmVu4ToiLCA3MjYgLyoxMDk0Ki8sMjQ5LDEyNiwyNCwxMAogRURJVFRFWFQgNzA2LCAyNzUsMTI0LDIxLDEyLCBXU19CT1JERVIgfCBXU19HUk9VUCB8IFdTX1RBQlNUT1AKIExURVhUICAgIiZaZWxlbuE6Iiw3MjcvKjEwOTUqLywyNDksMTQwLDI0LDEwCiBFRElUVEVYVCA3MDcsIDI3NSwxMzgsMjEsMTIsIFdTX0JPUkRFUiB8IFdTX0dST1VQIHwgV1NfVEFCU1RPUAogTFRFWFQgICAiJk1vZHLhOiIsNzI4IC8qMTA5NiovLDI0OSwxNTQsMjQsMTAKIEVESVRURVhUIDcwOCwgMjc1LDE1MiwyMSwxMiwgV1NfQk9SREVSIHwgV1NfR1JPVVAgfCBXU19UQUJTVE9QCiBMVEVYVCAgIk9kJnRpZfI6IiAsNzIzIC8qMTA5MSovLDIwMiwxMjYsMjIsMTAKIEVESVRURVhUIDcwMywgMjI2LDEyNCwyMSwxMiwgV1NfQk9SREVSIHwgV1NfR1JPVVAgfCBXU19UQUJTVE9QCiBMVEVYVCAgIiZT/XRvc506IiAsNzI0IC8qMTA5MiovLDIwMiwxNDAsMjIsMTAKIEVESVRURVhUIDcwNCwgMjI2LDEzOCwyMSwxMiwgV1NfQk9SREVSIHwgV1NfR1JPVVAgfCBXU19UQUJTVE9QCiBMVEVYVCAgIiZKYXM6IiAsNzI1IC8qMTA5MyovLDIwMiwxNTQsMjIsMTAKIEVESVRURVhUIDcwNSwgMjI2LDE1MiwyMSwxMiwgV1NfQk9SREVSIHwgV1NfR1JPVVAgfCBXU19UQUJTVE9QCiBDT05UUk9MICIiICw3MjAsIlNUQVRJQyIsU1NfU0lNUExFfFdTX1RBQlNUT1B8V1NfR1JPVVAsNCwxNCwxNDAsODYKIENPTlRST0wgIiIgLDcyMSwiU1RBVElDIixTU19TSU1QTEV8V1NfVEFCU1RPUHxXU19HUk9VUCw0LDExNiwxNDAsMjgKIENPTlRST0wgIiIgLDcxMCwiU1RBVElDIixXU19CT1JERVJ8U1NfU0lNUExFfFdTX1RBQlNUT1B8V1NfR1JPVVAsIDE1Miw0LDExOCwxMTYKIENPTlRST0wgIiIgLDcwMiwiU1RBVElDIixTU19TSU1QTEV8V1NfVEFCU1RPUHxXU19HUk9VUCwgMjc4LDQsOCwxMTYKIENPTlRST0wgIiIgLDcwOSwiU1RBVElDIixTU19TSU1QTEV8V1NfVEFCU1RPUHxXU19HUk9VUCwgMTUyLDEyNCw0MCwyNgogREVGUFVTSEJVVFRPTiAiT0siLCAgMSwgIDQsIDE2NiwgNDQsIDE0LCBCU19ERUZQVVNIQlVUVE9OIHwgV1NfR1JPVVAgfCBXU19UQUJTVE9QCiBQVVNIQlVUVE9OICJacnWaaZ0iLCAyLCA1MiwgMTY2LCA0NCwgMTQsIFdTX0dST1VQIHwgV1NfVEFCU1RPUAogUFVTSEJVVFRPTiAiUG9tb2MiLCAxMDM4LDEwMCwxNjYsIDQ0LCAxNAogUFVTSEJVVFRPTiAiUHJpZCZhnSBtZWR6aSB2bGFzdG7pIGZhcmJ5IiwgICAgNzEyLyoxMDI0Ki8sIDE1MiwgMTY2LCAxNDIsIDE0LCBXU19HUk9VUCB8IFdTX1RBQlNUT1AKIFBVU0hCVVRUT04gIiZEZWZpbm92YZ0gdmxhc3Ru6SBmYXJieSA+PiIsIDcxOS8qMTAyNSovLCAgIDQsIDE1MCwgMTQyLCAxNCwgV1NfR1JPVVAgfCBXU19UQUJTVE9QCiBQVVNIQlVUVE9OICAiJmkiLDcxMywzMDAsMjAwLDQsMTQgICAvKiBqdXN0IGEgZHVtbXk6ICAnaScgaXMgIGxpa2UgICZpICBpbiAic29sJmlkIiAgKi8KfQoKCkZJTkRETEdPUkQgRElBTE9HIDM2LCAyNCwgMjM2LCA2MgpTVFlMRSBEU19NT0RBTEZSQU1FIHwgV1NfUE9QVVAgfCBXU19DQVBUSU9OIHwgV1NfU1lTTUVOVQpDQVBUSU9OICJIvmFkYW5pZSIKRk9OVCA4LCAiTVMgU2hlbGwgRGxnIgp7CiBMVEVYVCAiJk7hanOdOiIsIC0xLCA0LCA4LCA0MiwgOAogRURJVFRFWFQgMTE1MiwgNDcsIDcsIDEyOCwgMTIsIEVTX0FVVE9IU0NST0xMIHwgV1NfQk9SREVSIHwgV1NfR1JPVVAgfCBXU19UQUJTVE9QCiBDSEVDS0JPWCAiTGVuICZjZWzpIHNsb3bhIiwgMTA0MCwgNCwgMjYsIDEwMCwgMTIsIEJTX0FVVE9DSEVDS0JPWCB8IFdTX0dST1VQIHwgV1NfVEFCU1RPUAogQ0hFQ0tCT1ggIiZSb3psaZpvdmGdIG1hbOkgYSB2Zb5r6SBw7XNtZW7hIiwgMTA0MSwgNCwgNDIsIDY0LCAxMiwgQlNfQVVUT0NIRUNLQk9YIHwgV1NfVEFCU1RPUAogR1JPVVBCT1ggIlNtZXIiLCAxMDcyLCAxMDcsIDI2LCA2OCwgMjgKIENPTlRST0wgIkgmb3JlIiwgMTA1NiwgIkJVVFRPTiIsIEJTX0FVVE9SQURJT0JVVFRPTiB8IFdTX0NISUxEIHwgV1NfVklTSUJMRSB8IFdTX0dST1VQIHwgV1NfVEFCU1RPUCwgMTExLCAzOCwgMjAsIDEyCiBDT05UUk9MICImRG9sZSIsIDEwNTcsICJCVVRUT04iLCBCU19BVVRPUkFESU9CVVRUT04gfCBXU19DSElMRCB8IFdTX1ZJU0lCTEUgfCBXU19UQUJTVE9QLCAxMzgsIDM4LCAzMCwgMTIKCiBERUZQVVNIQlVUVE9OICJO4WpznSDvJmFsmmllIiwgSURPSywgMTgyLCA1LCA1MCwgMTQsIFdTX0dST1VQIHwgV1NfVEFCU1RPUAogUFVTSEJVVFRPTiAiWmF2cmllnSIsIElEQ0FOQ0VMLCAxODIsIDIzLCA1MCwgMTQsIFdTX0dST1VQIHwgV1NfVEFCU1RPUAogUFVTSEJVVFRPTiAiJlBvbW9jIiwgMTAzOCwgMTgyLCA0NSwgNTAsIDE0LCBXU19HUk9VUCB8IFdTX1RBQlNUT1AKfQoKClJFUExBQ0VETEdPUkQgRElBTE9HIDM2LCAyNCwgMjMwLCA5NApTVFlMRSBEU19NT0RBTEZSQU1FIHwgV1NfUE9QVVAgfCBXU19DQVBUSU9OIHwgV1NfU1lTTUVOVQpDQVBUSU9OICJa4W1lbmEiCkZPTlQgOCwgIk1TIFNoZWxsIERsZyIKewogTFRFWFQgIiZO4WpznToiLCAtMSwgNCwgOSwgNDgsIDgKIEVESVRURVhUIDExNTIsIDU0LCA3LCAxMTQsIDEyLCBFU19BVVRPSFNDUk9MTCB8IFdTX0JPUkRFUiB8IFdTX0dST1VQIHwgV1NfVEFCU1RPUAogTFRFWFQgIiZaYW1lbmmdIHphOiIsIC0xLCA0LCAyNiwgNDgsIDgKIEVESVRURVhUIDExNTMsIDU0LCAyNCwgMTE0LCAxMiwgRVNfQVVUT0hTQ1JPTEwgfCBXU19CT1JERVIgfCBXU19HUk9VUCB8IFdTX1RBQlNUT1AKIENIRUNLQk9YICJMZW4gJmNlbOkgc2xvduEiLCAxMDQwLCA1LCA0NiwgMTA0LCAxMiwgQlNfQVVUT0NIRUNLQk9YIHwgV1NfR1JPVVAgfCBXU19UQUJTVE9QCiBDSEVDS0JPWCAiJlJvemxpmm92YZ0gbWFs6SBhIHZlvmvpIHDtc21lbuEiLCAxMDQxLCA1LCA2MiwgNTksIDEyLCBCU19BVVRPQ0hFQ0tCT1ggfCBXU19UQUJTVE9QCgogREVGUFVTSEJVVFRPTiAiTuFqc50g7yZhbJppZSIsIDEsIDE3NCwgNCwgNTAsIDE0LCBCU19ERUZQVVNIQlVUVE9OIHwgV1NfR1JPVVAgfCBXU19UQUJTVE9QCiBQVVNIQlVUVE9OICJaYSZtZW5pnSIsIDEwMjQsIDE3NCwgMjEsIDUwLCAxNCwgV1NfR1JPVVAgfCBXU19UQUJTVE9QCiBQVVNIQlVUVE9OICJaYW1lbmmdIHZvIHb9JmJlcmUiLCAxMDI1LCAxNzQsIDM4LCA1MCwgMTQsIFdTX0dST1VQIHwgV1NfVEFCU1RPUAogUFVTSEJVVFRPTiAiWmF2cmllnSIsIDIsIDE3NCwgNTUsIDUwLCAxNCwgV1NfR1JPVVAgfCBXU19UQUJTVE9QCiBQVVNIQlVUVE9OICImUG9tb2MiLCAxMDM4LCAxNzQsIDc1LCA1MCwgMTQsIFdTX0dST1VQIHwgV1NfVEFCU1RPUAp9CgoKUFJJTlQzMiBESUFMT0cgIDMyLCAzMiwgMjg4LCAxODYKU1RZTEUgRFNfTU9EQUxGUkFNRSB8IFdTX1BPUFVQIHwgV1NfVklTSUJMRSB8IFdTX0NBUFRJT04gfCBXU19TWVNNRU5VIHwKICAgICAgRFNfQ09OVEVYVEhFTFAgfCBEU18zRExPT0sKQ0FQVElPTiAiVGxh6CIKRk9OVCA4LCAiTVMgU2hlbGwgRGxnIgp7CiAgICBERUZQVVNIQlVUVE9OICAgIk9LIiwgICAgIElET0ssICAgICAxODAsMTY0LCA0OCwxNCwgV1NfR1JPVVAgfCBCU19ERUZQVVNIQlVUVE9OCiAgICBQVVNIQlVUVE9OICAgICAgIlpydZppnSIsIElEQ0FOQ0VMLCAyMzIsMTY0LCA0OCwxNCwgV1NfR1JPVVAKICAgIFBVU0hCVVRUT04gICAgICAiJlBvbW9jIiwgIHBzaEhlbHAsICA1MCwgMTYxLCA0OCwxNCwgV1NfR1JPVVAKCiAgICBHUk9VUEJPWCAgICAgICAgIlRsYehpYXJl8iIsICAgICAgICBncnA0LCAgIDgsICA0LCAyNzIsODQsIFdTX0dST1VQCiAgICBDT05UUk9MICAgICAgICAgInRsYehpnSBkbyAmc/pib3J1IiwgY2h4MSwgIkJ1dHRvbiIsQlNfQVVUT0NIRUNLQk9YIHwgV1NfR1JPVVAgfCBXU19UQUJTVE9QLDIxMiw3MCw2NCwxMgogICAgUFVTSEJVVFRPTiAgICAgICImVmxhc3Rub3N0aSIsICAgIHBzaDIsIDIxMiwgMTcsICA2MCwxNCwgV1NfR1JPVVAKICAgIExURVhUICAgICAgICAgICAiJk7hem92OiIsICAgICAgICAgc3RjNiwgIDE2LCAyMCwgIDM2LDgKICAgIENPTUJPQk9YICAgICAgICAgICAgICAgICAgICAgICAgICBjbWI0LCAgNTIsIDE4LCAxNTIsMTUyLENCU19EUk9QRE9XTkxJU1QgfCBDQlNfU09SVCB8IFdTX1ZTQ1JPTEwgfCBXU19HUk9VUCB8IFdTX1RBQlNUT1AKICAgIExURVhUICAgICAgICAgICAiU3RhdjoiLCAgICAgICAgc3RjOCwgIDE2LCAzNiwgIDM2LDEwLCBTU19OT1BSRUZJWAogICAgTFRFWFQgICAgICAgICAgICJEdW1teSBTdGF0ZSIsICAgIHN0YzEyLCA1MiwgMzYsIDIyNCwxMCwgU1NfTk9QUkVGSVggfCBTU19MRUZUTk9XT1JEV1JBUAogICAgTFRFWFQgICAgICAgICAgICJUeXA6IiwgICAgICAgICAgc3RjNywgIDE2LCA0OCwgIDM2LDEwLCBTU19OT1BSRUZJWAogICAgTFRFWFQgICAgICAgICAgICJEdW1teSBUeXAiLCAgICAgc3RjMTEsIDUyLCA0OCwgMjI0LDEwLCBTU19OT1BSRUZJWCB8IFNTX0xFRlROT1dPUkRXUkFQCiAgICBMVEVYVCAgICAgICAgICAgIkthbToiLCAgICAgICAgIHN0YzEwLCAxNiwgNjAsICAzNiwxMCwgU1NfTk9QUkVGSVgKICAgIExURVhUICAgICAgICAgICAiRHVtbXkgTG9jYXRpb24iLCBzdGMxNCwgNTIsIDYwLCAyMjQsMTAsIFNTX05PUFJFRklYIHwgU1NfTEVGVE5PV09SRFdSQVAKICAgIExURVhUICAgICAgICAgICAiS29tZW504XI6IiwgICAgICAgc3RjOSwgIDE2LCA3MiwgIDM2LDEwLCBTU19OT1BSRUZJWAogICAgTFRFWFQgICAgICAgICAgICJEdW1teSBSZW1hcmsiLCAgIHN0YzEzLCA1MiwgNzIsIDE1MiwxMCwgU1NfTk9QUkVGSVggfCBTU19MRUZUTk9XT1JEV1JBUAoKICAgIEdST1VQQk9YICAgICAgICAiS/NwaWUiLCAgICAgICAgIGdycDIsIDE2MCwgOTIsIDEyMCw2NCwgV1NfR1JPVVAKICAgIExURVhUICAgICAgICAgICAiUG/oZXQgJmvzcGntOiIsc3RjNSwxNjgsMTA4LDY4LDgKICAgIElDT04gICAgICAgICAgICAiIiwgICAgICAgICAgICAgICBpY28zLCAxNjIsMTI0LCAgNzYsMjQsIFdTX0dST1VQIHwgU1NfQ0VOVEVSSU1BR0UKICAgIENPTlRST0wgICAgICAgICAiQyZvbGxhdGUiLCAgICAgICBjaHgyLCJCdXR0b24iLEJTX0FVVE9DSEVDS0JPWCB8IFdTX0dST1VQIHwgV1NfVEFCU1RPUCwyNDAsMTMwLDM2LDEyCiAgICBFRElUVEVYVCAgICAgICAgICAgICAgICAgICAgICAgICAgZWR0MywgMjQwLDEwNiwgIDMyLDEyLCBXU19HUk9VUCB8IEVTX05VTUJFUgoKICAgIEdST1VQQk9YICAgICAgICAiUm96c2FoIHRsYehlIiwgICAgZ3JwMSwgICA4LDkyLCAgMTQ0LDY0LCBXU19HUk9VUAogICAgQ09OVFJPTCAgICAgICAgICImVppldGt5IiwgICAgICAgICAgIHJhZDEsIkJ1dHRvbiIsQlNfQVVUT1JBRElPQlVUVE9OIHwgV1NfR1JPVVAgfCBXU19UQUJTVE9QLDE2LDEwNiw2NCwxMgogICAgQ09OVFJPTCAgICAgICAgICJTdCZyYW55IiwgICAgICAgICByYWQzLCJCdXR0b24iLEJTX0FVVE9SQURJT0JVVFRPTiwxNiwxMjIsMzYsMTIKICAgIENPTlRST0wgICAgICAgICAiVv0mYmVyIiwgICAgIHJhZDIsIkJ1dHRvbiIsQlNfQVVUT1JBRElPQlVUVE9OLDE2LDEzOCw2NCwxMgogICAgRURJVFRFWFQgICAgICAgICAgICAgICAgICAgICAgICAgIGVkdDEsICA3NCwxMjIsICAyNiwxMiwgV1NfR1JPVVAgfCBFU19OVU1CRVIKICAgIEVESVRURVhUICAgICAgICAgICAgICAgICAgICAgICAgICBlZHQyLCAxMTgsMTIyLCAgMjYsMTIsIFdTX0dST1VQIHwgRVNfTlVNQkVSCiAgICBSVEVYVCAgICAgICAgICAgIiZvZDoiLCAgICAgICAgIHN0YzIsICA1MiwxMjQsICAyMCw4CiAgICBSVEVYVCAgICAgICAgICAgIiZkbzoiLCAgICAgICAgICAgc3RjMywgMTAwLDEyNCwgIDE2LDgKfQoKUFJJTlQzMl9TRVRVUCBESUFMT0cgIDMyLCAzMiwgMjg4LCAxNzgKU1RZTEUgRFNfTU9EQUxGUkFNRSB8IFdTX1BPUFVQIHwgV1NfVklTSUJMRSB8IFdTX0NBUFRJT04gfCBXU19TWVNNRU5VIHwKICAgICAgRFNfQ09OVEVYVEhFTFAgfCBEU18zRExPT0sKQ0FQVElPTiAiTmFzdGF2ZW5pZSB0bGHoZSIKRk9OVCA4LCAiTVMgU2hlbGwgRGxnIgpCRUdJTgogICAgREVGUFVTSEJVVFRPTiAgICJPSyIsSURPSywxODAsMTU2LDQ4LDE0LFdTX0dST1VQCiAgICBQVVNIQlVUVE9OICAgICAgIlpydZppnSIsSURDQU5DRUwsMjMyLDE1Niw0OCwxNAovKiAgICBQVVNIQlVUVE9OICAgICAgIlNpZZ0uLi4iLCBwc2g1LCAyODQsMTU2LDQ4LDE0ICovCgogICAgR1JPVVBCT1ggICAgICAgICJUbGHoaWFyZfIiLCAgICAgICAgZ3JwNCwgICA4LCAgNCwgMjcyLDg0LCBXU19HUk9VUAogICAgUFVTSEJVVFRPTiAgICAgICImVmxhc3Rub3N0aSIsICAgIHBzaDIsIDIxMiwgMTcsICA2MCwxNCwgV1NfR1JPVVAKICAgIExURVhUICAgICAgICAgICAiJk7hem92OiIsICAgICAgICAgc3RjNiwgIDE2LCAyMCwgIDM2LDgKICAgIENPTUJPQk9YICAgICAgICAgICAgICAgICAgICAgICAgICBjbWIxLCAgNTIsIDE4LCAxNTIsMTUyLENCU19EUk9QRE9XTkxJU1QgfCBDQlNfU09SVCB8IFdTX1ZTQ1JPTEwgfCBXU19HUk9VUCB8IFdTX1RBQlNUT1AKICAgIExURVhUICAgICAgICAgICAiU3RhdjoiLCAgICAgICAgc3RjOCwgIDE2LCAzNiwgIDM2LDEwLCBTU19OT1BSRUZJWAogICAgTFRFWFQgICAgICAgICAgICJEdW1teSBTdGF0ZSIsICAgIHN0YzEyLCA1MiwgMzYsIDIyNCwxMCwgU1NfTk9QUkVGSVggfCBTU19MRUZUTk9XT1JEV1JBUAogICAgTFRFWFQgICAgICAgICAgICJUeXA6IiwgICAgICAgICAgc3RjNywgIDE2LCA0OCwgIDM2LDEwLCBTU19OT1BSRUZJWAogICAgTFRFWFQgICAgICAgICAgICJEdW1teSBUeXBlIiwgICAgIHN0YzExLCA1MiwgNDgsIDIyNCwxMCwgU1NfTk9QUkVGSVggfCBTU19MRUZUTk9XT1JEV1JBUAogICAgTFRFWFQgICAgICAgICAgICJLYW06IiwgICAgICAgICBzdGMxMCwgMTYsIDYwLCAgMzYsMTAsIFNTX05PUFJFRklYCiAgICBMVEVYVCAgICAgICAgICAgIkR1bW15IExvY2F0aW9uIiwgc3RjMTQsIDUyLCA2MCwgMjI0LDEwLCBTU19OT1BSRUZJWCB8IFNTX0xFRlROT1dPUkRXUkFQCiAgICBMVEVYVCAgICAgICAgICAgIktvbWVudOFyOiIsICAgICAgIHN0YzksICAxNiwgNzIsICAzNiwxMCwgU1NfTk9QUkVGSVgKICAgIExURVhUICAgICAgICAgICAiRHVtbXkgUmVtYXJrIiwgICBzdGMxMywgNTIsIDcyLCAyMjQsMTAsIFNTX05PUFJFRklYIHwgU1NfTEVGVE5PV09SRFdSQVAKCiAgICBHUk9VUEJPWCAgICAgICAgIlBhcGllciIsICAgICAgICAgIGdycDIsICAgOCwgOTIsIDE2NCw1NiwgV1NfR1JPVVAKICAgIExURVhUICAgICAgICAgICAiJlZlvmtvc506IiwgICAgICAgICBzdGMyLCAgMTYsMTA4LCAgMzYsIDgKICAgIENPTUJPQk9YICAgICAgICAgICAgICAgICAgICAgICAgICBjbWIyLCAgNTIsMTA2LCAxMTIsMTEyLENCU19EUk9QRE9XTkxJU1QgfCBDQlNfU09SVCB8IFdTX1ZTQ1JPTEwgfCBXU19HUk9VUCB8IFdTX1RBQlNUT1AKICAgIExURVhUICAgICAgICAgICAiJlpkcm9qOiIsICAgICAgIHN0YzMsICAxNiwxMjgsICAzNiwgOAogICAgQ09NQk9CT1ggICAgICAgICAgICAgICAgICAgICAgICAgIGNtYjMsICA1MiwxMjYsIDExMiwxMTIsQ0JTX0RST1BET1dOTElTVCB8IENCU19TT1JUIHwgV1NfVlNDUk9MTCB8IFdTX0dST1VQIHwgV1NfVEFCU1RPUAoKICAgIEdST1VQQk9YICAgICAgICAiT3JpZW504WNpYSIsICAgIGdycDEsIDE4MCwgOTIsIDEwMCw1NiwgV1NfR1JPVVAKICAgIElDT04gICAgICAgICAgICAiIiwgICAgICAgICAgICAgICBpY28xLCAxOTUsMTEyLCAgMTgsMjAsIFdTX0dST1VQCiAgICBDT05UUk9MICAgICAgICAgIiZOYSB2/ZprdSIsICAgICAgcmFkMSwiQnV0dG9uIixCU19BVVRPUkFESU9CVVRUT04gfCBXU19HUk9VUCB8V1NfVEFCU1RPUCwyMjQsMTA2LDUyLDEyCiAgICBDT05UUk9MICAgICAgICAgIk5hIJrtJnJrdSIsICAgICByYWQyLCJCdXR0b24iLEJTX0FVVE9SQURJT0JVVFRPTiwyMjQsMTI2LDUyLDEyCkVORAoKUEFHRVNFVFVQRExHT1JEIERJQUxPRyAzMiwgMzIsIDI0MCwgMjQwClNUWUxFIERTX01PREFMRlJBTUUgfCBXU19QT1BVUCB8IFdTX1ZJU0lCTEUgfCBXU19DQVBUSU9OIHwgV1NfU1lTTUVOVQpDQVBUSU9OICJTZXR1cCBQYWdlIgpGT05UIDgsICJNUyBTaGVsbCBEbGciCkJFR0lOCiAgQ09OVFJPTCAiIiwgcmN0MSwgIlN0YXRpYyIsIFNTX1dISVRFUkVDVCwgODAsIDgsIDgwLCA4MAogIENPTlRST0wgIiIsIHJjdDIsICJTdGF0aWMiLCBTU19HUkFZUkVDVCwgMTYwLCAxMiwgNCwgODAKICBDT05UUk9MICIiLCByY3QzLCAiU3RhdGljIiwgU1NfR1JBWVJFQ1QsICA4NCwgODgsIDgwLCA0CiAgR1JPVVBCT1ggIlBhcGVyIiwgZ3JwMiwgOCwgOTYsIDIyNCwgNTYsIEJTX0dST1VQQk9YCiAgTFRFWFQgIiZTaXplOiIsIHN0YzIsIDE2LCAxMTIsIDM2LCA4CiAgQ09NQk9CT1ggY21iMiwgNjQsIDExMCwgMTYwLCAxNjAsIENCU19TSU1QTEV8Q0JTX0RST1BET1dOfENCU19TT1JUfFdTX0dST1VQfFdTX1RBQlNUT1B8V1NfVlNDUk9MTAogIExURVhUICImVHJheToiLCBzdGMzLCAxNiwgMTMyLCAzNiwgOAogIENPTUJPQk9YIGNtYjMsIDY0LCAxMzAsIDE2MCwgMTYwLCBDQlNfU0lNUExFfENCU19EUk9QRE9XTnxDQlNfU09SVHxXU19HUk9VUHxXU19UQUJTVE9QfFdTX1ZTQ1JPTEwKICBHUk9VUEJPWCAiT3JpZW50YXRpb24iLCBncnAxLCA4LCAxNTYsIDY0LCA1NiwgQlNfR1JPVVBCT1gKICBBVVRPUkFESU9CVVRUT04gIiZQb3J0cmFpdCIsIHJhZDEsIDE2LCAxNzAsIDUyLCAxMiwgQlNfQVVUT1JBRElPQlVUVE9OCiAgQVVUT1JBRElPQlVUVE9OICImTGFuZHNjYXBlIiwgcmFkMiwgMTYsIDE5MCwgNTIsIDEyLCBCU19BVVRPUkFESU9CVVRUT04KICBHUk9VUEJPWCAiQm9yZGVycyIsIGdycDQsIDgwLCAxNTYsIDE1MiwgNTYsIEJTX0dST1VQQk9YCiAgTFRFWFQgIkwmZWZ0OiIsIHN0YzE1LCA4OCwgMTcyLCAyMSwgOAogIEVESVRURVhUIGVkdDQsIDExMSwgMTcwLCAzOSwgMTIsIFdTX1RBQlNUT1B8V1NfR1JPVVB8V1NfQk9SREVSCiAgTFRFWFQgIiZSaWdodDoiLCBzdGMxNiwgMTU5LCAxNzIsIDI3LCA4CiAgRURJVFRFWFQgZWR0NiwgMTg3LCAxNzAsIDM5LCAxMiwgV1NfVEFCU1RPUHxXU19HUk9VUHxXU19CT1JERVIKICBMVEVYVCAiVCZvcDoiLCBzdGMxNywgODgsIDE5MiwgMjEsIDgKICBFRElUVEVYVCBlZHQ1LCAxMTEsIDE5MCwgMzksIDEyLCBXU19UQUJTVE9QfFdTX0dST1VQfFdTX0JPUkRFUgogIExURVhUICImQm90dG9tOiIsIHN0YzE4LCAxNTksIDE5MiwgMjMsIDgKICBFRElUVEVYVCBlZHQ3LCAxODcsIDE5MCwgMzksIDEyLCBXU19UQUJTVE9QfFdTX0dST1VQfFdTX0JPUkRFUgogIERFRlBVU0hCVVRUT04gIk9LIiwgSURPSywgNzEsIDIyMCwgNTAsIDE0LCBCU19QVVNIQlVUVE9OCiAgUFVTSEJVVFRPTiAiWnJ1mmmdIiwgSURDQU5DRUwsIDEyNiwgMjIwLCA1MCwgMTQKICBQVVNIQlVUVE9OICJQJnJpbnRlci4uLiIsIHBzaDMsIDE4NCwgMjIwLCA0OCwgMTQKRU5ECgpORVdGSUxFT1BFTk9SRCBESUFMT0cgMCwgMCwgMjgwLCAxNjQKU1RZTEUgRFNfTU9EQUxGUkFNRSB8IERTX0NPTlRFWFRIRUxQIHwgV1NfVklTSUJMRSB8IFdTX1BPUFVQIHwgV1NfQ0FQVElPTiB8IFdTX1NZU01FTlUgfCBXU19DTElQQ0hJTERSRU4KQ0FQVElPTiAiT3R2b3JpnSIKRk9OVCA4LCAiTVMgU2hlbGwgRGxnIgp7CiAgICBMVEVYVAkiSL5hZGGdICZ2IixJRENfTE9PS0lOU1RBVElDLDQsNiw0Myw4LCBTU19OT1RJRlkKICAgIENPTUJPQk9YCUlEQ19MT09LSU4sNDksMywxMzIsMTAwLENCU19EUk9QRE9XTkxJU1QgfCBDQlNfT1dORVJEUkFXRklYRUQgfCBDQlNfSEFTU1RSSU5HUyB8IFdTX1ZTQ1JPTEwgfCBXU19UQUJTVE9QCgogICAgTFRFWFQJIiIgLCBJRENfVE9PTEJBUlNUQVRJQywgMTgxLCAyLCAxMDIsIDE3LCBOT1QgV1NfR1JPVVAgfCBOT1QgV1NfVklTSUJMRQogICAgTElTVEJPWAlJRENfU0hFTExTVEFUSUMsNCwyMCwyNzIsODUsIExCU19TT1JUIHwgTEJTX05PSU5URUdSQUxIRUlHSFQgfCBMQlNfTVVMVElDT0xVTU4gfCBXU19IU0NST0xMIHwgTk9UIFdTX1ZJU0lCTEUKCiAgICBMVEVYVAkiJk7hem92IHP6Ym9ydToiLElEQ19GSUxFTkFNRVNUQVRJQyw1LDExMiw0Niw4LCBTU19OT1RJRlkKICAgIEVESVRURVhUCUlEQ19GSUxFTkFNRSw1NCwxMTAsMTU1LDEyLEVTX0FVVE9IU0NST0xMCgogICAgTFRFWFQJIiZUeXAgc/pib3JvdiIsSURDX0ZJTEVUWVBFU1RBVElDLDUsMTI4LDQyLDgsIFNTX05PVElGWQogICAgQ09NQk9CT1gJSURDX0ZJTEVUWVBFLDU0LDEyNiwxNTUsNTMsQ0JTX0RST1BET1dOTElTVCB8IFdTX1ZTQ1JPTEwgfCBXU19UQUJTVE9QCgogICAgQ09OVFJPTAkiT3R2byZyaZ0gaWJhIG5hIOjtdGFuaWUiLElEQ19PUEVOUkVBRE9OTFksIkJ1dHRvbiIsQlNfQVVUT0NIRUNLQk9YIHwgV1NfVEFCU1RPUCw1NCwxNDUsMTAwLDEwCgogICAgREVGUFVTSEJVVFRPTgkiJk90dm9yaZ0iLAkJIElET0ssMjIyLDExMCw1MCwxNAogICAgUFVTSEJVVFRPTgkJIlpydZppnSIsCQkgSURDQU5DRUwsMjIyLDEyOCw1MCwxNAogICAgUFVTSEJVVFRPTgkJIiZQb21vYyIsCQkgcHNoSGVscCwyMjIsMTQ1LDUwLDE0Cn0KClNUUklOR1RBQkxFCnsKICAgIElEU19BQk9VVEJPWCAgICAgICAgICAgICImTyB0ZXN0ZSB1Y2hvcG92YW5pYSBhZHJlc+Fyb3YiCiAgICBJRFNfRE9DVU1FTlRGT0xERVJTICAgICAiQWRyZXPhciBkb2t1bWVudG92IgogICAgSURTX1BFUlNPTkFMICAgICAgICAgICAgIk1vamUgZG9rdW1lbnR5IgogICAgSURTX0ZBVk9SSVRFUyAgICAgICAgICAgIk9ivvpiZW7pIHBvbG+ea3kiCiAgICBJRFNfUEFUSCAgICAgICAgICAgICAgICAiU3lzdOltb3bhIGNlc3RhIgogICAgSURTX0RFU0tUT1AgICAgICAgICAgICAgIlByYWNvdm7hIHBsb2NoYSIKICAgIElEU19GT05UUyAgICAgICAgICAgICAgICJQ7XNtYSIKICAgIElEU19NWUNPTVBVVEVSICAgICAgICAgICJUZW50byBwb+jtdGHoIgp9CgpTVFJJTkdUQUJMRQp7CiAgICBJRFNfU1lTVEVNRk9MREVSUyAgICAgICAiU3lzdOltb3bpIGFkcmVz4XJlIgogICAgSURTX0xPQ0FMSEFSRFJJVkVTICAgICAgIkxva+FsbmUgcGV2bukgZGlza3kiCiAgICBJRFNfRklMRU5PVEZPVU5EICAgICAgICAiU/pib3IgbmVu4WpkZW79IgogICAgSURTX1ZFUklGWUZJTEUgICAgICAgICAgIlBsZWFzZSB2ZXJpZnkgaWYgdGhlIGNvcnJlY3QgZmlsZSBuYW1lIHdhcyBnaXZlbiIKICAgIElEU19DUkVBVEVGSUxFICAgICAgICAgICJGaWxlIGRvZXMgbm90IGV4aXN0XG5EbyB5b3Ugd2FudCB0byBjcmVhdGUgZmlsZSIKICAgIElEU19PVkVSV1JJVEVGSUxFICAgICAgICJGaWxlIGRvZXMgYWxyZWFkeSBleGlzdC5cbkRvIHlvdSB3YW50IHRvIHJlcGxhY2UgaXQ/IgogICAgSURTX0lOVkFMSURfRklMRU5BTUVfVElUTEUgIkludmFsaWQgY2hhcmFjdGVyKHMpIGluIHBhdGgiCiAgICBJRFNfSU5WQUxJRF9GSUxFTkFNRSAgICAiTuF6b3Ygc/pib3J1IG5lbfSeZSBvYnNhaG92YZ0gnmlhZG55IHogbmFzbGVkb3Zu/WNoIHpuYWtvdjpcbiAgICAgICAgICAgICAgICAgICAgICAgICAgLyA6IDwgPiB8IgogICAgSURTX1BBVEhOT1RFWElTVElORyAgICAgIkNlc3RhIG5lZXhpc3R1amUiCiAgICBJRFNfRklMRU5PVEVYSVNUSU5HICAgICAiU/pib3IgbmVleGlzdHVqZSIKfQoKU1RSSU5HVEFCTEUKewogICAgSURTX1VQRk9MREVSICAgICAgICAgIk8g+nJvdmXyIHZ5mpppZSIKICAgIElEU19ORVdGT0xERVIgICAgICAgICJWeXR2b3JpnSBub3b9IGFkcmVz4XIiCiAgICBJRFNfTElTVFZJRVcgICAgICAgICAiWm96bmFtIgogICAgSURTX1JFUE9SVFZJRVcgICAgICAgIkRldGFpbHkiCiAgICBJRFNfVE9ERVNLVE9QICAgICAgICAiTGlzdG92YZ0gcHJhY292bvogcGxvY2h1Igp9CgpTVFJJTkdUQUJMRQp7CiAgICBQRDMyX1BSSU5UX1RJVExFICAgICAgICJUbGHoIgoKICAgIFBEMzJfVkFMVUVfVVJFQURBQkxFICAgICAgICAgICAgICAgICAgIlVucmVhZGFibGUgRW50cnkiCiAgICBQRDMyX0lOVkFMSURfUEFHRV9SQU5HRSAiVGhpcyB2YWx1ZSBkb2VzIG5vdCBsaWUgd2l0aGluIHRoZSBwYWdlIHJhbmdlLlxuXApQbGVhc2UgZW50ZXIgYSB2YWx1ZSBiZXR3ZWVuICVkIGFuZCAlZC4iCiAgICBQRDMyX0ZST01fTk9UX0FCT1ZFX1RPICAgICAgICAgICAgICAgICJUaGUgJ2Zyb20nIGVudHJ5IGNhbm5vdCBleGNlZWQgdGhlIFwKJ3RvJyBlbnRyeS4iCiAgICBQRDMyX01BUkdJTlNfT1ZFUkxBUCAgICAgICAgICAgICAgICAgICJNYXJnaW5zIG92ZXJsYXAgb3IgZmFsbCBvdXRzaWRlIFwKUGFwZXIgYm91bmRhcmllcy5cblBsZWFzZSByZWVudGVyIG1hcmdpbnMiCiAgICBQRDMyX05SX09GX0NPUElFU19FTVBUWSAgICAgICAgICAgICAgICJUaGUgTnVtYmVyT2ZDb3BpZXMgZW50cnkgY2Fubm90IFwKYmUgZW1wdHkiCiAgICBQRDMyX1RPT19MQVJHRV9DT1BJRVMgICAgICAgICAgICAgICAgICJUaGlzIGxhcmdlIGFtb3VudCBvZiBwcmludHMgaXMgbm90IFwKc3VwcG9ydGVkIGJ5IHlvdXIgcHJpbnRlci5cblBsZWFzZSBlbnRlciBhIHZhbHVlIGJldHdlZW4gMSBhbmQgJWQiCiAgICBQRDMyX1BSSU5UX0VSUk9SICAgICAgICAgICAgICAgICAgICAgICJBIHByaW50ZXIgZXJyb3Igb2NjdXJyZWQiCiAgICBQRDMyX05PX0RFRkFVTFRfUFJJTlRFUiAgICAgICAgICAgICAgICJOaWUgamUgbmFzdGF2ZW7hIGltcGxpY2l0buEgdGxh6GlhcmXyIgogICAgUEQzMl9DQU5UX0ZJTkRfUFJJTlRFUiAgICAgICAgICAgICAgICAiTmVtb55ubyBu4WpznSB0bGHoaWFyZfIiCiAgICBQRDMyX09VVF9PRl9NRU1PUlkgICAgICAgICAgICAgICAgICAgICJOZWRvc3RhdG9rIHBhbeR0ZSIKICAgIFBEMzJfR0VORVJJQ19FUlJPUiAgICAgICAgICAgICAgICAgICAgIlZ5c2t5dGxhIHNhIGNoeWJhIgogICAgUEQzMl9EUklWRVJfVU5LTk9XTiAgICAgICAgICAgICAgICAgICAiTmV6buFteSBvdmzhZGHoIHRsYehpYXJuZSIKICAgIFBEMzJfTk9fREVWSUNFUyAgICAgICAgICAgICAgICAgICAgICAgIkJlZm9yZSB5b3UgY2FuIHBlcmZvcm0gcHJpbnRlci1yZWxhdGVkIHRhc2tzIFwKc3VjaCBhcyBwYWdlIHNldHVwIG9yIHByaW50aW5nIGEgZG9jdW1lbnQsIHlvdSBuZWVkIHRvIGluc3RhbGwgYSBwcmludGVyLiBcClBsZWFzZSBpbnN0YWxsIG9uZSBhbmQgcmV0cnkuIgoKICAgIFBEMzJfREVGQVVMVF9QUklOVEVSICAgICAgICAgICAgICAgICAgIkltcGxpY2l0buEgdGxh6GlhcmXyOyAiCiAgICBQRDMyX05SX09GX0RPQ1VNRU5UU19JTl9RVUVVRSAgICAgICAgICJUaGVyZSBhcmUgJWQgZG9jdW1lbnRzIGluIHF1ZXVlIgogICAgUEQzMl9NQVJHSU5TX0lOX0lOQ0hFUyAgICAgICAgICAgICAgICAiT2tyYWplIFtwYWxjZV0iCiAgICBQRDMyX01BUkdJTlNfSU5fTUlMTElNRVRFUlMgICAgICAgICAgICJPa3JhamUgW21tXSIKICAgIFBEMzJfTUlMTElNRVRFUlMgICAgICAgICAgICAgICAgICAgICAgIm1tIgoKICAgIFBEMzJfUFJJTlRFUl9TVEFUVVNfUkVBRFkgICAgICAgICAgICAgIlByaXByYXZlbuEiCiAgICBQRDMyX1BSSU5URVJfU1RBVFVTX1BBVVNFRCAgICAgICAgICAgICJQb3phc3RhdmVu4TsgIgogICAgUEQzMl9QUklOVEVSX1NUQVRVU19FUlJPUiAgICAgICAgICAgICAiQ2h5YmE7ICIKICAgIFBEMzJfUFJJTlRFUl9TVEFUVVNfUEVORElOR19ERUxFVElPTiAgIlBlbmRpbmcgZGVsZXRpb247ICIKICAgIFBEMzJfUFJJTlRFUl9TVEFUVVNfUEFQRVJfSkFNICAgICAgICAgIlV2aWF6bnV0/SBwYXBpZXI7ICIKICAgIFBEMzJfUFJJTlRFUl9TVEFUVVNfUEFQRVJfT1VUICAgICAgICAgIkNo/WJhIHBhcGllcjsgIgogICAgUEQzMl9QUklOVEVSX1NUQVRVU19NQU5VQUxfRkVFRCAgICAgICAiRmVlZCBwYXBlciBtYW51YWw7ICIKICAgIFBEMzJfUFJJTlRFUl9TVEFUVVNfUEFQRVJfUFJPQkxFTSAgICAgIlByb2Js6W0gcyBwYXBpZXJvbTsgIgogICAgUEQzMl9QUklOVEVSX1NUQVRVU19PRkZMSU5FICAgICAgICAgICAiVGxh6GlhcmXyIHYgc3RhdmUgb2ZmbGluZTsgIgogICAgUEQzMl9QUklOVEVSX1NUQVRVU19JT19BQ1RJVkUgICAgICAgICAiSS9PIEFjdGl2ZTsgIgogICAgUEQzMl9QUklOVEVSX1NUQVRVU19CVVNZICAgICAgICAgICAgICAiWmFuZXBy4XpkbmVu4TsgIgogICAgUEQzMl9QUklOVEVSX1NUQVRVU19QUklOVElORyAgICAgICAgICAiUHJlYmllaGEgdGxh6DsgIgogICAgUEQzMl9QUklOVEVSX1NUQVRVU19PVVRQVVRfQklOX0ZVTEwgICAiT3V0cHV0IHRyYXkgaXMgZnVsbDsgIgogICAgUEQzMl9QUklOVEVSX1NUQVRVU19OT1RfQVZBSUxBQkxFICAgICAiTmllIGplIGsgZGlzcG967WNpaTsgIgogICAgUEQzMl9QUklOVEVSX1NUQVRVU19XQUlUSU5HICAgICAgICAgICAiyGFr4SBzYTsgIgogICAgUEQzMl9QUklOVEVSX1NUQVRVU19QUk9DRVNTSU5HICAgICAgICAiUHJlYmllaGEgc3ByYWNvdmFuaWU7ICIKICAgIFBEMzJfUFJJTlRFUl9TVEFUVVNfSU5JVElBTElaSU5HICAgICAgIkluaWNpYWxpeuFjaWE7ICIKICAgIFBEMzJfUFJJTlRFUl9TVEFUVVNfV0FSTUlOR19VUCAgICAgICAgIlphaHJpZXZhbmllOyAiCiAgICBQRDMyX1BSSU5URVJfU1RBVFVTX1RPTkVSX0xPVyAgICAgICAgICJQcmlt4WxvIHRvbmVydTsgIgogICAgUEQzMl9QUklOVEVSX1NUQVRVU19OT19UT05FUiAgICAgICAgICAiQ2j9YmEgdG9uZXI7ICIKICAgIFBEMzJfUFJJTlRFUl9TVEFUVVNfUEFHRV9QVU5UICAgICAgICAgIlBhZ2UgcHVudDsgIgogICAgUEQzMl9QUklOVEVSX1NUQVRVU19VU0VSX0lOVEVSVkVOVElPTiAiUHJlcnWaZW5pZSB1nu12YXRlvm9tOyAiCiAgICBQRDMyX1BSSU5URVJfU1RBVFVTX09VVF9PRl9NRU1PUlkgICAgICJOZWRvc3RhdG9rIHBhbeR0ZTsgIgogICAgUEQzMl9QUklOVEVSX1NUQVRVU19ET09SX09QRU4gICAgICAgICAiRHZpZXJrYSB0bGHoaWFybmUgc/ogb3R2b3Jlbuk7ICIKICAgIFBEMzJfUFJJTlRFUl9TVEFUVVNfU0VSVkVSX1VOS05PV04gICAgIk5lem7hbXkgcHJpbnQgc2VydmVyOyAiCiAgICBQRDMyX1BSSU5URVJfU1RBVFVTX1BPV0VSX1NBVkUgICAgICAgICLac3Bvcm79IHJlnmltOyAiCn0KClNUUklOR1RBQkxFIC8qIEZvbnQgc3R5bGVzICovCnsKICAgIElEU19GT05UX1JFR1VMQVIgICAgICAgIlJlZ3VsYXIiCiAgICBJRFNfRk9OVF9CT0xEICAgICAgICAgICJUdehu6SIKICAgIElEU19GT05UX0lUQUxJQyAgICAgICAgIkt1cnrtdmEiCiAgICBJRFNfRk9OVF9CT0xEX0lUQUxJQyAgICJUdehu6SBrdXJ67XZhIgp9CgpTVFJJTkdUQUJMRSAvKiBDb2xvciBuYW1lcyAqLwp7CiAgICBJRFNfQ09MT1JfQkxBQ0sgICAgICLIaWVybmEiCiAgICBJRFNfQ09MT1JfTUFST09OICAgICJNYXJvb24iCiAgICBJRFNfQ09MT1JfR1JFRU4gICAgICJaZWxlbuEiCiAgICBJRFNfQ09MT1JfT0xJVkUgICAgICJPbGl2ZSIKICAgIElEU19DT0xPUl9OQVZZICAgICAgIk5hdnkiCiAgICBJRFNfQ09MT1JfUFVSUExFICAgICJQdXJwbGUiCiAgICBJRFNfQ09MT1JfVEVBTCAgICAgICJUZWFsIgogICAgSURTX0NPTE9SX0dSQVkgICAgICAiR3JheSIKICAgIElEU19DT0xPUl9TSUxWRVIgICAgIlNpbHZlciIKICAgIElEU19DT0xPUl9SRUQgICAgICAgIshlcnZlbuEiCiAgICBJRFNfQ09MT1JfTElNRSAgICAgICJMaW1lIgogICAgSURTX0NPTE9SX1lFTExPVyAgICAijmx04SIKICAgIElEU19DT0xPUl9CTFVFICAgICAgIk1vZHLhIgogICAgSURTX0NPTE9SX0ZVQ0hTSUEgICAiRnVjaHNpYSIKICAgIElEU19DT0xPUl9BUVVBICAgICAgIkFxdWEiCiAgICBJRFNfQ09MT1JfV0hJVEUgICAgICJCaWVsYSIKfQoKU1RSSU5HVEFCTEUKewogICAgSURTX0ZPTlRfU0laRSAgICJTZWxlY3QgYSBmb250IHNpemUgYmV0d2VlbiAlZCBhbmQgJWQgcG9pbnRzLiIKICAgIElEU19TQVZFX0JVVFRPTiAiJlNhdmUiCiAgICBJRFNfU0FWRV9JTiAgICAgIlNhdmUgJmluOiIKICAgIElEU19TQVZFICAgICAgICAiVWxvnmmdIgogICAgSURTX1NBVkVfQVMgICAgICJVbG+eaZ0gYWtvIgogICAgSURTX09QRU5fRklMRSAgICJPdHZvcmmdIHP6Ym9yIgp9Cg==