Z0UjAQAAYwAAAAAAAAAAAHoAAAAhAAAAAQAAAAAAAAAqAAAAAAAAABwAAAAAAAAAHQAAAAAAAAAEAAAAAAAAAAUAAAAAAAAAGQAAAAAAAAAGAAAAAAAAACUAAAAAAAAABwAAAAAAAAAfAAAAAAAAAAgAAAAAAAAAAAEAAAAAAAA+AQAAAAAAAAoAAAAAAAAACwAAAAAAAAAMAAAAAAAAAA0AAAAAAAAADgAAAAAAAAABAQAAAAAAAAMBAAAAAAAADAEAAAAAAAANAQAAAAAAAA4BAAAAAAAADwEAAAAAAAARAQAAAAAAABMBAAAAAAAAHwEAAAAAAAAyAQAAAAAAADMBAAAAAAAANQEAAAAAAAAmAAAAAAAAACgAAAAAAAAAjAsAAAAAAAAAAAAAAAAAAAQAAAAAAAAAIAAAAAAAAABwAAAAAAAAAHQAAAAAAAAAeAAAAAAAAACEAAAAAAAAAP//////////jAAAAAAAAAAgBQAAAAAAAIwFAAAAAAAANAcAAAAAAADkxQAAAAAAAHjRAAAAAAAAqNUAAAAAAAC41gAAAAAAALDjAAAAAAAAYOgAAAAAAABI6wAAAAAAAED1AAAAAAAA+PkAAAAAAADg/QAAAAAAALABAQAAAAAAwAcBAAAAAADgEQEAAAAAAFgVAQAAAAAAWB4BAAAAAADgIwEAAAAAAIgmAQAAAAAAOCoBAAAAAADILQEAAAAAANAxAQAAAAAA6MUAAAAAAAAEAAAAAAAAABwAAAAAAAAAUAAAAAAAAAAEAAAAAAAAAAQAAAAAAAAADAAAAAAAAAAIAAAAAAAAAAAAAAAAAAAAlAQAAAAAAABsAAAAAAAAAKgBAAAAAAAAsL4AAAAAAAAEAAAAAAAAACwEAAAAAAAAEAEAAAAAAAD0DAAAAAAAALAEAAAAAAAA6AIAAAAAAAD4CQAAAAAAALgEAAAAAAAA5AMAAAAAAADQAwAAAAAAABAGAAAAAAAAHAoAAAAAAAB0AwAAAAAAAAAJAAAAAAAAiAUAAAAAAACoAgAAAAAAAK0DAAAAAAAAkAMAAAAAAAAIBAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADIuMi1wMDAxIG9yIGFib3ZlAAAAAAAAAAAABQAFAAgCAAAyMi41MC4wNzYAAAAAAAAAMjIuNTAuMDc2AAAAAAAAAGxpbnV4X3JoZWw1MF9nY2M0OHhfNjQgZ2NjXzQuOC4zAAAAAAAAAAAQBAAgvAAAAAAAAADgFotaAAAAAOAWi1oAAAAASQAAAGEAAAAMAAAAAAAAAA0AAAAAAAAADgAAAAAAAAAPAAAAAAAAABAAAAAAAAAAEQAAAAAAAAASAAAAAAAAABMAAAAAAAAAFAAAAAAAAAAVAAAAAAAAABYAAAAAAAAAGAAAAAAAAAABAQAAAAAAAAIBAAAAAAAAAwEAAAAAAAAEAQAAAAAAAAUBAAAAAAAABgEAAAAAAAAHAQAAAAAAAAgBAAAAAAAACQEAAAAAAAAKAQAAAAAAAAsBAAAAAAAADAEAAAAAAAANAQAAAAAAAA4BAAAAAAAADwEAAAAAAAAQAQAAAAAAABEBAAAAAAAAEgEAAAAAAAATAQAAAAAAABQBAAAAAAAAFQEAAAAAAAAWAQAAAAAAABcBAAAAAAAAGAEAAAAAAAAZAQAAAAAAABoBAAAAAAAAGwEAAAAAAAAcAQAAAAAAAB0BAAAAAAAAHgEAAAAAAAAfAQAAAAAAACABAAAAAAAAIQEAAAAAAAAiAQAAAAAAACMBAAAAAAAAJAEAAAAAAAAlAQAAAAAAACYBAAAAAAAAJwEAAAAAAAAoAQAAAAAAACkBAAAAAAAAKgEAAAAAAAArAQAAAAAAACwBAAAAAAAALQEAAAAAAAAuAQAAAAAAAC8BAAAAAAAAMAEAAAAAAAAxAQAAAAAAADIBAAAAAAAAMwEAAAAAAAA0AQAAAAAAADUBAAAAAAAANgEAAAAAAAA3AQAAAAAAADgBAAAAAAAAOQEAAAAAAAA6AQAAAAAAADsBAAAAAAAAPAEAAAAAAAA9AQAAAAAAAAAAAAABAAAAAgAAAAMAAAAEAAAABQAAAAYAAAAHAAAACAAAAAkAAAAKAAAACwAAAAwAAAANAAAADgAAAA8AAAAQAAAAEQAAABIAAAATAAAAFAAAABUAAAAWAAAAFwAAABgAAAAZAAAAGgAAABsAAAAcAAAAHQAAAB4AAAAfAAAAIAAAACEAAAAiAAAAIwAAACQAAAAlAAAAJgAAACcAAAAoAAAAKQAAACoAAAArAAAALAAAAC0AAAAuAAAALwAAADAAAAAxAAAAMgAAADMAAAA0AAAANQAAADYAAAA3AAAAOAAAADkAAAA6AAAAOwAAADwAAAA9AAAAPgAAAD8AAABAAAAAQQAAAEIAAABDAAAARAAAAEUAAABGAAAARwAAAEgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAJAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABJAAAASgAAAEsAAABMAAAATQAAAE4AAABPAAAAUAAAAP////////////////////////////////////////////////////////////////////////////////////8AAAAACAAAAAAAAAAaAAAAAAAAABsAAAAAAAAAPwEAAAAAAABAAQAAAAAAACYAAAAAAAAAJwAAAAAAAABBAQAAAAAAAEIBAAAAAAAASQAAAEoAAABLAAAATAAAAE0AAABOAAAATwAAAFAAAAAEAAAAAAAAADQBAAAAAAAADAAAAAoAAAAAAgAAAAAAAAABAAAAAAAAAQAAAAAAAAACAAAAAAAAAAMAAAAAAAAABAAAAAAAAAACAQAAAAAAAAICAAAAAAAABgAAAAAAAIASAAAAAAAAgDQBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAACAAAAAAAAAAMAAAAAAAAABAAAAAAAAAAFAAAAAAAAAAYAAAAAAAAACgAAAAAAAAANAAAAAAAAAAEAAAAAAAAAAQAAAAAAAAABAAAAAAAAAAEAAAAAAAAAAQAAAAAAAAABAAAAAAAAAAEAAAAAAAAABAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAAAABgAAAAAAAAD/////AAAAAAMAAAAAAAAAEgAAAAAAAAD/////AAAAAAMAAAAAAAAAAQAAAAgAAAAAAAAAAAAAAP////8AAACAAAAAgAEAAMABAAAABAAAAB15AwABAADAAQAAAAEAAAC9AAAA/QMAACMAAAAcAAAAoL4AAJq+AABwcm9jZWR1cmUoKHBjR2VuQ2VsbCB0Y0NlbGxWaWV3ICJkIikgCiAgICBwcm9nKChkaWZmTGF5ZXIgZ2F0ZUxheWVyIHdlbGxMYXllciB3ZWxsbWluV2lkdGggaHZMYXllcgoJICAgIGRlcExheWVyIGRpZmZFeHQgd2VsbEVuY0RpZmYgd2VsbEVuY1RhcCB3ZWxsTGF5ZXJXaWR0aAoJICAgIGh2RW5jbG9zdXJlIGRlcFhFbmMgZGVwWUVuYyBkZXBTcGFjZSBsYWJlbExheWVyCgkgICAgbGFiZWxXaWR0aCBkaWZmSW1wbGFudCBkaWZmSW1wRW5jIGRpZmZDb3JlSW1wbGFudCBkaWZmQ29yZUltcEVuYwoJICAgIHZpYTFNaW5TcGFjZSB2aWEyTWluU3BhY2UgbGF5ZXIyTWluU3BhY2UgbGF5ZXIzTWluU3BhY2Ugbm9PZkRlY2ltYWxzCgkgICAgc25hcEdyaWQgYmNrQ29tcGF0aWJsZU9mZlNldCBwb2x5SW1wbGFudCBwb2x5SW1wWEVuYyBwb2x5SW1wWUVuYwoJICAgIGh2UFlNY29uU3BhY2Ugd2VsbEVuY0h2TGF5ZXIgZHJhd0lEYnlEZWZhdWx0IHNvdXJjZUZpcnN0IHNoYXJlZERyYWluCgkgICAgc2hhcmVkU291cmNlIGxhc3RDb250YWN0IGZpcnN0Q29udGFjdCBnYXRlRXh0IGlkTGF5ZXJDaG9pY2VzCgkgICAgaWRMYXllciBpZEVuY0RpZmYgaWRFbmNYTCBpZEVuY1hSIGlkRW5jWQoJICAgIGRpZmZJbXBDaG9pY2VzIHRhcEltcENob2ljZXMgY29udGFjdENob2ljZXMgZGlmZkltcENob2ljZSB0YXBJbXBDaG9pY2UKCSAgICBjb250YWN0Q2hvaWNlIHNyY09mZnNldCBkcm5PZmZzZXQgbSBsCgkgICAgdyBpbXBsYW50IG5vRW5kQ29uSW1wRW5jIGlkQ2hvaWNlIGlkVGV4dAoJICAgIGlkUmFkaW8gZGlmZkltcGFudE9SbGF5ZXIgY3JlYXRlZEltcGxhbnQxIGNyZWF0ZWRJbXBsYW50RGlmZiBPUmxheWVyU2l6ZQoJICAgIHdlbGxFbmNZRGlmZiB3ZWxsV2lkdGggZ05ldCBzTmV0IGROZXQKCSAgICBiTmV0IGNOZXQgbmV0TCBpIGRpZmZNYXRjaAoJICAgIHRhcE1hdGNoIGRpZmZDb25QYXJhbSB4IGlkRW5jTGlzdCBjb250YWN0RgoJICAgIGNvbnRhY3RMIGNvbnRhY3REIGNvbnRhY3RTIHZpYTFYQ3JkRiBsYXllcjJYQ3JkRgoJICAgIHZpYTJYQ3JkRiBsYXllcjNYQ3JkRiBsYXllcjFYQ3JkRiB2aWExWENyZEwgbGF5ZXIyWENyZEwKCSAgICB2aWEyWENyZEwgbGF5ZXIzWENyZEwgbGF5ZXIxWENyZEwgdmlhMVhDcmRTIGxheWVyMlhDcmRTCgkgICAgdmlhMlhDcmRTIGxheWVyM1hDcmRTIGxheWVyMVhDcmRTIHZpYTFYQ3JkRCBsYXllcjJYQ3JkRAoJICAgIHZpYTJYQ3JkRCBsYXllcjNYQ3JkRCBsYXllcjFYQ3JkRCB2aWExRW5jRiB2aWEyRW5jRgoJICAgIGxheWVyMkVuY0YgbGF5ZXIzRW5jRiB2aWExRW5jTCB2aWEyRW5jTCBsYXllcjJFbmNMCgkgICAgbGF5ZXIzRW5jTCB2aWExRW5jUyB2aWEyRW5jUyBsYXllcjJFbmNTIGxheWVyM0VuY1MKCSAgICB2aWExRW5jRCB2aWEyRW5jRCBsYXllcjJFbmNEIGxheWVyM0VuY0QgdmlhMVNwYWNlRkwKCSAgICB2aWExT2ZmU2V0RkwgdmlhMlNwYWNlRkwgdmlhMk9mZlNldEZMIGxheWVyM1NwYWNlRkwgbGF5ZXIzT2ZmU2V0RkwKCSAgICBsYXllcjJTcGFjZUZMIGxheWVyMk9mZlNldEZMIHZpYTFTcGFjZUZTIHZpYTFPZmZTZXRGUyB2aWEyU3BhY2VGUwoJICAgIHZpYTJPZmZTZXRGUyBsYXllcjNTcGFjZUZTIGxheWVyM09mZlNldEZTIGxheWVyMlNwYWNlRlMgbGF5ZXIyT2ZmU2V0RlMKCSAgICB2aWExU3BhY2VGRCB2aWExT2ZmU2V0RkQgdmlhMlNwYWNlRkQgdmlhMk9mZlNldEZEIGxheWVyM1NwYWNlRkQKCSAgICBsYXllcjNPZmZTZXRGRCBsYXllcjJTcGFjZUZEIGxheWVyMk9mZlNldEZEIHZpYTFTcGFjZUxTIHZpYTFPZmZTZXRMUwoJICAgIHZpYTJTcGFjZUxTIHZpYTJPZmZTZXRMUyBsYXllcjNTcGFjZUxTIGxheWVyM09mZlNldExTIGxheWVyMlNwYWNlTFMKCSAgICBsYXllcjJPZmZTZXRMUyB2aWExU3BhY2VMRCB2aWExT2ZmU2V0TEQgdmlhMlNwYWNlTEQgdmlhMk9mZlNldExECgkgICAgbGF5ZXIzU3BhY2VMRCBsYXllcjNPZmZTZXRMRCBsYXllcjJTcGFjZUxEIGxheWVyMk9mZlNldExEIHZpYTFTcGFjZVNECgkgICAgdmlhMU9mZlNldFNEIHZpYTJTcGFjZVNEIHZpYTJPZmZTZXRTRCBsYXllcjNTcGFjZVNEIGxheWVyM09mZlNldFNECgkgICAgbGF5ZXIyU3BhY2VTRCBsYXllcjJPZmZTZXRTRCBtYXhPZmZTZXQgb2Zmc2V0U2lkZSBtaW5TcGFjZU9mZlNldAoJICAgIGNvbnRhY3RJbXBQYXJhbSBpZEVuY1BhcmFtIGNvbnRhY3RXZWxsUGFyYW0gZGlmZkltcENob2ljZVBhcmFtIHRhcEltcENob2ljZVBhcmFtCgkgICAgeDFDb29yZCB5MUNvb3JkIGxhc3RYMUNvb3JkIHkxRGVwQ29vcmQgeTJEZXBDb29yZAoJICAgIGxhc3RQWWlYMUNvb3JkIHkxUFlpQ29vcmQgeTJQWWlDb29yZCB3ZWxsRW5jRGlmZlkgd2VsbEVuY1RhcFkKCSAgICB3ZWxsRW5jRGlmZlggd2VsbEVuY1RhcFggY29udGFjdElkIG9mZnNldCBwYXJhbXMKCSAgICBpbnN0UGFyYW1zIGluc3QgZGlmZkltcGxhbnRSb2QgZGlmZkltcGxhbnRkYmlkIGNyZWF0ZWRJbXBsYW50dG1wCgkgICAgbWFzdGVyIGJCb3ggZGJpZCBwaW5pZCB4MURpZmZDb29yZAoJICAgIHgxVGFwQ29vcmQgeTJEaWZmQ29vcmQgeTJUYXBDb29yZCB5MURpZmZDb29yZCB5MVRhcENvb3JkCgkgICAgeDFXZWxsQ29vcmQgeTFXZWxsQ29vcmQgeTJXZWxsQ29vcmQgeDFIVkxheWVyQ29vcmQgeTFIVkxheWVyQ29vcmQKCSAgICB5MkhWTGF5ZXJDb29yZCB4MUlkQ29vcmQgeTFJZENvb3JkIHkySWRDb29yZCBzaGFyZWRTcmNJZAoJICAgIHNoYXJlZERybklkIG4geDFEZXBDb29yZCB4MVBZaUNvb3JkIHgyRGlmZkNvb3JkCgkgICAgeDJUYXBDb29yZCB4MldlbGxDb29yZCB4MkhWTGF5ZXJDb29yZCB4MklkQ29vcmQgY3JlYXRlZEltcGxhbnQyCgkgICAgY3JlYXRlZEltcGxhbnREaWZmMiBmaXJzdGltcGxhbnQgZGlmZkltcGxhbnRTaGFwZTIgd2VsbExheWVyX1hvcmlnaW4gd2VsbExheWVyX1lvcmlnaW4KCSAgICB3ZWxsTGF5ZXJfWGVuZCB3ZWxsTGF5ZXJfWWVuZCBEaWZmX3dlbGxfd2lkdGggc2lnblgxIHNpZ25YMgoJICAgIHNpZ25ZMSBzaWduWTIKCSkgCglpZighdGNDZWxsVmlldyAKCSAgICByZXR1cm4obmlsKQoJKSAKCShiY2tDb21wYXRpYmxlT2ZmU2V0ID0gdCkgCgkobGF5ZXIzTWluU3BhY2UgPSAwLjE0KSAKCShsYXllcjJNaW5TcGFjZSA9IDAuMTcpCgkodmlhMk1pblNwYWNlID0gMC4xOSkgCgkodmlhMU1pblNwYWNlID0gMC4xNykgCgkoZGlmZkltcEVuYyA9IDAuMTI1KSAKCShkaWZmSW1wbGFudCA9IGxpc3QoIm5zZG0iICJkcmF3aW5nIikpIAoJKGxhYmVsV2lkdGggPSAwLjE1KQoJKGRpZmZFeHQgPSAwLjI1KSAKCShnYXRlTGF5ZXIgPSBsaXN0KCJwb2x5IiAiZHJhd2luZyIpKSAKCShkaWZmTGF5ZXIgPSBsaXN0KCJkaWZmIiAiZHJhd2luZyIpKSAKCSh3ZWxsTGF5ZXIgPSBuaWwpIAoJKHdlbGxtaW5XaWR0aCA9IDAuMCkKCShodkxheWVyID0gbmlsKSAKCShkZXBMYXllciA9IG5pbCkgCgkod2VsbEVuY0RpZmYgPSAwLjApIAoJKHdlbGxFbmNUYXAgPSAwLjApIAoJKHdlbGxMYXllcldpZHRoID0gMC4wKQoJKGh2RW5jbG9zdXJlID0gMC4wKSAKCShkZXBYRW5jID0gMC4wKSAKCShkZXBZRW5jID0gMC4wKSAKCShkZXBTcGFjZSA9IDAuMCkgCgkobGFiZWxMYXllciA9IGxpc3QoInRleHQiICJkcmF3aW5nIikpCgkoZGlmZkNvcmVJbXBsYW50ID0gbmlsKSAKCShkaWZmQ29yZUltcEVuYyA9IDAuMCkgCgkobm9PZkRlY2ltYWxzID0gMykgCgkoc25hcEdyaWQgPSAwLjAwNSkgCgkocG9seUltcGxhbnQgPSBuaWwpCgkocG9seUltcFhFbmMgPSAwLjApIAoJKHBvbHlJbXBZRW5jID0gMC4wKSAKCShodlBZTWNvblNwYWNlID0gMC4wKSAKCSh3ZWxsRW5jSHZMYXllciA9IDAuMCkgCgkoZHJhd0lEYnlEZWZhdWx0ID0gbmlsKQoJKGlkUmFkaW8gPSAoKHRjQ2VsbFZpZXd+PnBhcmFtZXRlcnMpfj5pZFJhZGlvKSkgCglpZighbGlzdHAoaWRSYWRpbykgdGhlbiAKCSAgICBpZigoKGlkUmFkaW8gPT0gIlRSVUUiKSB8fCAoaWRSYWRpbyA9PSB0KSkgdGhlbiAKCQkoaWRSYWRpbyA9IHQpIGVsc2UgCgkJKGlkUmFkaW8gPSBuaWwpCgkgICAgKQoJKSAKCShpZFRleHQgPSAoKHRjQ2VsbFZpZXd+PnBhcmFtZXRlcnMpfj5pZFRleHQpKSAKCWlmKChpZFRleHQgPT0gIkZBTFNFIikgdGhlbiAKCSAgICAoaWRUZXh0ID0gbmlsKQoJKSAKCWlmKCFzdHJpbmdwKGlkVGV4dCkgdGhlbiAKCSAgICAoaWRUZXh0ID0gIiIpCgkpCgkoaWRDaG9pY2UgPSAoKHRjQ2VsbFZpZXd+PnBhcmFtZXRlcnMpfj5pZENob2ljZSkpIAoJaWYoIWxpc3RwKGlkQ2hvaWNlKSB0aGVuIAoJICAgIGlmKCgoaWRDaG9pY2UgPT0gIlRSVUUiKSB8fCAoaWRDaG9pY2UgPT0gdCkpIHRoZW4gCgkJKGlkQ2hvaWNlID0gdCkgZWxzZSAKCQkoaWRDaG9pY2UgPSBuaWwpCgkgICAgKQoJKSAKCShub0VuZENvbkltcEVuYyA9ICgodGNDZWxsVmlld34+cGFyYW1ldGVycyl+Pm5vRW5kQ29uSW1wRW5jKSkgCglpZigobm9FbmRDb25JbXBFbmMgPT0gIkZBTFNFIikgdGhlbiAKCSAgICAobm9FbmRDb25JbXBFbmMgPSBuaWwpCgkpIAoJKGltcGxhbnQgPSAoKHRjQ2VsbFZpZXd+PnBhcmFtZXRlcnMpfj5pbXBsYW50KSkKCWlmKChpbXBsYW50ID09ICJGQUxTRSIpIHRoZW4gCgkgICAgKGltcGxhbnQgPSBuaWwpCgkpIAoJKHcgPSAoKHRjQ2VsbFZpZXd+PnBhcmFtZXRlcnMpfj53KSkgCglpZighZmxvYXRwKHcpIHRoZW4gCgkgICAgKHcgPSAwLjQyKQoJKSAKCShsID0gKCh0Y0NlbGxWaWV3fj5wYXJhbWV0ZXJzKX4+bCkpIAoJaWYoIWZsb2F0cChsKSB0aGVuIAoJICAgIChsID0gMC4xNSkKCSkKCShtID0gKCh0Y0NlbGxWaWV3fj5wYXJhbWV0ZXJzKX4+bSkpIAoJaWYoIWZpeHAobSkgdGhlbiAKCSAgICAobSA9IDEpCgkpIAoJKGRybk9mZnNldCA9ICgodGNDZWxsVmlld34+cGFyYW1ldGVycyl+PmRybk9mZnNldCkpIAoJaWYoIWZsb2F0cChkcm5PZmZzZXQpIHRoZW4gCgkgICAgKGRybk9mZnNldCA9IDAuMCkKCSkgCgkoc3JjT2Zmc2V0ID0gKCh0Y0NlbGxWaWV3fj5wYXJhbWV0ZXJzKX4+c3JjT2Zmc2V0KSkKCWlmKCFmbG9hdHAoc3JjT2Zmc2V0KSB0aGVuIAoJICAgIChzcmNPZmZzZXQgPSAwLjApCgkpIAoJKGNvbnRhY3RDaG9pY2UgPSAoKHRjQ2VsbFZpZXd+PnBhcmFtZXRlcnMpfj5jb250YWN0Q2hvaWNlKSkgCglpZighbGlzdHAoY29udGFjdENob2ljZSkgdGhlbiAKCSAgICBpZigoKGNvbnRhY3RDaG9pY2UgPT0gIlRSVUUiKSB8fCAoY29udGFjdENob2ljZSA9PSB0KSkgdGhlbiAKCQkoY29udGFjdENob2ljZSA9IHQpIGVsc2UgCgkJKGNvbnRhY3RDaG9pY2UgPSBuaWwpCgkgICAgKQoJKSAKCSh0YXBJbXBDaG9pY2UgPSAoKHRjQ2VsbFZpZXd+PnBhcmFtZXRlcnMpfj50YXBJbXBDaG9pY2UpKSAKCWlmKCFsaXN0cCh0YXBJbXBDaG9pY2UpIHRoZW4gCgkgICAgaWYoKCh0YXBJbXBDaG9pY2UgPT0gIlRSVUUiKSB8fCAodGFwSW1wQ2hvaWNlID09IHQpKSB0aGVuIAoJCSh0YXBJbXBDaG9pY2UgPSB0KSBlbHNlIAoJCSh0YXBJbXBDaG9pY2UgPSBuaWwpCgkgICAgKQoJKQoJKGRpZmZJbXBDaG9pY2UgPSAoKHRjQ2VsbFZpZXd+PnBhcmFtZXRlcnMpfj5kaWZmSW1wQ2hvaWNlKSkgCglpZighbGlzdHAoZGlmZkltcENob2ljZSkgdGhlbiAKCSAgICBpZigoKGRpZmZJbXBDaG9pY2UgPT0gIlRSVUUiKSB8fCAoZGlmZkltcENob2ljZSA9PSB0KSkgdGhlbiAKCQkoZGlmZkltcENob2ljZSA9IHQpIGVsc2UgCgkJKGRpZmZJbXBDaG9pY2UgPSBuaWwpCgkgICAgKQoJKSAKCShjb250YWN0Q2hvaWNlcyA9ICgodGNDZWxsVmlld34+cGFyYW1ldGVycyl+PmNvbnRhY3RDaG9pY2VzKSkgCglpZighbGlzdHAoY29udGFjdENob2ljZXMpIHRoZW4gCgkgICAgaWYoKChjb250YWN0Q2hvaWNlcyA9PSAiVFJVRSIpIHx8IChjb250YWN0Q2hvaWNlcyA9PSB0KSkgdGhlbiAKCQkoY29udGFjdENob2ljZXMgPSB0KSBlbHNlIAoJCShjb250YWN0Q2hvaWNlcyA9IG5pbCkKCSAgICApCgkpIAoJKHRhcEltcENob2ljZXMgPSAoKHRjQ2VsbFZpZXd+PnBhcmFtZXRlcnMpfj50YXBJbXBDaG9pY2VzKSkKCWlmKCFsaXN0cCh0YXBJbXBDaG9pY2VzKSB0aGVuIAoJICAgIGlmKCgodGFwSW1wQ2hvaWNlcyA9PSAiVFJVRSIpIHx8ICh0YXBJbXBDaG9pY2VzID09IHQpKSB0aGVuIAoJCSh0YXBJbXBDaG9pY2VzID0gdCkgZWxzZSAKCQkodGFwSW1wQ2hvaWNlcyA9IG5pbCkKCSAgICApCgkpIAoJKGRpZmZJbXBDaG9pY2VzID0gKCh0Y0NlbGxWaWV3fj5wYXJhbWV0ZXJzKX4+ZGlmZkltcENob2ljZXMpKSAKCWlmKCFsaXN0cChkaWZmSW1wQ2hvaWNlcykgdGhlbiAKCSAgICBpZigoKGRpZmZJbXBDaG9pY2VzID09ICJUUlVFIikgfHwgKGRpZmZJbXBDaG9pY2VzID09IHQpKSB0aGVuIAoJCShkaWZmSW1wQ2hvaWNlcyA9IHQpIGVsc2UgCgkJKGRpZmZJbXBDaG9pY2VzID0gbmlsKQoJICAgICkKCSkgCgkoaWRFbmNZID0gKCh0Y0NlbGxWaWV3fj5wYXJhbWV0ZXJzKX4+aWRFbmNZKSkgCglpZighZmxvYXRwKGlkRW5jWSkgdGhlbiAKCSAgICAoaWRFbmNZID0gMC4xOCkKCSkKCShpZEVuY1hSID0gKCh0Y0NlbGxWaWV3fj5wYXJhbWV0ZXJzKX4+aWRFbmNYUikpIAoJaWYoIWZsb2F0cChpZEVuY1hSKSB0aGVuIAoJICAgIChpZEVuY1hSID0gMC4xOCkKCSkgCgkoaWRFbmNYTCA9ICgodGNDZWxsVmlld34+cGFyYW1ldGVycyl+PmlkRW5jWEwpKSAKCWlmKCFmbG9hdHAoaWRFbmNYTCkgdGhlbiAKCSAgICAoaWRFbmNYTCA9IDAuMTgpCgkpIAoJKGlkRW5jRGlmZiA9ICgodGNDZWxsVmlld34+cGFyYW1ldGVycyl+PmlkRW5jRGlmZikpCglpZigoaWRFbmNEaWZmID09ICJGQUxTRSIpIHRoZW4gCgkgICAgKGlkRW5jRGlmZiA9IG5pbCkKCSkgCglpZighc3RyaW5ncChpZEVuY0RpZmYpIHRoZW4gCgkgICAgKGlkRW5jRGlmZiA9ICJGQUxTRSIpCgkpIAoJKGlkTGF5ZXIgPSAoKHRjQ2VsbFZpZXd+PnBhcmFtZXRlcnMpfj5pZExheWVyKSkgCglpZigoaWRMYXllciA9PSAiRkFMU0UiKSB0aGVuIAoJICAgIChpZExheWVyID0gbmlsKQoJKSAKCWlmKCFzdHJpbmdwKGlkTGF5ZXIpIHRoZW4gCgkgICAgKGlkTGF5ZXIgPSAibm9uZSIpCgkpCgkoaWRMYXllckNob2ljZXMgPSAoKHRjQ2VsbFZpZXd+PnBhcmFtZXRlcnMpfj5pZExheWVyQ2hvaWNlcykpIAoJaWYoIWxpc3RwKGlkTGF5ZXJDaG9pY2VzKSB0aGVuIAoJICAgIChpZExheWVyQ2hvaWNlcyA9IGxpc3QoIm5vbmUiICJsdnRuIikpCgkpIAoJKGdhdGVFeHQgPSAoKHRjQ2VsbFZpZXd+PnBhcmFtZXRlcnMpfj5nYXRlRXh0KSkgCglpZighZmxvYXRwKGdhdGVFeHQpIHRoZW4gCgkgICAgKGdhdGVFeHQgPSAwLjEzKQoJKSAKCShmaXJzdENvbnRhY3QgPSAoKHRjQ2VsbFZpZXd+PnBhcmFtZXRlcnMpfj5maXJzdENvbnRhY3QpKQoJaWYoKGZpcnN0Q29udGFjdCA9PSAiRkFMU0UiKSB0aGVuIAoJICAgIChmaXJzdENvbnRhY3QgPSBuaWwpCgkpIAoJaWYoIXN0cmluZ3AoZmlyc3RDb250YWN0KSB0aGVuIAoJICAgIChmaXJzdENvbnRhY3QgPSAiREZMMXNkIikKCSkgCgkobGFzdENvbnRhY3QgPSAoKHRjQ2VsbFZpZXd+PnBhcmFtZXRlcnMpfj5sYXN0Q29udGFjdCkpIAoJaWYoKGxhc3RDb250YWN0ID09ICJGQUxTRSIpIHRoZW4gCgkgICAgKGxhc3RDb250YWN0ID0gbmlsKQoJKSAKCWlmKCFzdHJpbmdwKGxhc3RDb250YWN0KSB0aGVuIAoJICAgIChsYXN0Q29udGFjdCA9ICJERkwxc2QiKQoJKQoJKHNoYXJlZFNvdXJjZSA9ICgodGNDZWxsVmlld34+cGFyYW1ldGVycyl+PnNoYXJlZFNvdXJjZSkpIAoJaWYoKHNoYXJlZFNvdXJjZSA9PSAiRkFMU0UiKSB0aGVuIAoJICAgIChzaGFyZWRTb3VyY2UgPSBuaWwpCgkpIAoJaWYoIXN0cmluZ3Aoc2hhcmVkU291cmNlKSB0aGVuIAoJICAgIChzaGFyZWRTb3VyY2UgPSAiREZMMXNkMiIpCgkpIAoJKHNoYXJlZERyYWluID0gKCh0Y0NlbGxWaWV3fj5wYXJhbWV0ZXJzKX4+c2hhcmVkRHJhaW4pKSAKCWlmKChzaGFyZWREcmFpbiA9PSAiRkFMU0UiKSB0aGVuIAoJICAgIChzaGFyZWREcmFpbiA9IG5pbCkKCSkKCWlmKCFzdHJpbmdwKHNoYXJlZERyYWluKSB0aGVuIAoJICAgIChzaGFyZWREcmFpbiA9ICJERkwxc2QyIikKCSkgCgkoc291cmNlRmlyc3QgPSAoKHRjQ2VsbFZpZXd+PnBhcmFtZXRlcnMpfj5zb3VyY2VGaXJzdCkpIAoJaWYoKHNvdXJjZUZpcnN0ID09ICJGQUxTRSIpIHRoZW4gCgkgICAgKHNvdXJjZUZpcnN0ID0gbmlsKQoJKSAKCShkaWZmSW1wYW50T1JsYXllciA9IGRpZmZJbXBsYW50KSAKCShjcmVhdGVkSW1wbGFudDEgPSBsaXN0KCkpCgkoY3JlYXRlZEltcGxhbnREaWZmID0gbGlzdCgpKSAKCWlmKCh3ZWxsTGF5ZXIgJiYgZGlmZkltcGxhbnQpIHRoZW4gCgkgICAgKE9SbGF5ZXJTaXplID0gKGRpZmZJbXBFbmMgLSB3ZWxsRW5jRGlmZikpIGVsc2UgCgkgICAgKE9SbGF5ZXJTaXplID0gMC4wKQoJKSAKCSh3ZWxsRW5jWURpZmYgPSAwLjApIAoJd2hlbigod2VsbExheWVyV2lkdGggIT0gMC4wKSAKCSAgICAod2VsbFdpZHRoID0gKChtYXgod2VsbEVuY0RpZmYgd2VsbEVuY1RhcCkgKiAyKSArIHcpKSAKCSAgICBpZigod2VsbFdpZHRoIDwgd2VsbExheWVyV2lkdGgpIHRoZW4gCgkJKHdlbGxFbmNZRGlmZiA9IGFicygobWF4KHdlbGxFbmNEaWZmIHdlbGxFbmNUYXApIC0gCgkJCSAgICAoKHdlbGxMYXllcldpZHRoIC0gdykgLyAyKSkKCQkgICAgKSkKCSAgICApCgkpIAoJaWYoKChpbXBsYW50ID09IHQpIHx8IChpbXBsYW50ID09ICJUUlVFIikpIHRoZW4gCgkgICAgKGltcGxhbnQgPSB0KSBlbHNlIAoJICAgIChpbXBsYW50ID0gbmlsKQoJKQoJaWYoKChkcmF3SURieURlZmF1bHQgPT0gdCkgfHwgKGRyYXdJRGJ5RGVmYXVsdCA9PSAiVFJVRSIpKSB0aGVuIAoJICAgIChkcmF3SURieURlZmF1bHQgPSB0KSBlbHNlIAoJICAgIChkcmF3SURieURlZmF1bHQgPSBuaWwpCgkpIAoJaWYoKChpZENob2ljZSA9PSB0KSB8fCAoaWRDaG9pY2UgPT0gIlRSVUUiKSkgdGhlbiAKCSAgICAoaWRDaG9pY2UgPSB0KSBlbHNlIAoJICAgIChpZENob2ljZSA9IG5pbCkKCSkgCglpZigoKG5vRW5kQ29uSW1wRW5jID09IHQpIHx8IChub0VuZENvbkltcEVuYyA9PSAiVFJVRSIpKSB0aGVuIAoJICAgIChub0VuZENvbkltcEVuYyA9IHQpIGVsc2UgCgkgICAgKG5vRW5kQ29uSW1wRW5jID0gbmlsKQoJKSAKCWlmKCghaWRMYXllciB8fCAoaWRMYXllciA9PSAibm9uZSIpIHx8IChpZExheWVyID09ICJuaWwiKSB8fCAoaWRMYXllciA9PSAiRkFMU0UiKSkgdGhlbiAKCSAgICAoaWRMYXllciA9IG5pbCkKCSkgCglpZigoKHNvdXJjZUZpcnN0ID09IHQpIHx8IChzb3VyY2VGaXJzdCA9PSAiVFJVRSIpKSB0aGVuIAoJICAgIChzb3VyY2VGaXJzdCA9IHQpIGVsc2UgCgkgICAgKHNvdXJjZUZpcnN0ID0gbmlsKQoJKQoJaWYoKChpZEVuY0RpZmYgPT0gdCkgfHwgKGlkRW5jRGlmZiA9PSAiVFJVRSIpKSB0aGVuIAoJICAgIChpZEVuY0RpZmYgPSB0KSBlbHNlIAoJICAgIChpZEVuY0RpZmYgPSBuaWwpCgkpIAoJaWYoKGdhdGVFeHQgPCAwLjApIAoJICAgIGVycm9yKCJtTm9ybVRyYW5JbXBDbGFzczogZ2F0ZUV4dCAoJWcpIG11c3QgYmUgPiAwXG4iIGdhdGVFeHQpCgkpIAoJKGdOZXQgPSAoZGJDcmVhdGVOZXQgdGNDZWxsVmlldyAiZyIpKSAKCShkYkNyZWF0ZVRlcm0gZ05ldCAiZyIgImlucHV0IikgCgkoc05ldCA9IChkYkNyZWF0ZU5ldCB0Y0NlbGxWaWV3ICJzIikpCgkoZGJDcmVhdGVUZXJtIHNOZXQgInMiICJpbnB1dE91dHB1dCIpIAoJKGROZXQgPSAoZGJDcmVhdGVOZXQgdGNDZWxsVmlldyAiZCIpKSAKCShkYkNyZWF0ZVRlcm0gZE5ldCAiZCIgImlucHV0T3V0cHV0IikgCgkoYk5ldCA9IChkYkNyZWF0ZU5ldCB0Y0NlbGxWaWV3ICJiIikpIAoJKGRiQ3JlYXRlVGVybSBiTmV0ICJiIiAiaW5wdXRPdXRwdXQiKQoJaWYoc291cmNlRmlyc3QgdGhlbiAKCSAgICAoY05ldCA9IHNOZXQpIAoJICAgIChuZXRMID0gIlMiKSBlbHNlCgkgICAgKGNOZXQgPSBkTmV0KSAKCSAgICAobmV0TCA9ICJEIikKCSkgCgl3aGVuKChtIDwgMSkgCgkgICAgKG0gPSAxKQoJKSAKCXdoZW4oZGlmZkltcENob2ljZXMgCgkgICAgdW5sZXNzKChkaWZmSW1wRW5jICYmIGxpc3RwKGRpZmZJbXBFbmMpICYmIChsZW5ndGgoZGlmZkltcEVuYykgPT0gbGVuZ3RoKGRpZmZJbXBDaG9pY2VzKSkpIAoJCWVycm9yKCJkaWZmSW1wRW5jIHNob3VsZCBiZSBhIGxpc3QgbWF0Y2hpbmcgZGlmZkltcENob2ljZXMiKQoJICAgICkgCgkgICAgKGkgPSBsZW5ndGgoKG1lbWJlcihkaWZmSW1wQ2hvaWNlIGRpZmZJbXBDaG9pY2VzKSB8fCBkaWZmSW1wQ2hvaWNlcykpKSAKCSAgICAoZGlmZk1hdGNoID0gKGxlbmd0aChkaWZmSW1wQ2hvaWNlcykgLSBpKSkgCgkgICAgKGRpZmZJbXBFbmMgPSBudGgoZGlmZk1hdGNoIGRpZmZJbXBFbmMpKQoJKSAKCXdoZW4odGFwSW1wQ2hvaWNlcyAKCSAgICAoaSA9IGxlbmd0aCgobWVtYmVyKHRhcEltcENob2ljZSB0YXBJbXBDaG9pY2VzKSB8fCB0YXBJbXBDaG9pY2VzKSkpIAoJICAgICh0YXBNYXRjaCA9IChsZW5ndGgodGFwSW1wQ2hvaWNlcykgLSBpKSkKCSkgCgl3aGVuKGNvbnRhY3RDaG9pY2VzIAoJICAgIGNvbmQoKChjb250YWN0Q2hvaWNlID09ICJ0YXAiKSAKCQkgICAgKGRpZmZDb25QYXJhbSA9IGxpc3QoIm5vRGlmZkNvbnRhY3QiICJib29sZWFuIiB0KSkKCQkpIAoJCSgoY29udGFjdENob2ljZSA9PSAiYm90aCIpIAoJCSAgICAoZGlmZkNvblBhcmFtID0gbGlzdCgibm9EaWZmQ29udGFjdCIgImJvb2xlYW4iICJGQUxTRSIpKQoJCSkgCgkJKHQgCgkJICAgIChkaWZmQ29uUGFyYW0gPSBsaXN0KCJub0RpZmZDb250YWN0IiAiYm9vbGVhbiIgIkZBTFNFIikpCgkJKQoJICAgICkKCSkKCSh4ID0gbmlsKSAKCWlmKGxpc3RwKGNhcihpZExheWVyQ2hvaWNlcykpIHRoZW4gCgkgICAgbWFwY2FyKGxhbWJkYSgoeCkgCgkJICAgIGlmKChjYXIoeCkgPT0gaWRMYXllcikgdGhlbiAKCQkJKGlkTGF5ZXIgPSBjYWRyKHgpKSAKCQkJKGlkRW5jTGlzdCA9IGNhZGRyKHgpKSAKCQkJaWYoKGlkRW5jTGlzdCAmJiBsaXN0cChpZEVuY0xpc3QpKSB0aGVuIAoJCQkgICAgKGlkRW5jWEwgPSBudGgoMCBpZEVuY0xpc3QpKSAKCQkJICAgIChpZEVuY1hSID0gbnRoKDEgaWRFbmNMaXN0KSkgCgkJCSAgICAoaWRFbmNZID0gbnRoKDIgaWRFbmNMaXN0KSkKCQkJKQoJCQkoaWRFbmNEaWZmID0gY2FkZGRyKHgpKQoJCSAgICApCgkJKSBpZExheWVyQ2hvaWNlcwoJICAgICkKCSkgCgl3aGVuKChmaXJzdENvbnRhY3QgIT0gIiIpIAoJICAgIChjb250YWN0RiA9IChkYk9wZW5DZWxsVmlldyAKCQkgICAgKHRjQ2VsbFZpZXd+PmxpYikgZmlyc3RDb250YWN0ICJzeW1ib2xpYyIgbmlsCgkJICAgICJybiIKCQkpKQoJKSAKCXdoZW4oKGxhc3RDb250YWN0ICE9ICIiKSAKCSAgICAoY29udGFjdEwgPSAoZGJPcGVuQ2VsbFZpZXcgCgkJICAgICh0Y0NlbGxWaWV3fj5saWIpIGxhc3RDb250YWN0ICJzeW1ib2xpYyIgbmlsCgkJICAgICJybiIKCQkpKQoJKSAKCXdoZW4oKHNoYXJlZERyYWluICE9ICIiKSAKCSAgICAoY29udGFjdEQgPSAoZGJPcGVuQ2VsbFZpZXcgCgkJICAgICh0Y0NlbGxWaWV3fj5saWIpIHNoYXJlZERyYWluICJzeW1ib2xpYyIgbmlsCgkJICAgICJybiIKCQkpKQoJKQoJd2hlbigoc2hhcmVkU291cmNlICE9ICIiKSAKCSAgICAoY29udGFjdFMgPSAoZGJPcGVuQ2VsbFZpZXcgCgkJICAgICh0Y0NlbGxWaWV3fj5saWIpIHNoYXJlZFNvdXJjZSAic3ltYm9saWMiIG5pbAoJCSAgICAicm4iCgkJKSkKCSkgCgkodmlhMVhDcmRGID0gaWYoKGNvbnRhY3RGfj5iQm94VmlhMSkgCgkJYWJzKGNhYXIoKGNvbnRhY3RGfj5iQm94VmlhMSkpKSBuaWwKCSAgICApKSAKCShsYXllcjJYQ3JkRiA9IGlmKChjb250YWN0Rn4+YkJveExheWVyMikgCgkJYWJzKGNhYXIoKGNvbnRhY3RGfj5iQm94TGF5ZXIyKSkpIG5pbAoJICAgICkpIAoJKHZpYTJYQ3JkRiA9IGlmKChjb250YWN0Rn4+YkJveFZpYTIpIAoJCWFicyhjYWFyKChjb250YWN0Rn4+YkJveFZpYTIpKSkgbmlsCgkgICAgKSkgCgkobGF5ZXIzWENyZEYgPSBpZigoY29udGFjdEZ+PmJCb3hMYXllcjMpIAoJCWFicyhjYWFyKChjb250YWN0Rn4+YkJveExheWVyMykpKSBuaWwKCSAgICApKQoJKGxheWVyMVhDcmRGID0gaWYoKGNvbnRhY3RGfj5kaWZmTGF5ZXJCYm94KSAKCQlhYnMoY2FhcigoY29udGFjdEZ+PmRpZmZMYXllckJib3gpKSkgbmlsCgkgICAgKSkgCgkodmlhMVhDcmRMID0gaWYoKGNvbnRhY3RMfj5iQm94VmlhMSkgCgkJYWJzKGNhYXIoKGNvbnRhY3RMfj5iQm94VmlhMSkpKSBuaWwKCSAgICApKSAKCShsYXllcjJYQ3JkTCA9IGlmKChjb250YWN0TH4+YkJveExheWVyMikgCgkJYWJzKGNhYXIoKGNvbnRhY3RMfj5iQm94TGF5ZXIyKSkpIG5pbAoJICAgICkpIAoJKHZpYTJYQ3JkTCA9IGlmKChjb250YWN0TH4+YkJveFZpYTIpIAoJCWFicyhjYWFyKChjb250YWN0TH4+YkJveFZpYTIpKSkgbmlsCgkgICAgKSkgCgkobGF5ZXIzWENyZEwgPSBpZigoY29udGFjdEx+PmJCb3hMYXllcjMpIAoJCWFicyhjYWFyKChjb250YWN0TH4+YkJveExheWVyMykpKSBuaWwKCSAgICApKQoJKGxheWVyMVhDcmRMID0gaWYoKGNvbnRhY3RMfj5kaWZmTGF5ZXJCYm94KSAKCQlhYnMoY2FhcigoY29udGFjdEx+PmRpZmZMYXllckJib3gpKSkgbmlsCgkgICAgKSkgCgkodmlhMVhDcmRTID0gaWYoKGNvbnRhY3RTfj5iQm94VmlhMSkgCgkJYWJzKGNhYXIoKGNvbnRhY3RTfj5iQm94VmlhMSkpKSBuaWwKCSAgICApKSAKCShsYXllcjJYQ3JkUyA9IGlmKChjb250YWN0U34+YkJveExheWVyMikgCgkJYWJzKGNhYXIoKGNvbnRhY3RTfj5iQm94TGF5ZXIyKSkpIG5pbAoJICAgICkpIAoJKHZpYTJYQ3JkUyA9IGlmKChjb250YWN0U34+YkJveFZpYTIpIAoJCWFicyhjYWFyKChjb250YWN0U34+YkJveFZpYTIpKSkgbmlsCgkgICAgKSkgCgkobGF5ZXIzWENyZFMgPSBpZigoY29udGFjdFN+PmJCb3hMYXllcjMpIAoJCWFicyhjYWFyKChjb250YWN0U34+YkJveExheWVyMykpKSBuaWwKCSAgICApKQoJKGxheWVyMVhDcmRTID0gaWYoKGNvbnRhY3RTfj5kaWZmTGF5ZXJCYm94KSAKCQlhYnMoY2FhcigoY29udGFjdFN+PmRpZmZMYXllckJib3gpKSkgbmlsCgkgICAgKSkgCgkodmlhMVhDcmREID0gaWYoKGNvbnRhY3REfj5iQm94VmlhMSkgCgkJYWJzKGNhYXIoKGNvbnRhY3REfj5iQm94VmlhMSkpKSBuaWwKCSAgICApKSAKCShsYXllcjJYQ3JkRCA9IGlmKChjb250YWN0RH4+YkJveExheWVyMikgCgkJYWJzKGNhYXIoKGNvbnRhY3REfj5iQm94TGF5ZXIyKSkpIG5pbAoJICAgICkpIAoJKHZpYTJYQ3JkRCA9IGlmKChjb250YWN0RH4+YkJveFZpYTIpIAoJCWFicyhjYWFyKChjb250YWN0RH4+YkJveFZpYTIpKSkgbmlsCgkgICAgKSkgCgkobGF5ZXIzWENyZEQgPSBpZigoY29udGFjdER+PmJCb3hMYXllcjMpIAoJCWFicyhjYWFyKChjb250YWN0RH4+YkJveExheWVyMykpKSBuaWwKCSAgICApKQoJKGxheWVyMVhDcmREID0gaWYoKGNvbnRhY3REfj5kaWZmTGF5ZXJCYm94KSAKCQlhYnMoY2FhcigoY29udGFjdER+PmRpZmZMYXllckJib3gpKSkgbmlsCgkgICAgKSkgCglpZigobGF5ZXIxWENyZEYgJiYgdmlhMVhDcmRGKSB0aGVuIAoJICAgICh2aWExRW5jRiA9IGFicygobGF5ZXIxWENyZEYgLSB2aWExWENyZEYpKSkKCSkgCglpZigobGF5ZXIxWENyZEYgJiYgdmlhMlhDcmRGKSB0aGVuIAoJICAgICh2aWEyRW5jRiA9IGFicygobGF5ZXIxWENyZEYgLSB2aWEyWENyZEYpKSkKCSkgCglpZigobGF5ZXIxWENyZEYgJiYgbGF5ZXIyWENyZEYpIHRoZW4gCgkgICAgKGxheWVyMkVuY0YgPSBhYnMoKGxheWVyMVhDcmRGIC0gbGF5ZXIyWENyZEYpKSkKCSkgCglpZigobGF5ZXIxWENyZEYgJiYgbGF5ZXIzWENyZEYpIHRoZW4gCgkgICAgKGxheWVyM0VuY0YgPSBhYnMoKGxheWVyMVhDcmRGIC0gbGF5ZXIzWENyZEYpKSkKCSkKCWlmKChsYXllcjFYQ3JkTCAmJiB2aWExWENyZEwpIHRoZW4gCgkgICAgKHZpYTFFbmNMID0gYWJzKChsYXllcjFYQ3JkTCAtIHZpYTFYQ3JkTCkpKQoJKSAKCWlmKChsYXllcjFYQ3JkTCAmJiB2aWEyWENyZEwpIHRoZW4gCgkgICAgKHZpYTJFbmNMID0gYWJzKChsYXllcjFYQ3JkTCAtIHZpYTJYQ3JkTCkpKQoJKSAKCWlmKChsYXllcjFYQ3JkTCAmJiBsYXllcjJYQ3JkTCkgdGhlbiAKCSAgICAobGF5ZXIyRW5jTCA9IGFicygobGF5ZXIxWENyZEwgLSBsYXllcjJYQ3JkTCkpKQoJKSAKCWlmKChsYXllcjFYQ3JkTCAmJiBsYXllcjNYQ3JkTCkgdGhlbiAKCSAgICAobGF5ZXIzRW5jTCA9IGFicygobGF5ZXIxWENyZEwgLSBsYXllcjNYQ3JkTCkpKQoJKSAKCWlmKChsYXllcjFYQ3JkUyAmJiB2aWExWENyZFMpIHRoZW4gCgkgICAgKHZpYTFFbmNTID0gYWJzKChsYXllcjFYQ3JkUyAtIHZpYTFYQ3JkUykpKQoJKQoJaWYoKGxheWVyMVhDcmRTICYmIHZpYTJYQ3JkUykgdGhlbiAKCSAgICAodmlhMkVuY1MgPSBhYnMoKGxheWVyMVhDcmRTIC0gdmlhMlhDcmRTKSkpCgkpIAoJaWYoKGxheWVyMVhDcmRTICYmIGxheWVyMlhDcmRTKSB0aGVuIAoJICAgIChsYXllcjJFbmNTID0gYWJzKChsYXllcjFYQ3JkUyAtIGxheWVyMlhDcmRTKSkpCgkpIAoJaWYoKGxheWVyMVhDcmRTICYmIGxheWVyM1hDcmRTKSB0aGVuIAoJICAgIChsYXllcjNFbmNTID0gYWJzKChsYXllcjFYQ3JkUyAtIGxheWVyM1hDcmRTKSkpCgkpIAoJaWYoKGxheWVyMVhDcmREICYmIHZpYTFYQ3JkRCkgdGhlbiAKCSAgICAodmlhMUVuY0QgPSBhYnMoKGxheWVyMVhDcmREIC0gdmlhMVhDcmREKSkpCgkpIAoJaWYoKGxheWVyMVhDcmREICYmIHZpYTJYQ3JkRCkgdGhlbiAKCSAgICAodmlhMkVuY0QgPSBhYnMoKGxheWVyMVhDcmREIC0gdmlhMlhDcmREKSkpCgkpCglpZigobGF5ZXIxWENyZEQgJiYgbGF5ZXIyWENyZEQpIHRoZW4gCgkgICAgKGxheWVyMkVuY0QgPSBhYnMoKGxheWVyMVhDcmREIC0gbGF5ZXIyWENyZEQpKSkKCSkgCglpZigobGF5ZXIxWENyZEQgJiYgbGF5ZXIzWENyZEQpIHRoZW4gCgkgICAgKGxheWVyM0VuY0QgPSBhYnMoKGxheWVyMVhDcmREIC0gbGF5ZXIzWENyZEQpKSkKCSkgCglpZigodmlhMUVuY0YgJiYgdmlhMUVuY0wpIHRoZW4gCgkgICAgKHZpYTFTcGFjZUZMID0gKHZpYTFFbmNGICsgdmlhMUVuY0wgKyBsKSkgCgkgICAgKHZpYTFPZmZTZXRGTCA9ICh2aWExTWluU3BhY2UgLSB2aWExU3BhY2VGTCkpIGVsc2UKCSAgICAodmlhMU9mZlNldEZMID0gMC4wKQoJKSAKCWlmKCh2aWEyRW5jRiAmJiB2aWEyRW5jTCkgdGhlbiAKCSAgICAodmlhMlNwYWNlRkwgPSAodmlhMkVuY0YgKyB2aWEyRW5jTCArIGwpKSAKCSAgICAodmlhMk9mZlNldEZMID0gKHZpYTJNaW5TcGFjZSAtIHZpYTJTcGFjZUZMKSkgZWxzZQoJICAgICh2aWEyT2ZmU2V0RkwgPSAwLjApCgkpIAoJaWYoKGxheWVyM0VuY0YgJiYgbGF5ZXIzRW5jTCkgdGhlbiAKCSAgICAobGF5ZXIzU3BhY2VGTCA9IChsYXllcjNFbmNGICsgbGF5ZXIzRW5jTCArIGwpKSAKCSAgICAobGF5ZXIzT2ZmU2V0RkwgPSAobGF5ZXIzTWluU3BhY2UgLSBsYXllcjNTcGFjZUZMKSkgZWxzZQoJICAgIChsYXllcjNPZmZTZXRGTCA9IDAuMCkKCSkKCWlmKChsYXllcjJFbmNGICYmIGxheWVyMkVuY0wpIHRoZW4gCgkgICAgKGxheWVyMlNwYWNlRkwgPSAobGF5ZXIyRW5jRiArIGxheWVyMkVuY0wgKyBsKSkgCgkgICAgKGxheWVyMk9mZlNldEZMID0gKGxheWVyMk1pblNwYWNlIC0gbGF5ZXIyU3BhY2VGTCkpIGVsc2UKCSAgICAobGF5ZXIyT2ZmU2V0RkwgPSAwLjApCgkpIAoJaWYoKHZpYTFFbmNGICYmIHZpYTFFbmNTKSB0aGVuIAoJICAgICh2aWExU3BhY2VGUyA9ICh2aWExRW5jRiArIHZpYTFFbmNTICsgbCkpIAoJICAgICh2aWExT2ZmU2V0RlMgPSAodmlhMU1pblNwYWNlIC0gdmlhMVNwYWNlRlMpKSBlbHNlCgkgICAgKHZpYTFPZmZTZXRGUyA9IDAuMCkKCSkgCglpZigodmlhMkVuY0YgJiYgdmlhMkVuY1MpIHRoZW4gCgkgICAgKHZpYTJTcGFjZUZTID0gKHZpYTJFbmNGICsgdmlhMkVuY1MgKyBsKSkgCgkgICAgKHZpYTJPZmZTZXRGUyA9ICh2aWEyTWluU3BhY2UgLSB2aWEyU3BhY2VGUykpIGVsc2UKCSAgICAodmlhMk9mZlNldEZTID0gMC4wKQoJKSAKCWlmKChsYXllcjNFbmNGICYmIGxheWVyM0VuY1MpIHRoZW4gCgkgICAgKGxheWVyM1NwYWNlRlMgPSAobGF5ZXIzRW5jRiArIGxheWVyM0VuY1MgKyBsKSkgCgkgICAgKGxheWVyM09mZlNldEZTID0gKGxheWVyM01pblNwYWNlIC0gbGF5ZXIzU3BhY2VGUykpIGVsc2UKCSAgICAobGF5ZXIzT2ZmU2V0RlMgPSAwLjApCgkpIAoJaWYoKGxheWVyMkVuY0YgJiYgbGF5ZXIyRW5jUykgdGhlbiAKCSAgICAobGF5ZXIyU3BhY2VGUyA9IChsYXllcjJFbmNGICsgbGF5ZXIyRW5jUyArIGwpKSAKCSAgICAobGF5ZXIyT2ZmU2V0RlMgPSAobGF5ZXIyTWluU3BhY2UgLSBsYXllcjJTcGFjZUZTKSkgZWxzZQoJICAgIChsYXllcjJPZmZTZXRGUyA9IDAuMCkKCSkKCWlmKCh2aWExRW5jRiAmJiB2aWExRW5jRCkgdGhlbiAKCSAgICAodmlhMVNwYWNlRkQgPSAodmlhMUVuY0YgKyB2aWExRW5jRCArIGwpKSAKCSAgICAodmlhMU9mZlNldEZEID0gKHZpYTFNaW5TcGFjZSAtIHZpYTFTcGFjZUZEKSkgZWxzZQoJICAgICh2aWExT2ZmU2V0RkQgPSAwLjApCgkpIAoJaWYoKHZpYTJFbmNGICYmIHZpYTJFbmNEKSB0aGVuIAoJICAgICh2aWEyU3BhY2VGRCA9ICh2aWEyRW5jRiArIHZpYTJFbmNEICsgbCkpIAoJICAgICh2aWEyT2ZmU2V0RkQgPSAodmlhMk1pblNwYWNlIC0gdmlhMlNwYWNlRkQpKSBlbHNlCgkgICAgKHZpYTJPZmZTZXRGRCA9IDAuMCkKCSkgCglpZigobGF5ZXIzRW5jRiAmJiBsYXllcjNFbmNEKSB0aGVuIAoJICAgIChsYXllcjNTcGFjZUZEID0gKGxheWVyM0VuY0YgKyBsYXllcjNFbmNEICsgbCkpIAoJICAgIChsYXllcjNPZmZTZXRGRCA9IChsYXllcjNNaW5TcGFjZSAtIGxheWVyM1NwYWNlRkQpKSBlbHNlCgkgICAgKGxheWVyM09mZlNldEZEID0gMC4wKQoJKSAKCWlmKChsYXllcjJFbmNGICYmIGxheWVyMkVuY0QpIHRoZW4gCgkgICAgKGxheWVyMlNwYWNlRkQgPSAobGF5ZXIyRW5jRiArIGxheWVyMkVuY0QgKyBsKSkgCgkgICAgKGxheWVyMk9mZlNldEZEID0gKGxheWVyMk1pblNwYWNlIC0gbGF5ZXIyU3BhY2VGRCkpIGVsc2UKCSAgICAobGF5ZXIyT2ZmU2V0RkQgPSAwLjApCgkpIAoJaWYoKHZpYTFFbmNMICYmIHZpYTFFbmNTKSB0aGVuIAoJICAgICh2aWExU3BhY2VMUyA9ICh2aWExRW5jTCArIHZpYTFFbmNTICsgbCkpIAoJICAgICh2aWExT2ZmU2V0TFMgPSAodmlhMU1pblNwYWNlIC0gdmlhMVNwYWNlTFMpKSBlbHNlCgkgICAgKHZpYTFPZmZTZXRMUyA9IDAuMCkKCSkKCWlmKCh2aWEyRW5jTCAmJiB2aWEyRW5jUykgdGhlbiAKCSAgICAodmlhMlNwYWNlTFMgPSAodmlhMkVuY0wgKyB2aWEyRW5jUyArIGwpKSAKCSAgICAodmlhMk9mZlNldExTID0gKHZpYTJNaW5TcGFjZSAtIHZpYTJTcGFjZUxTKSkgZWxzZQoJICAgICh2aWEyT2ZmU2V0TFMgPSAwLjApCgkpIAoJaWYoKGxheWVyM0VuY0wgJiYgbGF5ZXIzRW5jUykgdGhlbiAKCSAgICAobGF5ZXIzU3BhY2VMUyA9IChsYXllcjNFbmNMICsgbGF5ZXIzRW5jUyArIGwpKSAKCSAgICAobGF5ZXIzT2ZmU2V0TFMgPSAobGF5ZXIzTWluU3BhY2UgLSBsYXllcjNTcGFjZUxTKSkgZWxzZQoJICAgIChsYXllcjNPZmZTZXRMUyA9IDAuMCkKCSkgCglpZigobGF5ZXIyRW5jTCAmJiBsYXllcjJFbmNTKSB0aGVuIAoJICAgIChsYXllcjJTcGFjZUxTID0gKGxheWVyMkVuY0wgKyBsYXllcjJFbmNTICsgbCkpIAoJICAgIChsYXllcjJPZmZTZXRMUyA9IChsYXllcjJNaW5TcGFjZSAtIGxheWVyMlNwYWNlTFMpKSBlbHNlCgkgICAgKGxheWVyMk9mZlNldExTID0gMC4wKQoJKSAKCWlmKCh2aWExRW5jTCAmJiB2aWExRW5jRCkgdGhlbiAKCSAgICAodmlhMVNwYWNlTEQgPSAodmlhMUVuY0wgKyB2aWExRW5jRCArIGwpKSAKCSAgICAodmlhMU9mZlNldExEID0gKHZpYTFNaW5TcGFjZSAtIHZpYTFTcGFjZUxEKSkgZWxzZQoJICAgICh2aWExT2ZmU2V0TEQgPSAwLjApCgkpIAoJaWYoKHZpYTJFbmNMICYmIHZpYTJFbmNEKSB0aGVuIAoJICAgICh2aWEyU3BhY2VMRCA9ICh2aWEyRW5jTCArIHZpYTJFbmNEICsgbCkpIAoJICAgICh2aWEyT2ZmU2V0TEQgPSAodmlhMk1pblNwYWNlIC0gdmlhMlNwYWNlTEQpKSBlbHNlCgkgICAgKHZpYTJPZmZTZXRMRCA9IDAuMCkKCSkKCWlmKChsYXllcjNFbmNMICYmIGxheWVyM0VuY0QpIHRoZW4gCgkgICAgKGxheWVyM1NwYWNlTEQgPSAobGF5ZXIzRW5jTCArIGxheWVyM0VuY0QgKyBsKSkgCgkgICAgKGxheWVyM09mZlNldExEID0gKGxheWVyM01pblNwYWNlIC0gbGF5ZXIzU3BhY2VMRCkpIGVsc2UKCSAgICAobGF5ZXIzT2ZmU2V0TEQgPSAwLjApCgkpIAoJaWYoKGxheWVyMkVuY0wgJiYgbGF5ZXIyRW5jRCkgdGhlbiAKCSAgICAobGF5ZXIyU3BhY2VMRCA9IChsYXllcjJFbmNMICsgbGF5ZXIyRW5jRCArIGwpKSAKCSAgICAobGF5ZXIyT2ZmU2V0TEQgPSAobGF5ZXIyTWluU3BhY2UgLSBsYXllcjJTcGFjZUxEKSkgZWxzZQoJICAgIChsYXllcjJPZmZTZXRMRCA9IDAuMCkKCSkgCglpZigodmlhMUVuY1MgJiYgdmlhMUVuY0QpIHRoZW4gCgkgICAgKHZpYTFTcGFjZVNEID0gKHZpYTFFbmNTICsgdmlhMUVuY0QgKyBsKSkgCgkgICAgKHZpYTFPZmZTZXRTRCA9ICh2aWExTWluU3BhY2UgLSB2aWExU3BhY2VTRCkpIGVsc2UKCSAgICAodmlhMU9mZlNldFNEID0gMC4wKQoJKSAKCWlmKCh2aWEyRW5jUyAmJiB2aWEyRW5jRCkgdGhlbiAKCSAgICAodmlhMlNwYWNlU0QgPSAodmlhMkVuY1MgKyB2aWEyRW5jRCArIGwpKSAKCSAgICAodmlhMk9mZlNldFNEID0gKHZpYTJNaW5TcGFjZSAtIHZpYTJTcGFjZVNEKSkgZWxzZQoJICAgICh2aWEyT2ZmU2V0U0QgPSAwLjApCgkpIAoJaWYoKGxheWVyM0VuY1MgJiYgbGF5ZXIzRW5jRCkgdGhlbiAKCSAgICAobGF5ZXIzU3BhY2VTRCA9IChsYXllcjNFbmNTICsgbGF5ZXIzRW5jRCArIGwpKSAKCSAgICAobGF5ZXIzT2ZmU2V0U0QgPSAobGF5ZXIzTWluU3BhY2UgLSBsYXllcjNTcGFjZVNEKSkgZWxzZQoJICAgIChsYXllcjNPZmZTZXRTRCA9IDAuMCkKCSkKCWlmKChsYXllcjJFbmNTICYmIGxheWVyMkVuY0QpIHRoZW4gCgkgICAgKGxheWVyMlNwYWNlU0QgPSAobGF5ZXIyRW5jUyArIGxheWVyMkVuY0QgKyBsKSkgCgkgICAgKGxheWVyMk9mZlNldFNEID0gKGxheWVyMk1pblNwYWNlIC0gbGF5ZXIyU3BhY2VTRCkpIGVsc2UKCSAgICAobGF5ZXIyT2ZmU2V0U0QgPSAwLjApCgkpIAoJaWYoKG0gPT0gMSkgdGhlbiAKCSAgICAobWF4T2ZmU2V0ID0gbWF4KHZpYTFPZmZTZXRGTCB2aWEyT2ZmU2V0RkwgbGF5ZXIyT2ZmU2V0RkwgbGF5ZXIzT2ZmU2V0RkwgMC4wKSkgZWxzZSAKCSAgICBpZigobSA9PSAyKSB0aGVuIAoJCWlmKHNvdXJjZUZpcnN0IHRoZW4gCgkJICAgIChtYXhPZmZTZXQgPSBtYXgodmlhMU9mZlNldEZEIHZpYTJPZmZTZXRGRCBsYXllcjJPZmZTZXRGRCBsYXllcjNPZmZTZXRGRCB2aWExT2ZmU2V0TEQKCQkJICAgIHZpYTJPZmZTZXRMRCBsYXllcjJPZmZTZXRMRCBsYXllcjNPZmZTZXRMRCAwLjAKCQkJKSkgZWxzZSAKCQkgICAgKG1heE9mZlNldCA9IG1heCh2aWExT2ZmU2V0RlMgdmlhMk9mZlNldEZTIGxheWVyMk9mZlNldEZTIGxheWVyM09mZlNldEZTIHZpYTFPZmZTZXRMUwoJCQkgICAgdmlhMk9mZlNldExTIGxheWVyMk9mZlNldExTIGxheWVyM09mZlNldExTIDAuMAoJCQkpKQoJCSkgZWxzZSAKCQlpZigobW9kKG0gMikgPT0gMCkgdGhlbiAKCQkgICAgaWYoc291cmNlRmlyc3QgdGhlbiAKCQkJKG1heE9mZlNldCA9IG1heCh2aWExT2ZmU2V0RkQgdmlhMk9mZlNldEZEIGxheWVyMk9mZlNldEZEIGxheWVyM09mZlNldEZEIHZpYTFPZmZTZXRTRAoJCQkJdmlhMk9mZlNldFNEIGxheWVyMk9mZlNldFNEIGxheWVyM09mZlNldFNEIHZpYTFPZmZTZXRMRCB2aWEyT2ZmU2V0TEQKCQkJCWxheWVyMk9mZlNldExEIGxheWVyM09mZlNldExEIDAuMAoJCQkgICAgKSkgZWxzZSAKCQkJKG1heE9mZlNldCA9IG1heCh2aWExT2ZmU2V0RlMgdmlhMk9mZlNldEZTIGxheWVyMk9mZlNldEZTIGxheWVyM09mZlNldEZTIHZpYTFPZmZTZXRTRAoJCQkJdmlhMk9mZlNldFNEIGxheWVyMk9mZlNldFNEIGxheWVyM09mZlNldFNEIHZpYTFPZmZTZXRMUyB2aWEyT2ZmU2V0TFMKCQkJCWxheWVyMk9mZlNldExTIGxheWVyM09mZlNldExTIDAuMAoJCQkgICAgKSkKCQkgICAgKSBlbHNlIAoJCSAgICBpZihzb3VyY2VGaXJzdCB0aGVuIAoJCQkobWF4T2ZmU2V0ID0gbWF4KHZpYTFPZmZTZXRGRCB2aWEyT2ZmU2V0RkQgbGF5ZXIyT2ZmU2V0RkQgbGF5ZXIzT2ZmU2V0RkQgdmlhMU9mZlNldFNECgkJCQl2aWEyT2ZmU2V0U0QgbGF5ZXIyT2ZmU2V0U0QgbGF5ZXIzT2ZmU2V0U0QgdmlhMU9mZlNldExTIHZpYTJPZmZTZXRMUwoJCQkJbGF5ZXIyT2ZmU2V0TFMgbGF5ZXIzT2ZmU2V0TFMgMC4wCgkJCSAgICApKSBlbHNlIAoJCQkobWF4T2ZmU2V0ID0gbWF4KHZpYTFPZmZTZXRGUyB2aWEyT2ZmU2V0RlMgbGF5ZXIyT2ZmU2V0RlMgbGF5ZXIzT2ZmU2V0RlMgdmlhMU9mZlNldFNECgkJCQl2aWEyT2ZmU2V0U0QgbGF5ZXIyT2ZmU2V0U0QgbGF5ZXIzT2ZmU2V0U0QgdmlhMU9mZlNldExEIHZpYTJPZmZTZXRMRAoJCQkJbGF5ZXIyT2ZmU2V0TEQgbGF5ZXIzT2ZmU2V0TEQgMC4wCgkJCSAgICApKQoJCSAgICApCgkJKQoJICAgICkKCSkgCgkob2Zmc2V0U2lkZSA9IChtYXhPZmZTZXQgLyAyLjApKSAKCShtaW5TcGFjZU9mZlNldCA9ICgoY2VpbGluZyAKCQkgICAgKChvZmZzZXRTaWRlIC8gc25hcEdyaWQpICsgLTFlLTA2KQoJCSkgKiBzbmFwR3JpZCkpIAoJd2hlbigobGlzdHAoaWRMYXllcikgJiYgKGNhZHIoaWRMYXllcikgPT0gImh2IikgJiYgKGh2UFlNY29uU3BhY2UgPiAwLjApKSAKCSAgICAobWluU3BhY2VPZmZTZXQgPSAobWluU3BhY2VPZmZTZXQgKyBodlBZTWNvblNwYWNlKSkKCSkKCWlmKChiY2tDb21wYXRpYmxlT2ZmU2V0ICYmICgoc3JjT2Zmc2V0ICE9IDAuMCkgfHwgKGRybk9mZnNldCAhPSAwLjApKSkgdGhlbiAKCSAgICAobWluU3BhY2VPZmZTZXQgPSAwLjApCgkpIAoJaWYoaW1wbGFudCB0aGVuIAoJICAgIChjb250YWN0SW1wUGFyYW0gPSBsaXN0KCJpbXBsYW50IiAiYm9vbGVhbiIgdCkpIGVsc2UgCgkgICAgKGNvbnRhY3RJbXBQYXJhbSA9IGxpc3QoImltcGxhbnQiICJib29sZWFuIiAiRkFMU0UiKSkKCSkgCglpZihpZENob2ljZSB0aGVuIAoJICAgIChpZEVuY1BhcmFtID0gbGlzdCgiaWRDaG9pY2UiICJib29sZWFuIiB0KSkgZWxzZSAKCSAgICAoaWRFbmNQYXJhbSA9IGxpc3QoImlkQ2hvaWNlIiAiYm9vbGVhbiIgIkZBTFNFIikpCgkpIAoJaWYod2VsbExheWVyIHRoZW4gCgkgICAgKGNvbnRhY3RXZWxsUGFyYW0gPSBsaXN0KCJpbldlbGwiICJib29sZWFuIiB0KSkgZWxzZSAKCSAgICAoY29udGFjdFdlbGxQYXJhbSA9IGxpc3QoImluV2VsbCIgImJvb2xlYW4iICJGQUxTRSIpKQoJKSAKCXdoZW4oZGlmZkltcENob2ljZXMgCgkgICAgKGRpZmZJbXBDaG9pY2VQYXJhbSA9IGxpc3QoImRpZmZJbXBDaG9pY2UiICJmaXhudW0iIGRpZmZNYXRjaCkpCgkpCgl3aGVuKHRhcEltcENob2ljZXMgCgkgICAgKHRhcEltcENob2ljZVBhcmFtID0gbGlzdCgidGFwSW1wQ2hvaWNlIiAiZml4bnVtIiB0YXBNYXRjaCkpCgkpIAoJKHgxQ29vcmQgPSAwLjApIAoJKHkxQ29vcmQgPSAwLjApIAoJKGxhc3RYMUNvb3JkID0gKC0gKDIuMCAqIChkZXBYRW5jICsgZGVwU3BhY2UpKSkpIAoJd2hlbihkZXBMYXllciAKCSAgICAoeTFEZXBDb29yZCA9ICh5MUNvb3JkIC0gZGVwWUVuYykpIAoJICAgICh5MkRlcENvb3JkID0gKHkxQ29vcmQgKyB3ICsgZGVwWUVuYykpCgkpCgkobGFzdFBZaVgxQ29vcmQgPSAoLSAoMi4wICogcG9seUltcFhFbmMpKSkgCgl3aGVuKHBvbHlJbXBsYW50IAoJICAgICh5MVBZaUNvb3JkID0gKHkxQ29vcmQgLSBwb2x5SW1wWUVuYyAtIGdhdGVFeHQpKSAKCSAgICAoeTJQWWlDb29yZCA9ICh5MUNvb3JkICsgdyArIHBvbHlJbXBZRW5jICsgZ2F0ZUV4dCkpCgkpIAoJaWYoKGlkTGF5ZXIgJiYgbGlzdHAoaWRMYXllcikgJiYgKGNhZHIoaWRMYXllcikgPT0gImh2IikgJiYgKHdlbGxFbmNIdkxheWVyID4gMC4wKSkgdGhlbiAKCSAgICAod2VsbEVuY0RpZmZZID0gKGlkRW5jWSArIHdlbGxFbmNIdkxheWVyKSkgCgkgICAgKHdlbGxFbmNUYXBZID0gKGlkRW5jWSArIHdlbGxFbmNIdkxheWVyKSkgCgkgICAgKHdlbGxFbmNEaWZmWCA9IChtYXgoaWRFbmNYTCBpZEVuY1hSKSArIHdlbGxFbmNIdkxheWVyKSkKCSAgICAod2VsbEVuY1RhcFggPSAobWF4KGlkRW5jWEwgaWRFbmNYUikgKyB3ZWxsRW5jSHZMYXllcikpIGVsc2UgCgkgICAgKHdlbGxFbmNEaWZmWSA9IHdlbGxFbmNEaWZmKSAKCSAgICAod2VsbEVuY1RhcFkgPSB3ZWxsRW5jVGFwKSAKCSAgICAod2VsbEVuY0RpZmZYID0gd2VsbEVuY0RpZmYpCgkgICAgKHdlbGxFbmNUYXBYID0gd2VsbEVuY1RhcCkKCSkgCgl3aGVuKChmaXJzdENvbnRhY3QgIT0gIiIpIAoJICAgIChjb250YWN0SWQgPSAoZGJPcGVuQ2VsbFZpZXcgCgkJICAgICh0Y0NlbGxWaWV3fj5saWIpIGZpcnN0Q29udGFjdCAic3ltYm9saWMiIG5pbAoJCSAgICAicm4iCgkJKSkgCgkgICAgdW5sZXNzKGNvbnRhY3RJZCAKCQllcnJvcihzcHJpbnRmKG5pbCAiQ2Fubm90IGZpbmQvb3BlbiBmaXJzdENvbnRhY3QgY29udGFjdCBjZWxsIGAlcyciIGZpcnN0Q29udGFjdCkpCgkgICAgKSAKCSAgICB1bmxlc3MoKGNvbnRhY3RJZH4+aXNQYXJhbUNlbGwpIAoJCWVycm9yKHNwcmludGYobmlsICJOYW1lZCBjZWxsIGlzIG5vdCBhIHBjZWxsIGAlcyciIGZpcnN0Q29udGFjdCkpCgkgICAgKSAKCSAgICBpZigoY05ldCA9PSBzTmV0KSB0aGVuIAoJCShvZmZzZXQgPSAobWluU3BhY2VPZmZTZXQgKyBzcmNPZmZzZXQpKSBlbHNlIAoJCShvZmZzZXQgPSAobWluU3BhY2VPZmZTZXQgKyBkcm5PZmZzZXQpKQoJICAgICkKCSAgICAocGFyYW1zID0gKGNvbnRhY3RJZH4+cGFyYW1ldGVycykpIAoJICAgIChpbnN0UGFyYW1zID0gbGlzdChsaXN0KCJ3IiAiZmxvYXQiIHcpKSkgCgkgICAgd2hlbigocGFyYW1zfj5pbXBsYW50KSAKCQkoaW5zdFBhcmFtcyA9IHhjb25zKGluc3RQYXJhbXMgY29udGFjdEltcFBhcmFtKSkKCSAgICApIAoJICAgIHdoZW4oKHBhcmFtc34+aWRDaG9pY2UpIAoJCShpbnN0UGFyYW1zID0geGNvbnMoaW5zdFBhcmFtcyBpZEVuY1BhcmFtKSkKCSAgICApIAoJICAgIHdoZW4oKHBhcmFtc34+aW5XZWxsKSAKCQkoaW5zdFBhcmFtcyA9IHhjb25zKGluc3RQYXJhbXMgY29udGFjdFdlbGxQYXJhbSkpCgkgICAgKQoJICAgIHdoZW4oKGRpZmZJbXBDaG9pY2VzICYmIChwYXJhbXN+PmRpZmZJbXBDaG9pY2UpKSAKCQkoaW5zdFBhcmFtcyA9IHhjb25zKGluc3RQYXJhbXMgZGlmZkltcENob2ljZVBhcmFtKSkKCSAgICApIAoJICAgIHdoZW4oKHRhcEltcENob2ljZXMgJiYgKHBhcmFtc34+dGFwSW1wQ2hvaWNlKSkgCgkJKGluc3RQYXJhbXMgPSB4Y29ucyhpbnN0UGFyYW1zIHRhcEltcENob2ljZVBhcmFtKSkKCSAgICApIAoJICAgIHdoZW4oKGNvbnRhY3RDaG9pY2VzICYmIChwYXJhbXN+Pm5vRGlmZkNvbnRhY3QpKSAKCQkoaW5zdFBhcmFtcyA9IHhjb25zKGluc3RQYXJhbXMgZGlmZkNvblBhcmFtKSkKCSAgICApIAoJICAgIChpbnN0ID0gKGRiQ3JlYXRlUGFyYW1JbnN0IHRjQ2VsbFZpZXcgY29udGFjdElkICJjMCIgCgkJICAgICgoLSBvZmZzZXQpOjApCgkJICAgICJNWSIgMSBpbnN0UGFyYW1zCgkJKSkgCgkgICAgdW5sZXNzKGluc3QgCgkJZXJyb3Ioc3ByaW50ZihuaWwgIkZhaWxlZCB0byBjcmVhdGUgaW5zdGFuY2Ugb2YgYCVzJyIgZmlyc3RDb250YWN0KSkKCSAgICApCgkgICAgd2hlbihkaWZmSW1wbGFudCAKCQkoZGlmZkltcGxhbnRSb2QgPSAocm9kR2V0T2JqIGluc3QpKSAKCQkoZGlmZkltcGxhbnRkYmlkID0gKHJvZENyZWF0ZVJlY3QgP2xheWVyIGRpZmZJbXBhbnRPUmxheWVyID9mcm9tT2JqIGRpZmZJbXBsYW50Um9kCgkJCT9zaXplIE9SbGF5ZXJTaXplCgkJICAgICkpIAoJCShjcmVhdGVkSW1wbGFudDEgPSBhcHBlbmQoY3JlYXRlZEltcGxhbnQxIAoJCQlsaXN0KChkaWZmSW1wbGFudGRiaWQtPmRiSWQpKQoJCSAgICApKQoJICAgICkgCgkgICAgd2hlbigob2Zmc2V0ID4gMWUtMDYpIAoJCShkYkNyZWF0ZVJlY3QgdGNDZWxsVmlldyBkaWZmTGF5ZXIgCgkJICAgIGxpc3QoKCh4MUNvb3JkIC0gb2Zmc2V0KTp5MUNvb3JkKSAKCQkJKHgxQ29vcmQ6dykKCQkgICAgKQoJCSkgCgkJd2hlbigoZGlmZkltcGxhbnQgJiYgaW1wbGFudCkgCgkJICAgIChjcmVhdGVkSW1wbGFudHRtcCA9IChkYkNyZWF0ZVJlY3QgdGNDZWxsVmlldyBkaWZmSW1wbGFudCAKCQkJICAgIGxpc3QobGlzdCgoeDFDb29yZCAtIG9mZnNldCkgCgkJCQkgICAgKHkxQ29vcmQgLSBkaWZmSW1wRW5jKQoJCQkJKSAKCQkJCWxpc3QoeDFDb29yZCAKCQkJCSAgICAodyArIGRpZmZJbXBFbmMpCgkJCQkpCgkJCSAgICApCgkJCSkpIAoJCSAgICAoY3JlYXRlZEltcGxhbnQxID0gYXBwZW5kKGNyZWF0ZWRJbXBsYW50MSAKCQkJICAgIGxpc3QoY3JlYXRlZEltcGxhbnR0bXApCgkJCSkpIAoJCSAgICAoY3JlYXRlZEltcGxhbnREaWZmID0gYXBwZW5kKGNyZWF0ZWRJbXBsYW50RGlmZiAKCQkJICAgIGxpc3QoY3JlYXRlZEltcGxhbnR0bXApCgkJCSkpCgkJKSAKCQl3aGVuKChkaWZmQ29yZUltcGxhbnQgJiYgaW1wbGFudCkgCgkJICAgIChkYkNyZWF0ZVJlY3QgdGNDZWxsVmlldyBkaWZmQ29yZUltcGxhbnQgCgkJCWxpc3QobGlzdCgoeDFDb29yZCAtIG9mZnNldCkgCgkJCQkoeTFDb29yZCAtIGRpZmZDb3JlSW1wRW5jKQoJCQkgICAgKSAKCQkJICAgIGxpc3QoeDFDb29yZCAKCQkJCSh3ICsgZGlmZkNvcmVJbXBFbmMpCgkJCSAgICApCgkJCSkKCQkgICAgKQoJCSkKCSAgICApIAoJICAgIChtYXN0ZXIgPSAoaW5zdH4+bWFzdGVyKSkgCgkgICAgdW5sZXNzKCgobWFzdGVyfj50b3BMYXllcikgJiYgKG1hc3Rlcn4+dG9wTGF5ZXJQaW5CYm94KSkgCgkJZXJyb3Ioc3ByaW50ZihuaWwgIk1pc3NpbmcgdG9wTGF5ZXIgYW5kL29yIHRvcExheWVyUGluQmJveCBjZWxsIHByb3BlcnRpZXMgaW4gYCVzJyIgZmlyc3RDb250YWN0KSkKCSAgICApIAoJICAgIChiQm94ID0gbGlzdChsaXN0KCgtIChvZmZzZXQgKyBjYWFyKChtYXN0ZXJ+PnRvcExheWVyUGluQmJveCkpKSkgCgkJCWNhZGFyKChtYXN0ZXJ+PnRvcExheWVyUGluQmJveCkpCgkJICAgICkgCgkJICAgIGxpc3QoKC0gKG9mZnNldCArIGNhYWRyKChtYXN0ZXJ+PnRvcExheWVyUGluQmJveCkpKSkgCgkJCWNhZGFkcigobWFzdGVyfj50b3BMYXllclBpbkJib3gpKQoJCSAgICApCgkJKSkKCSAgICAoZGJpZCA9IChkYkNyZWF0ZVJlY3QgdGNDZWxsVmlldyAKCQkgICAgKG1hc3Rlcn4+dG9wTGF5ZXIpIGJCb3gKCQkpKSAKCSAgICAocGluaWQgPSAoZGJDcmVhdGVQaW4gY05ldCBkYmlkKSkgCgkgICAgc2V0U0dxKHBpbmlkIAoJCWxpc3QoInRvcCIgImJvdHRvbSIgImxlZnQiKSBhY2Nlc3NEaXIKCSAgICApIAoJICAgIHdoZW4obGFiZWxMYXllciAKCQkoZGJDcmVhdGVMYWJlbCB0Y0NlbGxWaWV3IGxhYmVsTGF5ZXIgCgkJICAgIGxpc3QoKGNhYXIoYkJveCkgKyAoKGNhYWRyKGJCb3gpIC0gY2FhcihiQm94KSkgLyAyLjApKSAKCQkJKGNhZGFyKGJCb3gpICsgKChjYWRhZHIoYkJveCkgLSBjYWRhcihiQm94KSkgLyAyLjApKQoJCSAgICApIG5ldEwKCQkgICAgImNlbnRlckNlbnRlciIgIlIwIiAicm9tYW4iIGxhYmVsV2lkdGgKCQkpCgkgICAgKSAKCSAgICB3aGVuKCh3ZWxsTGF5ZXIgfHwgaWRMYXllciB8fCBodkxheWVyKSAKCQl1bmxlc3MoKG1hc3Rlcn4+ZGlmZkxheWVyQmJveCkgCgkJICAgIGVycm9yKHNwcmludGYobmlsICJDYW5ub3QgZmluZCBkaWZmTGF5ZXJCYm94IHByb3BlcnR5IGZvciBgJXMnIiBmaXJzdENvbnRhY3QpKQoJCSkgCgkJKHgxRGlmZkNvb3JkID0gY2FhZHIoKG1hc3Rlcn4+ZGlmZkxheWVyQmJveCkpKSAKCQkoeDFUYXBDb29yZCA9IGlmKChtYXN0ZXJ+PnRhcExheWVyQmJveCkgCgkJCWFicyhjYWFkcigobWFzdGVyfj50YXBMYXllckJib3gpKSkgMC4wCgkJICAgICkpIAoJCSh5MkRpZmZDb29yZCA9IGNhZGFkcigobWFzdGVyfj5kaWZmTGF5ZXJCYm94KSkpCgkJKHkyVGFwQ29vcmQgPSBpZigobWFzdGVyfj50YXBMYXllckJib3gpIAoJCQlhYnMoY2FkYWRyKChtYXN0ZXJ+PnRhcExheWVyQmJveCkpKSAwLjAKCQkgICAgKSkgCgkJKHkxRGlmZkNvb3JkID0gY2FkYXIoKG1hc3Rlcn4+ZGlmZkxheWVyQmJveCkpKSAKCQkoeTFUYXBDb29yZCA9IGlmKChtYXN0ZXJ+PnRhcExheWVyQmJveCkgCgkJCWFicyhjYWRhcigobWFzdGVyfj50YXBMYXllckJib3gpKSkgMC4wCgkJICAgICkpIAoJCXdoZW4od2VsbExheWVyIAoJCSAgICAoeDFXZWxsQ29vcmQgPSAoLSAob2Zmc2V0ICsgbWF4KCh3ZWxsRW5jRGlmZlggKyB4MURpZmZDb29yZCkgCgkJCQkgICAgKHdlbGxFbmNUYXBYICsgeDFUYXBDb29yZCkKCQkJCSkpKSkgCgkJICAgICh5MVdlbGxDb29yZCA9ICgtIG1heCgod2VsbEVuY0RpZmZZICsgeTFEaWZmQ29vcmQpIAoJCQkJKHdlbGxFbmNUYXBZICsgeTFUYXBDb29yZCkKCQkJICAgICkpKSAKCQkgICAgKHkyV2VsbENvb3JkID0gbWF4KCh3ZWxsRW5jRGlmZlkgKyB5MkRpZmZDb29yZCkgCgkJCSAgICAod2VsbEVuY1RhcFkgKyB5MlRhcENvb3JkKQoJCQkpKQoJCSkgCgkJd2hlbihodkxheWVyIAoJCSAgICAoeDFIVkxheWVyQ29vcmQgPSAoLSAob2Zmc2V0ICsgbWF4KChodkVuY2xvc3VyZSArIHgxRGlmZkNvb3JkKSAKCQkJCSAgICAoaHZFbmNsb3N1cmUgKyB4MVRhcENvb3JkKQoJCQkJKSkpKSAKCQkgICAgKHkxSFZMYXllckNvb3JkID0gKC0gbWF4KChodkVuY2xvc3VyZSArIHkxRGlmZkNvb3JkKSAKCQkJCShodkVuY2xvc3VyZSArIHkxVGFwQ29vcmQpCgkJCSAgICApKSkgCgkJICAgICh5MkhWTGF5ZXJDb29yZCA9IG1heCgoaHZFbmNsb3N1cmUgKyB5MkRpZmZDb29yZCkgCgkJCSAgICAoaHZFbmNsb3N1cmUgKyB5MlRhcENvb3JkKQoJCQkpKQoJCSkKCQl3aGVuKCgoaWRMYXllciAmJiBpZENob2ljZSkgfHwgZHJhd0lEYnlEZWZhdWx0KSAKCQkgICAgaWYoaWRFbmNEaWZmIHRoZW4gCgkJCSh4MUlkQ29vcmQgPSAoLSAob2Zmc2V0ICsgbWF4KChpZEVuY1hMICsgeDFEaWZmQ29vcmQpIAoJCQkJCShpZEVuY1hMICsgeDFUYXBDb29yZCkKCQkJCSAgICApKSkpIAoJCQkoeTFJZENvb3JkID0gKC0gbWF4KChpZEVuY1kgKyB5MURpZmZDb29yZCkgCgkJCQkgICAgKGlkRW5jWSArIHkxVGFwQ29vcmQpCgkJCQkpKSkgCgkJCSh5MklkQ29vcmQgPSBtYXgoKGlkRW5jWSArIHkyRGlmZkNvb3JkKSAKCQkJCShpZEVuY1kgKyB5MlRhcENvb3JkKQoJCQkgICAgKSkKCQkJZWxzZSAKCQkJKHgxSWRDb29yZCA9ICgtIChvZmZzZXQgKyBpZEVuY1hMKSkpIAoJCQkoeTFJZENvb3JkID0gKC0gaWRFbmNZKSkgCgkJCSh5MklkQ29vcmQgPSBpZEVuY1kpCgkJICAgICkKCQkpCgkgICAgKQoJICAgIChkYkNsb3NlIGNvbnRhY3RJZCkKCSkgCgkoZGJpZCA9IChkYkNyZWF0ZVJlY3QgdGNDZWxsVmlldyBkaWZmTGF5ZXIgCgkJbGlzdCgoKHgxQ29vcmQgLSBkaWZmRXh0KTp5MUNvb3JkKSAKCQkgICAgKHgxQ29vcmQ6dykKCQkpCgkgICAgKSkKCShwaW5pZCA9IChkYkNyZWF0ZVBpbiBjTmV0IGRiaWQpKSAKCXNldFNHcShwaW5pZCAKCSAgICBsaXN0KCJ0b3AiICJib3R0b20iICJsZWZ0IikgYWNjZXNzRGlyCgkpIAoJd2hlbigoZGlmZkltcGxhbnQgJiYgaW1wbGFudCkgCgkgICAgKGNyZWF0ZWRJbXBsYW50dG1wID0gKGRiQ3JlYXRlUmVjdCB0Y0NlbGxWaWV3IGRpZmZJbXBsYW50IAoJCSAgICBsaXN0KGxpc3QoKHgxQ29vcmQgLSBkaWZmRXh0KSAKCQkJICAgICh5MUNvb3JkIC0gZGlmZkltcEVuYykKCQkJKSAKCQkJbGlzdCh4MUNvb3JkIAoJCQkgICAgKHcgKyBkaWZmSW1wRW5jKQoJCQkpCgkJICAgICkKCQkpKSAKCSAgICAoY3JlYXRlZEltcGxhbnQxID0gYXBwZW5kKGNyZWF0ZWRJbXBsYW50MSAKCQkgICAgbGlzdChjcmVhdGVkSW1wbGFudHRtcCkKCQkpKSAKCSAgICAoY3JlYXRlZEltcGxhbnREaWZmID0gYXBwZW5kKGNyZWF0ZWRJbXBsYW50RGlmZiAKCQkgICAgbGlzdChjcmVhdGVkSW1wbGFudHRtcCkKCQkpKQoJKSAKCXdoZW4oKGRpZmZDb3JlSW1wbGFudCAmJiBpbXBsYW50KSAKCSAgICAoZGJDcmVhdGVSZWN0IHRjQ2VsbFZpZXcgZGlmZkNvcmVJbXBsYW50IAoJCWxpc3QobGlzdCgoeDFDb29yZCAtIGRpZmZFeHQpIAoJCQkoeTFDb29yZCAtIGRpZmZDb3JlSW1wRW5jKQoJCSAgICApIAoJCSAgICBsaXN0KHgxQ29vcmQgCgkJCSh3ICsgZGlmZkNvcmVJbXBFbmMpCgkJICAgICkKCQkpCgkgICAgKQoJKSAKCXdoZW4oKGZpcnN0Q29udGFjdCA9PSAiIikgCgkgICAgd2hlbihsYWJlbExheWVyIAoJCShkYkNyZWF0ZUxhYmVsIHRjQ2VsbFZpZXcgbGFiZWxMYXllciAKCQkgICAgbGlzdCgoLSAoeDFDb29yZCArIChkaWZmRXh0IC8gMi4wKSkpIAoJCQkoeTFDb29yZCArICh3IC8gMi4wKSkKCQkgICAgKSBuZXRMCgkJICAgICJjZW50ZXJDZW50ZXIiICJSMCIgInJvbWFuIiBsYWJlbFdpZHRoCgkJKQoJICAgICkgCgkgICAgd2hlbih3ZWxsTGF5ZXIgCgkJKHgxV2VsbENvb3JkID0gKC0gKHgxQ29vcmQgKyBkaWZmRXh0ICsgd2VsbEVuY0RpZmZYKSkpIAoJCSh5MVdlbGxDb29yZCA9ICgtICh5MUNvb3JkICsgd2VsbEVuY0RpZmZZKSkpIAoJCSh5MldlbGxDb29yZCA9ICh5MUNvb3JkICsgdyArIHdlbGxFbmNEaWZmWSkpCgkgICAgKSAKCSAgICB3aGVuKGh2TGF5ZXIgCgkJKHgxSFZMYXllckNvb3JkID0gKC0gKHgxQ29vcmQgKyBkaWZmRXh0ICsgaHZFbmNsb3N1cmUpKSkgCgkJKHkxSFZMYXllckNvb3JkID0gKC0gKHkxQ29vcmQgKyBodkVuY2xvc3VyZSkpKSAKCQkoeTJIVkxheWVyQ29vcmQgPSAoeTFDb29yZCArIHcgKyBodkVuY2xvc3VyZSkpCgkgICAgKSAKCSAgICB3aGVuKCgoaWRMYXllciAmJiBpZENob2ljZSkgfHwgZHJhd0lEYnlEZWZhdWx0KSAKCQlpZihpZEVuY0RpZmYgdGhlbiAKCQkgICAgKHgxSWRDb29yZCA9ICgtICh4MUNvb3JkICsgZGlmZkV4dCArIGlkRW5jWEwpKSkgCgkJICAgICh5MUlkQ29vcmQgPSAoLSAoeTFDb29yZCArIGlkRW5jWSkpKSAKCQkgICAgKHkySWRDb29yZCA9ICh5MUNvb3JkICsgdyArIGlkRW5jWSkpCgkJICAgIGVsc2UgCgkJICAgICh4MUlkQ29vcmQgPSAoLSBpZEVuY1hMKSkgCgkJICAgICh5MUlkQ29vcmQgPSAoLSBpZEVuY1kpKSAKCQkgICAgKHkySWRDb29yZCA9ICh5MUNvb3JkICsgdyArIGlkRW5jWSkpCgkJKQoJICAgICkKCSAgICB3aGVuKChkaWZmSW1wbGFudCAmJiBpbXBsYW50ICYmIG5vRW5kQ29uSW1wRW5jKSAKCQkoY3JlYXRlZEltcGxhbnR0bXAgPSAoZGJDcmVhdGVSZWN0IHRjQ2VsbFZpZXcgZGlmZkltcGxhbnQgCgkJCWxpc3QobGlzdCgoeDFDb29yZCAtIGRpZmZFeHQgLSBkaWZmSW1wRW5jKSAKCQkJCSh5MUNvb3JkIC0gZGlmZkltcEVuYykKCQkJICAgICkgCgkJCSAgICBsaXN0KHgxQ29vcmQgCgkJCQkodyArIGRpZmZJbXBFbmMpCgkJCSAgICApCgkJCSkKCQkgICAgKSkgCgkJKGNyZWF0ZWRJbXBsYW50MSA9IGFwcGVuZChjcmVhdGVkSW1wbGFudDEgCgkJCWxpc3QoY3JlYXRlZEltcGxhbnR0bXApCgkJICAgICkpIAoJCShjcmVhdGVkSW1wbGFudERpZmYgPSBhcHBlbmQoY3JlYXRlZEltcGxhbnREaWZmIAoJCQlsaXN0KGNyZWF0ZWRJbXBsYW50dG1wKQoJCSAgICApKQoJICAgICkgCgkgICAgd2hlbigoZGlmZkNvcmVJbXBsYW50ICYmIGltcGxhbnQgJiYgbm9FbmRDb25JbXBFbmMpIAoJCShkYkNyZWF0ZVJlY3QgdGNDZWxsVmlldyBkaWZmQ29yZUltcGxhbnQgCgkJICAgIGxpc3QobGlzdCgoeDFDb29yZCAtIGRpZmZFeHQgLSBkaWZmQ29yZUltcEVuYykgCgkJCSAgICAoeTFDb29yZCAtIGRpZmZDb3JlSW1wRW5jKQoJCQkpIAoJCQlsaXN0KHgxQ29vcmQgCgkJCSAgICAodyArIGRpZmZDb3JlSW1wRW5jKQoJCQkpCgkJICAgICkKCQkpCgkgICAgKQoJKQoJd2hlbigobSA+IDEpIAoJICAgIHdoZW4oKHNoYXJlZFNvdXJjZSA9PSAiIikgCgkJZXJyb3IoIk1pc3Npbmcgc2hhcmVkIHNvdXJjZSBjb250YWN0IG5hbWUgcHJvcGVydHkiKQoJICAgICkgCgkgICAgKHNoYXJlZFNyY0lkID0gKGRiT3BlbkNlbGxWaWV3IAoJCSAgICAodGNDZWxsVmlld34+bGliKSBzaGFyZWRTb3VyY2UgInN5bWJvbGljIiBuaWwKCQkgICAgInJuIgoJCSkpIAoJICAgIHVubGVzcyhzaGFyZWRTcmNJZCAKCQllcnJvcihzcHJpbnRmKG5pbCAiQ2Fubm90IGZpbmQvb3BlbiBzaGFyZWQgc291cmNlIGNvbnRhY3QgY2VsbCBgJXMnIiBzaGFyZWRTb3VyY2UpKQoJICAgICkgCgkgICAgdW5sZXNzKChzaGFyZWRTcmNJZH4+aXNQYXJhbUNlbGwpIAoJCWVycm9yKHNwcmludGYobmlsICJOYW1lZCBjZWxsIGlzIG5vdCBhIHBjZWxsIGAlcyciIHNoYXJlZFNvdXJjZSkpCgkgICAgKQoJICAgIHdoZW4oKHNoYXJlZERyYWluID09ICIiKSAKCQllcnJvcigiTWlzc2luZyBzaGFyZWQgZHJhaW4gY29udGFjdCBuYW1lIHByb3BlcnR5IikKCSAgICApIAoJICAgIChzaGFyZWREcm5JZCA9IChkYk9wZW5DZWxsVmlldyAKCQkgICAgKHRjQ2VsbFZpZXd+PmxpYikgc2hhcmVkRHJhaW4gInN5bWJvbGljIiBuaWwKCQkgICAgInJuIgoJCSkpIAoJICAgIHVubGVzcyhzaGFyZWREcm5JZCAKCQllcnJvcihzcHJpbnRmKG5pbCAiQ2Fubm90IGZpbmQvb3BlbiBzaGFyZWQgZHJhaW4gY29udGFjdCBjZWxsIGAlcyciIHNoYXJlZERyYWluKSkKCSAgICApIAoJICAgIHVubGVzcygoc2hhcmVkRHJuSWR+PmlzUGFyYW1DZWxsKSAKCQllcnJvcihzcHJpbnRmKG5pbCAiTmFtZWQgY2VsbCBpcyBub3QgYSBwY2VsbCBgJXMnIiBzaGFyZWREcmFpbikpCgkgICAgKQoJKSAKCShjTmV0ID0gaWYoKGNOZXQgPT0gc05ldCkgZE5ldCBzTmV0KSkgCgkobmV0TCA9IGlmKChuZXRMID09ICJTIikgIkQiICJTIikpIAoJZm9yKG4gMSBtIAoJICAgIChkYmlkID0gKGRiQ3JlYXRlUmVjdCB0Y0NlbGxWaWV3IGdhdGVMYXllciAKCQkgICAgbGlzdCgoeDFDb29yZDooeTFDb29yZCAtIGdhdGVFeHQpKSAKCQkJKCh4MUNvb3JkICsgbCk6KHkxQ29vcmQgKyB3ICsgZ2F0ZUV4dCkpCgkJICAgICkKCQkpKSAKCSAgICAoZGJBZGRGaWdUb05ldCBkYmlkIGdOZXQpCgkgICAgKGRiaWQgPSAoZGJDcmVhdGVSZWN0IHRjQ2VsbFZpZXcgZ2F0ZUxheWVyIAoJCSAgICBsaXN0KCh4MUNvb3JkOih5MUNvb3JkICsgdykpIAoJCQkoKHgxQ29vcmQgKyBsKTooeTFDb29yZCArIHcgKyBnYXRlRXh0KSkKCQkgICAgKQoJCSkpIAoJICAgIChwaW5pZCA9IChkYkNyZWF0ZVBpbiBnTmV0IGRiaWQpKSAKCSAgICBzZXRTR3EocGluaWQgCgkJbGlzdCgidG9wIikgYWNjZXNzRGlyCgkgICAgKSAKCSAgICAoZGJpZCA9IChkYkNyZWF0ZVJlY3QgdGNDZWxsVmlldyBnYXRlTGF5ZXIgCgkJICAgIGxpc3QoKHgxQ29vcmQ6KHkxQ29vcmQgLSBnYXRlRXh0KSkgCgkJCSgoeDFDb29yZCArIGwpOnkxQ29vcmQpCgkJICAgICkKCQkpKSAKCSAgICAocGluaWQgPSAoZGJDcmVhdGVQaW4gZ05ldCBkYmlkKSkKCSAgICBzZXRTR3EocGluaWQgCgkJbGlzdCgiYm90dG9tIikgYWNjZXNzRGlyCgkgICAgKSAKCSAgICAoZGJDcmVhdGVSZWN0IHRjQ2VsbFZpZXcgZGlmZkxheWVyIAoJCWxpc3QoKHgxQ29vcmQ6eTFDb29yZCkgCgkJICAgICgoeDFDb29yZCArIGwpOih5MUNvb3JkICsgdykpCgkJKQoJICAgICkgCgkgICAgd2hlbigoZGlmZkltcGxhbnQgJiYgaW1wbGFudCkgCgkJKGNyZWF0ZWRJbXBsYW50dG1wID0gKGRiQ3JlYXRlUmVjdCB0Y0NlbGxWaWV3IGRpZmZJbXBsYW50IAoJCQlsaXN0KGxpc3QoeDFDb29yZCAKCQkJCSh5MUNvb3JkIC0gZGlmZkltcEVuYykKCQkJICAgICkgCgkJCSAgICBsaXN0KCh4MUNvb3JkICsgbCkgCgkJCQkoeTFDb29yZCArIHcgKyBkaWZmSW1wRW5jKQoJCQkgICAgKQoJCQkpCgkJICAgICkpIAoJCShjcmVhdGVkSW1wbGFudDEgPSBhcHBlbmQoY3JlYXRlZEltcGxhbnQxIAoJCQlsaXN0KGNyZWF0ZWRJbXBsYW50dG1wKQoJCSAgICApKSAKCQkoY3JlYXRlZEltcGxhbnREaWZmID0gYXBwZW5kKGNyZWF0ZWRJbXBsYW50RGlmZiAKCQkJbGlzdChjcmVhdGVkSW1wbGFudHRtcCkKCQkgICAgKSkKCSAgICApIAoJICAgIHdoZW4oKGRpZmZDb3JlSW1wbGFudCAmJiBpbXBsYW50KSAKCQkoZGJDcmVhdGVSZWN0IHRjQ2VsbFZpZXcgZGlmZkNvcmVJbXBsYW50IAoJCSAgICBsaXN0KGxpc3QoeDFDb29yZCAKCQkJICAgICh5MUNvb3JkIC0gZGlmZkNvcmVJbXBFbmMpCgkJCSkgCgkJCWxpc3QoKHgxQ29vcmQgKyBsKSAKCQkJICAgICh5MUNvb3JkICsgdyArIGRpZmZDb3JlSW1wRW5jKQoJCQkpCgkJICAgICkKCQkpCgkgICAgKSAKCSAgICB3aGVuKGRlcExheWVyIAoJCWNvbmQoKCgoeDFDb29yZCAtIGxhc3RYMUNvb3JkIC0gKDIuMCAqIGRlcFhFbmMpKSA8IGRlcFNwYWNlKSAKCQkJKHgxRGVwQ29vcmQgPSAobGFzdFgxQ29vcmQgKyBkZXBYRW5jKSkKCQkgICAgKSAKCQkgICAgKHQgCgkJCSh4MURlcENvb3JkID0gKHgxQ29vcmQgLSBkZXBYRW5jKSkKCQkgICAgKQoJCSkgCgkJKGRiQ3JlYXRlUmVjdCB0Y0NlbGxWaWV3IGRlcExheWVyIAoJCSAgICBsaXN0KCh4MURlcENvb3JkOnkxRGVwQ29vcmQpIAoJCQkoKHgxQ29vcmQgKyBsICsgZGVwWEVuYyk6eTJEZXBDb29yZCkKCQkgICAgKQoJCSkKCSAgICApCgkgICAgd2hlbigocG9seUltcGxhbnQgJiYgaW1wbGFudCkgCgkJKHgxUFlpQ29vcmQgPSAoeDFDb29yZCAtIHBvbHlJbXBYRW5jKSkgCgkJKGRiQ3JlYXRlUmVjdCB0Y0NlbGxWaWV3IHBvbHlJbXBsYW50IAoJCSAgICBsaXN0KCh4MVBZaUNvb3JkOnkxUFlpQ29vcmQpIAoJCQkoKHgxQ29vcmQgKyBsICsgcG9seUltcFhFbmMpOnkyUFlpQ29vcmQpCgkJICAgICkKCQkpCgkgICAgKSAKCSAgICAoeDFDb29yZCA9ICh4MUNvb3JkICsgbCkpIAoJICAgIHdoZW4oKG4gIT0gbSkgCgkJaWYoKGNOZXQgPT0gc05ldCkgdGhlbiAKCQkgICAgKGNvbnRhY3RJZCA9IHNoYXJlZFNyY0lkKSAKCQkgICAgKG9mZnNldCA9IChtaW5TcGFjZU9mZlNldCArIHNyY09mZnNldCkpIGVsc2UKCQkgICAgKGNvbnRhY3RJZCA9IHNoYXJlZERybklkKSAKCQkgICAgKG9mZnNldCA9IChtaW5TcGFjZU9mZlNldCArIGRybk9mZnNldCkpCgkJKSAKCQkocGFyYW1zID0gKGNvbnRhY3RJZH4+cGFyYW1ldGVycykpIAoJCShpbnN0UGFyYW1zID0gbGlzdChsaXN0KCJ3IiAiZmxvYXQiIHcpKSkgCgkJd2hlbigocGFyYW1zfj5pbXBsYW50KSAKCQkgICAgKGluc3RQYXJhbXMgPSB4Y29ucyhpbnN0UGFyYW1zIGNvbnRhY3RJbXBQYXJhbSkpCgkJKQoJCXdoZW4oKHBhcmFtc34+aWRDaG9pY2UpIAoJCSAgICAoaW5zdFBhcmFtcyA9IHhjb25zKGluc3RQYXJhbXMgaWRFbmNQYXJhbSkpCgkJKSAKCQl3aGVuKChwYXJhbXN+PmluV2VsbCkgCgkJICAgIChpbnN0UGFyYW1zID0geGNvbnMoaW5zdFBhcmFtcyBjb250YWN0V2VsbFBhcmFtKSkKCQkpIAoJCXdoZW4oKGRpZmZJbXBDaG9pY2VzICYmIChwYXJhbXN+PmRpZmZJbXBDaG9pY2UpKSAKCQkgICAgKGluc3RQYXJhbXMgPSB4Y29ucyhpbnN0UGFyYW1zIGRpZmZJbXBDaG9pY2VQYXJhbSkpCgkJKSAKCQl3aGVuKCh0YXBJbXBDaG9pY2VzICYmIChwYXJhbXN+PnRhcEltcENob2ljZSkpIAoJCSAgICAoaW5zdFBhcmFtcyA9IHhjb25zKGluc3RQYXJhbXMgdGFwSW1wQ2hvaWNlUGFyYW0pKQoJCSkgCgkJd2hlbigoY29udGFjdENob2ljZXMgJiYgKHBhcmFtc34+bm9EaWZmQ29udGFjdCkpIAoJCSAgICAoaW5zdFBhcmFtcyA9IHhjb25zKGluc3RQYXJhbXMgZGlmZkNvblBhcmFtKSkKCQkpCgkJKGluc3QgPSAoZGJDcmVhdGVQYXJhbUluc3QgdGNDZWxsVmlldyBjb250YWN0SWQgCgkJCXNwcmludGYobmlsICJjJWQiIG4pIAoJCQkoKG9mZnNldCArIHgxQ29vcmQpOnkxQ29vcmQpCgkJCSJSMCIgMSBpbnN0UGFyYW1zCgkJICAgICkpIAoJCXVubGVzcyhpbnN0IAoJCSAgICBlcnJvcihzcHJpbnRmKG5pbCAiRmFpbGVkIHRvIGNyZWF0ZSBpbnN0YW5jZSBvZiBgJXMnIiAKCQkJICAgIChjb250YWN0SWR+PmNlbGxOYW1lKQoJCQkpCgkJICAgICkKCQkpIAoJCXdoZW4oZGlmZkltcGxhbnQgCgkJICAgIChkaWZmSW1wbGFudFJvZCA9IChyb2RHZXRPYmogaW5zdCkpIAoJCSAgICAoZGlmZkltcGxhbnRkYmlkID0gKHJvZENyZWF0ZVJlY3QgP2xheWVyIGRpZmZJbXBhbnRPUmxheWVyID9mcm9tT2JqIGRpZmZJbXBsYW50Um9kCgkJCSAgICA/c2l6ZSBPUmxheWVyU2l6ZQoJCQkpKSAKCQkgICAgKGNyZWF0ZWRJbXBsYW50MSA9IGFwcGVuZChjcmVhdGVkSW1wbGFudDEgCgkJCSAgICBsaXN0KChkaWZmSW1wbGFudGRiaWQtPmRiSWQpKQoJCQkpKQoJCSkgCgkJKG1hc3RlciA9IChpbnN0fj5tYXN0ZXIpKSAKCQl1bmxlc3MoKChtYXN0ZXJ+PnRvcExheWVyKSAmJiAobWFzdGVyfj50b3BMYXllclBpbkJib3gpKSAKCQkgICAgZXJyb3Ioc3ByaW50ZihuaWwgIk1pc3NpbmcgdG9wTGF5ZXIgYW5kL29yIHRvcExheWVyUGluQmJveCBjZWxsIHByb3BlcnRpZXMgaW4gYCVzJyIgCgkJCSAgICAoY29udGFjdElkfj5jZWxsTmFtZSkKCQkJKQoJCSAgICApCgkJKQoJCShiQm94ID0gbGlzdChsaXN0KChjYWFyKChtYXN0ZXJ+PnRvcExheWVyUGluQmJveCkpICsgeDFDb29yZCArIG9mZnNldCkgCgkJCSAgICBjYWRhcigobWFzdGVyfj50b3BMYXllclBpbkJib3gpKQoJCQkpIAoJCQlsaXN0KChjYWFkcigobWFzdGVyfj50b3BMYXllclBpbkJib3gpKSArIHgxQ29vcmQgKyBvZmZzZXQpIAoJCQkgICAgY2FkYWRyKChtYXN0ZXJ+PnRvcExheWVyUGluQmJveCkpCgkJCSkKCQkgICAgKSkgCgkJKGRiaWQgPSAoZGJDcmVhdGVSZWN0IHRjQ2VsbFZpZXcgCgkJCShtYXN0ZXJ+PnRvcExheWVyKSBiQm94CgkJICAgICkpIAoJCShwaW5pZCA9IChkYkNyZWF0ZVBpbiBjTmV0IGRiaWQpKSAKCQlzZXRTR3EocGluaWQgCgkJICAgIGxpc3QoInRvcCIgImJvdHRvbSIpIGFjY2Vzc0RpcgoJCSkgCgkJd2hlbihsYWJlbExheWVyIAoJCSAgICAoZGJDcmVhdGVMYWJlbCB0Y0NlbGxWaWV3IGxhYmVsTGF5ZXIgCgkJCWxpc3QoKGNhYXIoYkJveCkgKyAoKGNhYWRyKGJCb3gpIC0gY2FhcihiQm94KSkgLyAyLjApKSAKCQkJICAgIChjYWRhcihiQm94KSArICgoY2FkYWRyKGJCb3gpIC0gY2FkYXIoYkJveCkpIC8gMi4wKSkKCQkJKSBuZXRMCgkJCSJjZW50ZXJDZW50ZXIiICJSMCIgInJvbWFuIiBsYWJlbFdpZHRoCgkJICAgICkKCQkpCgkJd2hlbigob2Zmc2V0ID4gMWUtMDYpIAoJCSAgICAoZGJDcmVhdGVSZWN0IHRjQ2VsbFZpZXcgZGlmZkxheWVyIAoJCQlsaXN0KCh4MUNvb3JkOnkxQ29vcmQpIAoJCQkgICAgKChvZmZzZXQgKyB4MUNvb3JkKTooeTFDb29yZCArIHcpKQoJCQkpCgkJICAgICkgCgkJICAgIHdoZW4oKGRpZmZJbXBsYW50ICYmIGltcGxhbnQpIAoJCQkoY3JlYXRlZEltcGxhbnR0bXAgPSAoZGJDcmVhdGVSZWN0IHRjQ2VsbFZpZXcgZGlmZkltcGxhbnQgCgkJCQlsaXN0KGxpc3QoeDFDb29yZCAKCQkJCQkoeTFDb29yZCAtIGRpZmZJbXBFbmMpCgkJCQkgICAgKSAKCQkJCSAgICBsaXN0KChvZmZzZXQgKyB4MUNvb3JkKSAKCQkJCQkoeTFDb29yZCArIHcgKyBkaWZmSW1wRW5jKQoJCQkJICAgICkKCQkJCSkKCQkJICAgICkpIAoJCQkoY3JlYXRlZEltcGxhbnQxID0gYXBwZW5kKGNyZWF0ZWRJbXBsYW50MSAKCQkJCWxpc3QoY3JlYXRlZEltcGxhbnR0bXApCgkJCSAgICApKSAKCQkJKGNyZWF0ZWRJbXBsYW50RGlmZiA9IGFwcGVuZChjcmVhdGVkSW1wbGFudERpZmYgCgkJCQlsaXN0KGNyZWF0ZWRJbXBsYW50dG1wKQoJCQkgICAgKSkKCQkgICAgKSAKCQkgICAgd2hlbigoZGlmZkNvcmVJbXBsYW50ICYmIGltcGxhbnQpIAoJCQkoZGJDcmVhdGVSZWN0IHRjQ2VsbFZpZXcgZGlmZkNvcmVJbXBsYW50IAoJCQkgICAgbGlzdChsaXN0KHgxQ29vcmQgCgkJCQkgICAgKHkxQ29vcmQgLSBkaWZmQ29yZUltcEVuYykKCQkJCSkgCgkJCQlsaXN0KChvZmZzZXQgKyB4MUNvb3JkKSAKCQkJCSAgICAoeTFDb29yZCArIHcgKyBkaWZmQ29yZUltcEVuYykKCQkJCSkKCQkJICAgICkKCQkJKQoJCSAgICApCgkJKSAKCQl1bmxlc3MoKG1hc3Rlcn4+ZGlmZkxheWVyQmJveCkgCgkJICAgIGVycm9yKHNwcmludGYobmlsICJNaXNzaW5nIGRpZmZMYXllckJib3ggY2VsbCBwcm9wZXJ0aWVzIGluIGAlcyciIAoJCQkgICAgKGNvbnRhY3RJZH4+Y2VsbE5hbWUpCgkJCSkKCQkgICAgKQoJCSkgCgkJKGxhc3RYMUNvb3JkID0geDFDb29yZCkgCgkJKHgxQ29vcmQgPSAoKDIuMCAqIG9mZnNldCkgKyAoeDFDb29yZCArIChjYWFkcigobWFzdGVyfj5kaWZmTGF5ZXJCYm94KSkgLSBjYWFyKChtYXN0ZXJ+PmRpZmZMYXllckJib3gpKSkpKSkgCgkJd2hlbigob2Zmc2V0ID4gMWUtMDYpIAoJCSAgICAoZGJDcmVhdGVSZWN0IHRjQ2VsbFZpZXcgZGlmZkxheWVyIAoJCQlsaXN0KCgoeDFDb29yZCAtIG9mZnNldCk6eTFDb29yZCkgCgkJCSAgICAoeDFDb29yZDooeTFDb29yZCArIHcpKQoJCQkpCgkJICAgICkgCgkJICAgIHdoZW4oKGRpZmZJbXBsYW50ICYmIGltcGxhbnQpIAoJCQkoY3JlYXRlZEltcGxhbnR0bXAgPSAoZGJDcmVhdGVSZWN0IHRjQ2VsbFZpZXcgZGlmZkltcGxhbnQgCgkJCQlsaXN0KGxpc3QoKHgxQ29vcmQgLSBvZmZzZXQpIAoJCQkJCSh5MUNvb3JkIC0gZGlmZkltcEVuYykKCQkJCSAgICApIAoJCQkJICAgIGxpc3QoeDFDb29yZCAKCQkJCQkoeTFDb29yZCArIHcgKyBkaWZmSW1wRW5jKQoJCQkJICAgICkKCQkJCSkKCQkJICAgICkpIAoJCQkoY3JlYXRlZEltcGxhbnQxID0gYXBwZW5kKGNyZWF0ZWRJbXBsYW50MSAKCQkJCWxpc3QoY3JlYXRlZEltcGxhbnR0bXApCgkJCSAgICApKSAKCQkJKGNyZWF0ZWRJbXBsYW50RGlmZiA9IGFwcGVuZChjcmVhdGVkSW1wbGFudERpZmYgCgkJCQlsaXN0KGNyZWF0ZWRJbXBsYW50dG1wKQoJCQkgICAgKSkKCQkgICAgKSAKCQkgICAgd2hlbigoZGlmZkNvcmVJbXBsYW50ICYmIGltcGxhbnQpIAoJCQkoZGJDcmVhdGVSZWN0IHRjQ2VsbFZpZXcgZGlmZkNvcmVJbXBsYW50IAoJCQkgICAgbGlzdChsaXN0KCh4MUNvb3JkIC0gb2Zmc2V0KSAKCQkJCSAgICAoeTFDb29yZCAtIGRpZmZDb3JlSW1wRW5jKQoJCQkJKSAKCQkJCWxpc3QoeDFDb29yZCAKCQkJCSAgICAoeTFDb29yZCArIHcgKyBkaWZmQ29yZUltcEVuYykKCQkJCSkKCQkJICAgICkKCQkJKQoJCSAgICApCgkJKQoJCSh5MURpZmZDb29yZCA9IGNhZGFyKChtYXN0ZXJ+PmRpZmZMYXllckJib3gpKSkgCgkJKHkxVGFwQ29vcmQgPSBpZigobWFzdGVyfj50YXBMYXllckJib3gpIAoJCQlhYnMoY2FkYXIoKG1hc3Rlcn4+dGFwTGF5ZXJCYm94KSkpIDAuMAoJCSAgICApKSAKCQkoeTJEaWZmQ29vcmQgPSBjYWRhZHIoKG1hc3Rlcn4+ZGlmZkxheWVyQmJveCkpKSAKCQkoeTJUYXBDb29yZCA9IGlmKChtYXN0ZXJ+PnRhcExheWVyQmJveCkgCgkJCWFicyhjYWRhZHIoKG1hc3Rlcn4+dGFwTGF5ZXJCYm94KSkpIDAuMAoJCSAgICApKSAKCQl3aGVuKHdlbGxMYXllciAKCQkgICAgKHkxV2VsbENvb3JkID0gbWluKCgtIG1heCgod2VsbEVuY0RpZmZZICsgeTFEaWZmQ29vcmQpIAoJCQkJICAgICh3ZWxsRW5jVGFwWSArIHkxVGFwQ29vcmQpCgkJCQkpKSB5MVdlbGxDb29yZAoJCQkpKSAKCQkgICAgKHkyV2VsbENvb3JkID0gbWF4KCh3ZWxsRW5jRGlmZlkgKyB5MkRpZmZDb29yZCkgCgkJCSAgICAod2VsbEVuY1RhcFkgKyB5MlRhcENvb3JkKSB5MldlbGxDb29yZAoJCQkpKQoJCSkKCQl3aGVuKGh2TGF5ZXIgCgkJICAgICh5MUhWTGF5ZXJDb29yZCA9IG1pbigoLSBtYXgoKGh2RW5jbG9zdXJlICsgeTFEaWZmQ29vcmQpIAoJCQkJICAgIChodkVuY2xvc3VyZSArIHkxSFZMYXllckNvb3JkKQoJCQkJKSkgeTFIVkxheWVyQ29vcmQKCQkJKSkgCgkJICAgICh5MkhWTGF5ZXJDb29yZCA9IG1heCgoaHZFbmNsb3N1cmUgKyB5MkRpZmZDb29yZCkgCgkJCSAgICAoaHZFbmNsb3N1cmUgKyB5MlRhcENvb3JkKSB5MkhWTGF5ZXJDb29yZAoJCQkpKQoJCSkgCgkJd2hlbigoKGlkTGF5ZXIgJiYgaWRDaG9pY2UpIHx8IGRyYXdJRGJ5RGVmYXVsdCkgCgkJICAgIGlmKGlkRW5jRGlmZiB0aGVuIAoJCQkoeTFJZENvb3JkID0gbWluKCgtIG1heCgoaWRFbmNZICsgeTFEaWZmQ29vcmQpIAoJCQkJCShpZEVuY1kgKyB5MVRhcENvb3JkKQoJCQkJICAgICkpIHkxSWRDb29yZAoJCQkgICAgKSkgCgkJCSh5MklkQ29vcmQgPSBtYXgoKGlkRW5jWSArIHkyRGlmZkNvb3JkKSAKCQkJCShpZEVuY1kgKyB5MlRhcENvb3JkKSB5MklkQ29vcmQKCQkJICAgICkpIGVsc2UKCQkJKHkxSWRDb29yZCA9ICgtIGlkRW5jWSkpIAoJCQkoeTJJZENvb3JkID0gaWRFbmNZKQoJCSAgICApCgkJKQoJICAgICkgCgkgICAgKGNOZXQgPSBpZigoY05ldCA9PSBzTmV0KSBkTmV0IHNOZXQpKSAKCSAgICAobmV0TCA9IGlmKChuZXRMID09ICJTIikgIkQiICJTIikpCgkpIAoJd2hlbigobSAhPSAxKSAKCSAgICAoZGJDbG9zZSBzaGFyZWRTcmNJZCkgCgkgICAgKGRiQ2xvc2Ugc2hhcmVkRHJuSWQpCgkpCgkoY05ldCA9IGlmKChjTmV0ID09IHNOZXQpIGROZXQgc05ldCkpIAoJKG5ldEwgPSBpZigobmV0TCA9PSAiUyIpICJEIiAiUyIpKSAKCXdoZW4oKGxhc3RDb250YWN0ICE9ICIiKSAKCSAgICAoY29udGFjdElkID0gKGRiT3BlbkNlbGxWaWV3IAoJCSAgICAodGNDZWxsVmlld34+bGliKSBsYXN0Q29udGFjdCAic3ltYm9saWMiIG5pbAoJCSAgICAicm4iCgkJKSkgCgkgICAgdW5sZXNzKGNvbnRhY3RJZCAKCQllcnJvcihzcHJpbnRmKG5pbCAiQ2Fubm90IGZpbmQvb3BlbiBsYXN0Q29udGFjdCBjb250YWN0IGNlbGwgYCVzJyIgbGFzdENvbnRhY3QpKQoJICAgICkgCgkgICAgdW5sZXNzKChjb250YWN0SWR+PmlzUGFyYW1DZWxsKSAKCQllcnJvcihzcHJpbnRmKG5pbCAiTmFtZWQgY2VsbCBpcyBub3QgYSBwY2VsbCBgJXMnIiBsYXN0Q29udGFjdCkpCgkgICAgKSAKCSAgICBpZigoY05ldCA9PSBzTmV0KSB0aGVuIAoJCShvZmZzZXQgPSAobWluU3BhY2VPZmZTZXQgKyBzcmNPZmZzZXQpKSBlbHNlIAoJCShvZmZzZXQgPSAobWluU3BhY2VPZmZTZXQgKyBkcm5PZmZzZXQpKQoJICAgICkKCSAgICAocGFyYW1zID0gKGNvbnRhY3RJZH4+cGFyYW1ldGVycykpIAoJICAgIChpbnN0UGFyYW1zID0gbGlzdChsaXN0KCJ3IiAiZmxvYXQiIHcpKSkgCgkgICAgd2hlbigocGFyYW1zfj5pbXBsYW50KSAKCQkoaW5zdFBhcmFtcyA9IHhjb25zKGluc3RQYXJhbXMgY29udGFjdEltcFBhcmFtKSkKCSAgICApIAoJICAgIHdoZW4oKHBhcmFtc34+aWRDaG9pY2UpIAoJCShpbnN0UGFyYW1zID0geGNvbnMoaW5zdFBhcmFtcyBpZEVuY1BhcmFtKSkKCSAgICApIAoJICAgIHdoZW4oKHBhcmFtc34+aW5XZWxsKSAKCQkoaW5zdFBhcmFtcyA9IHhjb25zKGluc3RQYXJhbXMgY29udGFjdFdlbGxQYXJhbSkpCgkgICAgKQoJICAgIHdoZW4oKGRpZmZJbXBDaG9pY2VzICYmIChwYXJhbXN+PmRpZmZJbXBDaG9pY2UpKSAKCQkoaW5zdFBhcmFtcyA9IHhjb25zKGluc3RQYXJhbXMgZGlmZkltcENob2ljZVBhcmFtKSkKCSAgICApIAoJICAgIHdoZW4oKHRhcEltcENob2ljZXMgJiYgKHBhcmFtc34+dGFwSW1wQ2hvaWNlKSkgCgkJKGluc3RQYXJhbXMgPSB4Y29ucyhpbnN0UGFyYW1zIHRhcEltcENob2ljZVBhcmFtKSkKCSAgICApIAoJICAgIHdoZW4oKGNvbnRhY3RDaG9pY2VzICYmIChwYXJhbXN+Pm5vRGlmZkNvbnRhY3QpKSAKCQkoaW5zdFBhcmFtcyA9IHhjb25zKGluc3RQYXJhbXMgZGlmZkNvblBhcmFtKSkKCSAgICApIAoJICAgIChpbnN0ID0gKGRiQ3JlYXRlUGFyYW1JbnN0IHRjQ2VsbFZpZXcgY29udGFjdElkIAoJCSAgICBzcHJpbnRmKG5pbCAiYyVkIiBtKSAKCQkgICAgKChvZmZzZXQgKyB4MUNvb3JkKTp5MUNvb3JkKQoJCSAgICAiUjAiIDEgaW5zdFBhcmFtcwoJCSkpIAoJICAgIHVubGVzcyhpbnN0IAoJCWVycm9yKCJGYWlsZWQgdG8gY3JlYXRlIGluc3RhbmNlIG9mIGZpcnN0IHNvdXJjZSBjb250YWN0IikKCSAgICApCgkgICAgd2hlbihkaWZmSW1wbGFudCAKCQkoZGlmZkltcGxhbnRSb2QgPSAocm9kR2V0T2JqIGluc3QpKSAKCQkoZGlmZkltcGxhbnRkYmlkID0gKHJvZENyZWF0ZVJlY3QgP2xheWVyIGRpZmZJbXBhbnRPUmxheWVyID9mcm9tT2JqIGRpZmZJbXBsYW50Um9kCgkJCT9zaXplIE9SbGF5ZXJTaXplCgkJICAgICkpIAoJCShjcmVhdGVkSW1wbGFudDEgPSBhcHBlbmQoY3JlYXRlZEltcGxhbnQxIAoJCQlsaXN0KChkaWZmSW1wbGFudGRiaWQtPmRiSWQpKQoJCSAgICApKQoJICAgICkgCgkgICAgd2hlbigob2Zmc2V0ID4gMWUtMDYpIAoJCShkYkNyZWF0ZVJlY3QgdGNDZWxsVmlldyBkaWZmTGF5ZXIgCgkJICAgIGxpc3QoKHgxQ29vcmQ6eTFDb29yZCkgCgkJCSgob2Zmc2V0ICsgeDFDb29yZCk6KHkxQ29vcmQgKyB3KSkKCQkgICAgKQoJCSkgCgkJd2hlbigoZGlmZkltcGxhbnQgJiYgaW1wbGFudCkgCgkJICAgIChjcmVhdGVkSW1wbGFudHRtcCA9IChkYkNyZWF0ZVJlY3QgdGNDZWxsVmlldyBkaWZmSW1wbGFudCAKCQkJICAgIGxpc3QobGlzdCh4MUNvb3JkIAoJCQkJICAgICh5MUNvb3JkIC0gZGlmZkltcEVuYykKCQkJCSkgCgkJCQlsaXN0KChvZmZzZXQgKyB4MUNvb3JkKSAKCQkJCSAgICAoeTFDb29yZCArIHcgKyBkaWZmSW1wRW5jKQoJCQkJKQoJCQkgICAgKQoJCQkpKSAKCQkgICAgKGNyZWF0ZWRJbXBsYW50MSA9IGFwcGVuZChjcmVhdGVkSW1wbGFudDEgCgkJCSAgICBsaXN0KGNyZWF0ZWRJbXBsYW50dG1wKQoJCQkpKSAKCQkgICAgKGNyZWF0ZWRJbXBsYW50RGlmZiA9IGFwcGVuZChjcmVhdGVkSW1wbGFudERpZmYgCgkJCSAgICBsaXN0KGNyZWF0ZWRJbXBsYW50dG1wKQoJCQkpKQoJCSkgCgkJd2hlbigoZGlmZkNvcmVJbXBsYW50ICYmIGltcGxhbnQpIAoJCSAgICAoZGJDcmVhdGVSZWN0IHRjQ2VsbFZpZXcgZGlmZkNvcmVJbXBsYW50IAoJCQlsaXN0KGxpc3QoeDFDb29yZCAKCQkJCSh5MUNvb3JkIC0gZGlmZkNvcmVJbXBFbmMpCgkJCSAgICApIAoJCQkgICAgbGlzdCgob2Zmc2V0ICsgeDFDb29yZCkgCgkJCQkoeTFDb29yZCArIHcgKyBkaWZmQ29yZUltcEVuYykKCQkJICAgICkKCQkJKQoJCSAgICApCgkJKQoJICAgICkgCgkgICAgKG1hc3RlciA9IChpbnN0fj5tYXN0ZXIpKSAKCSAgICB1bmxlc3MoKChtYXN0ZXJ+PnRvcExheWVyKSAmJiAobWFzdGVyfj50b3BMYXllclBpbkJib3gpKSAKCQllcnJvcihzcHJpbnRmKG5pbCAiTWlzc2luZyB0b3BMYXllciBhbmQvb3IgdG9wTGF5ZXJQaW5CYm94IGNlbGwgcHJvcGVydGllcyBpbiBgJXMnIiBsYXN0Q29udGFjdCkpCgkgICAgKSAKCSAgICAoYkJveCA9IGxpc3QobGlzdCgoY2FhcigobWFzdGVyfj50b3BMYXllclBpbkJib3gpKSArIHgxQ29vcmQgKyBvZmZzZXQpIAoJCQljYWRhcigobWFzdGVyfj50b3BMYXllclBpbkJib3gpKQoJCSAgICApIAoJCSAgICBsaXN0KChjYWFkcigobWFzdGVyfj50b3BMYXllclBpbkJib3gpKSArIHgxQ29vcmQgKyBvZmZzZXQpIAoJCQljYWRhZHIoKG1hc3Rlcn4+dG9wTGF5ZXJQaW5CYm94KSkKCQkgICAgKQoJCSkpCgkgICAgKGRiaWQgPSAoZGJDcmVhdGVSZWN0IHRjQ2VsbFZpZXcgCgkJICAgIChtYXN0ZXJ+PnRvcExheWVyKSBiQm94CgkJKSkgCgkgICAgKHBpbmlkID0gKGRiQ3JlYXRlUGluIGNOZXQgZGJpZCkpIAoJICAgIHNldFNHcShwaW5pZCAKCQlsaXN0KCJ0b3AiICJib3R0b20iICJyaWdodCIpIGFjY2Vzc0RpcgoJICAgICkgCgkgICAgd2hlbihsYWJlbExheWVyIAoJCShkYkNyZWF0ZUxhYmVsIHRjQ2VsbFZpZXcgbGFiZWxMYXllciAKCQkgICAgbGlzdCgoY2FhcihiQm94KSArICgoY2FhZHIoYkJveCkgLSBjYWFyKGJCb3gpKSAvIDIuMCkpIAoJCQkoY2FkYXIoYkJveCkgKyAoKGNhZGFkcihiQm94KSAtIGNhZGFyKGJCb3gpKSAvIDIuMCkpCgkJICAgICkgbmV0TAoJCSAgICAiY2VudGVyQ2VudGVyIiAiUjAiICJyb21hbiIgbGFiZWxXaWR0aAoJCSkKCSAgICApIAoJICAgICh5MURpZmZDb29yZCA9IGNhZGFyKChtYXN0ZXJ+PmRpZmZMYXllckJib3gpKSkKCSAgICAoeTFUYXBDb29yZCA9IGlmKChtYXN0ZXJ+PnRhcExheWVyQmJveCkgCgkJICAgIGFicyhjYWRhcigobWFzdGVyfj50YXBMYXllckJib3gpKSkgMC4wCgkJKSkgCgkgICAgKHkyRGlmZkNvb3JkID0gY2FkYWRyKChtYXN0ZXJ+PmRpZmZMYXllckJib3gpKSkgCgkgICAgKHkyVGFwQ29vcmQgPSBpZigobWFzdGVyfj50YXBMYXllckJib3gpIAoJCSAgICBhYnMoY2FkYWRyKChtYXN0ZXJ+PnRhcExheWVyQmJveCkpKSAwLjAKCQkpKSAKCSAgICAoeDJEaWZmQ29vcmQgPSBjYWFkcigobWFzdGVyfj5kaWZmTGF5ZXJCYm94KSkpIAoJICAgICh4MlRhcENvb3JkID0gaWYoKG1hc3Rlcn4+dGFwTGF5ZXJCYm94KSAKCQkgICAgYWJzKGNhYWRyKChtYXN0ZXJ+PnRhcExheWVyQmJveCkpKSAwLjAKCQkpKQoJICAgIHdoZW4od2VsbExheWVyIAoJCXVubGVzcygobWFzdGVyfj5kaWZmTGF5ZXJCYm94KSAKCQkgICAgZXJyb3Ioc3ByaW50ZihuaWwgIkNhbm5vdCBmaW5kIGRpZmZMYXllckJib3ggcHJvcGVydHkgZm9yIGAlcyciIGxhc3RDb250YWN0KSkKCQkpIAoJCSh5MVdlbGxDb29yZCA9IG1pbigoLSBtYXgoKHdlbGxFbmNEaWZmWSArIHkxRGlmZkNvb3JkKSAKCQkJCSh3ZWxsRW5jVGFwWSArIHkxVGFwQ29vcmQpCgkJCSAgICApKSB5MVdlbGxDb29yZAoJCSAgICApKSAKCQkoeTJXZWxsQ29vcmQgPSBtYXgoKHdlbGxFbmNEaWZmWSArIHkyRGlmZkNvb3JkKSAKCQkJKHdlbGxFbmNUYXBZICsgeTJUYXBDb29yZCkgeTJXZWxsQ29vcmQKCQkgICAgKSkgCgkJKHgyV2VsbENvb3JkID0gKG9mZnNldCArIHgxQ29vcmQgKyBtYXgoKHdlbGxFbmNEaWZmWCArIHgyRGlmZkNvb3JkKSAKCQkJICAgICh3ZWxsRW5jVGFwWCArIHgyVGFwQ29vcmQpCgkJCSkpKQoJICAgICkgCgkgICAgd2hlbihodkxheWVyIAoJCXVubGVzcygobWFzdGVyfj5kaWZmTGF5ZXJCYm94KSAKCQkgICAgZXJyb3Ioc3ByaW50ZihuaWwgIkNhbm5vdCBmaW5kIGRpZmZMYXllckJib3ggcHJvcGVydHkgZm9yIGAlcyciIGxhc3RDb250YWN0KSkKCQkpIAoJCSh5MUhWTGF5ZXJDb29yZCA9IG1pbigoLSBtYXgoKGh2RW5jbG9zdXJlICsgeTFEaWZmQ29vcmQpIAoJCQkJKGh2RW5jbG9zdXJlICsgeTFUYXBDb29yZCkKCQkJICAgICkpIHkxSFZMYXllckNvb3JkCgkJICAgICkpIAoJCSh5MkhWTGF5ZXJDb29yZCA9IG1heCgoaHZFbmNsb3N1cmUgKyB5MkRpZmZDb29yZCkgCgkJCShodkVuY2xvc3VyZSArIHkyVGFwQ29vcmQpIHkySFZMYXllckNvb3JkCgkJICAgICkpIAoJCSh4MkhWTGF5ZXJDb29yZCA9IChvZmZzZXQgKyB4MUNvb3JkICsgbWF4KChodkVuY2xvc3VyZSArIHgyRGlmZkNvb3JkKSAKCQkJICAgIChodkVuY2xvc3VyZSArIHgyVGFwQ29vcmQpCgkJCSkpKQoJICAgICkgCgkgICAgd2hlbigoKGlkTGF5ZXIgJiYgaWRDaG9pY2UpIHx8IGRyYXdJRGJ5RGVmYXVsdCkgCgkJdW5sZXNzKChtYXN0ZXJ+PmRpZmZMYXllckJib3gpIAoJCSAgICBlcnJvcihzcHJpbnRmKG5pbCAiQ2Fubm90IGZpbmQgZGlmZkxheWVyQmJveCBwcm9wZXJ0eSBmb3IgYCVzJyIgbGFzdENvbnRhY3QpKQoJCSkgCgkJaWYoaWRFbmNEaWZmIHRoZW4gCgkJICAgICh5MUlkQ29vcmQgPSBtaW4oKC0gbWF4KChpZEVuY1kgKyB5MURpZmZDb29yZCkgCgkJCQkgICAgKGlkRW5jWSArIHkxVGFwQ29vcmQpCgkJCQkpKSB5MUlkQ29vcmQKCQkJKSkgCgkJICAgICh5MklkQ29vcmQgPSBtYXgoKGlkRW5jWSArIHkyRGlmZkNvb3JkKSAKCQkJICAgIChpZEVuY1kgKyB5MlRhcENvb3JkKSB5MklkQ29vcmQKCQkJKSkgCgkJICAgICh4MklkQ29vcmQgPSAob2Zmc2V0ICsgeDFDb29yZCArIG1heCgoaWRFbmNYUiArIHgyRGlmZkNvb3JkKSAKCQkJCShpZEVuY1hSICsgeDJUYXBDb29yZCkKCQkJICAgICkpKQoJCSAgICBlbHNlIAoJCSAgICAoeTFJZENvb3JkID0gKCgtIGlkRW5jWSkgKyB5MURpZmZDb29yZCkpIAoJCSAgICAoeTJJZENvb3JkID0gbWF4KChpZEVuY1kgKyB5MkRpZmZDb29yZCkgeTJUYXBDb29yZCB5MklkQ29vcmQpKSAKCQkgICAgKHgySWRDb29yZCA9IChvZmZzZXQgKyB4MUNvb3JkICsgaWRFbmNYUikpCgkJKQoJICAgICkgCgkgICAgKGRiQ2xvc2UgY29udGFjdElkKQoJKSAKCShkYmlkID0gKGRiQ3JlYXRlUmVjdCB0Y0NlbGxWaWV3IGRpZmZMYXllciAKCQlsaXN0KCh4MUNvb3JkOnkxQ29vcmQpIAoJCSAgICAoKHgxQ29vcmQgKyBkaWZmRXh0KTooeTFDb29yZCArIHcpKQoJCSkKCSAgICApKSAKCShwaW5pZCA9IChkYkNyZWF0ZVBpbiBjTmV0IGRiaWQpKQoJc2V0U0dxKHBpbmlkIAoJICAgIGxpc3QoInRvcCIgImJvdHRvbSIgInJpZ2h0IikgYWNjZXNzRGlyCgkpIAoJd2hlbigoZGlmZkltcGxhbnQgJiYgaW1wbGFudCkgCgkgICAgKGNyZWF0ZWRJbXBsYW50dG1wID0gKGRiQ3JlYXRlUmVjdCB0Y0NlbGxWaWV3IGRpZmZJbXBsYW50IAoJCSAgICBsaXN0KGxpc3QoeDFDb29yZCAKCQkJICAgICh5MUNvb3JkIC0gZGlmZkltcEVuYykKCQkJKSAKCQkJbGlzdCgoeDFDb29yZCArIGRpZmZFeHQpIAoJCQkgICAgKHkxQ29vcmQgKyB3ICsgZGlmZkltcEVuYykKCQkJKQoJCSAgICApCgkJKSkgCgkgICAgKGNyZWF0ZWRJbXBsYW50MSA9IGFwcGVuZChjcmVhdGVkSW1wbGFudDEgCgkJICAgIGxpc3QoY3JlYXRlZEltcGxhbnR0bXApCgkJKSkgCgkgICAgKGNyZWF0ZWRJbXBsYW50RGlmZiA9IGFwcGVuZChjcmVhdGVkSW1wbGFudERpZmYgCgkJICAgIGxpc3QoY3JlYXRlZEltcGxhbnR0bXApCgkJKSkKCSkgCgl3aGVuKChkaWZmQ29yZUltcGxhbnQgJiYgaW1wbGFudCkgCgkgICAgKGRiQ3JlYXRlUmVjdCB0Y0NlbGxWaWV3IGRpZmZDb3JlSW1wbGFudCAKCQlsaXN0KGxpc3QoeDFDb29yZCAKCQkJKHkxQ29vcmQgLSBkaWZmQ29yZUltcEVuYykKCQkgICAgKSAKCQkgICAgbGlzdCgoeDFDb29yZCArIGRpZmZFeHQpIAoJCQkoeTFDb29yZCArIHcgKyBkaWZmQ29yZUltcEVuYykKCQkgICAgKQoJCSkKCSAgICApCgkpIAoJd2hlbigobGFzdENvbnRhY3QgPT0gIiIpIAoJICAgIHdoZW4obGFiZWxMYXllciAKCQkoZGJDcmVhdGVMYWJlbCB0Y0NlbGxWaWV3IGxhYmVsTGF5ZXIgCgkJICAgIGxpc3QoKHgxQ29vcmQgKyAoZGlmZkV4dCAvIDIuMCkpIAoJCQkoeTFDb29yZCArICh3IC8gMi4wKSkKCQkgICAgKSBuZXRMCgkJICAgICJjZW50ZXJDZW50ZXIiICJSMCIgInJvbWFuIiBsYWJlbFdpZHRoCgkJKQoJICAgICkgCgkgICAgd2hlbih3ZWxsTGF5ZXIgCgkJKHgyV2VsbENvb3JkID0gKHgxQ29vcmQgKyBkaWZmRXh0ICsgd2VsbEVuY0RpZmZYKSkgCgkJKHkyV2VsbENvb3JkID0gbWF4KCh5MUNvb3JkICsgdyArIHdlbGxFbmNEaWZmWSkgeTJXZWxsQ29vcmQpKQoJICAgICkgCgkgICAgd2hlbihodkxheWVyIAoJCSh4MkhWTGF5ZXJDb29yZCA9ICh4MUNvb3JkICsgZGlmZkV4dCArIGh2RW5jbG9zdXJlKSkgCgkJKHkySFZMYXllckNvb3JkID0gbWF4KCh5MUNvb3JkICsgdyArIGh2RW5jbG9zdXJlKSB5MkhWTGF5ZXJDb29yZCkpCgkgICAgKSAKCSAgICB3aGVuKCgoaWRMYXllciAmJiBpZENob2ljZSkgfHwgZHJhd0lEYnlEZWZhdWx0KSAKCQlpZihpZEVuY0RpZmYgdGhlbiAKCQkgICAgKHgySWRDb29yZCA9ICh4MUNvb3JkICsgZGlmZkV4dCArIGlkRW5jWFIpKSAKCQkgICAgKHkySWRDb29yZCA9IG1heCgoeTFDb29yZCArIHcgKyBpZEVuY1kpIHkySWRDb29yZCkpIGVsc2UKCQkgICAgKHgySWRDb29yZCA9ICh4MUNvb3JkICsgaWRFbmNYUikpIAoJCSAgICAoeTJJZENvb3JkID0gbWF4KCh5MUNvb3JkICsgdyArIGlkRW5jWSkgeTJJZENvb3JkKSkKCQkpCgkgICAgKQoJICAgIHdoZW4oKGRpZmZJbXBsYW50ICYmIGltcGxhbnQgJiYgbm9FbmRDb25JbXBFbmMpIAoJCShjcmVhdGVkSW1wbGFudHRtcCA9IChkYkNyZWF0ZVJlY3QgdGNDZWxsVmlldyBkaWZmSW1wbGFudCAKCQkJbGlzdChsaXN0KCh4MUNvb3JkICsgZGlmZkV4dCkgCgkJCQkoeTFDb29yZCAtIGRpZmZJbXBFbmMpCgkJCSAgICApIAoJCQkgICAgbGlzdCgoeDFDb29yZCArIGRpZmZFeHQgKyBkaWZmSW1wRW5jKSAKCQkJCSh5MUNvb3JkICsgdyArIGRpZmZJbXBFbmMpCgkJCSAgICApCgkJCSkKCQkgICAgKSkgCgkJKGNyZWF0ZWRJbXBsYW50MSA9IGFwcGVuZChjcmVhdGVkSW1wbGFudDEgCgkJCWxpc3QoY3JlYXRlZEltcGxhbnR0bXApCgkJICAgICkpIAoJCShjcmVhdGVkSW1wbGFudERpZmYgPSBhcHBlbmQoY3JlYXRlZEltcGxhbnREaWZmIAoJCQlsaXN0KGNyZWF0ZWRJbXBsYW50dG1wKQoJCSAgICApKQoJICAgICkgCgkgICAgd2hlbigoZGlmZkNvcmVJbXBsYW50ICYmIGltcGxhbnQgJiYgbm9FbmRDb25JbXBFbmMpIAoJCShkYkNyZWF0ZVJlY3QgdGNDZWxsVmlldyBkaWZmQ29yZUltcGxhbnQgCgkJICAgIGxpc3QobGlzdCgoeDFDb29yZCArIGRpZmZFeHQpIAoJCQkgICAgKHkxQ29vcmQgLSBkaWZmQ29yZUltcEVuYykKCQkJKSAKCQkJbGlzdCgoeDFDb29yZCArIGRpZmZFeHQgKyBkaWZmQ29yZUltcEVuYykgCgkJCSAgICAoeTFDb29yZCArIHcgKyBkaWZmQ29yZUltcEVuYykKCQkJKQoJCSAgICApCgkJKQoJICAgICkKCSkgCgl3aGVuKChkaWZmSW1wbGFudCAmJiBpbXBsYW50KSAKCSAgICAoY3JlYXRlZEltcGxhbnQyID0gKGRiTGF5ZXJPciB0Y0NlbGxWaWV3ICJncmlkIiBjcmVhdGVkSW1wbGFudDEpKSAKCSAgICAoY3JlYXRlZEltcGxhbnREaWZmMiA9IChkYkxheWVyT3IgdGNDZWxsVmlldyBkaWZmSW1wbGFudCBjcmVhdGVkSW1wbGFudERpZmYpKSAKCSAgICAoZmlyc3RpbXBsYW50ID0gY2FyKGNyZWF0ZWRJbXBsYW50MikpIAoJICAgIChkYkNyZWF0ZVBpbiBiTmV0IGZpcnN0aW1wbGFudCAiYiIpCgkgICAgZm9yZWFjaChkaWZmSW1wbGFudFNoYXBlMiBjcmVhdGVkSW1wbGFudERpZmYgCgkJKGRiRGVsZXRlT2JqZWN0IGRpZmZJbXBsYW50U2hhcGUyKQoJICAgICkKCSkKCXdoZW4od2VsbExheWVyIAoJICAgICh3ZWxsTGF5ZXJfWG9yaWdpbiA9IHgxV2VsbENvb3JkKSAKCSAgICAod2VsbExheWVyX1lvcmlnaW4gPSAoeTFXZWxsQ29vcmQgKyAoLSB3ZWxsRW5jWURpZmYpKSkgCgkgICAgKHdlbGxMYXllcl9YZW5kID0geDJXZWxsQ29vcmQpIAoJICAgICh3ZWxsTGF5ZXJfWWVuZCA9ICh5MldlbGxDb29yZCArIHdlbGxFbmNZRGlmZikpCgkgICAgd2hlbigoKHdlbGxMYXllcl9YZW5kIC0gd2VsbExheWVyX1hvcmlnaW4pIDwgd2VsbG1pbldpZHRoKSAKCQkoRGlmZl93ZWxsX3dpZHRoID0gKHdlbGxtaW5XaWR0aCAtICh3ZWxsTGF5ZXJfWGVuZCAtIHdlbGxMYXllcl9Yb3JpZ2luKSkpIAoJCSh4MldlbGxDb29yZCA9ICh4MldlbGxDb29yZCArIChEaWZmX3dlbGxfd2lkdGggLyAyKSkpIAoJCSh4MVdlbGxDb29yZCA9ICh4MVdlbGxDb29yZCAtIChEaWZmX3dlbGxfd2lkdGggLyAyKSkpCgkgICAgKSAKCSAgICB3aGVuKCgod2VsbExheWVyX1llbmQgLSB3ZWxsTGF5ZXJfWW9yaWdpbikgPCB3ZWxsbWluV2lkdGgpIAoJCShEaWZmX3dlbGxfd2lkdGggPSAod2VsbG1pbldpZHRoIC0gKHdlbGxMYXllcl9ZZW5kIC0gd2VsbExheWVyX1lvcmlnaW4pKSkgCgkJKHkxV2VsbENvb3JkID0gKHkxV2VsbENvb3JkIC0gKERpZmZfd2VsbF93aWR0aCAvIDIpKSkgCgkJKHkyV2VsbENvb3JkID0gKHkyV2VsbENvb3JkICsgKERpZmZfd2VsbF93aWR0aCAvIDIpKSkKCSAgICApIAoJICAgIChkYkNyZWF0ZVJlY3QgdGNDZWxsVmlldyB3ZWxsTGF5ZXIgCgkJbGlzdCgoeDFXZWxsQ29vcmQ6KHkxV2VsbENvb3JkICsgKC0gd2VsbEVuY1lEaWZmKSkpIAoJCSAgICAoeDJXZWxsQ29vcmQ6KHkyV2VsbENvb3JkICsgd2VsbEVuY1lEaWZmKSkKCQkpCgkgICAgKQoJKSAKCXdoZW4oKChpZExheWVyICYmIGlkQ2hvaWNlKSB8fCBkcmF3SURieURlZmF1bHQpIAoJICAgIChkYkNyZWF0ZVJlY3QgdGNDZWxsVmlldyBpZExheWVyIAoJCWxpc3QobGlzdCh4MUlkQ29vcmQgeTFJZENvb3JkKSAKCQkgICAgbGlzdCh4MklkQ29vcmQgeTJJZENvb3JkKQoJCSkKCSAgICApCgkpIAoJd2hlbihodkxheWVyIAoJICAgIHdoZW4od2VsbExheWVyIAoJCShzaWduWDEgPSAoeDFXZWxsQ29vcmQgLyBhYnMoeDFXZWxsQ29vcmQpKSkgCgkJKHNpZ25YMiA9ICh4MldlbGxDb29yZCAvIGFicyh4MldlbGxDb29yZCkpKSAKCQkoc2lnblkxID0gKHkxV2VsbENvb3JkIC8gYWJzKHkxV2VsbENvb3JkKSkpIAoJCShzaWduWTIgPSAoeTJXZWxsQ29vcmQgLyBhYnMoeTJXZWxsQ29vcmQpKSkKCQkoeDFIVkxheWVyQ29vcmQgPSAoKGFicyh4MVdlbGxDb29yZCkgKyBodkVuY2xvc3VyZSkgKiBzaWduWDEpKSAKCQkoeDJIVkxheWVyQ29vcmQgPSAoKGFicyh4MldlbGxDb29yZCkgKyBodkVuY2xvc3VyZSkgKiBzaWduWDIpKSAKCQkoeTFIVkxheWVyQ29vcmQgPSAoKGFicyh5MVdlbGxDb29yZCkgKyBodkVuY2xvc3VyZSkgKiBzaWduWTEpKSAKCQkoeTJIVkxheWVyQ29vcmQgPSAoKGFicyh5MldlbGxDb29yZCkgKyBodkVuY2xvc3VyZSkgKiBzaWduWTIpKQoJICAgICkgCgkgICAgKGRiQ3JlYXRlUmVjdCB0Y0NlbGxWaWV3IGh2TGF5ZXIgCgkJbGlzdChsaXN0KHgxSFZMYXllckNvb3JkIHkxSFZMYXllckNvb3JkKSAKCQkgICAgbGlzdCh4MkhWTGF5ZXJDb29yZCB5MkhWTGF5ZXJDb29yZCkKCQkpCgkgICAgKQoJKSAKCXJldHVybih0KQogICAgKQopCgAA/////wAAAAAACAAAFQQAAAAAAAAAAAAAAAAAAG5UcmFuAGNkYlJldmlzaW9uAF9kYkxhc3RTYXZlZENvdW50ZXIAbHZ0bk1vZGVscwBubG93dnQAbm9uZU1vZGVscwBuc2hvcnQAZGlzY3JldGVXTHMAcGluIwBjbGFzc1BhcmFtZXRlcnMAZHJhd0lEYnlEZWZhdWx0AElMTGlzdAB3ZWxsRW5jSHZMYXllcgBodlBZTWNvblNwYWNlAHBvbHlJbXBZRW5jAHBvbHlJbXBYRW5jAHBvbHlJbXBsYW50AHNuYXBHcmlkAG5vT2ZEZWNpbWFscwBkaWZmQ29yZUltcEVuYwBkaWZmQ29yZUltcGxhbnQAbGFiZWxMYXllcgBkZXBTcGFjZQBkZXBZRW5jAGRlcFhFbmMAaHZFbmNsb3N1cmUAd2VsbExheWVyV2lkdGgAd2VsbEVuY1RhcAB3ZWxsRW5jRGlmZgBkZXBMYXllcgBodkxheWVyAHdlbGxtaW5XaWR0aAB3ZWxsTGF5ZXIAZGlmZkxheWVyAGdhdGVMYXllcgBkaWZmRXh0AGxhYmVsV2lkdGgAZGlmZkltcGxhbnQAZGlmZkltcEVuYwB2aWExTWluU3BhY2UAdmlhMk1pblNwYWNlAGxheWVyMk1pblNwYWNlAGxheWVyM01pblNwYWNlAGJja0NvbXBhdGlibGVPZmZTZXQAaW5zdGFuY2VzTGFzdENoYW5nZWQAcGFyYW1ldGVycwBzb3VyY2VGaXJzdABzaGFyZWREcmFpbgBERkwxc2QyAHNoYXJlZFNvdXJjZQBsYXN0Q29udGFjdABERkwxc2QAZmlyc3RDb250YWN0AGdhdGVFeHQAaWRMYXllckNob2ljZXMAaWRMYXllcgBub25lAGlkRW5jRGlmZgBpZEVuY1hMAGlkRW5jWFIAaWRFbmNZAGRpZmZJbXBDaG9pY2VzAHRhcEltcENob2ljZXMAY29udGFjdENob2ljZXMAZGlmZkltcENob2ljZQB0YXBJbXBDaG9pY2UAY29udGFjdENob2ljZQBzcmNPZmZzZXQAZHJuT2Zmc2V0AG0AbAB3AGltcGxhbnQAbm9FbmRDb25JbXBFbmMAaWRDaG9pY2UAaWRUZXh0AABpZFJhZGlvAGIAZABzAGcARABTAHN5bWJvbGljAHNjczhoZGxsX2R2AGluV2VsbAA2ADUAMgAxADQAMwByb2RNYXN0ZXJzAG9hVW5yZXN0cmljdGVkAGRiR3JvdXBGbGFncwByb2RNYXN0ZXJOYW1lAHJlY3QwAHJlY3QxAC9yb2RDb3VudGVycwByZWN0AHNocFBsY1N0YXR1cwBzaHBQaW5OYW1lAHNocEFjY2Vzc0RpcgBjZHNTa2lsbFBjZWxsAHBjSW5oZXJpdAAAAAAAAAAABAAAAAAAAADUAAAAAAAAAAgAAAAHAAAAAQAAAAAAAAACAAAAAAAAAAMAAAAAAAAABAAAAAAAAAAAAQAAAAAAAAEBAAAAAAAAAgEAAAAAAADUAAAAAAAAANgAAAAAAAAA3AAAAAAAAADgAAAAAAAAAOQAAAAAAAAA8AAAAAAAAAAIAQAAAAAAAAQAAAAAAAAABAAAAAAAAAAEAAAAAAAAAAQAAAAAAAAADAAAAAAAAAAYAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAA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AAAAAOQBAAAAAAAA6AEAAAAAAABEAwAAAAAAAP//////////BAAAAAAAAAAEAAAAAAAAAAQAAAAAAAAABAAAAAAAAAAIAAAAAAAAAAwAAAAAAAAADAAAAAAAAAAIAAAAAAAAAAwAAAAAAAAADAAAAAAAAAAEAAAAAAAAAFwBAAAAAAAAaAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgAAAACAAAAAAAAAP////8AAADIAAAAAAAAAMgCAAAAhgPHAwAAAMgBAAAAAQAAAAAAAMgAAAAAAAAAyAEAAAABAQAAAAAAyAEAAAAAAQAAewAAABAAAAABAAAAAgAAACkAKUAAAAAAAAAAAAAAAAAQAAAADQAAAAABAAAAAAAAAQEAAAAAAAACAQAAAAAAAAMBAAAAAAAABQEAAAAAAAAGAQAAAAAAAAcBAAAAAAAAAAMAAAAAAAABAwAAAAAAAAIDAAAAAAAAAwMAAAAAAAAEAwAAAAAAAAUDAAAAAAAADwAAAAAAAAAOAAAAAAAAAA0AAAAAAAAADAAAAAAAAAALAAAAAAAAAAoAAAAAAAAACAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAwAAAAAAAAAEAAAAAAAAAAUAAAAAAAAABgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAQAAAAAAAAAHAEAAAAAAAALAAAACQAAAAACAAAAAAAAAAEAAAAAAAABAAAAAAAAAAIAAAAAAAAAAwAAAAAAAAAEAAAAAAAAAAIBAAAAAAAAAgIAAAAAAACfAwAAAAAAgBwBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAACAAAAAAAAAAMAAAAAAAAABAAAAAAAAAAFAAAAAAAAAAYAAAAAAAAABwAAAAAAAAABAAAAAAAAAAEAAAAAAAAAAQAAAAAAAAABAAAAAAAAAAEAAAAAAAAAAQAAAAAAAAABAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAACfAwAA/////wEAAAAAAAAAAwAAAAAAAAABAAAACAAAAAAAAAAAAAAA/////wAAAIAAAACAAQAAwAIAAAABAAAAISEAAAQAAAAAAAAAfAEAAAAAAAAPAAAADAAAAAEAAAAAAAAAAgAAAAAAAAADAAAAAAAAAAQAAAAAAAAABAEAAAAAAAAAAwAAAAAAAAEDAAAAAAAAAgMAAAAAAAADAwAAAAAAAAQDAAAAAAAAAAEAAAAAAAADAQAAAAAAAHwBAAAAAAAAgAEAAAAAAACEAQAAAAAAAIgBAAAAAAAAjAEAAAAAAACUAQAAAAAAAKABAAAAAAAAqAEAAAAAAAC0AQAAAAAAAMABAAAAAAAAzAEAAAAAAADQAQAAAAAAAAQAAAAAAAAABAAAAAAAAAAEAAAAAAAAAAQAAAAAAAAACAAAAAAAAAAMAAAAAAAAAAgAAAAAAAAADAAAAAAAAAAMAAAAAAAAAAwAAAAAAAAABAAAAAAAAAAUAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgAAAACAAAAAAAAAP////8AAADIAAAAAAAAAMgBAAAAAgAAAAAAAMgAAAAAAAAAyAEAAAAMCwAAAAAAyAEAAAAbGwAAAAAAyAEAAAABAQAAeAAAABAAAAABAAAAAgAAAAlACUAAAAAAAAAAAAAAAAAQAAAACgAAAAABAAAAAAAAAQEAAAAAAAACAQAAAAAAAAMBAAAAAAAABQEAAAAAAAAGAQAAAAAAAAcBAAAAAAAAAAMAAAAAAAABAwAAAAAAAAIDAAAAAAAADwAAAAAAAAAOAAAAAAAAAA0AAAAAAAAADAAAAAAAAAALAAAAAAAAAAoAAAAAAAAACAAAAAAAAAAAAAAAAAAAAAIAAAAAAAAAAwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAzAIAAAAAAAAdAAAAGAAAAAEAAAAAAAAAAgAAAAAAAAADAAAAAAAAAAQAAAAAAAAABAEAAAAAAAABAwAAAAAAAAIDAAAAAAAAAwMAAAAAAAAEAwAAAAAAAAUDAAAAAAAABgMAAAAAAAAHAwAAAAAAAAgDAAAAAAAACQMAAAAAAAAKAwAAAAAAAAsDAAAAAAAADAMAAAAAAAAOAwAAAAAAAAABAAAAAAAAAwEAAAAAAAABAQAAAAAAABMDAAAAAAAAFQMAAAAAAAAWAwAAAAAAAMwCAAAAAAAA0AIAAAAAAADUAgAAAAAAANgCAAAAAAAA3AIAAAAAAADkAgAAAAAAAPACAAAAAAAA/AIAAAAAAAAEAwAAAAAAAAwDAAAAAAAAFAMAAAAAAAAYAwAAAAAAABwDAAAAAAAAIAMAAAAAAAAwAwAAAAAAADgDAAAAAAAAPAMAAAAAAABAAwAAAAAAAEgDAAAAAAAATAMAAAAAAABMBQAAAAAAAFQIAAAAAAAA/////////////////////wQAAAAAAAAABAAAAAAAAAAEAAAAAAAAAAQAAAAAAAAACAAAAAAAAAAMAAAAAAAAAAwAAAAAAAAACAAAAAAAAAAIAAAAAAAAAAgAAAAAAAAABAAAAAAAAAAEAAAAAAAAAAQAAAAAAAAAEAAAAAAAAAAIAAAAAAAAAAQAAAAAAAAABAAAAAAAAAAIAAAAAAAAAAQAAAAAAAAAAAIAAAAAAAAIAwAAAAAAAKABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgAAAAEAAAAAAAAAP////8AAADIAAAAAAAAAMgBAAAAAQIDBAAAAMgBAAAAAQIDBAAAAMgAAAAAAAAAyAAAAAAAAADIAAAAAAAAAIAAAACAAAAAgAAAAMgBAAAAAwUHCQAAAAAAAACAAAAAAAAAAIAAAACAAAAAyAAAAABVAAAAJAAAAAMAAAACAAAAAQAAAAEAAABvAG8AbwBvAAAAAAAAAAAAAAAAAAAAAAAAAAAAGAAAABMAAAAAAQAAAAAAAAEBAAAAAAAAAgEAAAAAAAADAQAAAAAAAAUBAAAAAAAABgEAAAAAAAAHAQAAAAAAAAACAAAAAAAAAAMAAAAAAAABAwAAAAAAAAIDAAAAAAAAAwMAAAAAAAAEAwAAAAAAAAUDAAAAAAAABgMAAAAAAAAKAwAAAAAAAAgDAAAAAAAACQMAAAAAAAAHAwAAAAAAAA8AAAAAAAAADgAAAAAAAAANAAAAAAAAAAwAAAAAAAAACwAAAAAAAAAKAAAAAAAAAAgAAAAAAAAACQAAAAAAAAAAAAAAAAAAAAIAAAAAAAAAAwAAAAAAAAAEAAAAAAAAAAUAAAAAAAAABgAAAAAAAAAHAAAAAAAAABAAAAAAAAAAFAAAAAAAAAAVAAAAAAAAACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAwAAAAAAAAAEAAAAAAAAALQCAAAAAAAAHAAAABQAAAAAAQAAAAAAAAEAAAAAAAAAAgAAAAAAAAADAAAAAAAAAAQAAAAAAAAAAgEAAAAAAAAAAwAAAAAAAAEDAAAAAAAAAgMAAAAAAAADAwAAAAAAAAQDAAAAAAAABQMAAAAAAAAGAwAAAAAAAAcDAAAAAAAACAMAAAAAAAAJAwAAAAAAAAoDAAAAAAAACwMAAAAAAAAMAwAAAAAAAA0DAAAAAAAAtAIAAAAAAAAAAAAAAAAAAAQAAAAAAAAACAAAAAAAAAAMAAAAAAAAABAAAAAAAAAAFAAAAAAAAAAYAAAAAAAAABwAAAAAAAAAIAAAAAAAAAAkAAAAAAAAACgAAAAAAAAALAAAAAAAAAAwAAAAAAAAADQAAAAAAAAAOAAAAAAAAAA8AAAAAAAAAEAAAAAAAAAARAAAAAAAAABIAAAAAAAAAAQAAAAAAAAABAAAAAAAAAAEAAAAAAAAAAQAAAAAAAAABAAAAAAAAAAEAAAAAAAAAAQAAAAAAAAABAAAAAAAAAAEAAAAAAAAAAQAAAAAAAAABAAAAAAAAAAEAAAAAAAAAAQAAAAAAAAABAAAAAAAAAAEAAAAAAAAAAQAAAAAAAAABAAAAAAAAAAEAAAAAAAAAAQAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAACAAAAAAAAAAAAAAA/////wAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAQAAAAAAAAAfAEAAAAAAAAPAAAABgAAAAEAAAAAAAAAAgAAAAAAAAADAAAAAAAAAAQAAAAAAAAABQMAAAAAAAAGAwAAAAAAAHwBAAAAAAAAgAEAAAAAAACEAQAAAAAAAIgBAAAAAAAAjAEAAAAAAACUAQAAAAAAAAQAAAAAAAAABAAAAAAAAAAEAAAAAAAAAAQAAAAAAAAACAAAAAAAAAAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgAAAAEAAAAAAAAAP////8AAADIAAAAAAAAAMgAAAAABAAAAAAAAABsAgAAAAAAABkAAAARAAAAAQAAAAAAAAACAAAAAAAAAAMAAAAAAAAABAAAAAAAAAAEAQAAAAAAAAADAAAAAAAAAQMAAAAAAAACAwAAAAAAAAMDAAAAAAAABQMAAAAAAAAGAwAAAAAAAAcDAAAAAAAACAMAAAAAAAAJAwAAAAAAABADAAAAAAAAAAEAAAAAAAADAQAAAAAAAGwCAAAAAAAAcAIAAAAAAAB0AgAAAAAAAHgCAAAAAAAAfAIAAAAAAACEAgAAAAAAAJQCAAAAAAAAoAIAAAAAAACoAgAAAAAAALQCAAAAAAAAvAIAAAAAAADAAgAAAAAAAMQCAAAAAAAAyAIAAAAAAADMAgAAAAAAANACAAAAAAAA1AIAAAAAAAAEAAAAAAAAAAQAAAAAAAAABAAAAAAAAAAEAAAAAAAAAAgAAAAAAAAAEAAAAAAAAAAMAAAAAAAAAAgAAAAAAAAADAAAAAAAAAAIAAAAAAAAAAQAAAAAAAAABAAAAAAAAAAEAAAAAAAAAAQAAAAAAAAABAAAAAAAAAAEAAAAAAAAAOABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAAAAAQAAAAAAAAA/////wAAAMgAAAAAAAAAyAEAAAADBQcJAAAAAAAAAMgBAAAAAQIDBAAAAMgAAAAAAAAAyAEAAAABCAMFAAAAyAAAAAAAAACAAAAAgAAAAIAAAACAAAAAkG8AAAAcAAAAAgAAAAIAAAABAAAAIwAjACMAAwDw8PDwAAAAAAAAAAAAAAAAGAAAABIAAAAAAQAAAAAAAAEBAAAAAAAAAgEAAAAAAAADAQAAAAAAAAUBAAAAAAAABgEAAAAAAAAHAQAAAAAAAAACAAAAAAAAAAMAAAAAAAABAwAAAAAAAAIDAAAAAAAAAwMAAAAAAAAEAwAAAAAAAAUDAAAAAAAABgMAAAAAAAAHAwAAAAAAAAgDAAAAAAAACQMAAAAAAAAPAAAAAAAAAA4AAAAAAAAADQAAAAAAAAAMAAAAAAAAAAsAAAAAAAAACgAAAAAAAAAIAAAAAAAAAAkAAAAAAAAAAAAAAAAAAAADAAAAAAAAAAQAAAAAAAAABwAAAAAAAAAQAAAAAAAAABMAAAAAAAAAFAAAAAAAAAAVAAAAAAAAABYAAAAAAAAAFwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgAAAAAAAAAAAAAAAAAAAAIAAAAAAAAAAAAAAAAAAAACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAADwCAAAAAAAAFwAAABQAAAABAAAAAAAAAAIAAAAAAAAAAwAAAAAAAAAEAAAAAAAAAAQBAAAAAAAAAAMAAAAAAAABAwAAAAAAAAIDAAAAAAAAAwMAAAAAAAAEAwAAAAAAAAUDAAAAAAAABgMAAAAAAAAHAwAAAAAAAAgDAAAAAAAACQMAAAAAAAAKAwAAAAAAAAsDAAAAAAAAAAEAAAAAAAADAQAAAAAAAAwDAAAAAAAAPAIAAAAAAABAAgAAAAAAAEQCAAAAAAAASAIAAAAAAABMAgAAAAAAAFQCAAAAAAAAYAIAAAAAAABoAgAAAAAAAHACAAAAAAAAdAIAAAAAAAB4AgAAAAAAAHwCAAAAAAAAgAIAAAAAAACEAgAAAAAAAIgCAAAAAAAAjAIAAAAAAACQAgAAAAAAAJQCAAAAAAAAmAIAAAAAAADcAwAAAAAAAAQAAAAAAAAABAAAAAAAAAAEAAAAAAAAAAQAAAAAAAAACAAAAAAAAAAMAAAAAAAAAAgAAAAAAAAACAAAAAAAAAAEAAAAAAAAAAQAAAAAAAAABAAAAAAAAAAEAAAAAAAAAAQAAAAAAAAABAAAAAAAAAAEAAAAAAAAAAQAAAAAAAAABAAAAAAAAAAEAAAAAAAAAEQBAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAQAAAAAAAAD/////AAAAyAAAAAAAAADIAQAAAAEAAAAAAADIAAAAAAAAAMgAAAAAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAwAAABAAAAABAAAAAgAAAA4AAAAAAAAAAAAAAAAAAAAQAAAADAAAAAABAAAAAAAAAQEAAAAAAAACAQAAAAAAAAMBAAAAAAAABQEAAAAAAAAGAQAAAAAAAAcBAAAAAAAAAAIAAAAAAAAAAwAAAAAAAAEDAAAAAAAAAgMAAAAAAAADAwAAAAAAAA8AAAAAAAAADgAAAAAAAAANAAAAAAAAAAwAAAAAAAAACwAAAAAAAAAKAAAAAAAAAAgAAAAAAAAACQAAAAAAAAABAAAAAAAAAAIAAAAAAAAAAwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAD0AQAAAAAAABQAAAAMAAAAAQAAAAAAAAACAAAAAAAAAAMAAAAAAAAABAAAAAAAAAAEAQAAAAAAAAADAAAAAAAAAQMAAAAAAAACAwAAAAAAAAgDAAAAAAAACQMAAAAAAAAAAQAAAAAAAAMBAAAAAAAA9AEAAAAAAAD4AQAAAAAAAPwBAAAAAAAAAAIAAAAAAAAEAgAAAAAAAAwCAAAAAAAAHAIAAAAAAAAsAgAAAAAAADwCAAAAAAAATAIAAAAAAADAAgAAAAAAAMQCAAAAAAAABAAAAAAAAAAEAAAAAAAAAAQAAAAAAAAABAAAAAAAAAAIAAAAAAAAABAAAAAAAAAAEAAAAAAAAAAQAAAAAAAAABAAAAAAAAAAdAAAAAAAAAAEAAAAAAAAAAgBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAAAAAcAAAAAAAAA/////wAAAMgAAAAAAAAAyAEAAAD8BecDHxcCAAAAAMgBAAAAFBQUFBQUFAAAAADIAQAAAAIEAwQEAwEAAAAAyAEAAAABAgMEBQYHAAAAAMh6/v//g////xwCAAAhAgAAAAAAAH7///+WAAAAJgIAACz////4////cQEAAN0AAAAG////AAAAAJABAACkAQAAev7//4P///8cAgAAIQIAAB/////s////dwEAADYBAAD///9/////fwAAAIAAAACAXwAAABwAAAABAAAAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAACQAAAAABAAAAAAAAAQEAAAAAAAACAQAAAAAAAAMBAAAAAAAABQEAAAAAAAAGAQAAAAAAAAcBAAAAAAAAAAIAAAAAAAAAAwAAAAAAAA8AAAAAAAAADgAAAAAAAAANAAAAAAAAAAwAAAAAAAAACwAAAAAAAAAKAAAAAAAAAAgAAAAAAAAACQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAzAIAAAAAAAAdAAAAEwAAAAEAAAAAAAAAAgAAAAAAAAADAAAAAAAAAAQAAAAAAAAABAEAAAAAAAAAAwAAAAAAAAEDAAAAAAAAAgMAAAAAAAADAwAAAAAAAAQDAAAAAAAACwMAAAAAAAAMAwAAAAAAAA0DAAAAAAAADwMAAAAAAAAQAwAAAAAAABEDAAAAAAAAFAMAAAAAAAAAAQAAAAAAAAMBAAAAAAAAzAIAAAAAAADQAgAAAAAAANQCAAAAAAAA2AIAAAAAAADcAgAAAAAAAOQCAAAAAAAA9AIAAAAAAAAEAwAAAAAAABQDAAAAAAAAJAMAAAAAAAA0AwAAAAAAAEQDAAAAAAAAVAMAAAAAAABkAwAAAAAAANgDAAAAAAAATAQAAAAAAADABAAAAAAAANAEAAAAAAAA1AQAAAAAAAAEAAAAAAAAAAQAAAAAAAAABAAAAAAAAAAEAAAAAAAAAAgAAAAAAAAAEAAAAAAAAAAQAAAAAAAAABAAAAAAAAAAEAAAAAAAAAAQAAAAAAAAABAAAAAAAAAAEAAAAAAAAAAQAAAAAAAAAHQAAAAAAAAAdAAAAAAAAAB0AAAAAAAAABAAAAAAAAAABAAAAAAAAAA4AQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgAAAAHAAAAAAAAAP////8AAADIAAAAAAAAAMgBAAAA/AXnAx8XAgAAAADIAQAAAAEBAQEBAQEAAAAAyAEAAAABAQEBAQEBAAAAAMgBAAAAAQEBAQEBAQAAAADIAQAAAAEBAQEBAQEAAAAAyAEAAAACAgICAgICAAAAAMgBAAAAAQEBAQEBAQAAAADIAQAAAAEBAQEBAQEAAAAAyP///3////9/AAAAgAAAAID///9/////fwAAAIAAAACA////f////38AAACAAAAAgP///3////9/AAAAgAAAAID///9/////fwAAAIAAAACA////f////38AAACAAAAAgP///3////9/AAAAgAAAAIAAAADI////f////38AAACAAAAAgP///3////9/AAAAgAAAAID///9/////fwAAAIAAAACA////f////38AAACAAAAAgP///3////9/AAAAgAAAAID///9/////fwAAAIAAAACA////f////38AAACAAAAAgAAAAMj///9/////fwAAAIAAAACA////f////38AAACAAAAAgP///3////9/AAAAgAAAAID///9/////fwAAAIAAAACA////f////38AAACAAAAAgP///3////9/AAAAgAAAAID///9/////fwAAAIAAAACAAAAAyAEAAAAAAgAAAAQAAF8AAAAcAAAAAQAAAAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAsAAAAAAQAAAAAAAAEBAAAAAAAAAgEAAAAAAAADAQAAAAAAAAUBAAAAAAAABgEAAAAAAAAHAQAAAAAAAAACAAAAAAAAAAMAAAAAAAABAwAAAAAAAAIDAAAAAAAADwAAAAAAAAAOAAAAAAAAAA0AAAAAAAAADAAAAAAAAAALAAAAAAAAAAoAAAAAAAAACAAAAAAAAAAJAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAEQDAAAAAAAAIgAAAA0AAAABAAAAAAAAAAIAAAAAAAAAAwAAAAAAAAAEAAAAAAAAAAQBAAAAAAAAAAMAAAAAAAACAwAAAAAAAAQDAAAAAAAAAAEAAAAAAAADAQAAAAAAAAIBAAAAAAAADgMAAAAAAAAFAwAAAAAAAEQDAAAAAAAASAMAAAAAAABMAwAAAAAAAFADAAAAAAAAVAMAAAAAAABsAwAAAAAAAIQDAAAAAAAAnAMAAAAAAACABAAAAAAAAIQEAAAAAAAA3AUAAAAAAAAcCAAAAAAAABQKAAAAAAAABAAAAAAAAAAEAAAAAAAAAAQAAAAAAAAABAAAAAAAAAAYAAAAAAAAABgAAAAAAAAAGAAAAAAAAADkAAAAAAAAAAQAAAAAAAAAWAEAAAAAAABAAgAAAAAAAPgBAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAADgAAAAAAAAD/////AAAAyAEAAAAAAAAAAQIAAAAAAAAAAAAAAAAAyAEAAAABBQUEAAAIAAMAAAAIAwAAAAAAyAEAAAABAgICAwMEBAQFBQUGBgAAAAAAyHr+//+D////HAIAACECAAAAAAAAfv///5YAAAAAAAAAAAAAAKQBAACWAAAAJgIAAAAAAAB+////lgAAACYCAADTAAAA+P///3EBAADdAAAALP////j///+8////3QAAAJYAAAAAAAAAkAEAAKQBAAAAAAAAAAAAAJYAAACkAQAABv///wAAAAAAAAAApAEAAAb///+D////kAEAACECAAAZAAAAg////xwCAAAhAgAAev7//4P///99AAAAIQIAAM0AAADs////dwEAADYBAAAf////7P///8n///82AQAAtgAAACgAAAABAAAAAgAAAGgAaABoACgACQAJAGgACABoAAgACCAIIGgAaAAAAAAAAAAAABAAAAAMAAAAAAEAAAAAAAABAQAAAAAAAAIBAAAAAAAAAwEAAAAAAAAFAQAAAAAAAAYBAAAAAAAABwEAAAAAAAAAAgAAAAAAAAADAAAAAAAAAQMAAAAAAAACAwAAAAAAAAMDAAAAAAAADwAAAAAAAAAOAAAAAAAAAA0AAAAAAAAADAAAAAAAAAALAAAAAAAAAAoAAAAAAAAACAAAAAAAAAAJAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAFAAAAAAAAAAcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAABAAAAAAAAABMAQAAAAAAAA0AAAALAAAAAAIAAAAAAAAAAQAAAAAAAAEAAAAAAAAAAgAAAAAAAAADAAAAAAAAAAQAAAAAAAAAAgEAAAAAAAACAgAAAAAAANgDAAAAAACA5QMAAAAAAIDwAwAAAAAAgEwBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAACAAAAAAAAAAMAAAAAAAAABAAAAAAAAAAHAAAAAAAAAAgAAAAAAAAAEgAAAAAAAAAdAAAAAAAAABQAAAAAAAAAAQAAAAAAAAABAAAAAAAAAAEAAAAAAAAAAQAAAAAAAAABAAAAAAAAAAMAAAAAAAAAAQAAAAAAAAAKAAAAAAAAAAsAAAAAAAAACgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAwAAANgDAAAAAAAAGgAAABAAAAADAAAA/////+UDAAAAAAAAGgAAABIAAAADAAAAAAAAAAAAAADwAwAAAAAAABoAAAAQAAAAAwAAAP////8BAAAAEAAAAAAAAAAAAAAA/////wAAAMACAAAARjEAAAAAAIAAAADABgAAAAgAAAAAAAAAAQAAAAcNCQ4CAwAAAQAAAAEBAQEBAQAAAAAAwAYAAAAIAAAAAAAAAAEAAAAHDQkOAgMAAAIAAAB6A3wDfgOAA4IDhAMAAADABgAAAAgAAAAAAAAAAQAAAAcNCQ4CAwAAAQAAAAwMCAgDAgAABAAAAAAAAAA0AQAAAAAAAAwAAAALAAAAAQAAAAAAAAACAAAAAAAAAAMAAAAAAAAABAAAAAAAAAACAwAAAAAAAAMDAAAAAAAABAMAAAAAAAAFAwAAAAAAAAYDAAAAAAAABwMAAAAAAAAAAwAAAAAAADQBAAAAAAAAOAEAAAAAAAA8AQAAAAAAAEABAAAAAAAARAEAAAAAAABQAQAAAAAAAFwBAAAAAAAAcAEAAAAAAAB4AQAAAAAAAIABAAAAAAAAiAEAAAAAAAAEAAAAAAAAAAQAAAAAAAAABAAAAAAAAAAEAAAAAAAAAAwAAAAAAAAADAAAAAAAAAAUAAAAAAAAAAgAAAAAAAAACAAAAAAAAAAIAAAAAAAAAGwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAAAAAIAAAAAAAAA/////wAAAMgCAAAAWgNcAwAAAMgBAAAAl5cAAAAAAMgiAQAAkQAAAHT///+RAAAAAAAAyAQEAAAAAADIAAAAAAAAAMgDAwAAEAAAAAEAAAABAAAABgYAAAAAAAAAAAAAAAAAAAgAAAADAAAAAAMAAAAAAAABAwAAAAAAAAIDAAAAAAAAAAAAAAAAAAABAAAAAAAAAAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAHwBAAAAAAAADwAAAAwAAAABAAAAAAAAAAIAAAAAAAAAAwAAAAAAAAAEAAAAAAAAAAQBAAAAAAAAAAMAAAAAAAABAwAAAAAAAAIDAAAAAAAAAwMAAAAAAAAAAQAAAAAAAAMBAAAAAAAABQMAAAAAAAB8AQAAAAAAAIABAAAAAAAAhAEAAAAAAACIAQAAAAAAAIwBAAAAAAAAlAEAAAAAAACsAQAAAAAAALwBAAAAAAAACAIAAAAAAAAQAgAAAAAAABQCAAAAAAAAbAMAAAAAAAAEAAAAAAAAAAQAAAAAAAAABAAAAAAAAAAEAAAAAAAAAAgAAAAAAAAAGAAAAAAAAAAQAAAAAAAAAEwAAAAAAAAACAAAAAAAAAAEAAAAAAAAAFgBAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIAAAACAAAAAQAAAAGAAAAAAAAyAAAAAAAAADIAgAAAKMG8wb7BvsGAwcDBwcH8wYAAADIAQAAAAEAAwIEBAYCAAAAyA0AAAAGAAAAAQAAAAECCgQMBgcIAQAAAAIBAwEDAQEDAQAAAAEHDQkOAgMHDQkOAgMAAAABAAAAGxsbGxsbGxsbGxsbGwAAAAAAAMgAAAAAuAAAACgAAAACAAAAAgAAAAEAAAAAAACABwAAgAMAAIAAgAsAAAAAAAAAAAAAAAAAAAAAABAAAAAMAAAAAAEAAAAAAAABAQAAAAAAAAIBAAAAAAAAAwEAAAAAAAAFAQAAAAAAAAYBAAAAAAAABwEAAAAAAAAAAgAAAAAAAAADAAAAAAAAAQMAAAAAAAACAwAAAAAAAAMDAAAAAAAADwAAAAAAAAAOAAAAAAAAAA0AAAAAAAAADAAAAAAAAAALAAAAAAAAAAoAAAAAAAAACAAAAAAAAAAJAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAHAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMAAAAAAAAAAgAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAwCAAAAAAAAFQAAABAAAAABAAAAAAAAAAIAAAAAAAAAAwAAAAAAAAAEAAAAAAAAAAQBAAAAAAAAAAMAAAAAAAABAwAAAAAAAAIDAAAAAAAAAAEAAAAAAAADAQAA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oAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIAAAAAgAAAAAAAAD/////AAAAyAAAAAAAAADIAgAAAFoCWgIAAADIAQAAAAgIAAAAAADIAQAAAAcHAAAAAADIAQAAAAYGAAAAAADIAQAAAAEBAAAAAADIAQAAAAIAAAAAAADIAQAAAAUFAAAAAADIAQAAAAQIAAAAAADI////f////38AAACAAAAAgIP///+D////hgEAAJ8BAAAAAADI////f////38AAACAAAAAgHr+//+D////HAIAAJ8BAAAAAADIAQAAAAEDAAAAAADIAQAAAAEBAAAAAADIAQAAAAEBAABfAAAAEAAAAAEAAAACAAAAiQCRAAAAAAAAAAAAEAAAABAAAAAAAQAAAAAAAAEBAAAAAAAAAgEAAAAAAAADAQAAAAAAAAUBAAAAAAAABgEAAAAAAAAHAQAAAAAAAAACAAAAAAAAAAQAAAAAAAABBAAAAAAAAAIEAAAAAAAAAwQAAAAAAAAEBAAAAAAAAAUEAAAAAAAABgQAAAAAAAAABQAAAAAAAA8AAAAAAAAADgAAAAAAAAANAAAAAAAAAAwAAAAAAAAACwAAAAAAAAAKAAAAAAAAAAgAAAAAAAAACQAAAAAAAAAHAAAAAAAAAAYAAAAAAAAABQAAAAAAAAAEAAAAAAAAAAMAAAAAAAAAAgAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAEwBAAAAAAAADQAAAAoAAAABAAAAAAAAAAIAAAAAAAAAAwAAAAAAAAAEAAAAAAAAAAQBAAAAAAAAAAMAAAAAAAABAwAAAAAAAAIDAAAAAAAAAAEAAAAAAAADAQAAAAAAAEwBAAAAAAAAUAEAAAAAAABUAQAAAAAAAFgBAAAAAAAAXAEAAAAAAABkAQAAAAAAAGwBAAAAAAAAfAEAAAAAAACQAQAAAAAAAJQBAAAAAAAABAAAAAAAAAAEAAAAAAAAAAQAAAAAAAAABAAAAAAAAAAIAAAAAAAAAAgAAAAAAAAAEAAAAAAAAAAUAAAAAAAAAAQAAAAAAAAAEAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAQAAAAAAAAD/////AAAAyAAAAAAAAADIAAAAAAAAAMgAAAAAAAAAAAAAAAAAAADIev7//37///8cAgAAJgIAAAEAAAAQAAAAAQAAAAIAAAAAAAAAAAAAAAAAAAAQAAAACgAAAAABAAAAAAAAAQEAAAAAAAACAQAAAAAAAAMBAAAAAAAABQEAAAAAAAAGAQAAAAAAAAcBAAAAAAAAAAIAAAAAAAAAAwAAAAAAAAEDAAAAAAAADwAAAAAAAAAOAAAAAAAAAA0AAAAAAAAADAAAAAAAAAALAAAAAAAAAAoAAAAAAAAACAAAAAAAAAAJAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAAAAAAAAAAQAAAAAAAAAJAIAAAAAAAAWAAAAEQAAAAEAAAAAAAAAAgAAAAAAAAADAAAAAAAAAAQAAAAAAAAABAEAAAAAAAAAAwAAAAAAAAEDAAAAAAAABgMAAAAAAAACAwAAAAAAAAMDAAAAAAAABAMAAAAAAAAFAwAAAAAAAAcDAAAAAAAAAAEAAAAAAAADAQAAAAAAAAkDAAAAAAAACgMAAAAAAAAkAgAAAAAAACgCAAAAAAAALAIAAAAAAAAwAgAAAAAAADQCAAAAAAAAPAIAAAAAAABIAgAAAAAAAFgCAAAAAAAAZAIAAAAAAABoAgAAAAAAAGwCAAAAAAAAcAIAAAAAAAB0AgAAAAAAAHgCAAAAAAAAfAIAAAAAAACkAwAAAAAAAKgDAAAAAAAABAAAAAAAAAAEAAAAAAAAAAQAAAAAAAAABAAAAAAAAAAIAAAAAAAAAAwAAAAAAAAAEAAAAAAAAAAMAAAAAAAAAAQAAAAAAAAABAAAAAAAAAAEAAAAAAAAAAQAAAAAAAAABAAAAAAAAAAEAAAAAAAAACgBAAAAAAAABAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAABAAAAAAAAAP////8AAADIAAAAAAAAAMgBAAAAAQAAAAAAAMgBAAAAAQAAAAAAAAAAAADIAQAAAAkAAAAAAACAAAAAgAAAAIAAAACAAAAAgAIAAAAQAAAAAQAAAAIAAAAAAAAAAAAAAAAAAAAQAAAACwAAAAABAAAAAAAAAQEAAAAAAAACAQAAAAAAAAMBAAAAAAAABQEAAAAAAAAGAQAAAAAAAAcBAAAAAAAAAAIAAAAAAAAAAwAAAAAAAAEDAAAAAAAAAgMAAAAAAAAPAAAAAAAAAA4AAAAAAAAADQAAAAAAAAAMAAAAAAAAAAsAAAAAAAAACgAAAAAAAAAIAAAAAAAAAAkAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAABAAAAAAAAACUAQAAAAAAABAAAAALAAAAAQAAAAAAAAACAAAAAAAAAAMAAAAAAAAABAAAAAAAAAAEAQAAAAAAAAADAAAAAAAAAQMAAAAAAAABBAAAAAAAAAIEAAAAAAAAAAEAAAAAAAADAQAAAAAAAJQBAAAAAAAAmAEAAAAAAACcAQAAAAAAAKABAAAAAAAApAEAAAAAAACsAQAAAAAAALgBAAAAAAAAzAEAAAAAAADUAQAAAAAAANwBAAAAAAAA4AEAAAAAAAAEAAAAAAAAAAQAAAAAAAAABAAAAAAAAAAEAAAAAAAAAAgAAAAAAAAADAAAAAAAAAAUAAAAAAAAAAgAAAAAAAAACAAAAAAAAAAEAAAAAAAAAKwBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAAAAAIAAAAAAAAA/////wAAAMgAAAAAAAAAyAEAAAACAgAAAAAAyJYAAAAAAAAAAAAAAAAAAAAAAADIAAAAAAAAAMgAAAAAYQAAABgAAAACAAAAAgAAAAEAAAABAEEAAAAAAAAAAAAAAAAAAAAAABAAAAAQAAAAAAEAAAAAAAABAQAAAAAAAAIBAAAAAAAAAwEAAAAAAAAFAQAAAAAAAAYBAAAAAAAABwEAAAAAAAAAAgAAAAAAAAADAAAAAAAAAAQAAAAAAAABBAAAAAAAAAIEAAAAAAAAAwQAAAAAAAAEBAAAAAAAAAUEAAAAAAAABgQAAAAAAAAPAAAAAAAAAA4AAAAAAAAADQAAAAAAAAAMAAAAAAAAAAsAAAAAAAAACgAAAAAAAAAIAAAAAAAAAAkAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAwAAAAAAAAAQAAAAAAAAABEAAAAAAAAAEwAAAAAAAAAXAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAADAAAAAAAAAAAAAAAAAAAABAAAAAAAAADEAQAAAAAAABIAAAANAAAAAQAAAAAAAAACAAAAAAAAAAMAAAAAAAAABAAAAAAAAAAEAQAAAAAAAAACAAAAAAAAAQIAAAAAAAACAgAAAAAAAAMCAAAAAAAAAQQAAAAAAAAAAQAAAAAAAAMBAAAAAAAAIAMAAAAAAADEAQAAAAAAAMgBAAAAAAAAzAEAAAAAAADQAQAAAAAAANQBAAAAAAAA4AEAAAAAAADsAQAAAAAAAPwBAAAAAAAADAIAAAAAAAAYAgAAAAAAACQCAAAAAAAAKAIAAAAAAAA8AwAAAAAAAAQAAAAAAAAABAAAAAAAAAAEAAAAAAAAAAQAAAAAAAAADAAAAAAAAAAMAAAAAAAAABAAAAAAAAAAEAAAAAAAAAAMAAAAAAAAAAwAAAAAAAAABAAAAAAAAAAUAQAAAAAAAMgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAAAAAEAAAAAAAAA/////wAAAMgBAAAAAQAAAAAAAMgCAAAAkQMAAAAAAMgAAAAAAAAAAAAAAAAAAADIAAAAAAAAAAAAAAAAAAAAyAEAAAADAAAAAAAAyAEAAAACAAAAcwAAABAAAAABAAAAAgAAAAcAAAAAAAAAAAAAAAAAAAAQAAAACgAAAAABAAAAAAAAAQEAAAAAAAACAQAAAAAAAAMBAAAAAAAABQEAAAAAAAAGAQAAAAAAAAcBAAAAAAAAAAIAAAAAAAABAwAAAAAAAAIDAAAAAAAADwAAAAAAAAAOAAAAAAAAAA0AAAAAAAAADAAAAAAAAAALAAAAAAAAAAoAAAAAAAAACAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAApAAAAAAAAAAGAAAABgAAAAEAAAAAAAAAAgAAAAAAAAADAAAAAAAAAAQAAAAAAAAAAAMAAAAAAAAAAgAAAAAAAKQAAAAAAAAAqAAAAAAAAACsAAAAAAAAALAAAAAAAAAAtAAAAAAAAAD//////////wQAAAAAAAAABAAAAAAAAAAEAAAAAAAAAAQAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAgAAAABAAAAAAAAAP////8AAADIAAAAAAAAAAAAAAAAZ0UjAQ==