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Y2VwdCBmb3IKICAgIEFVVEhFTlRJQ0FURSwgYW5kIHRoZSBsYXN0IGFyZ3VtZW50IHRvIEFQUEVORCB3aGljaCBpcyBwYXNzZWQgYXMKICAgIGFuIElNQVA0IGxpdGVyYWwuICBJZiBuZWNlc3NhcnkgKHRoZSBzdHJpbmcgY29udGFpbnMgYW55CiAgICBub24tcHJpbnRpbmcgY2hhcmFjdGVycyBvciB3aGl0ZS1zcGFjZSBhbmQgaXNuJ3QgZW5jbG9zZWQgd2l0aAogICAgZWl0aGVyIHBhcmVudGhlc2VzIG9yIGRvdWJsZSBxdW90ZXMpIGVhY2ggc3RyaW5nIGlzIHF1b3RlZC4KICAgIEhvd2V2ZXIsIHRoZSAncGFzc3dvcmQnIGFyZ3VtZW50IHRvIHRoZSBMT0dJTiBjb21tYW5kIGlzIGFsd2F5cwogICAgcXVvdGVkLiAgSWYgeW91IHdhbnQgdG8gYXZvaWQgaGF2aW5nIGFuIGFyZ3VtZW50IHN0cmluZyBxdW90ZWQKICAgIChlZzogdGhlICdmbGFncycgYXJndW1lbnQgdG8gU1RPUkUpIHRoZW4gZW5jbG9zZSB0aGUgc3RyaW5nIGluCiAgICBwYXJlbnRoZXNlcyAoZWc6ICIoXERlbGV0ZWQpIikuCgogICAgRWFjaCBjb21tYW5kIHJldHVybnMgYSB0dXBsZTogKHR5cGUsIFtkYXRhLCAuLi5dKSB3aGVyZSAndHlwZScKICAgIGlzIHVzdWFsbHkgJ09LJyBvciAnTk8nLCBhbmQgJ2RhdGEnIGlzIGVpdGhlciB0aGUgdGV4dCBmcm9tIHRoZQogICAgdGFnZ2VkIHJlc3BvbnNlLCBvciB1bnRhZ2dlZCByZXN1bHRzIGZyb20gY29tbWFuZC4gRWFjaCAnZGF0YScKICAgIGlzIGVpdGhlciBhIHN0cmluZywgb3IgYSB0dXBsZS4gSWYgYSB0dXBsZSwgdGhlbiB0aGUgZmlyc3QgcGFydAogICAgaXMgdGhlIGhlYWRlciBvZiB0aGUgcmVzcG9uc2UsIGFuZCB0aGUgc2Vjb25kIHBhcnQgY29udGFpbnMKICAgIHRoZSBkYXRhIChpZTogJ2xpdGVyYWwnIHZhbHVlKS4KCiAgICBFcnJvcnMgcmFpc2UgdGhlIGV4Y2VwdGlvbiBjbGFzcyA8aW5zdGFuY2U+LmVycm9yKCI8cmVhc29uPiIpLgogICAgSU1BUDQgc2VydmVyIGVycm9ycyByYWlzZSA8aW5zdGFuY2U+LmFib3J0KCI8cmVhc29uPiIpLAogICAgd2hpY2ggaXMgYSBzdWItY2xhc3Mgb2YgJ2Vycm9yJy4gTWFpbGJveCBzdGF0dXMgY2hhbmdlcwogICAgZnJvbSBSRUFELVdSSVRFIHRvIFJFQUQtT05MWSByYWlzZSB0aGUgZXhjZXB0aW9uIGNsYXNzCiAgICA8aW5zdGFuY2U+LnJlYWRvbmx5KCI8cmVhc29uPiIpLCB3aGljaCBpcyBhIHN1Yi1jbGFzcyBvZiAnYWJvcnQnLgoKICAgICJlcnJvciIgZXhjZXB0aW9ucyBpbXBseSBhIHByb2dyYW0gZXJyb3IuCiAgICAiYWJvcnQiIGV4Y2VwdGlvbnMgaW1wbHkgdGhlIGNvbm5lY3Rpb24gc2hvdWxkIGJlIHJlc2V0LCBhbmQKICAgICAgICAgICAgdGhlIGNvbW1hbmQgcmUtdHJpZWQuCiAgICAicmVhZG9ubHkiIGV4Y2VwdGlvbnMgaW1wbHkgdGhlIGNvbW1hbmQgc2hvdWxkIGJlIHJlLXRyaWVkLgoKICAgIE5vdGU6IHRvIHVzZSB0aGlzIG1vZHVsZSwgeW91IG11c3QgcmVhZCB0aGUgUkZDcyBwZXJ0YWluaW5nIHRvIHRoZQogICAgSU1BUDQgcHJvdG9jb2wsIGFzIHRoZSBzZW1hbnRpY3Mgb2YgdGhlIGFyZ3VtZW50cyB0byBlYWNoIElNQVA0CiAgICBjb21tYW5kIGFyZSBsZWZ0IHRvIHRoZSBpbnZva2VyLCBub3QgdG8gbWVudGlvbiB0aGUgcmVzdWx0cy4gQWxzbywKICAgIG1vc3QgSU1BUCBzZXJ2ZXJzIGltcGxlbWVudCBhIHN1Yi1zZXQgb2YgdGhlIGNvbW1hbmRzIGF2YWlsYWJsZSBoZXJlLgogICAgdAUAAABlcnJvcmMAAAAAAAAAAAEAAABCAAAAcwgAAABlAABaAQBSUygAAAAAKAIAAAB0CAAAAF9fbmFtZV9fdAoAAABfX21vZHVsZV9fKAAAAAAoAAAAACgAAAAAc08AAAAvdG1wL25kay1Vc2VyL2J1aWxkaG9zdC9pbnN0YWxsL3ByZWJ1aWx0L2Rhcndpbi14ODZfNjQvbGliL3B5dGhvbjIuNy9pbWFwbGliLnB5UjAAAACRAAAAcwIAAAAGAHQFAAAAYWJvcnRjAAAAAAAAAAABAAAAQgAAAHMIAAAAZQAAWgEAUlMoAAAAACgCAAAAUjEAAABSMgAAACgAAAAAKAAAAAAoAAAAAHNPAAAAL3RtcC9uZGstVXNlci9idWlsZGhvc3QvaW5zdGFsbC9wcmVidWlsdC9kYXJ3aW4teDg2XzY0L2xpYi9weXRob24yLjcvaW1hcGxpYi5weVIzAAAAkgAAAHMCAAAABgB0CAAAAHJlYWRvbmx5YwAAAAAAAAAAAQAAAEIAAABzCAAAAGUAAFoBAFJTKAAAAAAoAgAAAFIxAAAAUjIAAAAoAAAAACgAAAAAKAAAAABzTwAAAC90bXAvbmRrLVVzZXIvYnVpbGRob3N0L2luc3RhbGwvcHJlYnVpbHQvZGFyd2luLXg4Nl82NC9saWIvcHl0aG9uMi43L2ltYXBsaWIucHlSNAAAAJMAAABzAgAAAAYAcxoAAABbXlx3ISMkJSYnKissLjo7PD0+P15gfH4tXXQAAAAAYwMAAAAGAAAABAAAAEMAAABzfAEAAHQAAHwAAF8BAGQBAHwAAF8CAGQAAHwAAF8EAGkAAHwAAF8FAGkAAHwAAF8GAGQCAHwAAF8HAHQIAHwAAF8JAGQDAHwAAF8KAHwAAGoLAHwBAHwCAIMCAAF0DAB0DQBqDgBkBABkBQCDAgCDAQB8AABfDwB0EABqEQBkBgB8AABqDwAXZAcAF4MBAHwAAF8SAHwAAGoTAIMAAHwAAF8UAGQIAHwAAGoGAGsGAHK6AGQJAHwAAF8CAG4tAGQKAHwAAGoGAGsGAHLVAGQLAHwAAF8CAG4SAHwAAGoVAHwAAGoUAIMBAIIBAHwAAGoWAIMAAFwCAH0DAH0EAHwEAGQAAGcBAGsCAHIaAXwAAGoVAGQMAIMBAIIBAG4AAHQXAHwEAGQNABlqGACDAABqGQCDAACDAQB8AABfGgB4LQB0GwBEXSUAfQUAfAUAfAAAahoAawcAclsBcUABbgAAfAUAfAAAXxwAZAAAU1d8AABqFQBkDgCDAQCCAQBkAABTKA8AAABOUgwAAABSNQAAAGkAAAAAaQAQAABp//8AAHMIAAAAKD9QPHRhZz5zIgAAAFxkKykgKD9QPHR5cGU+W0EtWl0rKSAoP1A8ZGF0YT4uKil0BwAAAFBSRUFVVEhSBwAAAHQCAAAAT0tSCgAAAHMiAAAAbm8gQ0FQQUJJTElUWSByZXNwb25zZSBmcm9tIHNlcnZlcmn/////cxoAAABzZXJ2ZXIgbm90IElNQVA0IGNvbXBsaWFudCgdAAAAdAUAAABEZWJ1Z3QFAAAAZGVidWd0BQAAAHN0YXRldAQAAABOb25ldAcAAABsaXRlcmFsdA8AAAB0YWdnZWRfY29tbWFuZHN0EgAAAHVudGFnZ2VkX3Jlc3BvbnNlc3QVAAAAY29udGludWF0aW9uX3Jlc3BvbnNldAUAAABGYWxzZXQLAAAAaXNfcmVhZG9ubHl0BgAAAHRhZ251bXQEAAAAb3BlblIDAAAAdAYAAAByYW5kb210BwAAAHJhbmRpbnR0BgAAAHRhZ3ByZXQCAAAAcmV0BwAAAGNvbXBpbGV0BQAAAHRhZ3JldA0AAABfZ2V0X3Jlc3BvbnNldAcAAAB3ZWxjb21lUjAAAAB0CgAAAGNhcGFiaWxpdHl0BQAAAHR1cGxldAUAAAB1cHBlcnQFAAAAc3BsaXR0DAAAAGNhcGFiaWxpdGllc3QPAAAAQWxsb3dlZFZlcnNpb25zdBAAAABQUk9UT0NPTF9WRVJTSU9OKAYAAAB0BAAAAHNlbGZ0BAAAAGhvc3R0BAAAAHBvcnR0AwAAAHR5cHQDAAAAZGF0dAcAAAB2ZXJzaW9uKAAAAAAoAAAAAHNPAAAAL3RtcC9uZGstVXNlci9idWlsZGhvc3QvaW5zdGFsbC9wcmVidWlsdC9kYXJ3aW4teDg2XzY0L2xpYi9weXRob24yLjcvaW1hcGxpYi5weXQIAAAAX19pbml0X1+XAAAAczgAAAAAAQkBCQEJAQkBCQEJAQkBCQQQBRsBBgIXDQ8BDwEMAQ8BDAISAhIBDwESAR8GDQEPAQYBCQEFAmMCAAAAAgAAAAMAAABDAAAAczMAAAB8AQB0AABrBgByHwB0AQB8AAB8AQBqAgCDAACDAgBTdAMAZAEAfAEAFoMBAIIBAGQAAFMoAgAAAE5zGwAAAFVua25vd24gSU1BUDQgY29tbWFuZDogJyVzJygEAAAAdAgAAABDb21tYW5kc3QHAAAAZ2V0YXR0cnQFAAAAbG93ZXJ0DgAAAEF0dHJpYnV0ZUVycm9yKAIAAABSUwAAAHQEAAAAYXR0cigAAAAAKAAAAABzTwAAAC90bXAvbmRrLVVzZXIvYnVpbGRob3N0L2luc3RhbGwvcHJlYnVpbHQvZGFyd2luLXg4Nl82NC9saWIvcHl0aG9uMi43L2ltYXBsaWIucHl0CwAAAF9fZ2V0YXR0cl9f0gAAAHMGAAAAAAIMARMBYwMAAAADAAAAAwAAAEMAAABzQwAAAHwBAHwAAF8AAHwCAHwAAF8BAHQCAGoDAHwBAHwCAGYCAIMBAHwAAF8EAHwAAGoEAGoFAGQBAIMBAHwAAF8GAGQCAFMoAwAAAHPRAAAAU2V0dXAgY29ubmVjdGlvbiB0byByZW1vdGUgc2VydmVyIG9uICJob3N0OnBvcnQiCiAgICAgICAgICAgIChkZWZhdWx0OiBsb2NhbGhvc3Q6c3RhbmRhcmQgSU1BUDQgcG9ydCkuCiAgICAgICAgVGhpcyBjb25uZWN0aW9uIHdpbGwgYmUgdXNlZCBieSB0aGUgcm91dGluZXM6CiAgICAgICAgICAgIHJlYWQsIHJlYWRsaW5lLCBzZW5kLCBzaHV0ZG93bi4KICAgICAgICB0AgAAAHJiTigHAAAAUlQAAABSVQAAAHQGAAAAc29ja2V0dBEAAABjcmVhdGVfY29ubmVjdGlvbnQEAAAAc29ja3QIAAAAbWFrZWZpbGV0BAAAAGZpbGUoAwAAAFJTAAAAUlQAAABSVQAAACgAAAAAKAAAAABzTwAAAC90bXAvbmRrLVVzZXIvYnVpbGRob3N0L2luc3RhbGwvcHJlYnVpbHQvZGFyd2luLXg4Nl82NC9saWIvcHl0aG9uMi43L2ltYXBsaWIucHlSQwAAAN0AAABzCAAAAAAGCQEJARgBYwIAAAACAAAAAgAAAEMAAABzEAAAAHwAAGoAAGoBAHwBAIMBAFMoAQAAAHMeAAAAUmVhZCAnc2l6ZScgYnl0ZXMgZnJvbSByZW1vdGUuKAIAAABSZQAAAHQEAAAAcmVhZCgCAAAAUlMAAAB0BAAAAHNpemUoAAAAACgAAAAAc08AAAAvdG1wL25kay1Vc2VyL2J1aWxkaG9zdC9pbnN0YWxsL3ByZWJ1aWx0L2Rhcndpbi14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dG1wL3MDAAAAeXklcwwAAAAuKiIoW14iXSspIiRSkAAAAHMCAAAAJXNzOgAAAChGTEFHUyBJTlRFUk5BTERBVEUgUkZDODIyLlNJWkUgUkZDODIyLkhFQURFUiBSRkM4MjIuVEVYVClzDgAAAApBbGwgdGVzdHMgT0sucw4AAAAKVGVzdHMgZmFpbGVkLnM4AAAACklmIHlvdSB3b3VsZCBsaWtlIHRvIHNlZSBkZWJ1Z2dpbmcgb3V0cHV0LAp0cnk6ICVzIC1kNQooSAAAAFIGAQAAdAsAAABfX3ZlcnNpb25fX1IjAQAAUm8AAABSRAAAAFJHAAAAUmEAAABSFwEAAFK0AAAAUkEBAAB0BwAAAF9fYWxsX19SfgAAAFI4AAAAUggBAABSEgEAAFJRAAAAUloAAABSSAAAAFL2AAAAUlEBAABSPwEAAFL3AAAAUnwAAABS+QAAAFL0AAAAUvUAAABSAAAAAFIMAQAAdAsAAABJbXBvcnRFcnJvclIJAQAAUoQAAABSAQAAAFKFAAAAUkABAABSAgAAAFIDAAAAUgQAAABSBQAAAFIxAAAAdAYAAABnZXRvcHR0BwAAAGdldHBhc3N0BAAAAGFyZ3Z0BwAAAG9wdGxpc3RSzAAAAFIwAAAAUuwAAABSOwAAAHQOAAAAc3RyZWFtX2NvbW1hbmR0AwAAAG9wdFL4AAAAUlQAAAB0BwAAAGdldHVzZXJ0BAAAAFVTRVJ0BgAAAFBBU1NXRHQJAAAAdGVzdF9tZXNndAkAAAB0ZXN0X3NlcTF0CQAAAHRlc3Rfc2VxMlJmAQAAUmMBAABSOgAAAFJkAQAAUlIAAABSUAAAAFJlAQAAdAIAAABtbFL/AAAAUvIAAABS8wAAAHQEAAAAcGF0aFJPAAAAUlcAAABS2wAAACgAAAAAKAAAAAAoAAAAAHNPAAAAL3RtcC9uZGstVXNlci9idWlsZGhvc3QvaW5zdGFsbC9wcmVidWlsdC9kYXJ3aW4teDg2XzY0L2xpYi9weXRob24yLjcvaW1hcGxpYi5weXQIAAAAPG1vZHVsZT4LAAAAcygBAAAGDAYCYAIJAQ8EBgEGAQYBBgEMBAMCDQEKARMBCgEKAQoBDQENAQ0BDQEKAQoBDQENAQ0BDQENAQ0BCgETAQ0BDQETAQoBCgENAQoBDQENAQ0BDQEKAQ0BCgENAQoBCgEQBQ8BDwEPBQ8BDwEPAQ8BDwQT/wD/AP8A/wAGAwEQAQ0BBAIWTA0DFjkTLC0BLQIJLQkNCQsJIAwGGAIDASMBEgEWAgYBEwEMAQ8BDAEGAQcAEwIHAAwCCgIMAR8CGAIPAQwBDwEMARUBDwEMARIBDwESAQkBCQEJAQ8ECQEMAQ8BDAEVAQkBDwMJBwMBBgEPAgwBDwENARQBFwITARECHAESAQYAEgEQARQCEwEPAh4BBgIQAQcABgEUAQ4CCQIDAQUCBwQTAg==