LyoKICogQ29weXJpZ2h0IDE5OTcgTWlrb2xhaiBaYWxld3NraQogKgogKiBUaGlzIGxpYnJhcnkgaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yCiAqIG1vZGlmeSBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBMZXNzZXIgR2VuZXJhbCBQdWJsaWMKICogTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyCiAqIHZlcnNpb24gMi4xIG9mIHRoZSBMaWNlbnNlLCBvciAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgogKgogKiBUaGlzIGxpYnJhcnkgaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKICogYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKICogTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZSBHTlUKICogTGVzc2VyIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KICoKICogWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIExlc3NlciBHZW5lcmFsIFB1YmxpYwogKiBMaWNlbnNlIGFsb25nIHdpdGggdGhpcyBsaWJyYXJ5OyBpZiBub3QsIHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3YXJlCiAqIEZvdW5kYXRpb24sIEluYy4sIDU5IFRlbXBsZSBQbGFjZSwgU3VpdGUgMzMwLCBCb3N0b24sIE1BICAwMjExMS0xMzA3ICBVU0EKICovCgpMQU5HVUFHRSBMQU5HX1BPTElTSCwgU1VCTEFOR19ERUZBVUxUCgovKiBMVEVYVCAiV3lzd2lldGwgcGxpa2kgJnR5cHU6IiwgMTA4OSwgNiwgMTA0LCA5MCwgOSAqLwpPUEVOX0ZJTEUgRElBTE9HIDM2LCAyNCwgMjc5LCAxMzQKU1RZTEUgRFNfTU9EQUxGUkFNRSB8IFdTX1BPUFVQIHwgV1NfQ0FQVElPTiB8IFdTX1NZU01FTlUKQ0FQVElPTiAiT3R383J6IgpGT05UIDgsICJIZWx2IgpCRUdJTgoJTFRFWFQgIiZOYXp3YSBwbGlrdToiLCAxMDkwLCA2LCA2LCA3NiwgOSwgV1NfQ0hJTEQgfCBXU19WSVNJQkxFIHwgV1NfR1JPVVAKCUVESVRURVhUIDExNTIsIDYsIDE2LCA5MCwgMTIsIEVTX0FVVE9IU0NST0xMIHwgRVNfT0VNQ09OVkVSVCB8IFdTX0JPUkRFUiB8IFdTX1RBQlNUT1AKCUxJU1RCT1ggMTEyMCwgNiwgMzIsIDkwLCA2OCwgTEJTX1NUQU5EQVJEIHwgTEJTX09XTkVSRFJBV0ZJWEVEIHwgTEJTX0hBU1NUUklOR1MgfCBMQlNfRElTQUJMRU5PU0NST0xMIHwgV1NfVEFCU1RPUAoJTFRFWFQgIiZLYXRhbG9naToiLCAtMSwgMTEwLCA2LCA5MiwgOSwgV1NfQ0hJTEQgfCBXU19WSVNJQkxFIHwgV1NfR1JPVVAKCUNPTlRST0wgIiIsIDEwODgsICJTVEFUSUMiLCBTU19OT1BSRUZJWCB8IFdTX0dST1VQLCAxMTAsIDE4LCA5MiwgOQoJTElTVEJPWCAxMTIxLCAxMTAsIDMyLCA5MiwgNjgsIExCU19TVEFOREFSRCB8IExCU19PV05FUkRSQVdGSVhFRCB8IExCU19IQVNTVFJJTkdTIHwgTEJTX0RJU0FCTEVOT1NDUk9MTCB8IFdTX1RBQlNUT1AKCUxURVhUICJXeZx3aWV0bCBwbGlraSAmdHlwdToiLCAxMDg5LCA2LCAxMDQsIDkwLCA5LCBXU19DSElMRCB8IFdTX1ZJU0lCTEUgfCBXU19HUk9VUAoJQ09OVFJPTCAiIiwgMTEzNiwgIkNPTUJPQk9YIiwgQ0JTX0RST1BET1dOTElTVCB8IENCU19BVVRPSFNDUk9MTCB8IFdTX0JPUkRFUiB8IFdTX1ZTQ1JPTEwgfCBXU19UQUJTVE9QLCA2LCAxMTQsIDkwLCAzNgoJTFRFWFQgIiZTdGFjamUgZHlza/N3OiIsIDEwOTEsIDExMCwgMTA0LCA5MiwgOSwgV1NfQ0hJTEQgfCBXU19WSVNJQkxFIHwgV1NfR1JPVVAKCUNPTlRST0wgIiIsIDExMzcsICJDT01CT0JPWCIsIENCU19EUk9QRE9XTkxJU1QgfCBDQlNfT1dORVJEUkFXRklYRUQgfCBDQlNfQVVUT0hTQ1JPTEwgfCBDQlNfU09SVCB8IENCU19IQVNTVFJJTkdTIHwgV1NfQk9SREVSIHwgV1NfVlNDUk9MTCB8IFdTX1RBQlNUT1AsIDExMCwgMTE0LCA5MiwgNjgKCUNPTlRST0wgIk90d/NyeiIsIElET0ssICJCVVRUT04iLCBCU19ERUZQVVNIQlVUVE9OIHwgV1NfQ0hJTEQgfCBXU19WSVNJQkxFIHwgV1NfR1JPVVAgfCBXU19UQUJTVE9QLCAyMTIsIDYsIDU2LCAxNAoJQ09OVFJPTCAiQW51bHVqIiwgSURDQU5DRUwsICJCVVRUT04iLCBCU19QVVNIQlVUVE9OIHwgV1NfQ0hJTEQgfCBXU19WSVNJQkxFIHwgV1NfR1JPVVAgfCBXU19UQUJTVE9QLCAyMTIsIDI0LCA1NiwgMTQKCUNPTlRST0wgIiZQb21vYyIsIDEwMzgsICJCVVRUT04iLCBCU19QVVNIQlVUVE9OIHwgV1NfQ0hJTEQgfCBXU19WSVNJQkxFIHwgV1NfR1JPVVAgfCBXU19UQUJTVE9QLCAyMTIsIDQ2LCA1NiwgMTQKCUNPTlRST0wgIlR5bGtvIGRvIG9kY3p5dHUiLCAxMDQwLCAiQlVUVE9OIiwgQlNfQVVUT0NIRUNLQk9YIHwgV1NfQ0hJTEQgfCBXU19WSVNJQkxFIHwgV1NfR1JPVVAgfCBXU19UQUJTVE9QLCAyMDgsIDY4LCA2OSwgMTIKRU5ECi8qIFBSSU5UIERJQUxPRyBMT0FET05DQUxMIE1PVkVBQkxFIERJU0NBUkRBQkxFIDM2LCAyNCwgMjY0LCAxMzQgKi8KU0FWRV9GSUxFIERJQUxPRyAzNiwgMjQsIDI3OCwgMTM0ClNUWUxFIERTX01PREFMRlJBTUUgfCBXU19QT1BVUCB8IFdTX0NBUFRJT04gfCBXU19TWVNNRU5VCkNBUFRJT04gIlphcGlzeiBqYWtvIgpGT05UIDgsICJIZWx2IgpCRUdJTgoJTFRFWFQgIiZOYXp3YSBwbGlrdToiLCAxMDkwLCA2LCA2LCA3NiwgOSwgV1NfQ0hJTEQgfCBXU19WSVNJQkxFIHwgV1NfR1JPVVAKCUVESVRURVhUIDExNTIsIDYsIDE2LCA5MCwgMTIsIEVTX0FVVE9IU0NST0xMIHwgRVNfT0VNQ09OVkVSVCB8IFdTX0JPUkRFUiB8IFdTX1RBQlNUT1AKCUxJU1RCT1ggMTEyMCwgNiwgMzIsIDkwLCA2OCwgTEJTX1NUQU5EQVJEIHwgTEJTX09XTkVSRFJBV0ZJWEVEIHwgTEJTX0hBU1NUUklOR1MgfCBMQlNfRElTQUJMRU5PU0NST0xMIHwgV1NfVEFCU1RPUAoJTFRFWFQgIiZLYXRhbG9naToiLCAtMSwgMTEwLCA2LCA5MiwgOSwgV1NfQ0hJTEQgfCBXU19WSVNJQkxFIHwgV1NfR1JPVVAKCUNPTlRST0wgIiIsIDEwODgsICJTVEFUSUMiLCBTU19OT1BSRUZJWCB8IFdTX0dST1VQLCAxMTAsIDE4LCA5MiwgOQoJTElTVEJPWCAxMTIxLCAxMTAsIDMyLCA5MiwgNjgsIExCU19TVEFOREFSRCB8IExCU19PV05FUkRSQVdGSVhFRCB8IExCU19IQVNTVFJJTkdTIHwgTEJTX0RJU0FCTEVOT1NDUk9MTCB8IFdTX1RBQlNUT1AKCUxURVhUICJQb2thenVqIHBsaWtpICZ0eXB1OiIsIDEwODksIDYsIDEwNCwgOTAsIDksIFdTX0NISUxEIHwgV1NfVklTSUJMRSB8IFdTX0dST1VQCglDT05UUk9MICIiLCAxMTM2LCAiQ09NQk9CT1giLCBDQlNfRFJPUERPV05MSVNUIHwgQ0JTX0FVVE9IU0NST0xMIHwgV1NfQk9SREVSIHwgV1NfVlNDUk9MTCB8IFdTX1RBQlNUT1AsIDYsIDExNCwgOTAsIDM2DQoJTFRFWFQgIiZTdGFjamUgZHlza/N3OiIsIDEwOTEsIDExMCwgMTA0LCA5MiwgOSwgV1NfQ0hJTEQgfCBXU19WSVNJQkxFIHwgV1NfR1JPVVAKCUNPTlRST0wgIiIsIDExMzcsICJDT01CT0JPWCIsIENCU19EUk9QRE9XTkxJU1QgfCBDQlNfT1dORVJEUkFXRklYRUQgfCBDQlNfQVVUT0hTQ1JPTEwgfCBDQlNfU09SVCB8IENCU19IQVNTVFJJTkdTIHwgV1NfQk9SREVSIHwgV1NfVlNDUk9MTCB8IFdTX1RBQlNUT1AsIDExMCwgMTE0LCA5MiwgNjgKCUNPTlRST0wgIk9rIiwgSURPSywgIkJVVFRPTiIsIEJTX0RFRlBVU0hCVVRUT04gfCBXU19DSElMRCB8IFdTX1ZJU0lCTEUgfCBXU19HUk9VUCB8IFdTX1RBQlNUT1AsIDIxMywgNiwgNTYsIDE0CglDT05UUk9MICJBbnVsdWoiLCBJRENBTkNFTCwgIkJVVFRPTiIsIEJTX1BVU0hCVVRUT04gfCBXU19DSElMRCB8IFdTX1ZJU0lCTEUgfCBXU19HUk9VUCB8IFdTX1RBQlNUT1AsIDIxMywgMjQsIDU2LCAxNAoJQ09OVFJPTCAiJlBvbW9jIiwgMTAzOCwgIkJVVFRPTiIsIEJTX1BVU0hCVVRUT04gfCBXU19DSElMRCB8IFdTX1ZJU0lCTEUgfCBXU19HUk9VUCB8IFdTX1RBQlNUT1AsIDIxMywgNDUsIDU2LCAxNAoJQ09OVFJPTCAiJlR5bGtvIGRvIG9kY3p5dHUiLCAxMDQwLCAiQlVUVE9OIiwgQlNfQVVUT0NIRUNLQk9YIHwgV1NfQ0hJTEQgfCBXU19WSVNJQkxFIHwgV1NfR1JPVVAgfCBXU19UQUJTVE9QLCAyMDgsIDY4LCA2OCwgMTIKRU5ECi8qIERFRlBVU0hCVVRUT04gIk9rIiwgSURPSywgMjA2LCA2LCA1NiwgMTQsIEJTX0RFRlBVU0hCVVRUT04gfCBXU19HUk9VUCB8IFdTX1RBQlNUT1AgKi8KUFJJTlQgRElBTE9HIDM2LCAyNCwgMjY0LCAxMzQKU1RZTEUgRFNfTU9EQUxGUkFNRSB8IFdTX1BPUFVQIHwgV1NfQ0FQVElPTiB8IFdTX1NZU01FTlUKQ0FQVElPTiAiRHJ1a3VqIgpGT05UIDgsICJIZWx2IgpCRUdJTgoJTFRFWFQgIiZEcnVrYXJrYToiLCAxMDg4LCA2LCA2LCA0MCwgOSwgV1NfQ0hJTEQgfCBXU19WSVNJQkxFIHwgV1NfR1JPVVAKCUxURVhUICIiLCAxMDg5LCA2MCwgNiwgMTUwLCA5CglHUk9VUEJPWCAiRHJ1a3VqIiwgMTA3MiwgNiwgMzAsIDE2MCwgNjUsIFdTX0NISUxEIHwgV1NfVklTSUJMRSB8IFdTX1RBQlNUT1AKCVJBRElPQlVUVE9OICImV3N6eXN0a28iLCAxMDU2LCAxNiwgNDUsIDYwLCAxMiwgV1NfQ0hJTEQgfCBXU19WSVNJQkxFIHwgV1NfVEFCU1RPUAoJUkFESU9CVVRUT04gIlcmeWLzciIsIDEwNTcsIDE2LCA2MCwgNjAsIDEyLCBXU19DSElMRCB8IFdTX1ZJU0lCTEUgfCBXU19UQUJTVE9QCglSQURJT0JVVFRPTiAiJlN0cm9ueSIsIDEwNTgsIDE2LCA3NSwgNjAsIDEyLCBXU19DSElMRCB8IFdTX1ZJU0lCTEUgfCBXU19UQUJTVE9QCglDT05UUk9MICJEcnVrdWoiLCBJRE9LLCAiQlVUVE9OIiwgQlNfREVGUFVTSEJVVFRPTiB8IFdTX0NISUxEIHwgV1NfVklTSUJMRSB8IFdTX0dST1VQIHwgV1NfVEFCU1RPUCwgMjA2LCA2LCA1NiwgMTQKCUNPTlRST0wgIkFudWx1aiIsIElEQ0FOQ0VMLCAiQlVUVE9OIiwgQlNfUFVTSEJVVFRPTiB8IFdTX0NISUxEIHwgV1NfVklTSUJMRSB8IFdTX0dST1VQIHwgV1NfVEFCU1RPUCwgMjA2LCAyNCwgNTYsIDE0CglDT05UUk9MICImVXN0YXdpZW5pYSIsIDEwMjQsICJCVVRUT04iLCBCU19QVVNIQlVUVE9OIHwgV1NfQ0hJTEQgfCBXU19WSVNJQkxFIHwgV1NfR1JPVVAgfCBXU19UQUJTVE9QLCAyMDYsIDQ2LCA1NiwgMTQKCUxURVhUICImT2Q6IiwgMTA5MCwgNjAsIDc4LCAzMCwgOSwgV1NfQ0hJTEQgfCBXU19WSVNJQkxFIHwgV1NfR1JPVVAKCUxURVhUICImRG86IiwgMTA5MSwgMTIwLCA3OCwgMzAsIDksIFdTX0NISUxEIHwgV1NfVklTSUJMRSB8IFdTX0dST1VQCglMVEVYVCAiSmFrb5zmICZ3eWRydWt1OiIsIDEwOTIsIDYsIDEwMCwgNzYsIDksIFdTX0NISUxEIHwgV1NfVklTSUJMRSB8IFdTX0dST1VQCglDT05UUk9MICIiLCAxMTM2LCAiQ09NQk9CT1giLCBDQlNfRFJPUERPV05MSVNUIHwgQ0JTX09XTkVSRFJBV0ZJWEVEIHwgQ0JTX0FVVE9IU0NST0xMIHwgQ0JTX1NPUlQgfCBDQlNfSEFTU1RSSU5HUyB8IFdTX0JPUkRFUiB8IFdTX1ZTQ1JPTEwgfCBXU19UQUJTVE9QLCA3MSwgOTgsIDkyLCA2OAoJQ09OVFJPTCAiRHJ1a3VqIGRvIFBsaSZrdSIsIDEwNDAsICJCVVRUT04iLCBCU19BVVRPQ0hFQ0tCT1ggfCBXU19DSElMRCB8IFdTX1ZJU0lCTEUgfCBXU19HUk9VUCB8IFdTX1RBQlNUT1AsIDE0LCAxMTUsIDk1LCAxMgoJQ09OVFJPTCAiU29ydHVqIGtvcGllIiwgMTA0MSwgIkJVVFRPTiIsIEJTX0FVVE9DSEVDS0JPWCB8IFdTX0NISUxEIHwgV1NfVklTSUJMRSB8IFdTX0dST1VQIHwgV1NfVEFCU1RPUCwgMTgyLCAxMDIsIDU5LCAxMgpFTkQKLyogICAgUFVTSEJVVFRPTiAgICAgICJBbnVsdWoiLElEQ0FOQ0VMLDIxOCwyMyw0MCwxNCxXU19HUk9VUCAqLwpQUklOVF9TRVRVUCBESUFMT0cgMzYsIDI0LCAyNjQsIDEzNApTVFlMRSBEU19NT0RBTEZSQU1FIHwgV1NfUE9QVVAgfCBXU19DQVBUSU9OIHwgV1NfU1lTTUVOVQpDQVBUSU9OICJQcmludCBTZXR1cCIKRk9OVCA4LCAiSGVsdiIKQkVHSU4KCUdST1VQQk9YICJEcnVrYXJrYSIsIDEwNzIsIDYsIDEwLCAxODAsIDY1LCBXU19DSElMRCB8IFdTX1ZJU0lCTEUgfCBXU19UQUJTVE9QCglSQURJT0JVVFRPTiAiJkRydWthcmthIGRvbXmcbG5hIiwgMTA1NiwgMTYsIDIwLCA4MCwgMTIsIFdTX0NISUxEIHwgV1NfVklTSUJMRSB8IFdTX1RBQlNUT1AKCUxURVhUICJbbm9uZV0iLCAxMDg4LCAzNSwgMzUsIDEyMCwgOQoJUkFESU9CVVRUT04gIiZJbm5hIGRydWthcmthIiwgMTA1NywgMTYsIDUwLCA4MCwgMTIsIFdTX0NISUxEIHwgV1NfVklTSUJMRSB8IFdTX1RBQlNUT1AKCUNPTlRST0wgIiIsIDExMzYsICJDT01CT0JPWCIsIENCU19EUk9QRE9XTkxJU1QgfCBDQlNfT1dORVJEUkFXRklYRUQgfCBDQlNfQVVUT0hTQ1JPTEwgfCBDQlNfU09SVCB8IENCU19IQVNTVFJJTkdTIHwgV1NfQk9SREVSIHwgV1NfVlNDUk9MTCB8IFdTX1RBQlNUT1AsIDM1LCA2NSwgMTQ5LCA2OAoJQ09OVFJPTCAiT2siLCBJRE9LLCAiQlVUVE9OIiwgQlNfREVGUFVTSEJVVFRPTiB8IFdTX0dST1VQIHwgV1NfVEFCU1RPUCwgMjA2LCA2LCA1NiwgMTQKCUNPTlRST0wgIkFudWx1aiIsIElEQ0FOQ0VMLCAiQlVUVE9OIiwgQlNfUFVTSEJVVFRPTiB8IFdTX0NISUxEIHwgV1NfVklTSUJMRSB8IFdTX0dST1VQIHwgV1NfVEFCU1RPUCwgMjA2LCAyNCwgNTYsIDE0CglDT05UUk9MICImT3BjamUiLCAxMDI0LCAiQlVUVE9OIiwgQlNfUFVTSEJVVFRPTiB8IFdTX0NISUxEIHwgV1NfVklTSUJMRSB8IFdTX0dST1VQIHwgV1NfVEFCU1RPUCwgMjA2LCA0NiwgNTYsIDE0CglHUk9VUEJPWCAiT3JpZW50YWNqYSIsIDEwNzMsIDYsIDg1LCAxMDAsIDUwLCBXU19DSElMRCB8IFdTX1ZJU0lCTEUgfCBXU19UQUJTVE9QCglSQURJT0JVVFRPTiAiVyBwJmlvbmllIiwgMTA1OCwgNTAsIDEwMCwgNDAsIDEyLCBXU19DSElMRCB8IFdTX1ZJU0lCTEUgfCBXU19UQUJTVE9QCglSQURJT0JVVFRPTiAiVyBwbyZ6aW9taWUiLCAxMDU5LCA1MCwgMTE1LCA0MCwgMTIsIFdTX0NISUxEIHwgV1NfVklTSUJMRSB8IFdTX1RBQlNUT1AKCUlDT04gIkxBTkRTQ0FQIiwgMTA5NywgMTAsIDk1LCAzMiwgMzIKCUlDT04gIlBPUlRSQUlUIiwgMTA5OCwgMTAsIDk1LCAzMiwgMzIKCUdST1VQQk9YICJQYXBpZXIiLCAxMDc0LCAxMjAsIDg1LCAxODAsIDUwLCBXU19DSElMRCB8IFdTX1ZJU0lCTEUgfCBXU19UQUJTVE9QCglMVEVYVCAiJldpZWxrb5zmIiwgMTA4OSwgMTMwLCA5NSwgMzAsIDksIFdTX0NISUxEIHwgV1NfVklTSUJMRSB8IFdTX0dST1VQCglMVEVYVCAiJo9y82SzbyIsIDEwOTAsIDEzMCwgMTEwLCAzMCwgOSwgV1NfQ0hJTEQgfCBXU19WSVNJQkxFIHwgV1NfR1JPVVAKCUNPTlRST0wgIiIsIDExMzcsICJDT01CT0JPWCIsIENCU19EUk9QRE9XTkxJU1QgfCBDQlNfT1dORVJEUkFXRklYRUQgfCBDQlNfQVVUT0hTQ1JPTEwgfCBDQlNfU09SVCB8IENCU19IQVNTVFJJTkdTIHwgV1NfQk9SREVSIHwgV1NfVlNDUk9MTCB8IFdTX1RBQlNUT1AsIDE1NSwgOTUsIDkyLCA2OAoJQ09OVFJPTCAiIiwgMTEzOCwgIkNPTUJPQk9YIiwgQ0JTX0RST1BET1dOTElTVCB8IENCU19PV05FUkRSQVdGSVhFRCB8IENCU19BVVRPSFNDUk9MTCB8IENCU19TT1JUIHwgQ0JTX0hBU1NUUklOR1MgfCBXU19CT1JERVIgfCBXU19WU0NST0xMIHwgV1NfVEFCU1RPUCwgMTU1LCAxMTAsIDkyLCA2OApFTkQKLyogQ09OVFJPTCAiIiAsNzEwLCJTVEFUSUMiLFdTX0JPUkRFUnxTU19TSU1QTEV8V1NfVEFCU1RPUHxXU19HUk9VUCwgMTUyLDQsMTE4LDExNiAqLwpDSE9PU0VfRk9OVCBESUFMT0cgMTMsIDU0LCAyNjQsIDE0NwpTVFlMRSBEU19NT0RBTEZSQU1FIHwgV1NfUE9QVVAgfCBXU19DQVBUSU9OIHwgV1NfU1lTTUVOVQpDQVBUSU9OICJGb250IgpGT05UIDgsICJIZWx2IgpCRUdJTgoJTFRFWFQgIiZDemNpb25rYToiLCAxMDg4LCA2LDMsNDAsOSwgV1NfQ0hJTEQgfCBXU19WSVNJQkxFIHwgV1NfR1JPVVAKCUNPTlRST0wgIiIsIDExMzYsICJDT01CT0JPWCIsIENCU19PV05FUkRSQVdGSVhFRCB8IENCU19IQVNTVFJJTkdTIHwgQ0JTX0RJU0FCTEVOT1NDUk9MTCB8CkNCU19BVVRPSFNDUk9MTCB8IENCU19TT1JUIHwgV1NfVlNDUk9MTCB8IFdTX1RBQlNUT1AgfCBDQlNfU0lNUExFLCA2LDEzLDk0LDU0DQoJTFRFWFQgIlN0JnlsOiIsIDEwODksIDEwOCwzLDQ0LDksIFdTX0NISUxEIHwgV1NfVklTSUJMRSB8IFdTX0dST1VQCglDT05UUk9MICIiLCAxMTM3LCAiQ09NQk9CT1giLCBDQlNfT1dORVJEUkFXRklYRUQgfCBDQlNfSEFTU1RSSU5HUyB8IENCU19ESVNBQkxFTk9TQ1JPTEwgfApXU19WU0NST0xMIHwgV1NfVEFCU1RPUCB8IENCU19TSU1QTEUsIDEwOCwxMyw2NCw1NAoJTFRFWFQgIiZSb3ptaWFyOiIsIDEwOTAsIDE3OSwzLDMwLDksIFdTX0NISUxEIHwgV1NfVklTSUJMRSB8IFdTX0dST1VQCglDT05UUk9MICIiLCAxMTM4LCAiQ09NQk9CT1giLCBDQlNfT1dORVJEUkFXRklYRUQgfCBDQlNfSEFTU1RSSU5HUyB8IENCU19ESVNBQkxFTk9TQ1JPTEwgfApXU19WU0NST0xMIHwgV1NfVEFCU1RPUCB8IENCU19TSU1QTEUgfCBDQlNfU09SVCwgMTc5LDEzLDMyLDU0CglDT05UUk9MICJPSyIsIElET0ssICJCVVRUT04iLCBXU19HUk9VUCwgMjE4LDYsNDAsMTQKCUNPTlRST0wgIkFudWx1aiIsIElEQ0FOQ0VMLCAiQlVUVE9OIiwgQlNfUFVTSEJVVFRPTiB8IFdTX0NISUxEIHwgV1NfVklTSUJMRSB8IFdTX0dST1VQIHwgV1NfVEFCU1RPUCwgMjE4LDIzLDQwLDE0CglDT05UUk9MICImWmFzdG9zdWoiLCAxMDI2LCAiQlVUVE9OIiwgV1NfR1JPVVAsIDIxOCw0MCw0MCwxNA0KCUNPTlRST0wgIiZQb21vYyIsIDEwMzgsICJCVVRUT04iLCBCU19QVVNIQlVUVE9OIHwgV1NfQ0hJTEQgfCBXU19WSVNJQkxFIHwgV1NfR1JPVVAgfCBXU19UQUJTVE9QLCAyMTgsNTcsNDAsMTQKCUNPTlRST0wgIkVmZWt0eSBzcGVjaWFsbmUiLCAxMDcyLCAiQlVUVE9OIiwgQlNfR1JPVVBCT1ggfCBXU19DSElMRCB8IFdTX1ZJU0lCTEUgfCBXU19HUk9VUCB8IFdTX1RBQlNUT1AsIDYsNzIsODQsMzQKCUNPTlRST0wgIlByeiZla3JlnGxvbmEiLCAxMDQwLCAiQlVUVE9OIiwgQlNfQVVUT0NIRUNLQk9YIHwgV1NfQ0hJTEQgfCBXU19WSVNJQkxFIHwgV1NfVEFCU1RPUCwgMTAsIDgyLCA1OCwgMTAKCUNPTlRST0wgIlAmb2RrcmWcbG9uYSIsIDEwNDEsICJCVVRUT04iLCBCU19BVVRPQ0hFQ0tCT1ggfCBXU19DSElMRCB8IFdTX1ZJU0lCTEUgfCBXU19UQUJTVE9QLCAxMCw5NCw1MCwxMAoJTFRFWFQgIiZLb2xvcjoiLCAxMDkxLCA2LDExMCwzMCw5LCBXU19DSElMRCB8IFdTX1ZJU0lCTEUgfCBXU19HUk9VUA0KCUNPTlRST0wgIiIsIDExMzksICJDT01CT0JPWCIsIENCU19EUk9QRE9XTkxJU1QgfCBDQlNfT1dORVJEUkFXRklYRUQgfCBDQlNfSEFTU1RSSU5HUyB8CkNCU19BVVRPSFNDUk9MTCB8IFdTX0JPUkRFUiB8IFdTX1ZTQ1JPTEwgfCBXU19UQUJTVE9QLCA2LDEyMCw4NCwxMDAKCUNPTlRST0wgIlByenlrs2FkIiwgMTA3MywgIkJVVFRPTiIsIEJTX0dST1VQQk9YIHwgV1NfQ0hJTEQgfCBXU19WSVNJQkxFIHwgV1NfR1JPVVAgfCBXU19UQUJTVE9QLCA5OCw3MiwxNjAsNDkKCUNPTlRST0wgIkFhQmJZeVp6XHhCMyIsIDEwOTMsICJTVEFUSUMiLCBTU19OT1BSRUZJWCB8IFdTX1ZJU0lCTEUsIDEwNCw4MSwxNDksMzcKRU5ECi8qIFBVU0hCVVRUT04gIiZSZXBsYWNlIiwgMTAyNCwgMTc0LCAyMSwgNTAsIDE0LCBXU19HUk9VUCB8IFdTX1RBQlNUT1AKICogUFVTSEJVVFRPTiAiUmVwbGFjZSAmQWxsIiwgMTAyNSwgMTc0LCAzOCwgNTAsIDE0LCBXU19HUk9VUCB8IFdTX1RBQlNUT1AKICogUFVTSEJVVFRPTiAiQ2FuY2VsIiwgMiwgMTc0LCA1NSwgNTAsIDE0LCBXU19HUk9VUCB8IFdTX1RBQlNUT1AKICogUFVTSEJVVFRPTiAiJkhlbHAiLCAxMDM4LCAxNzQsIDc1LCA1MCwgMTQsIFdTX0dST1VQIHwgV1NfVEFCU1RPUAogKn0KICovCkZJTkRETEdPUkQgRElBTE9HIDM0LCAyNCwgMjUxLCA2MgpTVFlMRSBEU19NT0RBTEZSQU1FIHwgV1NfUE9QVVAgfCBXU19DQVBUSU9OIHwgV1NfU1lTTUVOVQpDQVBUSU9OICJabmFqZJ8iCkZPTlQgOCwgIkhlbHYiCkJFR0lOCglMVEVYVCAiJlpuYWpknzoiLCAtMSwgNCwgOCwgNDIsIDgsIFdTX0NISUxEIHwgV1NfVklTSUJMRSB8IFdTX0dST1VQCglFRElUVEVYVCAxMTUyLCA0NiwgNywgMTM0LCAxMiwgRVNfQVVUT0hTQ1JPTEwgfCBXU19CT1JERVIgfCBXU19HUk9VUCB8IFdTX1RBQlNUT1AKCUNPTlRST0wgIlV3emds6mRuaWogdHlsa28gY2GzZSB3eXJhenkiLCAxMDQwLCAiQlVUVE9OIiwgQlNfQVVUT0NIRUNLQk9YIHwgV1NfQ0hJTEQgfCBXU19WSVNJQkxFIHwgV1NfR1JPVVAgfCBXU19UQUJTVE9QLCA0LCAyNiwgMTA3LCAxMgoJQ09OVFJPTCAiJlV3emds6mRuaWFqIHdpZWxrb5zmIGxpdGVyIiwgMTA0MSwgIkJVVFRPTiIsIEJTX0FVVE9DSEVDS0JPWCB8IFdTX0NISUxEIHwgV1NfVklTSUJMRSB8IFdTX1RBQlNUT1AsIDQsIDQyLCAxMDcsIDEyCglHUk9VUEJPWCAiS2llcnVuZWsiLCAxMDcyLCAxMTMsIDI2LCA2OCwgMjgKCUNPTlRST0wgIlcgJmdceEYzclx4RUEiLCAxMDU2LCAiQlVUVE9OIiwgQlNfQVVUT1JBRElPQlVUVE9OIHwgV1NfQ0hJTEQgfCBXU19WSVNJQkxFIHwgV1NfR1JPVVAgfCBXU19UQUJTVE9QLCAxMTcsIDM4LCAyMCwgMTIKCUNPTlRST0wgIlcgJmRceEYzbCIsIDEwNTcsICJCVVRUT04iLCBCU19BVVRPUkFESU9CVVRUT04gfCBXU19DSElMRCB8IFdTX1ZJU0lCTEUgfCBXU19UQUJTVE9QLCAxNDQsIDM4LCAzMCwgMTIKCUNPTlRST0wgIiZabmFqZJ8gbmFzdOpwbnkiLCBJRE9LLCAiQlVUVE9OIiwgQlNfREVGUFVTSEJVVFRPTiB8IFdTX0NISUxEIHwgV1NfVklTSUJMRSB8IFdTX0dST1VQIHwgV1NfVEFCU1RPUCwgMTg3LCA1LCA2MSwgMTQKCUNPTlRST0wgIkFudWx1aiIsIElEQ0FOQ0VMLCAiQlVUVE9OIiwgQlNfUFVTSEJVVFRPTiB8IFdTX0NISUxEIHwgV1NfVklTSUJMRSB8IFdTX0dST1VQIHwgV1NfVEFCU1RPUCwgMTg3LCAyMywgNjEsIDE0CglDT05UUk9MICImUG9tb2MiLCAxMDM4LCAiQlVUVE9OIiwgQlNfUFVTSEJVVFRPTiB8IFdTX0NISUxEIHwgV1NfVklTSUJMRSB8IFdTX0dST1VQIHwgV1NfVEFCU1RPUCwgMTg3LCA0NSwgNjEsIDE0CkVORApSRVBMQUNFRExHT1JEIERJQUxPRyAzNiwgMjQsIDI0NSwgOTQKU1RZTEUgRFNfTU9EQUxGUkFNRSB8IFdTX1BPUFVQIHwgV1NfQ0FQVElPTiB8IFdTX1NZU01FTlUKQ0FQVElPTiAiWmFtaWXxIgpGT05UIDgsICJIZWx2IgpCRUdJTgoJTFRFWFQgIiZabmFqZJ86IiwgLTEsIDQsIDksIDQ4LCA4LCBXU19DSElMRCB8IFdTX1ZJU0lCTEUgfCBXU19HUk9VUAoJRURJVFRFWFQgMTE1MiwgNTQsIDcsIDExNCwgMTIsIEVTX0FVVE9IU0NST0xMIHwgV1NfQk9SREVSIHwgV1NfR1JPVVAgfCBXU19UQUJTVE9QCglMVEVYVCAiWmFuaWXxICZuYToiLCAtMSwgNCwgMjYsIDQ4LCA4LCBXU19DSElMRCB8IFdTX1ZJU0lCTEUgfCBXU19HUk9VUAoJRURJVFRFWFQgMTE1MywgNTQsIDI0LCAxMTQsIDEyLCBFU19BVVRPSFNDUk9MTCB8IFdTX0JPUkRFUiB8IFdTX0dST1VQIHwgV1NfVEFCU1RPUAoJQ09OVFJPTCAiVXd6Z2zqZG5paiAmdHlsa28gY2GzZSB3eXJhenkiLCAxMDQwLCAiQlVUVE9OIiwgQlNfQVVUT0NIRUNLQk9YIHwgV1NfQ0hJTEQgfCBXU19WSVNJQkxFIHwgV1NfR1JPVVAgfCBXU19UQUJTVE9QLCA1LCA0NiwgMTA0LCAxMgoJQ09OVFJPTCAiJlV3emds6mRuaWogd2llbGtvnOYgbGl0ZXIiLCAxMDQxLCAiQlVUVE9OIiwgQlNfQVVUT0NIRUNLQk9YIHwgV1NfQ0hJTEQgfCBXU19WSVNJQkxFIHwgV1NfVEFCU1RPUCwgNSwgNjIsIDk2LCAxMgoJQ09OVFJPTCAiWm5hamSfIG5hc3TqcG55IiwgSURPSywgIkJVVFRPTiIsIEJTX0RFRlBVU0hCVVRUT04gfCBXU19DSElMRCB8IFdTX1ZJU0lCTEUgfCBXU19HUk9VUCB8IFdTX1RBQlNUT1AsIDE3NCwgNCwgNjcsIDE0CglDT05UUk9MICImWmFtaWXxIiwgMTAyNCwgIkJVVFRPTiIsIEJTX1BVU0hCVVRUT04gfCBXU19DSElMRCB8IFdTX1ZJU0lCTEUgfCBXU19HUk9VUCB8IFdTX1RBQlNUT1AsIDE3NCwgMjEsIDY4LCAxNAoJQ09OVFJPTCAiWmFtaWXxICZ3c3p5c3RraWUiLCAxMDI1LCAiQlVUVE9OIiwgQlNfUFVTSEJVVFRPTiB8IFdTX0NISUxEIHwgV1NfVklTSUJMRSB8IFdTX0dST1VQIHwgV1NfVEFCU1RPUCwgMTc0LCAzOCwgNjgsIDE0CglDT05UUk9MICJBbnVsdWoiLCBJRENBTkNFTCwgIkJVVFRPTiIsIEJTX1BVU0hCVVRUT04gfCBXU19DSElMRCB8IFdTX1ZJU0lCTEUgfCBXU19HUk9VUCB8IFdTX1RBQlNUT1AsIDE3NCwgNTYsIDY4LCAxNAoJQ09OVFJPTCAiJlBvbW9jIiwgMTAzOCwgIkJVVFRPTiIsIEJTX1BVU0hCVVRUT04gfCBXU19DSElMRCB8IFdTX1ZJU0lCTEUgfCBXU19HUk9VUCB8IFdTX1RBQlNUT1AsIDE3NCwgNzUsIDY4LCAxNApFTkQKICAgCkNIT09TRV9DT0xPUiBESUFMT0cgTE9BRE9OQ0FMTCBNT1ZFQUJMRSBESVNDQVJEQUJMRSAzNiwgMjQsIDMwMCwgMTg1ClNUWUxFIERTX01PREFMRlJBTUUgfCBXU19QT1BVUCB8IFdTX0NBUFRJT04gfCBXU19TWVNNRU5VCkNBUFRJT04gIkNvbG9yIgpGT05UIDgsICJIZWx2Igp7CiBMVEVYVCAiJlBvZHN0YXdvd2Uga29sb3J5OiIsICAgMTA4OCwgNCwgICAgNCwgIDE0MCwgMTAKIExURVhUICJEb3dvbG5lICZrb2xvcnk6IiwgIDEwODksIDQsICAgMTA2LCAxNDAsIDEwCiBMVEVYVCAiS29sb3IgfCAgU29sJmlkIiwgIDEwOTAsIDE1MCwgMTUxLCAgNDgsIDEwCiBMVEVYVCAgICImQ3plcndvbnk6IiwgNzI2IC8qMTA5NCovLDI0OSwxMjYsMjQsMTAKIEVESVRURVhUIDcwNiwgMjc1LDEyNCwxOCwxMiwgV1NfQk9SREVSIHwgV1NfR1JPVVAgfCBXU19UQUJTVE9QCiBMVEVYVCAgICImWmllbG9ueToiLDcyNy8qMTA5NSovLDI0OSwxNDAsMjQsMTAKIEVESVRURVhUIDcwNywgMjc1LDEzOCwxOCwxMiwgV1NfQk9SREVSIHwgV1NfR1JPVVAgfCBXU19UQUJTVE9QCiBMVEVYVCAgICImTmllYmllc2tpOiIsNzI4IC8qMTA5NiovLDI0OSwxNTQsMjQsMTAKIEVESVRURVhUIDcwOCwgMjc1LDE1MiwxOCwxMiwgV1NfQk9SREVSIHwgV1NfR1JPVVAgfCBXU19UQUJTVE9QCiBMVEVYVCAgIiZIdWU6IiAsNzIzIC8qMTA5MSovLDIwMiwxMjYsMjIsMTAKIEVESVRURVhUIDcwMywgMjI2LDEyNCwxOCwxMiwgV1NfQk9SREVSIHwgV1NfR1JPVVAgfCBXU19UQUJTVE9QCiBMVEVYVCAgIiZTYXQ6IiAsNzI0IC8qMTA5MiovLDIwMiwxNDAsMjIsMTAKIEVESVRURVhUIDcwNCwgMjI2LDEzOCwxOCwxMiwgV1NfQk9SREVSIHwgV1NfR1JPVVAgfCBXU19UQUJTVE9QCiBMVEVYVCAgIiZMdW06IiAsNzI1IC8qMTA5MyovLDIwMiwxNTQsMjIsMTAKIEVESVRURVhUIDcwNSwgMjI2LDE1MiwxOCwxMiwgV1NfQk9SREVSIHwgV1NfR1JPVVAgfCBXU19UQUJTVE9QCiBDT05UUk9MICIiICw3MjAsIlNUQVRJQyIsU1NfU0lNUExFfFdTX1RBQlNUT1B8V1NfR1JPVVAsNCwxNCwxNDAsODYKIENPTlRST0wgIiIgLDcyMSwiU1RBVElDIixTU19TSU1QTEV8V1NfVEFCU1RPUHxXU19HUk9VUCw0LDExNiwxNDAsMjgKIENPTlRST0wgIiIgLDcxMCwiU1RBVElDIixXU19CT1JERVJ8U1NfU0lNUExFfFdTX1RBQlNUT1B8V1NfR1JPVVAsIDE1Miw0LDExOCwxMTYKIENPTlRST0wgIiIgLDcwMiwiU1RBVElDIixTU19TSU1QTEV8V1NfVEFCU1RPUHxXU19HUk9VUCwgMjc4LDQsOCwxMTYKIENPTlRST0wgIiIgLDcwOSwiU1RBVElDIixTU19TSU1QTEV8V1NfVEFCU1RPUHxXU19HUk9VUCwgMTUyLDEyNCw0MCwyNgogREVGUFVTSEJVVFRPTiAiT2siLCAgSURPSywgIDQsIDE2NiwgNDQsIDE0LCBCU19ERUZQVVNIQlVUVE9OIHwgV1NfR1JPVVAgfCBXU19UQUJTVE9QCiBQVVNIQlVUVE9OICJBbnVsdWoiLCBJRENBTkNFTCwgNTIsIDE2NiwgNDQsIDE0LCBXU19HUk9VUCB8IFdTX1RBQlNUT1AKIFBVU0hCVVRUT04gIlBvbW9jIiwgMTAzOCwxMDAsMTY2LCA0NCwgMTQKIFBVU0hCVVRUT04gIiZEb2RhaiBkbyBkb3dvbG55Y2giLCAgICA3MTIvKjEwMjQqLywgMTUyLCAxNjYsIDE0MiwgMTQsIFdTX0dST1VQIHwgV1NfVEFCU1RPUAogUFVTSEJVVFRPTiAiWiZkZWZpbml1aiBLb2xvciA+PiIsIDcxOS8qMTAyNSovLCAgIDQsIDE1MCwgMTQyLCAxNCwgV1NfR1JPVVAgfCBXU19UQUJTVE9QCiBQVVNIQlVUVE9OICAiJmkiLDcxMywzMDAsMjAwLDQsMTQgICAvKiBqdXN0IGEgZHVtbXk6ICAnaScgaXMgIGxpa2UgICZpICBpbiAic29sJmlkIiAgKi8KfQo=