LyoKICogQ29weXJpZ2h0IDE5OTcgSm9obiBaZXJvCiAqCiAqIFRoaXMgbGlicmFyeSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IKICogbW9kaWZ5IGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIExlc3NlciBHZW5lcmFsIFB1YmxpYwogKiBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIKICogdmVyc2lvbiAyLjEgb2YgdGhlIExpY2Vuc2UsIG9yIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCiAqCiAqIFRoaXMgbGlicmFyeSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAogKiBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgogKiBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlIEdOVQogKiBMZXNzZXIgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgogKgogKiBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgTGVzc2VyIEdlbmVyYWwgUHVibGljCiAqIExpY2Vuc2UgYWxvbmcgd2l0aCB0aGlzIGxpYnJhcnk7IGlmIG5vdCwgd3JpdGUgdG8gdGhlIEZyZWUgU29mdHdhcmUKICogRm91bmRhdGlvbiwgSW5jLiwgNTEgRnJhbmtsaW4gU3QsIEZpZnRoIEZsb29yLCBCb3N0b24sIE1BIDAyMTEwLTEzMDEsIFVTQQogKi8KCiNpbmNsdWRlICJjZGxnLmgiCiNpbmNsdWRlICJmaWxlZGxnYnJvd3Nlci5oIgoKLyoKICogV0FSTklORzogRE8gTk9UIENIQU5HRSBUSEUgU0laRSBPRiBUSEUgU1RBTkRBUkQgRElBTE9HIFRFTVBMQVRFUy4KICovCgpMQU5HVUFHRSBMQU5HX0hVTkdBUklBTiwgU1VCTEFOR19ERUZBVUxUCgpPUEVOX0ZJTEUgRElBTE9HIDM2LCAyNCwgMjc1LCAxMzQKU1RZTEUgRFNfTU9EQUxGUkFNRSB8IFdTX1BPUFVQIHwgV1NfQ0FQVElPTiB8IFdTX1NZU01FTlUKQ0FQVElPTiAiTWVnbnlpdOFzIgpGT05UIDgsICJNUyBTaGVsbCBEbGciCnsKICAgICAgICBMVEVYVCAiRmlsZSAmbmV2ZToiLCAxMDkwLCA2LCA2LCA3NiwgOQogICAgICAgIEVESVRURVhUIDExNTIsIDYsIDE2LCA5MCwgMTIsIEVTX0FVVE9IU0NST0xMIHwgRVNfT0VNQ09OVkVSVCB8IFdTX0JPUkRFUiB8IFdTX1RBQlNUT1AKICAgICAgICBMSVNUQk9YIDExMjAsIDYsIDMyLCA5MCwgNjgsIExCU19TVEFOREFSRCB8IExCU19PV05FUkRSQVdGSVhFRCB8IExCU19IQVNTVFJJTkdTIHwgTEJTX0RJU0FCTEVOT1NDUk9MTCB8IFdTX1RBQlNUT1AKICAgICAgICBMVEVYVCAiJkv2bnl2dOFyYWs6IiwgLTEsIDExMCwgNiwgOTIsIDkKICAgICAgICBDT05UUk9MICIiLCAxMDg4LCAiU1RBVElDIiwgU1NfTk9QUkVGSVggfCBXU19HUk9VUCwgMTEwLCAxOCwgOTIsIDkKICAgICAgICBMSVNUQk9YIDExMjEsIDExMCwgMzIsIDkyLCA2OCwgTEJTX1NUQU5EQVJEIHwgTEJTX09XTkVSRFJBV0ZJWEVEIHwgTEJTX0hBU1NUUklOR1MgfCBMQlNfRElTQUJMRU5PU0NST0xMIHwgV1NfVEFCU1RPUAogICAgICAgIExURVhUICJGaWxlICZ07XB1c29rOiIsIDEwODksIDYsIDEwNCwgOTAsIDkKICAgICAgICBDT05UUk9MICIiLCAxMTM2LCAiQ09NQk9CT1giLCBDQlNfRFJPUERPV05MSVNUIHwgQ0JTX0FVVE9IU0NST0xMIHwgV1NfQk9SREVSIHwgV1NfVlNDUk9MTCB8IFdTX1RBQlNUT1AsIDYsIDExNCwgOTAsIDM2CiAgICAgICAgTFRFWFQgIiZNZWdoYWp082s6IiwgMTA5MSwgMTEwLCAxMDQsIDkyLCA5CiAgICAgICAgQ09OVFJPTCAiIiwgMTEzNywgIkNPTUJPQk9YIiwgQ0JTX0RST1BET1dOTElTVCB8IENCU19PV05FUkRSQVdGSVhFRCB8IENCU19BVVRPSFNDUk9MTCB8IENCU19TT1JUIHwgQ0JTX0hBU1NUUklOR1MgfCBXU19CT1JERVIgfCBXU19WU0NST0xMIHwgV1NfVEFCU1RPUCwgMTEwLCAxMTQsIDkyLCA2OAogICAgICAgIENPTlRST0wgIk1lZ255aXThcyIsIElET0ssICJCVVRUT04iLCBCU19ERUZQVVNIQlVUVE9OIHwgV1NfR1JPVVAgfCBXU19UQUJTVE9QLCAyMDgsIDYsIDU2LCAxNAogICAgICAgIENPTlRST0wgIk3pZ3NlbSIsIElEQ0FOQ0VMLCAiQlVUVE9OIiwgV1NfR1JPVVAgfCBXU19UQUJTVE9QLCAyMDgsIDI0LCA1NiwgMTQKICAgICAgICBDT05UUk9MICImU2Vn7XRz6WciLCAxMDM4LCAiQlVUVE9OIiwgV1NfR1JPVVAgfCBXU19UQUJTVE9QLCAyMDgsIDQ2LCA1NiwgMTQKICAgICAgICBDT05UUk9MICImQ3NhayBvbHZhc2hhdPMiLCAxMDQwLCAiQlVUVE9OIiwgQlNfQVVUT0NIRUNLQk9YIHwgV1NfR1JPVVAgfCBXU19UQUJTVE9QLCAyMDgsIDY4LCA2MywgMTIKfQoKU0FWRV9GSUxFIERJQUxPRyBMT0FET05DQUxMIE1PVkVBQkxFIERJU0NBUkRBQkxFIDM2LCAyNCwgMjc1LCAxMzQKU1RZTEUgRFNfTU9EQUxGUkFNRSB8IFdTX1BPUFVQIHwgV1NfQ0FQVElPTiB8IFdTX1NZU01FTlUKQ0FQVElPTiAiTWVudOlzIPpqIG7pdmVuLi4uIgpGT05UIDgsICJNUyBTaGVsbCBEbGciCnsKIExURVhUICJGaWxlICZuZXZlOiIsIDEwOTAsIDYsIDYsIDc2LCA5CiBFRElUVEVYVCAxMTUyLCA2LCAxNiwgOTAsIDEyLCBFU19BVVRPSFNDUk9MTCB8IEVTX09FTUNPTlZFUlQgfCBXU19CT1JERVIgfCBXU19UQUJTVE9QCiBMSVNUQk9YIDExMjAsIDYsIDMyLCA5MCwgNjgsIExCU19TVEFOREFSRCB8IExCU19PV05FUkRSQVdGSVhFRCB8IExCU19IQVNTVFJJTkdTIHwgTEJTX0RJU0FCTEVOT1NDUk9MTCB8IFdTX1RBQlNUT1AKIExURVhUICImS/ZueXZ04XJhazoiLCAtMSwgMTEwLCA2LCA5MiwgOQogTFRFWFQgIiIsIDEwODgsIDExMCwgMTgsIDkyLCA5LCBTU19OT1BSRUZJWCB8IFdTX0dST1VQCiBMSVNUQk9YIDExMjEsIDExMCwgMzIsIDkyLCA2OCwgTEJTX1NUQU5EQVJEIHwgTEJTX09XTkVSRFJBV0ZJWEVEIHwgTEJTX0hBU1NUUklOR1MgfCBMQlNfRElTQUJMRU5PU0NST0xMIHwgV1NfVEFCU1RPUAogTFRFWFQgIkZpbGUgJnTtcHVzb2s6IiwgMTA4OSwgNiwgMTA0LCA5MCwgOQogQ09NQk9CT1ggMTEzNiwgNiwgMTE0LCA5MCwgMzYsIENCU19EUk9QRE9XTkxJU1QgfCBDQlNfQVVUT0hTQ1JPTEwgfCBXU19CT1JERVIgfCBXU19WU0NST0xMIHwgV1NfVEFCU1RPUAogTFRFWFQgIiZNZWdoYWp082s6IiwgMTA5MSwgMTEwLCAxMDQsIDkyLCA5CiBDT01CT0JPWCAxMTM3LCAxMTAsIDExNCwgOTIsIDY4LCBDQlNfRFJPUERPV05MSVNUIHwgQ0JTX09XTkVSRFJBV0ZJWEVEIHwgQ0JTX0FVVE9IU0NST0xMIHwgQ0JTX1NPUlQgfCBDQlNfSEFTU1RSSU5HUyB8IFdTX0JPUkRFUiB8IFdTX1ZTQ1JPTEwgfCBXU19UQUJTVE9QCiBERUZQVVNIQlVUVE9OICJNZW506XMg+mogbul2ZW4iLCBJRE9LLCAyMDgsIDYsIDU2LCAxNCwgQlNfREVGUFVTSEJVVFRPTiB8IFdTX0dST1VQIHwgV1NfVEFCU1RPUAogUFVTSEJVVFRPTiAiTelnc2VtIiwgSURDQU5DRUwsIDIwOCwgMjQsIDU2LCAxNCwgV1NfR1JPVVAgfCBXU19UQUJTVE9QCiBQVVNIQlVUVE9OICImU2Vn7XRz6WciLCAxMDM4LCAyMDgsIDQ2LCA1NiwgMTQsIFdTX0dST1VQIHwgV1NfVEFCU1RPUAogQ0hFQ0tCT1ggIiZDc2FrIG9sdmFzaGF08yIsIDEwNDAsIDIwOCwgNjgsIDUwLCAxMiwgQlNfQVVUT0NIRUNLQk9YIHwgV1NfR1JPVVAgfCBXU19UQUJTVE9QCn0KCgpQUklOVCBESUFMT0cgTE9BRE9OQ0FMTCBNT1ZFQUJMRSBESVNDQVJEQUJMRSAzNiwgMjQsIDI2NCwgMTM0ClNUWUxFIERTX01PREFMRlJBTUUgfCBXU19QT1BVUCB8IFdTX0NBUFRJT04gfCBXU19TWVNNRU5VCkNBUFRJT04gIk55b210YXThcyIKRk9OVCA4LCAiTVMgU2hlbGwgRGxnIgp7CiBMVEVYVCAiTnlvbXRhdPM6IiwgMTA4OCwgNiwgNiwgNDAsIDkKIExURVhUICIiLCAxMDg5LCA2MCwgNiwgMTUwLCA5CiBHUk9VUEJPWCAiTnlvbXRhdGFuZPMgdGVy/GxldCIsIDEwNzIsIDYsIDMwLCAxNjAsIDY1LCBCU19HUk9VUEJPWAogUkFESU9CVVRUT04gIiZNaW5kIiwgMTA1NiwgMTYsIDQ1LCA2MCwgMTIKIFJBRElPQlVUVE9OICImS2l24Wxhc3p0b3R0IiwgMTA1NywgMTYsIDYwLCA2MCwgMTIKIFJBRElPQlVUVE9OICImTGFwb2siLCAxMDU4LCAxNiwgNzUsIDYwLCAxMgogREVGUFVTSEJVVFRPTiAiTnlvbXRhdOFzIiwgSURPSywgMjA2LCA2LCA1NiwgMTQsIEJTX0RFRlBVU0hCVVRUT04gfCBXU19HUk9VUCB8IFdTX1RBQlNUT1AKIFBVU0hCVVRUT04gIk3pZ3NlbSIsIElEQ0FOQ0VMLCAyMDYsIDI0LCA1NiwgMTQsIFdTX0dST1VQIHwgV1NfVEFCU1RPUAogUFVTSEJVVFRPTiAiJkJl4Wxs7XThcyIsIDEwMjQsIDIwNiwgNDYsIDU2LCAxNCwgV1NfR1JPVVAgfCBXU19UQUJTVE9QCiBMVEVYVCAiLSZ082w6IiwgMTA5MCwgNjAsIDgwLCAzMCwgOQogTFRFWFQgIi0maWc6IiwgMTA5MSwgMTIwLCA4MCwgMzAsIDkKIExURVhUICJNaSZu9XPpZzoiLCAxMDkyLCA2LCAxMDAsIDc2LCA5CiBDT01CT0JPWCAxMTM2LCA4MCwgMTAwLCA5MiwgNjgsIENCU19EUk9QRE9XTkxJU1QgfCBDQlNfT1dORVJEUkFXRklYRUQgfCBDQlNfQVVUT0hTQ1JPTEwgfCBDQlNfU09SVCB8IENCU19IQVNTVFJJTkdTIHwgV1NfQk9SREVSIHwgV1NfVlNDUk9MTCB8IFdTX1RBQlNUT1AKIENIRUNLQk9YICImRmlsZS1iYSBueW9tdGF0IiwgMTA0MCwgMjAsIDEwMCwgNTAsIDEyLCBCU19BVVRPQ0hFQ0tCT1ggfCBXU19HUk9VUCB8IFdTX1RBQlNUT1AKIENIRUNLQk9YICJT+3L7IiwgMTA0MSwgMTYwLCAxMDAsIDUwLCAxMiwgQlNfQVVUT0NIRUNLQk9YIHwgV1NfR1JPVVAgfCBXU19UQUJTVE9QCn0KCgpQUklOVF9TRVRVUCBESUFMT0cgTE9BRE9OQ0FMTCBNT1ZFQUJMRSBESVNDQVJEQUJMRSAzNiwgMjQsIDI2NCwgMTM0ClNUWUxFIERTX01PREFMRlJBTUUgfCBXU19QT1BVUCB8IFdTX0NBUFRJT04gfCBXU19TWVNNRU5VCkNBUFRJT04gIk55b210YXTzIGJl4Wxs7XThc2EiCkZPTlQgOCwgIk1TIFNoZWxsIERsZyIKewogR1JPVVBCT1ggIk55b210YXTzIiwgMTA3MiwgNiwgMTAsIDE4MCwgNjUsIEJTX0dST1VQQk9YCiBSQURJT0JVVFRPTiAiJkFsYXDpcnRlbG1lemV0dCBueW9tdGF08yIsIDEwNTYsIDE2LCAyMCwgODAsIDEyCiBMVEVYVCAiW25pbmNzXSIsIDEwODgsIDM1LCAzNSwgMTIwLCA5CiBSQURJT0JVVFRPTiAiJkFkb3R0IG55b210YXTzIiwgMTA1NywgMTYsIDUwLCA4MCwgMTIKIENPTUJPQk9YIDExMzYsIDM1LCA2NSwgMTQ5LCA2OCwgQ0JTX0RST1BET1dOTElTVCB8IENCU19PV05FUkRSQVdGSVhFRCB8IENCU19BVVRPSFNDUk9MTCB8IENCU19TT1JUIHwgQ0JTX0hBU1NUUklOR1MgfCBXU19CT1JERVIgfCBXU19WU0NST0xMIHwgV1NfVEFCU1RPUAogREVGUFVTSEJVVFRPTiAiT2siLCBJRE9LLCAyMDYsIDYsIDU2LCAxNCwgQlNfREVGUFVTSEJVVFRPTiB8IFdTX0dST1VQIHwgV1NfVEFCU1RPUAogUFVTSEJVVFRPTiAiTelnc2VtIiwgSURDQU5DRUwsIDIwNiwgMjQsIDU2LCAxNCwgV1NfR1JPVVAgfCBXU19UQUJTVE9QCiBQVVNIQlVUVE9OICImQmXhbGztdOFzIiwgMTAyNCwgMjA2LCA0NiwgNTYsIDE0LCBXU19HUk9VUCB8IFdTX1RBQlNUT1AKIEdST1VQQk9YICJPbGRhbGZla3bpcyIsIDEwNzMsIDYsIDg1LCAxMDAsIDUwLCBCU19HUk9VUEJPWAogUkFESU9CVVRUT04gIsEmbGzzIiwgMTA1OCwgNTAsIDEwMCwgNDAsIDEyCiBSQURJT0JVVFRPTiAiJkZla3b1IiwgMTA1OSwgNTAsIDExNSwgNDAsIDEyCiBJQ09OICJMQU5EU0NBUCIsIDEwOTcsIDEwLCA5NSwgMzIsIDMyCiBJQ09OICJQT1JUUkFJVCIsIDEwOTgsIDEwLCA5NSwgMzIsIDMyCiBHUk9VUEJPWCAiUGFw7XIiLCAxMDc0LCAxMjAsIDg1LCAxODAsIDUwLCBCU19HUk9VUEJPWAogTFRFWFQgIiZN6XJldGUiLCAxMDg5LCAxMzAsIDk1LCAzMCwgOQogTFRFWFQgIkZvJnJy4XNhIiwgMTA5MCwgMTMwLCAxMTAsIDMwLCA5CiBDT01CT0JPWCAxMTM3LCAxNTUsIDk1LCA5MiwgNjgsIENCU19EUk9QRE9XTkxJU1QgfCBDQlNfT1dORVJEUkFXRklYRUQgfCBDQlNfQVVUT0hTQ1JPTEwgfCBDQlNfU09SVCB8IENCU19IQVNTVFJJTkdTIHwgV1NfQk9SREVSIHwgV1NfVlNDUk9MTCB8IFdTX1RBQlNUT1AKIENPTUJPQk9YIDExMzgsIDE1NSwgMTEwLCA5MiwgNjgsIENCU19EUk9QRE9XTkxJU1QgfCBDQlNfT1dORVJEUkFXRklYRUQgfCBDQlNfQVVUT0hTQ1JPTEwgfCBDQlNfU09SVCB8IENCU19IQVNTVFJJTkdTIHwgV1NfQk9SREVSIHwgV1NfVlNDUk9MTCB8IFdTX1RBQlNUT1AKfQoKCkNIT09TRV9GT05UIERJQUxPRyBESVNDQVJEQUJMRSAgMTMsIDU0LCAyNjQsIDE0NwpTVFlMRSBEU19NT0RBTEZSQU1FIHwgV1NfUE9QVVAgfCBXU19DQVBUSU9OIHwgV1NfU1lTTUVOVQpDQVBUSU9OICJGb250IgpGT05UIDgsICJNUyBTaGVsbCBEbGciCnsKICAgIExURVhUICAgICAgICAgICAiJkZvbnQ6IiwxMDg4ICw2LDMsNDAsOQogICAgQ09NQk9CT1ggICAgICAgIDExMzYgLDYsMTMsOTQsNTQsICBDQlNfT1dORVJEUkFXRklYRUQgfCBDQlNfSEFTU1RSSU5HUyB8IENCU19ESVNBQkxFTk9TQ1JPTEwgfAogICAgICAgICAgICAgICAgICAgIENCU19BVVRPSFNDUk9MTCB8IENCU19TT1JUIHwgV1NfVlNDUk9MTCB8IFdTX1RBQlNUT1AgfCBDQlNfU0lNUExFCiAgICBMVEVYVCAgICAgICAgICAgIkZvbnQgJnN07Wx1czoiLDEwODkgLDEwOCwzLDQ0LDkKICAgIENPTUJPQk9YICAgICAgICAxMTM3LDEwOCwxMyw2NCw1NCwgQ0JTX09XTkVSRFJBV0ZJWEVEIHwgQ0JTX0hBU1NUUklOR1MgfCBDQlNfRElTQUJMRU5PU0NST0xMIHwKICAgICAgICAgICAgICAgICAgICBXU19WU0NST0xMIHwgV1NfVEFCU1RPUCB8IENCU19TSU1QTEUKICAgIExURVhUICAgICAgICAgICAiJk3pcmV0OiIsMTA5MCwxNzksMywzMCw5CiAgICBDT01CT0JPWCAgICAgICAgMTEzOCwxNzksMTMsMzIsNTQsIENCU19PV05FUkRSQVdGSVhFRCB8IENCU19IQVNTVFJJTkdTIHwgQ0JTX0RJU0FCTEVOT1NDUk9MTCB8CiAgICAgICAgICAgICAgICAgICAgV1NfVlNDUk9MTCB8IFdTX1RBQlNUT1AgfCBDQlNfU0lNUExFIHwgQ0JTX1NPUlQKICAgIERFRlBVU0hCVVRUT04gICAiT0siLElET0ssMjE4LDYsNDAsMTQsV1NfR1JPVVAKICAgIFBVU0hCVVRUT04gICAgICAiTelnc2VtIixJRENBTkNFTCwyMTgsMjMsNDAsMTQsV1NfR1JPVVAKICAgIFBVU0hCVVRUT04gICAgICAiJkFsa2FsbWF6IiwgMTAyNiwyMTgsNDAsNDAsMTQsV1NfR1JPVVAKICAgIFBVU0hCVVRUT04gICAgICAiJlNlZ+10c+lnIiAsIDEwMzgsMjE4LDU3LDQwLDE0LFdTX0dST1VQCiAgICBHUk9VUEJPWCAgICAgICAgIkVmZmVrdHVzb2siLDEwNzIsNiw3Miw4NCwzNCxXU19HUk9VUAogICAgQ0hFQ0tCT1ggICAgICAgICLBJnRo+npvdHQiLCAxMDQwLCAxMCw4Miw1MCwxMCwgQlNfQVVUT0NIRUNLQk9YIHwgV1NfVEFCU1RPUAogICAgQ0hFQ0tCT1ggICAgICAgICImQWzhaPp6b3R0IiwgMTA0MSwgMTAsOTQsNTAsMTAsIEJTX0FVVE9DSEVDS0JPWAogICAgTFRFWFQgICAgICAgICAgICImU3rtbjoiLCAxMDkxICw2LDExMCwzMCw5CiAgICBDT01CT0JPWCAgICAgICAgMTEzOSw2LDEyMCw4NCwxMDAsQ0JTX0RST1BET1dOTElTVCB8IENCU19PV05FUkRSQVdGSVhFRCB8IENCU19IQVNTVFJJTkdTIHwKICAgICAgICAgICAgICAgICAgICBDQlNfQVVUT0hTQ1JPTEwgfCAgV1NfQk9SREVSIHwgV1NfVlNDUk9MTCB8IFdTX1RBQlNUT1AKICAgIEdST1VQQk9YICAgICAgICAiTWludGEiLGdycDIsOTgsNzIsMTIwLDM2LFdTX0dST1VQCiAgICBDVEVYVCAgICAgICAgICAgIkFhQmJZeVp6weHV9cnpIixzdGM1LDEwMyw4MCwxMDksMjQsU1NfTk9QUkVGSVggfCBOT1QgV1NfVklTSUJMRQogICAgTFRFWFQgICAgICAgICAgICJTY3ImaXB0ICh0cmFuc2xhdGUpOiIsc3RjNyAsOTgsMTE0LDgwLDkKICAgIENPTUJPQk9YICAgICAgICBjbWI1LDk4LDEyNCwxMjAsOTAsQ0JTX0RST1BET1dOTElTVCB8IENCU19IQVNTVFJJTkdTIHwKCQkgICAgQ0JTX0FVVE9IU0NST0xMIHwgICBXU19WU0NST0xMIHwgV1NfVEFCU1RPUAp9CgoKQ0hPT1NFX0NPTE9SIERJQUxPRyBMT0FET05DQUxMIE1PVkVBQkxFIERJU0NBUkRBQkxFIDM2LCAyNCwgMzAwLCAxODUKU1RZTEUgRFNfTU9EQUxGUkFNRSB8IFdTX1BPUFVQIHwgV1NfQ0FQVElPTiB8IFdTX1NZU01FTlUKQ0FQVElPTiAiU3rtbiIKRk9OVCA4LCAiTVMgU2hlbGwgRGxnIgp7CiBMVEVYVCAiJkFsYXAgc3rtbmVrOiIsICAgMTA4OCwgNCwgICAgNCwgIDE0MCwgMTAKIExURVhUICImRWd5ZWRpIHN67W5lazoiLCAgMTA4OSwgNCwgICAxMDYsIDE0MCwgMTAKIExURVhUICJTeu1uIHwgICZU9m32ciIsICAxMDkwLCAxNTAsIDE1MSwgIDQ4LCAxMAogTFRFWFQgICAiJlb2cvZzOiIsIDcyNiAvKjEwOTQqLywyNDksMTI2LDI0LDEwCiBFRElUVEVYVCA3MDYsIDI3NSwxMjQsMjEsMTIsIFdTX0JPUkRFUiB8IFdTX0dST1VQIHwgV1NfVEFCU1RPUAogTFRFWFQgICAiJlr2bGQ6Iiw3MjcvKjEwOTUqLywyNDksMTQwLDI0LDEwCiBFRElUVEVYVCA3MDcsIDI3NSwxMzgsMjEsMTIsIFdTX0JPUkRFUiB8IFdTX0dST1VQIHwgV1NfVEFCU1RPUAogTFRFWFQgICAiJkvpazoiLDcyOCAvKjEwOTYqLywyNDksMTU0LDI0LDEwCiBFRElUVEVYVCA3MDgsIDI3NSwxNTIsMjEsMTIsIFdTX0JPUkRFUiB8IFdTX0dST1VQIHwgV1NfVEFCU1RPUAogTFRFWFQgICImSHVlOiIgLDcyMyAvKjEwOTEqLywyMDIsMTI2LDIyLDEwCiBFRElUVEVYVCA3MDMsIDIyNiwxMjQsMjEsMTIsIFdTX0JPUkRFUiB8IFdTX0dST1VQIHwgV1NfVEFCU1RPUAogTFRFWFQgICImU2F0OiIgLDcyNCAvKjEwOTIqLywyMDIsMTQwLDIyLDEwCiBFRElUVEVYVCA3MDQsIDIyNiwxMzgsMjEsMTIsIFdTX0JPUkRFUiB8IFdTX0dST1VQIHwgV1NfVEFCU1RPUAogTFRFWFQgICImTHVtOiIgLDcyNSAvKjEwOTMqLywyMDIsMTU0LDIyLDEwCiBFRElUVEVYVCA3MDUsIDIyNiwxNTIsMjEsMTIsIFdTX0JPUkRFUiB8IFdTX0dST1VQIHwgV1NfVEFCU1RPUAogQ09OVFJPTCAiIiAsNzIwLCJTVEFUSUMiLFNTX1NJTVBMRXxXU19UQUJTVE9QfFdTX0dST1VQLDQsMTQsMTQwLDg2CiBDT05UUk9MICIiICw3MjEsIlNUQVRJQyIsU1NfU0lNUExFfFdTX1RBQlNUT1B8V1NfR1JPVVAsNCwxMTYsMTQwLDI4CiBDT05UUk9MICIiICw3MTAsIlNUQVRJQyIsV1NfQk9SREVSfFNTX1NJTVBMRXxXU19UQUJTVE9QfFdTX0dST1VQLCAxNTIsNCwxMTgsMTE2CiBDT05UUk9MICIiICw3MDIsIlNUQVRJQyIsU1NfU0lNUExFfFdTX1RBQlNUT1B8V1NfR1JPVVAsIDI3OCw0LDgsMTE2CiBDT05UUk9MICIiICw3MDksIlNUQVRJQyIsU1NfU0lNUExFfFdTX1RBQlNUT1B8V1NfR1JPVVAsIDE1MiwxMjQsNDAsMjYKIERFRlBVU0hCVVRUT04gIk9rIiwgIElET0ssICA0LCAxNjYsIDQ0LCAxNCwgQlNfREVGUFVTSEJVVFRPTiB8IFdTX0dST1VQIHwgV1NfVEFCU1RPUAogUFVTSEJVVFRPTiAiTelnc2VtIiwgSURDQU5DRUwsIDUyLCAxNjYsIDQ0LCAxNCwgV1NfR1JPVVAgfCBXU19UQUJTVE9QCiBQVVNIQlVUVE9OICJTZWftdHPpZyIsIDEwMzgsMTAwLDE2NiwgNDQsIDE0CiBQVVNIQlVUVE9OICImRWd5ZWRpIHN67W5la2hleiBhZOFzIiwgICAgNzEyLyoxMDI0Ki8sIDE1MiwgMTY2LCAxNDIsIDE0LCBXU19HUk9VUCB8IFdTX1RBQlNUT1AKIFBVU0hCVVRUT04gIkUmZ3llZGkgc3rtbiBkZWZpbmnhbOFzID4+IiwgNzE5LyoxMDI1Ki8sICAgNCwgMTUwLCAxNDIsIDE0LCBXU19HUk9VUCB8IFdTX1RBQlNUT1AKIFBVU0hCVVRUT04gICImdCIsNzEzLDMwMCwyMDAsNCwxNCAgIC8qIGp1c3QgYSBkdW1teTogICdpJyBpcyAgbGlrZSAgJmkgIGluICJzb2wmaWQiICAqLwp9CgpGSU5ERExHT1JEIERJQUxPRyBMT0FET05DQUxMIE1PVkVBQkxFIERJU0NBUkRBQkxFIDM2LCAyNCwgMjM2LCA2MgpTVFlMRSBEU19NT0RBTEZSQU1FIHwgV1NfUE9QVVAgfCBXU19DQVBUSU9OIHwgV1NfU1lTTUVOVQpDQVBUSU9OICJLZXJlc+lzIgpGT05UIDgsICJNUyBTaGVsbCBEbGciCkJFR0lOCiAgICAgICAgTFRFWFQgIiZNaXQga2VyZXNzZW46IiwgLTEsIDQsIDgsIDQ4LCA4CiAgICAgICAgRURJVFRFWFQgZWR0MSwgNTEsIDcsIDEyNCwgMTIsIEVTX0FVVE9IU0NST0xMIHwgV1NfQk9SREVSIHwgV1NfR1JPVVAgfCBXU19UQUJTVE9QCiAgICAgICAgQ0hFQ0tCT1ggIlRlbGplcyAmc3phdmFrIGtlcmVz6XNlIiwgY2h4MSwgNCwgMjYsIDEwMCwgMTIsIEJTX0FVVE9DSEVDS0JPWCB8IFdTX0dST1VQIHwgV1NfVEFCU1RPUAogICAgICAgIENIRUNLQk9YICJLaXMvJm5hZ3liZXT7IGv8bPZuYi4iLCBjaHgyLCA0LCA0MiwgOTIsIDEyLCBCU19BVVRPQ0hFQ0tCT1ggfCBXU19UQUJTVE9QCiAgICAgICAgR1JPVVBCT1ggIkly4W55IiwgZ3JwMSwgOTcsIDI2LCA3OCwgMjgKICAgICAgICBDT05UUk9MICImVmlzc3phIiwgcmFkMSwgIkJVVFRPTiIsIEJTX0FVVE9SQURJT0JVVFRPTiB8IFdTX0NISUxEIHwgV1NfVklTSUJMRSB8IFdTX0dST1VQIHwgV1NfVEFCU1RPUCwgMTAyLCAzOCwgMzIsIDEyCiAgICAgICAgQ09OVFJPTCAiJkVs9XJlIiwgcmFkMiwgIkJVVFRPTiIsIEJTX0FVVE9SQURJT0JVVFRPTiB8IFdTX0NISUxEIHwgV1NfVklTSUJMRSB8IFdTX1RBQlNUT1AsIDEzOCwgMzgsIDMwLCAxMgogICAgICAgIERFRlBVU0hCVVRUT04gIiZL9nZldGtlevUiLCBJRE9LLCAxODIsICA1LCA1MCwgMTQsIFdTX0dST1VQIHwgV1NfVEFCU1RPUAogICAgICAgIFBVU0hCVVRUT04gIk3pZ3NlbSIsIElEQ0FOQ0VMLCAxODIsIDIzLCA1MCwgMTQsIFdTX0dST1VQIHwgV1NfVEFCU1RPUAogICAgICAgIFBVU0hCVVRUT04gIiZTZWftdHPpZyIsIHBzaEhlbHAsIDE4MiwgNDUsIDUwLCAxNCwgV1NfR1JPVVAgfCBXU19UQUJTVE9QCkVORAoKUkVQTEFDRURMR09SRCBESUFMT0cgMzYsIDI0LCAyMzAsIDk0ClNUWUxFIERTX01PREFMRlJBTUUgfCBXU19QT1BVUCB8IFdTX0NBUFRJT04gfCBXU19TWVNNRU5VCkNBUFRJT04gIkNzZXLpbOlzIgpGT05UIDgsICJNUyBTaGVsbCBEbGciCkJFR0lOCiAgICAgICAgTFRFWFQgIiZNaXQga2VyZXNzZW46IiwgLTEsIDQsIDksIDQ4LCA4CiAgICAgICAgRURJVFRFWFQgMTE1MiwgNTcsIDcsIDExMSwgMTIsIEVTX0FVVE9IU0NST0xMIHwgV1NfQk9SREVSIHwgV1NfR1JPVVAgfCBXU19UQUJTVE9QCiAgICAgICAgTFRFWFQgIk1pcmUgJmNzZXLpbGplbToiLCAtMSwgNCwgMjYsIDUzLCA4CiAgICAgICAgRURJVFRFWFQgMTE1MywgNTcsIDI0LCAxMTEsIDEyLCBFU19BVVRPSFNDUk9MTCB8IFdTX0JPUkRFUiB8IFdTX0dST1VQIHwgV1NfVEFCU1RPUAogICAgICAgIENPTlRST0wgIlRlbGplcyAmc3phdmFrIGtlcmVz6XNlIiwgMTA0MCwgIkJVVFRPTiIsIEJTX0FVVE9DSEVDS0JPWCB8IFdTX0dST1VQIHwgV1NfVEFCU1RPUCwgNSwgNDYsIDEwNCwgMTIKICAgICAgICBDT05UUk9MICJLaXMvJm5hZ3liZXT7IGv8bPZuYi4iLCAxMDQxLCAiQlVUVE9OIiwgQlNfQVVUT0NIRUNLQk9YIHwgV1NfVEFCU1RPUCwgNSwgNjIsIDk5LCAxMgogICAgICAgIENPTlRST0wgIiZL9nZldGtlevUiLCBJRE9LLCAiQlVUVE9OIiwgQlNfREVGUFVTSEJVVFRPTiB8IFdTX0dST1VQIHwgV1NfVEFCU1RPUCwgMTc0LCA0LCA1MywgMTQKICAgICAgICBDT05UUk9MICJDJnNlculsIiwgMTAyNCwgIkJVVFRPTiIsIFdTX0dST1VQIHwgV1NfVEFCU1RPUCwgMTc0LCAyMSwgNTMsIDE0CiAgICAgICAgQ09OVFJPTCAiTSZpbmRlbnQgY3NlculsIiwgMTAyNSwgIkJVVFRPTiIsIFdTX0dST1VQIHwgV1NfVEFCU1RPUCwgMTc0LCAzOCwgNTMsIDE0CiAgICAgICAgQ09OVFJPTCAiTelnc2VtIiwgSURDQU5DRUwsICJCVVRUT04iLCBXU19HUk9VUCB8IFdTX1RBQlNUT1AsIDE3NCwgNTUsIDUzLCAxNAogICAgICAgIENPTlRST0wgIiZTZWftdHPpZyIsIDEwMzgsICJCVVRUT04iLCBXU19HUk9VUCB8IFdTX1RBQlNUT1AsIDE3NCwgNzUsIDUzLCAxNApFTkQK