LyoKICogQ29weXJpZ2h0IDE5OTcgTWlrb2xhaiBaYWxld3NraQogKgogKiBUaGlzIGxpYnJhcnkgaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yCiAqIG1vZGlmeSBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBMZXNzZXIgR2VuZXJhbCBQdWJsaWMKICogTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyCiAqIHZlcnNpb24gMi4xIG9mIHRoZSBMaWNlbnNlLCBvciAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgogKgogKiBUaGlzIGxpYnJhcnkgaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKICogYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKICogTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZSBHTlUKICogTGVzc2VyIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KICoKICogWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIExlc3NlciBHZW5lcmFsIFB1YmxpYwogKiBMaWNlbnNlIGFsb25nIHdpdGggdGhpcyBsaWJyYXJ5OyBpZiBub3QsIHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3YXJlCiAqIEZvdW5kYXRpb24sIEluYy4sIDU5IFRlbXBsZSBQbGFjZSwgU3VpdGUgMzMwLCBCb3N0b24sIE1BICAwMjExMS0xMzA3ICBVU0EKICovCgpMQU5HVUFHRSBMQU5HX1BPTElTSCwgU1VCTEFOR19ERUZBVUxUCgovKiBMVEVYVCAiV3lzd2lldGwgcGxpa2kgJnR5cHU6IiwgMTA4OSwgNiwgMTA0LCA5MCwgOSAqLwpPUEVOX0ZJTEUgRElBTE9HIDM2LCAyNCwgMjc5LCAxMzQKU1RZTEUgRFNfTU9EQUxGUkFNRSB8IFdTX1BPUFVQIHwgV1NfQ0FQVElPTiB8IFdTX1NZU01FTlUKQ0FQVElPTiAiT3R383J6IgpGT05UIDgsICJIZWx2IgpCRUdJTgoJTFRFWFQgIiZOYXp3YSBwbGlrdToiLCAxMDkwLCA2LCA2LCA3NiwgOSwgV1NfQ0hJTEQgfCBXU19WSVNJQkxFIHwgV1NfR1JPVVAKCUVESVRURVhUIDExNTIsIDYsIDE2LCA5MCwgMTIsIEVTX0FVVE9IU0NST0xMIHwgRVNfT0VNQ09OVkVSVCB8IFdTX0JPUkRFUiB8IFdTX1RBQlNUT1AKCUxJU1RCT1ggMTEyMCwgNiwgMzIsIDkwLCA2OCwgTEJTX1NUQU5EQVJEIHwgTEJTX09XTkVSRFJBV0ZJWEVEIHwgTEJTX0hBU1NUUklOR1MgfCBMQlNfRElTQUJMRU5PU0NST0xMIHwgV1NfVEFCU1RPUAoJTFRFWFQgIiZLYXRhbG9naToiLCAtMSwgMTEwLCA2LCA5MiwgOSwgV1NfQ0hJTEQgfCBXU19WSVNJQkxFIHwgV1NfR1JPVVAKCUNPTlRST0wgIiIsIDEwODgsICJTVEFUSUMiLCBTU19OT1BSRUZJWCB8IFdTX0dST1VQLCAxMTAsIDE4LCA5MiwgOQoJTElTVEJPWCAxMTIxLCAxMTAsIDMyLCA5MiwgNjgsIExCU19TVEFOREFSRCB8IExCU19PV05FUkRSQVdGSVhFRCB8IExCU19IQVNTVFJJTkdTIHwgTEJTX0RJU0FCTEVOT1NDUk9MTCB8IFdTX1RBQlNUT1AKCUxURVhUICJXeZx3aWV0bCBwbGlraSAmdHlwdToiLCAxMDg5LCA2LCAxMDQsIDkwLCA5LCBXU19DSElMRCB8IFdTX1ZJU0lCTEUgfCBXU19HUk9VUAoJQ09OVFJPTCAiIiwgMTEzNiwgIkNPTUJPQk9YIiwgQ0JTX0RST1BET1dOTElTVCB8IENCU19BVVRPSFNDUk9MTCB8IFdTX0JPUkRFUiB8IFdTX1ZTQ1JPTEwgfCBXU19UQUJTVE9QLCA2LCAxMTQsIDkwLCAzNgoJTFRFWFQgIiZTdGFjamUgZHlza/N3OiIsIDEwOTEsIDExMCwgMTA0LCA5MiwgOSwgV1NfQ0hJTEQgfCBXU19WSVNJQkxFIHwgV1NfR1JPVVAKCUNPTlRST0wgIiIsIDExMzcsICJDT01CT0JPWCIsIENCU19EUk9QRE9XTkxJU1QgfCBDQlNfT1dORVJEUkFXRklYRUQgfCBDQlNfQVVUT0hTQ1JPTEwgfCBDQlNfU09SVCB8IENCU19IQVNTVFJJTkdTIHwgV1NfQk9SREVSIHwgV1NfVlNDUk9MTCB8IFdTX1RBQlNUT1AsIDExMCwgMTE0LCA5MiwgNjgKCUNPTlRST0wgIk90d/NyeiIsIElET0ssICJCVVRUT04iLCBCU19ERUZQVVNIQlVUVE9OIHwgV1NfQ0hJTEQgfCBXU19WSVNJQkxFIHwgV1NfR1JPVVAgfCBXU19UQUJTVE9QLCAyMTIsIDYsIDU2LCAxNAoJQ09OVFJPTCAiQW51bHVqIiwgSURDQU5DRUwsICJCVVRUT04iLCBCU19QVVNIQlVUVE9OIHwgV1NfQ0hJTEQgfCBXU19WSVNJQkxFIHwgV1NfR1JPVVAgfCBXU19UQUJTVE9QLCAyMTIsIDI0LCA1NiwgMTQKCUNPTlRST0wgIiZQb21vYyIsIDEwMzgsICJCVVRUT04iLCBCU19QVVNIQlVUVE9OIHwgV1NfQ0hJTEQgfCBXU19WSVNJQkxFIHwgV1NfR1JPVVAgfCBXU19UQUJTVE9QLCAyMTIsIDQ2LCA1NiwgMTQKCUNPTlRST0wgIlR5bGtvIGRvIG9kY3p5dHUiLCAxMDQwLCAiQlVUVE9OIiwgQlNfQVVUT0NIRUNLQk9YIHwgV1NfQ0hJTEQgfCBXU19WSVNJQkxFIHwgV1NfR1JPVVAgfCBXU19UQUJTVE9QLCAyMDgsIDY4LCA2OSwgMTIKRU5ECi8qIFBSSU5UIERJQUxPRyBMT0FET05DQUxMIE1PVkVBQkxFIERJU0NBUkRBQkxFIDM2LCAyNCwgMjY0LCAxMzQgKi8KU0FWRV9GSUxFIERJQUxPRyAzNiwgMjQsIDI3OCwgMTM0ClNUWUxFIERTX01PREFMRlJBTUUgfCBXU19QT1BVUCB8IFdTX0NBUFRJT04gfCBXU19TWVNNRU5VCkNBUFRJT04gIlphcGlzeiBqYWtvIgpGT05UIDgsICJIZWx2IgpCRUdJTgoJTFRFWFQgIiZOYXp3YSBwbGlrdToiLCAxMDkwLCA2LCA2LCA3NiwgOSwgV1NfQ0hJTEQgfCBXU19WSVNJQkxFIHwgV1NfR1JPVVAKCUVESVRURVhUIDExNTIsIDYsIDE2LCA5MCwgMTIsIEVTX0FVVE9IU0NST0xMIHwgRVNfT0VNQ09OVkVSVCB8IFdTX0JPUkRFUiB8IFdTX1RBQlNUT1AKCUxJU1RCT1ggMTEyMCwgNiwgMzIsIDkwLCA2OCwgTEJTX1NUQU5EQVJEIHwgTEJTX09XTkVSRFJBV0ZJWEVEIHwgTEJTX0hBU1NUUklOR1MgfCBMQlNfRElTQUJMRU5PU0NST0xMIHwgV1NfVEFCU1RPUAoJTFRFWFQgIiZLYXRhbG9naToiLCAtMSwgMTEwLCA2LCA5MiwgOSwgV1NfQ0hJTEQgfCBXU19WSVNJQkxFIHwgV1NfR1JPVVAKCUNPTlRST0wgIiIsIDEwODgsICJTVEFUSUMiLCBTU19OT1BSRUZJWCB8IFdTX0dST1VQLCAxMTAsIDE4LCA5MiwgOQoJTElTVEJPWCAxMTIxLCAxMTAsIDMyLCA5MiwgNjgsIExCU19TVEFOREFSRCB8IExCU19PV05FUkRSQVdGSVhFRCB8IExCU19IQVNTVFJJTkdTIHwgTEJTX0RJU0FCTEVOT1NDUk9MTCB8IFdTX1RBQlNUT1AKCUxURVhUICJQb2thenVqIHBsaWtpICZ0eXB1OiIsIDEwODksIDYsIDEwNCwgOTAsIDksIFdTX0NISUxEIHwgV1NfVklTSUJMRSB8IFdTX0dST1VQCglDT05UUk9MICIiLCAxMTM2LCAiQ09NQk9CT1giLCBDQlNfRFJPUERPV05MSVNUIHwgQ0JTX0FVVE9IU0NST0xMIHwgV1NfQk9SREVSIHwgV1NfVlNDUk9MTCB8IFdTX1RBQlNUT1AsIDYsIDExNCwgOTAsIDM2CglMVEVYVCAiJlN0YWNqZSBkeXNr83c6IiwgMTA5MSwgMTEwLCAxMDQsIDkyLCA5LCBXU19DSElMRCB8IFdTX1ZJU0lCTEUgfCBXU19HUk9VUAoJQ09OVFJPTCAiIiwgMTEzNywgIkNPTUJPQk9YIiwgQ0JTX0RST1BET1dOTElTVCB8IENCU19PV05FUkRSQVdGSVhFRCB8IENCU19BVVRPSFNDUk9MTCB8IENCU19TT1JUIHwgQ0JTX0hBU1NUUklOR1MgfCBXU19CT1JERVIgfCBXU19WU0NST0xMIHwgV1NfVEFCU1RPUCwgMTEwLCAxMTQsIDkyLCA2OAoJQ09OVFJPTCAiT2siLCBJRE9LLCAiQlVUVE9OIiwgQlNfREVGUFVTSEJVVFRPTiB8IFdTX0NISUxEIHwgV1NfVklTSUJMRSB8IFdTX0dST1VQIHwgV1NfVEFCU1RPUCwgMjEzLCA2LCA1NiwgMTQKCUNPTlRST0wgIkFudWx1aiIsIElEQ0FOQ0VMLCAiQlVUVE9OIiwgQlNfUFVTSEJVVFRPTiB8IFdTX0NISUxEIHwgV1NfVklTSUJMRSB8IFdTX0dST1VQIHwgV1NfVEFCU1RPUCwgMjEzLCAyNCwgNTYsIDE0CglDT05UUk9MICImUG9tb2MiLCAxMDM4LCAiQlVUVE9OIiwgQlNfUFVTSEJVVFRPTiB8IFdTX0NISUxEIHwgV1NfVklTSUJMRSB8IFdTX0dST1VQIHwgV1NfVEFCU1RPUCwgMjEzLCA0NSwgNTYsIDE0CglDT05UUk9MICImVHlsa28gZG8gb2Rjenl0dSIsIDEwNDAsICJCVVRUT04iLCBCU19BVVRPQ0hFQ0tCT1ggfCBXU19DSElMRCB8IFdTX1ZJU0lCTEUgfCBXU19HUk9VUCB8IFdTX1RBQlNUT1AsIDIwOCwgNjgsIDY4LCAxMgpFTkQKLyogREVGUFVTSEJVVFRPTiAiT2siLCBJRE9LLCAyMDYsIDYsIDU2LCAxNCwgQlNfREVGUFVTSEJVVFRPTiB8IFdTX0dST1VQIHwgV1NfVEFCU1RPUCAqLwpQUklOVCBESUFMT0cgMzYsIDI0LCAyNjQsIDEzNApTVFlMRSBEU19NT0RBTEZSQU1FIHwgV1NfUE9QVVAgfCBXU19DQVBUSU9OIHwgV1NfU1lTTUVOVQpDQVBUSU9OICJEcnVrdWoiCkZPTlQgOCwgIkhlbHYiCkJFR0lOCglMVEVYVCAiJkRydWthcmthOiIsIDEwODgsIDYsIDYsIDQwLCA5LCBXU19DSElMRCB8IFdTX1ZJU0lCTEUgfCBXU19HUk9VUAoJTFRFWFQgIiIsIDEwODksIDYwLCA2LCAxNTAsIDkKCUdST1VQQk9YICJEcnVrdWoiLCAxMDcyLCA2LCAzMCwgMTYwLCA2NSwgV1NfQ0hJTEQgfCBXU19WSVNJQkxFIHwgV1NfVEFCU1RPUAoJUkFESU9CVVRUT04gIiZXc3p5c3RrbyIsIDEwNTYsIDE2LCA0NSwgNjAsIDEyLCBXU19DSElMRCB8IFdTX1ZJU0lCTEUgfCBXU19UQUJTVE9QCglSQURJT0JVVFRPTiAiVyZ5YvNyIiwgMTA1NywgMTYsIDYwLCA2MCwgMTIsIFdTX0NISUxEIHwgV1NfVklTSUJMRSB8IFdTX1RBQlNUT1AKCVJBRElPQlVUVE9OICImU3Ryb255IiwgMTA1OCwgMTYsIDc1LCA2MCwgMTIsIFdTX0NISUxEIHwgV1NfVklTSUJMRSB8IFdTX1RBQlNUT1AKCUNPTlRST0wgIkRydWt1aiIsIElET0ssICJCVVRUT04iLCBCU19ERUZQVVNIQlVUVE9OIHwgV1NfQ0hJTEQgfCBXU19WSVNJQkxFIHwgV1NfR1JPVVAgfCBXU19UQUJTVE9QLCAyMDYsIDYsIDU2LCAxNAoJQ09OVFJPTCAiQW51bHVqIiwgSURDQU5DRUwsICJCVVRUT04iLCBCU19QVVNIQlVUVE9OIHwgV1NfQ0hJTEQgfCBXU19WSVNJQkxFIHwgV1NfR1JPVVAgfCBXU19UQUJTVE9QLCAyMDYsIDI0LCA1NiwgMTQKCUNPTlRST0wgIiZVc3Rhd2llbmlhIiwgMTAyNCwgIkJVVFRPTiIsIEJTX1BVU0hCVVRUT04gfCBXU19DSElMRCB8IFdTX1ZJU0lCTEUgfCBXU19HUk9VUCB8IFdTX1RBQlNUT1AsIDIwNiwgNDYsIDU2LCAxNAoJTFRFWFQgIiZPZDoiLCAxMDkwLCA2MCwgNzgsIDMwLCA5LCBXU19DSElMRCB8IFdTX1ZJU0lCTEUgfCBXU19HUk9VUAoJTFRFWFQgIiZEbzoiLCAxMDkxLCAxMjAsIDc4LCAzMCwgOSwgV1NfQ0hJTEQgfCBXU19WSVNJQkxFIHwgV1NfR1JPVVAKCUxURVhUICJKYWtvnOYgJnd5ZHJ1a3U6IiwgMTA5MiwgNiwgMTAwLCA3NiwgOSwgV1NfQ0hJTEQgfCBXU19WSVNJQkxFIHwgV1NfR1JPVVAKCUNPTlRST0wgIiIsIDExMzYsICJDT01CT0JPWCIsIENCU19EUk9QRE9XTkxJU1QgfCBDQlNfT1dORVJEUkFXRklYRUQgfCBDQlNfQVVUT0hTQ1JPTEwgfCBDQlNfU09SVCB8IENCU19IQVNTVFJJTkdTIHwgV1NfQk9SREVSIHwgV1NfVlNDUk9MTCB8IFdTX1RBQlNUT1AsIDcxLCA5OCwgOTIsIDY4CglDT05UUk9MICJEcnVrdWogZG8gUGxpJmt1IiwgMTA0MCwgIkJVVFRPTiIsIEJTX0FVVE9DSEVDS0JPWCB8IFdTX0NISUxEIHwgV1NfVklTSUJMRSB8IFdTX0dST1VQIHwgV1NfVEFCU1RPUCwgMTQsIDExNSwgOTUsIDEyCglDT05UUk9MICJTb3J0dWoga29waWUiLCAxMDQxLCAiQlVUVE9OIiwgQlNfQVVUT0NIRUNLQk9YIHwgV1NfQ0hJTEQgfCBXU19WSVNJQkxFIHwgV1NfR1JPVVAgfCBXU19UQUJTVE9QLCAxODIsIDEwMiwgNTksIDEyCkVORAovKiAgICBQVVNIQlVUVE9OICAgICAgIkFudWx1aiIsSURDQU5DRUwsMjE4LDIzLDQwLDE0LFdTX0dST1VQICovClBSSU5UX1NFVFVQIERJQUxPRyAzNiwgMjQsIDI2NCwgMTM0ClNUWUxFIERTX01PREFMRlJBTUUgfCBXU19QT1BVUCB8IFdTX0NBUFRJT04gfCBXU19TWVNNRU5VCkNBUFRJT04gIlByaW50IFNldHVwIgpGT05UIDgsICJIZWx2IgpCRUdJTgoJR1JPVVBCT1ggIkRydWthcmthIiwgMTA3MiwgNiwgMTAsIDE4MCwgNjUsIFdTX0NISUxEIHwgV1NfVklTSUJMRSB8IFdTX1RBQlNUT1AKCVJBRElPQlVUVE9OICImRHJ1a2Fya2EgZG9teZxsbmEiLCAxMDU2LCAxNiwgMjAsIDgwLCAxMiwgV1NfQ0hJTEQgfCBXU19WSVNJQkxFIHwgV1NfVEFCU1RPUAoJTFRFWFQgIltub25lXSIsIDEwODgsIDM1LCAzNSwgMTIwLCA5CglSQURJT0JVVFRPTiAiJklubmEgZHJ1a2Fya2EiLCAxMDU3LCAxNiwgNTAsIDgwLCAxMiwgV1NfQ0hJTEQgfCBXU19WSVNJQkxFIHwgV1NfVEFCU1RPUAoJQ09OVFJPTCAiIiwgMTEzNiwgIkNPTUJPQk9YIiwgQ0JTX0RST1BET1dOTElTVCB8IENCU19PV05FUkRSQVdGSVhFRCB8IENCU19BVVRPSFNDUk9MTCB8IENCU19TT1JUIHwgQ0JTX0hBU1NUUklOR1MgfCBXU19CT1JERVIgfCBXU19WU0NST0xMIHwgV1NfVEFCU1RPUCwgMzUsIDY1LCAxNDksIDY4CglDT05UUk9MICJPayIsIElET0ssICJCVVRUT04iLCBCU19ERUZQVVNIQlVUVE9OIHwgV1NfR1JPVVAgfCBXU19UQUJTVE9QLCAyMDYsIDYsIDU2LCAxNAoJQ09OVFJPTCAiQW51bHVqIiwgSURDQU5DRUwsICJCVVRUT04iLCBCU19QVVNIQlVUVE9OIHwgV1NfQ0hJTEQgfCBXU19WSVNJQkxFIHwgV1NfR1JPVVAgfCBXU19UQUJTVE9QLCAyMDYsIDI0LCA1NiwgMTQKCUNPTlRST0wgIiZPcGNqZSIsIDEwMjQsICJCVVRUT04iLCBCU19QVVNIQlVUVE9OIHwgV1NfQ0hJTEQgfCBXU19WSVNJQkxFIHwgV1NfR1JPVVAgfCBXU19UQUJTVE9QLCAyMDYsIDQ2LCA1NiwgMTQKCUdST1VQQk9YICJPcmllbnRhY2phIiwgMTA3MywgNiwgODUsIDEwMCwgNTAsIFdTX0NISUxEIHwgV1NfVklTSUJMRSB8IFdTX1RBQlNUT1AKCVJBRElPQlVUVE9OICJXIHAmaW9uaWUiLCAxMDU4LCA1MCwgMTAwLCA0MCwgMTIsIFdTX0NISUxEIHwgV1NfVklTSUJMRSB8IFdTX1RBQlNUT1AKCVJBRElPQlVUVE9OICJXIHBvJnppb21pZSIsIDEwNTksIDUwLCAxMTUsIDQwLCAxMiwgV1NfQ0hJTEQgfCBXU19WSVNJQkxFIHwgV1NfVEFCU1RPUAoJSUNPTiAiTEFORFNDQVAiLCAxMDk3LCAxMCwgOTUsIDMyLCAzMgoJSUNPTiAiUE9SVFJBSVQiLCAxMDk4LCAxMCwgOTUsIDMyLCAzMgoJR1JPVVBCT1ggIlBhcGllciIsIDEwNzQsIDEyMCwgODUsIDE4MCwgNTAsIFdTX0NISUxEIHwgV1NfVklTSUJMRSB8IFdTX1RBQlNUT1AKCUxURVhUICImV2llbGtvnOYiLCAxMDg5LCAxMzAsIDk1LCAzMCwgOSwgV1NfQ0hJTEQgfCBXU19WSVNJQkxFIHwgV1NfR1JPVVAKCUxURVhUICImj3LzZLNvIiwgMTA5MCwgMTMwLCAxMTAsIDMwLCA5LCBXU19DSElMRCB8IFdTX1ZJU0lCTEUgfCBXU19HUk9VUAoJQ09OVFJPTCAiIiwgMTEzNywgIkNPTUJPQk9YIiwgQ0JTX0RST1BET1dOTElTVCB8IENCU19PV05FUkRSQVdGSVhFRCB8IENCU19BVVRPSFNDUk9MTCB8IENCU19TT1JUIHwgQ0JTX0hBU1NUUklOR1MgfCBXU19CT1JERVIgfCBXU19WU0NST0xMIHwgV1NfVEFCU1RPUCwgMTU1LCA5NSwgOTIsIDY4CglDT05UUk9MICIiLCAxMTM4LCAiQ09NQk9CT1giLCBDQlNfRFJPUERPV05MSVNUIHwgQ0JTX09XTkVSRFJBV0ZJWEVEIHwgQ0JTX0FVVE9IU0NST0xMIHwgQ0JTX1NPUlQgfCBDQlNfSEFTU1RSSU5HUyB8IFdTX0JPUkRFUiB8IFdTX1ZTQ1JPTEwgfCBXU19UQUJTVE9QLCAxNTUsIDExMCwgOTIsIDY4CkVORAovKiBDT05UUk9MICIiICw3MTAsIlNUQVRJQyIsV1NfQk9SREVSfFNTX1NJTVBMRXxXU19UQUJTVE9QfFdTX0dST1VQLCAxNTIsNCwxMTgsMTE2ICovCkNIT09TRV9GT05UIERJQUxPRyAxMywgNTQsIDI2NCwgMTQ3ClNUWUxFIERTX01PREFMRlJBTUUgfCBXU19QT1BVUCB8IFdTX0NBUFRJT04gfCBXU19TWVNNRU5VCkNBUFRJT04gIkZvbnQiCkZPTlQgOCwgIkhlbHYiCkJFR0lOCglMVEVYVCAiJkN6Y2lvbmthOiIsIDEwODgsIDYsMyw0MCw5LCBXU19DSElMRCB8IFdTX1ZJU0lCTEUgfCBXU19HUk9VUAoJQ09OVFJPTCAiIiwgMTEzNiwgIkNPTUJPQk9YIiwgQ0JTX09XTkVSRFJBV0ZJWEVEIHwgQ0JTX0hBU1NUUklOR1MgfCBDQlNfRElTQUJMRU5PU0NST0xMIHwKQ0JTX0FVVE9IU0NST0xMIHwgQ0JTX1NPUlQgfCBXU19WU0NST0xMIHwgV1NfVEFCU1RPUCB8IENCU19TSU1QTEUsIDYsMTMsOTQsNTQKCUxURVhUICJTdCZ5bDoiLCAxMDg5LCAxMDgsMyw0NCw5LCBXU19DSElMRCB8IFdTX1ZJU0lCTEUgfCBXU19HUk9VUAoJQ09OVFJPTCAiIiwgMTEzNywgIkNPTUJPQk9YIiwgQ0JTX09XTkVSRFJBV0ZJWEVEIHwgQ0JTX0hBU1NUUklOR1MgfCBDQlNfRElTQUJMRU5PU0NST0xMIHwKV1NfVlNDUk9MTCB8IFdTX1RBQlNUT1AgfCBDQlNfU0lNUExFLCAxMDgsMTMsNjQsNTQKCUxURVhUICImUm96bWlhcjoiLCAxMDkwLCAxNzksMywzMCw5LCBXU19DSElMRCB8IFdTX1ZJU0lCTEUgfCBXU19HUk9VUAoJQ09OVFJPTCAiIiwgMTEzOCwgIkNPTUJPQk9YIiwgQ0JTX09XTkVSRFJBV0ZJWEVEIHwgQ0JTX0hBU1NUUklOR1MgfCBDQlNfRElTQUJMRU5PU0NST0xMIHwKV1NfVlNDUk9MTCB8IFdTX1RBQlNUT1AgfCBDQlNfU0lNUExFIHwgQ0JTX1NPUlQsIDE3OSwxMywzMiw1NAoJQ09OVFJPTCAiT0siLCBJRE9LLCAiQlVUVE9OIiwgV1NfR1JPVVAsIDIxOCw2LDQwLDE0CglDT05UUk9MICJBbnVsdWoiLCBJRENBTkNFTCwgIkJVVFRPTiIsIEJTX1BVU0hCVVRUT04gfCBXU19DSElMRCB8IFdTX1ZJU0lCTEUgfCBXU19HUk9VUCB8IFdTX1RBQlNUT1AsIDIxOCwyMyw0MCwxNAoJQ09OVFJPTCAiJlphc3Rvc3VqIiwgMTAyNiwgIkJVVFRPTiIsIFdTX0dST1VQLCAyMTgsNDAsNDAsMTQKCUNPTlRST0wgIiZQb21vYyIsIDEwMzgsICJCVVRUT04iLCBCU19QVVNIQlVUVE9OIHwgV1NfQ0hJTEQgfCBXU19WSVNJQkxFIHwgV1NfR1JPVVAgfCBXU19UQUJTVE9QLCAyMTgsNTcsNDAsMTQKCUNPTlRST0wgIkVmZWt0eSBzcGVjaWFsbmUiLCAxMDcyLCAiQlVUVE9OIiwgQlNfR1JPVVBCT1ggfCBXU19DSElMRCB8IFdTX1ZJU0lCTEUgfCBXU19HUk9VUCB8IFdTX1RBQlNUT1AsIDYsNzIsODQsMzQKCUNPTlRST0wgIlByeiZla3JlnGxvbmEiLCAxMDQwLCAiQlVUVE9OIiwgQlNfQVVUT0NIRUNLQk9YIHwgV1NfQ0hJTEQgfCBXU19WSVNJQkxFIHwgV1NfVEFCU1RPUCwgMTAsIDgyLCA1OCwgMTAKCUNPTlRST0wgIlAmb2RrcmWcbG9uYSIsIDEwNDEsICJCVVRUT04iLCBCU19BVVRPQ0hFQ0tCT1ggfCBXU19DSElMRCB8IFdTX1ZJU0lCTEUgfCBXU19UQUJTVE9QLCAxMCw5NCw1MCwxMAoJTFRFWFQgIiZLb2xvcjoiLCAxMDkxLCA2LDExMCwzMCw5LCBXU19DSElMRCB8IFdTX1ZJU0lCTEUgfCBXU19HUk9VUAoJQ09OVFJPTCAiIiwgMTEzOSwgIkNPTUJPQk9YIiwgQ0JTX0RST1BET1dOTElTVCB8IENCU19PV05FUkRSQVdGSVhFRCB8IENCU19IQVNTVFJJTkdTIHwKQ0JTX0FVVE9IU0NST0xMIHwgV1NfQk9SREVSIHwgV1NfVlNDUk9MTCB8IFdTX1RBQlNUT1AsIDYsMTIwLDg0LDEwMAoJQ09OVFJPTCAiUHJ6eWuzYWQiLCAxMDczLCAiQlVUVE9OIiwgQlNfR1JPVVBCT1ggfCBXU19DSElMRCB8IFdTX1ZJU0lCTEUgfCBXU19HUk9VUCB8IFdTX1RBQlNUT1AsIDk4LDcyLDE2MCw0OQoJQ09OVFJPTCAiQWFCYll5WnpceEIzIiwgMTA5MywgIlNUQVRJQyIsIFNTX05PUFJFRklYIHwgV1NfVklTSUJMRSwgMTA0LDgxLDE0OSwzNwpFTkQKLyogUFVTSEJVVFRPTiAiJlJlcGxhY2UiLCAxMDI0LCAxNzQsIDIxLCA1MCwgMTQsIFdTX0dST1VQIHwgV1NfVEFCU1RPUAogKiBQVVNIQlVUVE9OICJSZXBsYWNlICZBbGwiLCAxMDI1LCAxNzQsIDM4LCA1MCwgMTQsIFdTX0dST1VQIHwgV1NfVEFCU1RPUAogKiBQVVNIQlVUVE9OICJDYW5jZWwiLCAyLCAxNzQsIDU1LCA1MCwgMTQsIFdTX0dST1VQIHwgV1NfVEFCU1RPUAogKiBQVVNIQlVUVE9OICImSGVscCIsIDEwMzgsIDE3NCwgNzUsIDUwLCAxNCwgV1NfR1JPVVAgfCBXU19UQUJTVE9QCiAqfQogKi8KRklORERMR09SRCBESUFMT0cgMzQsIDI0LCAyNTEsIDYyClNUWUxFIERTX01PREFMRlJBTUUgfCBXU19QT1BVUCB8IFdTX0NBUFRJT04gfCBXU19TWVNNRU5VCkNBUFRJT04gIlpuYWpknyIKRk9OVCA4LCAiSGVsdiIKQkVHSU4KCUxURVhUICImWm5hamSfOiIsIC0xLCA0LCA4LCA0MiwgOCwgV1NfQ0hJTEQgfCBXU19WSVNJQkxFIHwgV1NfR1JPVVAKCUVESVRURVhUIDExNTIsIDQ2LCA3LCAxMzQsIDEyLCBFU19BVVRPSFNDUk9MTCB8IFdTX0JPUkRFUiB8IFdTX0dST1VQIHwgV1NfVEFCU1RPUAoJQ09OVFJPTCAiVXd6Z2zqZG5paiB0eWxrbyBjYbNlIHd5cmF6eSIsIDEwNDAsICJCVVRUT04iLCBCU19BVVRPQ0hFQ0tCT1ggfCBXU19DSElMRCB8IFdTX1ZJU0lCTEUgfCBXU19HUk9VUCB8IFdTX1RBQlNUT1AsIDQsIDI2LCAxMDcsIDEyCglDT05UUk9MICImVXd6Z2zqZG5pYWogd2llbGtvnOYgbGl0ZXIiLCAxMDQxLCAiQlVUVE9OIiwgQlNfQVVUT0NIRUNLQk9YIHwgV1NfQ0hJTEQgfCBXU19WSVNJQkxFIHwgV1NfVEFCU1RPUCwgNCwgNDIsIDEwNywgMTIKCUdST1VQQk9YICJLaWVydW5layIsIDEwNzIsIDExMywgMjYsIDY4LCAyOAoJQ09OVFJPTCAiVyAmZ1x4RjNyXHhFQSIsIDEwNTYsICJCVVRUT04iLCBCU19BVVRPUkFESU9CVVRUT04gfCBXU19DSElMRCB8IFdTX1ZJU0lCTEUgfCBXU19HUk9VUCB8IFdTX1RBQlNUT1AsIDExNywgMzgsIDIwLCAxMgoJQ09OVFJPTCAiVyAmZFx4RjNsIiwgMTA1NywgIkJVVFRPTiIsIEJTX0FVVE9SQURJT0JVVFRPTiB8IFdTX0NISUxEIHwgV1NfVklTSUJMRSB8IFdTX1RBQlNUT1AsIDE0NCwgMzgsIDMwLCAxMgoJQ09OVFJPTCAiJlpuYWpknyBuYXN06nBueSIsIElET0ssICJCVVRUT04iLCBCU19ERUZQVVNIQlVUVE9OIHwgV1NfQ0hJTEQgfCBXU19WSVNJQkxFIHwgV1NfR1JPVVAgfCBXU19UQUJTVE9QLCAxODcsIDUsIDYxLCAxNAoJQ09OVFJPTCAiQW51bHVqIiwgSURDQU5DRUwsICJCVVRUT04iLCBCU19QVVNIQlVUVE9OIHwgV1NfQ0hJTEQgfCBXU19WSVNJQkxFIHwgV1NfR1JPVVAgfCBXU19UQUJTVE9QLCAxODcsIDIzLCA2MSwgMTQKCUNPTlRST0wgIiZQb21vYyIsIDEwMzgsICJCVVRUT04iLCBCU19QVVNIQlVUVE9OIHwgV1NfQ0hJTEQgfCBXU19WSVNJQkxFIHwgV1NfR1JPVVAgfCBXU19UQUJTVE9QLCAxODcsIDQ1LCA2MSwgMTQKRU5EClJFUExBQ0VETEdPUkQgRElBTE9HIDM2LCAyNCwgMjQ1LCA5NApTVFlMRSBEU19NT0RBTEZSQU1FIHwgV1NfUE9QVVAgfCBXU19DQVBUSU9OIHwgV1NfU1lTTUVOVQpDQVBUSU9OICJaYW1pZfEiCkZPTlQgOCwgIkhlbHYiCkJFR0lOCglMVEVYVCAiJlpuYWpknzoiLCAtMSwgNCwgOSwgNDgsIDgsIFdTX0NISUxEIHwgV1NfVklTSUJMRSB8IFdTX0dST1VQCglFRElUVEVYVCAxMTUyLCA1NCwgNywgMTE0LCAxMiwgRVNfQVVUT0hTQ1JPTEwgfCBXU19CT1JERVIgfCBXU19HUk9VUCB8IFdTX1RBQlNUT1AKCUxURVhUICJaYW5pZfEgJm5hOiIsIC0xLCA0LCAyNiwgNDgsIDgsIFdTX0NISUxEIHwgV1NfVklTSUJMRSB8IFdTX0dST1VQCglFRElUVEVYVCAxMTUzLCA1NCwgMjQsIDExNCwgMTIsIEVTX0FVVE9IU0NST0xMIHwgV1NfQk9SREVSIHwgV1NfR1JPVVAgfCBXU19UQUJTVE9QCglDT05UUk9MICJVd3pnbOpkbmlqICZ0eWxrbyBjYbNlIHd5cmF6eSIsIDEwNDAsICJCVVRUT04iLCBCU19BVVRPQ0hFQ0tCT1ggfCBXU19DSElMRCB8IFdTX1ZJU0lCTEUgfCBXU19HUk9VUCB8IFdTX1RBQlNUT1AsIDUsIDQ2LCAxMDQsIDEyCglDT05UUk9MICImVXd6Z2zqZG5paiB3aWVsa2+c5iBsaXRlciIsIDEwNDEsICJCVVRUT04iLCBCU19BVVRPQ0hFQ0tCT1ggfCBXU19DSElMRCB8IFdTX1ZJU0lCTEUgfCBXU19UQUJTVE9QLCA1LCA2MiwgOTYsIDEyCglDT05UUk9MICJabmFqZJ8gbmFzdOpwbnkiLCBJRE9LLCAiQlVUVE9OIiwgQlNfREVGUFVTSEJVVFRPTiB8IFdTX0NISUxEIHwgV1NfVklTSUJMRSB8IFdTX0dST1VQIHwgV1NfVEFCU1RPUCwgMTc0LCA0LCA2NywgMTQKCUNPTlRST0wgIiZaYW1pZfEiLCAxMDI0LCAiQlVUVE9OIiwgQlNfUFVTSEJVVFRPTiB8IFdTX0NISUxEIHwgV1NfVklTSUJMRSB8IFdTX0dST1VQIHwgV1NfVEFCU1RPUCwgMTc0LCAyMSwgNjgsIDE0CglDT05UUk9MICJaYW1pZfEgJndzenlzdGtpZSIsIDEwMjUsICJCVVRUT04iLCBCU19QVVNIQlVUVE9OIHwgV1NfQ0hJTEQgfCBXU19WSVNJQkxFIHwgV1NfR1JPVVAgfCBXU19UQUJTVE9QLCAxNzQsIDM4LCA2OCwgMTQKCUNPTlRST0wgIkFudWx1aiIsIElEQ0FOQ0VMLCAiQlVUVE9OIiwgQlNfUFVTSEJVVFRPTiB8IFdTX0NISUxEIHwgV1NfVklTSUJMRSB8IFdTX0dST1VQIHwgV1NfVEFCU1RPUCwgMTc0LCA1NiwgNjgsIDE0CglDT05UUk9MICImUG9tb2MiLCAxMDM4LCAiQlVUVE9OIiwgQlNfUFVTSEJVVFRPTiB8IFdTX0NISUxEIHwgV1NfVklTSUJMRSB8IFdTX0dST1VQIHwgV1NfVEFCU1RPUCwgMTc0LCA3NSwgNjgsIDE0CkVORAoKQ0hPT1NFX0NPTE9SIERJQUxPRyBMT0FET05DQUxMIE1PVkVBQkxFIERJU0NBUkRBQkxFIDM2LCAyNCwgMzAwLCAxODUKU1RZTEUgRFNfTU9EQUxGUkFNRSB8IFdTX1BPUFVQIHwgV1NfQ0FQVElPTiB8IFdTX1NZU01FTlUKQ0FQVElPTiAiQ29sb3IiCkZPTlQgOCwgIkhlbHYiCnsKIExURVhUICImUG9kc3Rhd293ZSBrb2xvcnk6IiwgICAxMDg4LCA0LCAgICA0LCAgMTQwLCAxMAogTFRFWFQgIkRvd29sbmUgJmtvbG9yeToiLCAgMTA4OSwgNCwgICAxMDYsIDE0MCwgMTAKIExURVhUICJLb2xvciB8ICBTb2wmaWQiLCAgMTA5MCwgMTUwLCAxNTEsICA0OCwgMTAKIExURVhUICAgIiZDemVyd29ueToiLCA3MjYgLyoxMDk0Ki8sMjQ5LDEyNiwyNCwxMAogRURJVFRFWFQgNzA2LCAyNzUsMTI0LDE4LDEyLCBXU19CT1JERVIgfCBXU19HUk9VUCB8IFdTX1RBQlNUT1AKIExURVhUICAgIiZaaWVsb255OiIsNzI3LyoxMDk1Ki8sMjQ5LDE0MCwyNCwxMAogRURJVFRFWFQgNzA3LCAyNzUsMTM4LDE4LDEyLCBXU19CT1JERVIgfCBXU19HUk9VUCB8IFdTX1RBQlNUT1AKIExURVhUICAgIiZOaWViaWVza2k6Iiw3MjggLyoxMDk2Ki8sMjQ5LDE1NCwyNCwxMAogRURJVFRFWFQgNzA4LCAyNzUsMTUyLDE4LDEyLCBXU19CT1JERVIgfCBXU19HUk9VUCB8IFdTX1RBQlNUT1AKIExURVhUICAiJkh1ZToiICw3MjMgLyoxMDkxKi8sMjAyLDEyNiwyMiwxMAogRURJVFRFWFQgNzAzLCAyMjYsMTI0LDE4LDEyLCBXU19CT1JERVIgfCBXU19HUk9VUCB8IFdTX1RBQlNUT1AKIExURVhUICAiJlNhdDoiICw3MjQgLyoxMDkyKi8sMjAyLDE0MCwyMiwxMAogRURJVFRFWFQgNzA0LCAyMjYsMTM4LDE4LDEyLCBXU19CT1JERVIgfCBXU19HUk9VUCB8IFdTX1RBQlNUT1AKIExURVhUICAiJkx1bToiICw3MjUgLyoxMDkzKi8sMjAyLDE1NCwyMiwxMAogRURJVFRFWFQgNzA1LCAyMjYsMTUyLDE4LDEyLCBXU19CT1JERVIgfCBXU19HUk9VUCB8IFdTX1RBQlNUT1AKIENPTlRST0wgIiIgLDcyMCwiU1RBVElDIixTU19TSU1QTEV8V1NfVEFCU1RPUHxXU19HUk9VUCw0LDE0LDE0MCw4NgogQ09OVFJPTCAiIiAsNzIxLCJTVEFUSUMiLFNTX1NJTVBMRXxXU19UQUJTVE9QfFdTX0dST1VQLDQsMTE2LDE0MCwyOAogQ09OVFJPTCAiIiAsNzEwLCJTVEFUSUMiLFdTX0JPUkRFUnxTU19TSU1QTEV8V1NfVEFCU1RPUHxXU19HUk9VUCwgMTUyLDQsMTE4LDExNgogQ09OVFJPTCAiIiAsNzAyLCJTVEFUSUMiLFNTX1NJTVBMRXxXU19UQUJTVE9QfFdTX0dST1VQLCAyNzgsNCw4LDExNgogQ09OVFJPTCAiIiAsNzA5LCJTVEFUSUMiLFNTX1NJTVBMRXxXU19UQUJTVE9QfFdTX0dST1VQLCAxNTIsMTI0LDQwLDI2CiBERUZQVVNIQlVUVE9OICJPayIsICBJRE9LLCAgNCwgMTY2LCA0NCwgMTQsIEJTX0RFRlBVU0hCVVRUT04gfCBXU19HUk9VUCB8IFdTX1RBQlNUT1AKIFBVU0hCVVRUT04gIkFudWx1aiIsIElEQ0FOQ0VMLCA1MiwgMTY2LCA0NCwgMTQsIFdTX0dST1VQIHwgV1NfVEFCU1RPUAogUFVTSEJVVFRPTiAiUG9tb2MiLCAxMDM4LDEwMCwxNjYsIDQ0LCAxNAogUFVTSEJVVFRPTiAiJkRvZGFqIGRvIGRvd29sbnljaCIsICAgIDcxMi8qMTAyNCovLCAxNTIsIDE2NiwgMTQyLCAxNCwgV1NfR1JPVVAgfCBXU19UQUJTVE9QCiBQVVNIQlVUVE9OICJaJmRlZmluaXVqIEtvbG9yID4+IiwgNzE5LyoxMDI1Ki8sICAgNCwgMTUwLCAxNDIsIDE0LCBXU19HUk9VUCB8IFdTX1RBQlNUT1AKIFBVU0hCVVRUT04gICImaSIsNzEzLDMwMCwyMDAsNCwxNCAgIC8qIGp1c3QgYSBkdW1teTogICdpJyBpcyAgbGlrZSAgJmkgIGluICJzb2wmaWQiICAqLwp9Cg==