gAJjZG9jdXRpbHMubm9kZXMKZG9jdW1lbnQKcQEpgXECfXEDKFUOY3VycmVudF9zb3VyY2VxBE5VEWF1dG9mb290bm90ZV9yZWZzcQVdcQZVBnJlZmlkc3EHfXEIVQhkb2N1bWVudHEJaAJVB3RhZ25hbWVxCmgJVQxjdXJyZW50X2xpbmVxC05VCWNpdGF0aW9uc3EMXXENVRJzdWJzdGl0dXRpb25fbmFtZXNxDn1xD1UDaWRzcRB9cREoWD8AAABhcGFjaGVfYmVhbS50eXBlaGludHMuZGVjb3JhdG9ycy5XaXRoVHlwZUhpbnRzLndpdGhfaW5wdXRfdHlwZXNxEmNzcGhpbnguYWRkbm9kZXMKZGVzY19zaWduYXR1cmUKcRMpgXEUfXEVKFUGcGFyZW50cRZjc3BoaW54LmFkZG5vZGVzCmRlc2MKcRcpgXEYfXEZKGgWY3NwaGlueC5hZGRub2RlcwpkZXNjX2NvbnRlbnQKcRopgXEbfXEcKGgWaBcpgXEdfXEeKGgWY2RvY3V0aWxzLm5vZGVzCnNlY3Rpb24KcR8pgXEgfXEhKGgWaAJVCXJhd3NvdXJjZXEiVQBVCGNoaWxkcmVucSNdcSQoY2RvY3V0aWxzLm5vZGVzCnRpdGxlCnElKYFxJn1xJyhoFmggaCJYKgAAAGFwYWNoZVxfYmVhbVwudHlwZWhpbnRzXC5kZWNvcmF0b3JzIG1vZHVsZXEoaCNdcSljZG9jdXRpbHMubm9kZXMKVGV4dApxKlgnAAAAYXBhY2hlX2JlYW0udHlwZWhpbnRzLmRlY29yYXRvcnMgbW9kdWxlcSuFgXEsfXEtKGgWaCZoCWgCVQRsaW5lcS5OVQZzb3VyY2VxL05oIlgqAAAAYXBhY2hlXF9iZWFtXC50eXBlaGludHNcLmRlY29yYXRvcnMgbW9kdWxlcTB1YmFoCWgCaC5LAlUKYXR0cmlidXRlc3ExfXEyKFUIYmFja3JlZnNxM11VA2lkc3E0XVUHY2xhc3Nlc3E1XVUFbmFtZXNxNl1VCGR1cG5hbWVzcTdddWgKVQV0aXRsZXE4aC9YYQAAAC9ob21lL2pib25vZnJlL1dvcmtzcGFjZS9iZWFtL3Nka3MvcHl0aG9uL3RhcmdldC9kb2NzL3NvdXJjZS9hcGFjaGVfYmVhbS50eXBlaGludHMuZGVjb3JhdG9ycy5yc3RxOXViY3NwaGlueC5hZGRub2RlcwppbmRleApxOimBcTt9cTwoaBZoIGgiVQBoI11oCWgCaC5LAWgxfXE9KGgzXWg0XVUHZW50cmllc11xPihVBnNpbmdsZXE/WCkAAABhcGFjaGVfYmVhbS50eXBlaGludHMuZGVjb3JhdG9ycyAobW9kdWxlKVgnAAAAbW9kdWxlLWFwYWNoZV9iZWFtLnR5cGVoaW50cy5kZWNvcmF0b3JzVQBOdHFAYWg2XWg1XWg3XXVoClUFaW5kZXhxQWgvWHsAAAAvaG9tZS9qYm9ub2ZyZS9Xb3Jrc3BhY2UvYmVhbS9zZGtzL3B5dGhvbi9hcGFjaGVfYmVhbS90eXBlaGludHMvZGVjb3JhdG9ycy5weTpkb2NzdHJpbmcgb2YgYXBhY2hlX2JlYW0udHlwZWhpbnRzLmRlY29yYXRvcnNxQnViY2RvY3V0aWxzLm5vZGVzCnBhcmFncmFwaApxQymBcUR9cUUoaBZoIGgiWE0AAABUeXBlIGhpbnRpbmcgZGVjb3JhdG9ycyBhbGxvd2luZyBzdGF0aWMgb3IgcnVudGltZSB0eXBlLWNoZWNraW5nIGZvciB0aGUgU0RLLnFGaCNdcUdoKlhNAAAAVHlwZSBoaW50aW5nIGRlY29yYXRvcnMgYWxsb3dpbmcgc3RhdGljIG9yIHJ1bnRpbWUgdHlwZS1jaGVja2luZyBmb3IgdGhlIFNESy5xSIWBcUl9cUooaBZoRGgJaAJoLk5oL05oImhGdWJhaAloAmguSwFoMX1xSyhoM11oNF1oNV1oNl1oN111aApVCXBhcmFncmFwaHFMaC9YewAAAC9ob21lL2pib25vZnJlL1dvcmtzcGFjZS9iZWFtL3Nka3MvcHl0aG9uL2FwYWNoZV9iZWFtL3R5cGVoaW50cy9kZWNvcmF0b3JzLnB5OmRvY3N0cmluZyBvZiBhcGFjaGVfYmVhbS50eXBlaGludHMuZGVjb3JhdG9yc3FNdWJoQymBcU59cU8oaBZoIGgiWKAAAABUaGlzIG1vZHVsZSBkZWZpbmVzIGRlY29yYXRvcnMgd2hpY2ggdXRpbGl6ZSB0aGUgdHlwZS1oaW50cyBkZWZpbmVkIGluCid0eXBlX2hpbnRzLnB5JyB0byBhbGxvdyBhbm5vdGF0aW9uIG9mIHRoZSB0eXBlcyBvZiBmdW5jdGlvbiBhcmd1bWVudHMgYW5kCnJldHVybiB2YWx1ZXMucVBoI11xUWgqWKQAAABUaGlzIG1vZHVsZSBkZWZpbmVzIGRlY29yYXRvcnMgd2hpY2ggdXRpbGl6ZSB0aGUgdHlwZS1oaW50cyBkZWZpbmVkIGluCuKAmHR5cGVfaGludHMucHnigJkgdG8gYWxsb3cgYW5ub3RhdGlvbiBvZiB0aGUgdHlwZXMgb2YgZnVuY3Rpb24gYXJndW1lbnRzIGFuZApyZXR1cm4gdmFsdWVzLnFShYFxU31xVChoFmhOaAloAmguTmgvTmgiaFB1YmFoCWgCaC5LA2gxfXFVKGgzXWg0XWg1XWg2XWg3XXVoCmhMaC9oTXViaEMpgXFWfXFXKGgWaCBoIlj9AAAAVHlwZS1oaW50cyBmb3IgZnVuY3Rpb25zIGFyZSBhbm5vdGF0ZWQgdXNpbmcgdHdvIHNlcGFyYXRlIGRlY29yYXRvcnMuIE9uZSBpcyBmb3IKdHlwZS1oaW50aW5nIHRoZSB0eXBlcyBvZiBmdW5jdGlvbiBhcmd1bWVudHMsIHRoZSBvdGhlciBmb3IgdHlwZS1oaW50aW5nIHRoZQpmdW5jdGlvbiByZXR1cm4gdmFsdWUuIFR5cGUtaGludHMgY2FuIGVpdGhlciBiZSBzcGVjaWZpZWQgaW4gdGhlIGZvcm0gb2YKcG9zaXRpb25hbCBhcmd1bWVudHM6OmgjXXFYaCpY/AAAAFR5cGUtaGludHMgZm9yIGZ1bmN0aW9ucyBhcmUgYW5ub3RhdGVkIHVzaW5nIHR3byBzZXBhcmF0ZSBkZWNvcmF0b3JzLiBPbmUgaXMgZm9yCnR5cGUtaGludGluZyB0aGUgdHlwZXMgb2YgZnVuY3Rpb24gYXJndW1lbnRzLCB0aGUgb3RoZXIgZm9yIHR5cGUtaGludGluZyB0aGUKZnVuY3Rpb24gcmV0dXJuIHZhbHVlLiBUeXBlLWhpbnRzIGNhbiBlaXRoZXIgYmUgc3BlY2lmaWVkIGluIHRoZSBmb3JtIG9mCnBvc2l0aW9uYWwgYXJndW1lbnRzOnFZhYFxWn1xWyhoFmhWaAloAmguTmgvTmgiWPwAAABUeXBlLWhpbnRzIGZvciBm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QymBcZV9cZYoaBZoIGgiWDMAAABFeGFtcGxlIHVzYWdlIGZvciB0eXBlLWhpbnRpbmcgcmV0dXJuIHZhbHVlcyBvbmx5Ojpxl2gjXXGYaCpYMgAAAEV4YW1wbGUgdXNhZ2UgZm9yIHR5cGUtaGludGluZyByZXR1cm4gdmFsdWVzIG9ubHk6cZmFgXGafXGbKGgWaJVoCWgCaC5OaC9OaCJYMgAAAEV4YW1wbGUgdXNhZ2UgZm9yIHR5cGUtaGludGluZyByZXR1cm4gdmFsdWVzIG9ubHk6dWJhaAloAmguSyJoMX1xnChoM11oNF1oNV1oNl1oN111aApoTGgvaE11YmhdKYFxnX1xnihoFmggaCJYZgAAAEB3aXRoX291dHB1dF90eXBlcyhUdXBsZVtpbnQsIGJvb2xdKQpkZWYgY29tcHJlc3NfcG9pbnQoZWNfcG9pbnQpOgogIHJldHVybiBlY19wb2ludC54LCBlY19wb2ludC55IDwgMGgjXXGfaCpYZgAAAEB3aXRoX291dHB1dF90eXBlcyhUdXBsZVtpbnQsIGJvb2xdKQpkZWYgY29tcHJlc3NfcG9pbnQoZWNfcG9pbnQpOgogIHJldHVybiBlY19wb2ludC54LCBlY19wb2ludC55IDwgMHGghYFxoX1xoihoFmidaCJVAHViYWgJaAJoLksnaDF9caMoaDNdaDRdaGVoZmg2XWg1XWg3XXVoCmhnaC9oTXViaEMpgXGkfXGlKGgWaCBoIlhBAAAARXhhbXBsZSB1c2FnZSBmb3IgdHlwZS1oaW50aW5nIGJvdGggYXJndW1lbnRzIGFuZCByZXR1cm4gdmFsdWVzOjpxpmgjXXGnaCpYQAAAAEV4YW1wbGUgdXNhZ2UgZm9yIHR5cGUtaGludGluZyBib3RoIGFyZ3VtZW50cyBhbmQgcmV0dXJuIHZhbHVlczpxqIWBcal9caooaBZopGgJaAJoLk5oL05oIlhAAAAARXhhbXBsZSB1c2FnZSBmb3IgdHlwZS1oaW50aW5nIGJvdGggYXJndW1lbnRzIGFuZCByZXR1cm4gdmFsdWVzOnViYWgJaAJoLksoaDF9casoaDNdaDRdaDVdaDZdaDdddWgKaExoL2hNdWJoXSmBcax9ca0oaBZoIGgiWFMAAABAd2l0aF9pbnB1dF90eXBlcyhhPWludCkKQHdpdGhfb3V0cHV0X3R5cGVzKHN0cikKZGVmIGludF90b19zdHIoYSk6CiAgcmV0dXJuIHN0cihhKWgjXXGuaCpYUwAAAEB3aXRoX2lucHV0X3R5cGVzKGE9aW50KQpAd2l0aF9vdXRwdXRfdHlwZXMoc3RyKQpkZWYgaW50X3RvX3N0cihhKToKICByZXR1cm4gc3RyKGEpca+FgXGwfXGxKGgWaKxoIlUAdWJhaAloAmguSy1oMX1xsihoM11oNF1oZWhmaDZdaDVdaDdddWgKaGdoL2hNdWJoQymBcbN9cbQoaBZoIGgiWIIAAABUeXBlLWhpbnRpbmcgYSBmdW5jdGlvbiB3aXRoIGFyZ3VtZW50cyB0aGF0IHVucGFjayB0dXBsZXMgYXJlIGFsc28gc3VwcG9ydGVkLiBBcwphbiBleGFtcGxlLCBzdWNoIGEgZnVuY3Rpb24gd291bGQgYmUgZGVmaW5lZCBhczo6aCNdcbVoKliBAAAAVHlwZS1oaW50aW5nIGEgZnVuY3Rpb24gd2l0aCBhcmd1bWVudHMgdGhhdCB1bnBhY2sgdHVwbGVzIGFyZSBhbHNvIHN1cHBvcnRlZC4gQXMKYW4gZXhhbXBsZSwgc3VjaCBhIGZ1bmN0aW9uIHdvdWxkIGJlIGRlZmluZWQgYXM6cbaFgXG3fXG4KGgWaLNoCWgCaC5OaC9OaCJYgQAAAFR5cGUtaGludGluZyBhIGZ1bmN0aW9uIHdpdGggYXJndW1lbnRzIHRoYXQgdW5wYWNrIHR1cGxlcyBhcmUgYWxzbyBzdXBwb3J0ZWQuIEFzCmFuIGV4YW1wbGUsIHN1Y2ggYSBmdW5jdGlvbiB3b3VsZCBiZSBkZWZpbmVkIGFzOnViYWgJaAJoLksvaDF9cbkoaDNdaDRdaDVdaDZdaDdddWgKaExoL2hNdWJoXSmBcbp9cbsoaBZoIGgiWBYAAABkZWYgZm9vKChhLCBiKSk6CiAgLi4uaCNdcbxoKlgWAAAAZGVmIGZvbygoYSwgYikpOgogIC4uLnG9hYFxvn1xvyhoFmi6aCJVAHViYWgJaAJoLks1aDF9ccAoaDNdaDRdaGVoZmg2XWg1XWg3XXVoCmhnaC9oTXViaEMpgXHBfXHCKGgWaCBoIlhDAAAAVGhlIHZhbGlkIHR5cGUtaGludCBmb3Igc3VjaCBhcyBmdW5jdGlvbiBsb29rcyBsaWtlIHRoZSBmb2xsb3dpbmc6OnHDaCNdccRoKlhCAAAAVGhlIHZhbGlkIHR5cGUtaGludCBmb3Igc3VjaCBhcyBmdW5jdGlvbiBsb29rcyBsaWtlIHRoZSBmb2xsb3dpbmc6ccWFgXHGfXHHKGgWaMFoCWgCaC5OaC9OaCJYQgAAAFRoZSB2YWxpZCB0eXBlLWhpbnQgZm9yIHN1Y2ggYXMgZnVuY3Rpb24gbG9va3MgbGlrZSB0aGUgZm9sbG93aW5nOnViYWgJaAJoLks1aDF9ccgoaDNdaDRdaDVdaDZdaDdddWgKaExoL2hNdWJoXSmBccl9ccooaBZoIGgiWDYAAABAd2l0aF9pbnB1dF90eXBlcyhhPWludCwgYj1pbnQpCmRlZiBmb28oKGEsIGIpKToKICAuLi5oI11xy2gqWDYAAABAd2l0aF9pbnB1dF90eXBlcyhhPWludCwgYj1pbnQpCmRlZiBmb28oKGEsIGIpKToKICAuLi5xzIWBcc19cc4oaBZoyWgiVQB1YmFoCWgCaC5LOmgxfXHPKGgzXWg0XWhlaGZoNl1oNV1oN111aApoZ2gvaE11YmhDKYFx0H1x0ShoFmggaCJYjQAAAE5vdGljZSB0aGF0IHdlIGhpbnQgdGhlIHR5cGUgb2YgZWFjaCB1bnBhY2tlZCBhcmd1bWVudCBpbmRlcGVuZGVudGx5LCByYXRoZXIKdGhhbiBoaW50aW5nIHRoZSB0eXBlIG9mIHRoZSB0dXBsZSBhcyBhIHdob2xlIChUdXBsZVtpbnQsIGludF0pLnHSaCNdcdNoKliNAAAATm90aWNlIHRoYXQgd2UgaGludCB0aGUgdHlwZSBvZiBlYWNoIHVucGFja2VkIGFyZ3VtZW50IGluZGVwZW5kZW50bHksIHJhdGhlcgp0aGFuIGhpbnRpbmcgdGhlIHR5cGUgb2YgdGhlIHR1cGxlIGFzIGEgd2hvbGUgKFR1cGxlW2ludCwgaW50XSkucdSFgXHVfXHWKGgWaNBoCWgCaC5OaC9OaCJo0nViYWgJaAJoLks7aDF9cdcoaDNdaDRdaDVdaDZdaDdddWgKaExoL2hNdWJoQymBcdh9cdkoaBZoIGgiWG8BAABPcHRpb25hbGx5LCB0eXBlLWhpbnRzIGNhbiBiZSB0eXBlLWNoZWNrZWQgYXQgcnVudGltZS4gVG8gdG9nZ2xlIHRoaXMgYmVoYXZpb3IKdGhpcyBtb2R1bGUgZGVmaW5lcyB0d28gZnVuY3Rpb25zOiAnZW5hYmxlX3J1bl90aW1lX3R5cGVfY2hlY2tpbmcnIGFuZAonZGlzYWJsZV9ydW5fdGltZV90eXBlX2NoZWNraW5nJy4gTk9URTogZm9yIHRoaXMgdG9nZ2xlIGJlaGF2aW9yIHRvIHdvcmsKcHJvcGVybHkgaXQgbXVzdCBhcHBlYXIgYXQgdGhlIHRvcCBvZiB0aGUgbW9kdWxlIHdoZXJlIGFsbCBmdW5jdGlvbnMgYXJlCmRlZmluZWQsIG9yIGJlZm9yZSBpbXBvcnRpbmcgYSBtb2R1bGUgY29udGFpbmluZyB0eXBlLWhpbnRlZCBmdW5jdGlvbnMucdpoI11x22gqWHcBAABPcHRpb25hbGx5LCB0eXBlLWhpbnRzIGNhbiBiZSB0eXBlLWNoZWNrZWQgYXQgcnVudGltZS4gVG8gdG9nZ2xlIHRoaXMgYmVoYXZpb3IKdGhpcyBtb2R1bGUgZGVmaW5lcyB0d28gZnVuY3Rpb25zOiDigJhlbmFibGVfcnVuX3RpbWVfdHlwZV9jaGVja2luZ+KAmSBhbmQK4oCYZGlzYWJsZV9ydW5fdGltZV90eXBlX2NoZWNraW5n4oCZLiBOT1RFOiBmb3IgdGhpcyB0b2dnbGUgYmVoYXZpb3IgdG8gd29yawpwcm9wZXJseSBpdCBtdXN0IGFwcGVhciBhdCB0aGUgdG9wIG9mIHRoZSBtb2R1bGUgd2hlcmUgYWxsIGZ1bmN0aW9ucyBhcmUKZGVmaW5lZCwgb3IgYmVmb3JlIGltcG9ydGluZyBhIG1vZHVsZSBjb250YWluaW5nIHR5cGUtaGludGVkIGZ1bmN0aW9ucy5x3IWBcd19cd4oaBZo2GgJaAJoLk5oL05oImjadWJhaAloAmguSz5oMX1x3yhoM11oNF1oNV1oNl1oN111aApoTGgvaE11Ymg6KYFx4H1x4ShoFmggaCJVAGgjXWgJaAJoLk5oMX1x4ihoM11oNF1VB2VudHJpZXNdceMoaD9YOQAAAFdpdGhUeXBlSGludHMgKGNsYXNzIGluIGFwYWNoZV9iZWFtLnR5cGVoaW50cy5kZWNvcmF0b3JzKVguAAAAYXBhY2hlX2JlYW0udHlwZWhpbnRzLmRlY29yYXRvcnMuV2l0aFR5cGVIaW50c3HkVQBOdHHlYWg2XWg1XWg3XXVoCmhBaC9OdWJoHWg6KYFx5n1x5yhoFmggaCJVAGgjXWgJaAJoLk5oMX1x6ChoM11oNF1VB2VudHJpZXNdcekoaD9YDgAAAFR5cGVDaGVja0Vycm9ycepYLwAAAGFwYWNoZV9iZWFtLnR5cGVoaW50cy5kZWNvcmF0b3JzLlR5cGVDaGVja0Vycm9ycetVAE50cexhaDZdaDVdaDdddWgKaEFoL1iKAAAAL2hvbWUvamJvbm9mcmUvV29ya3NwYWNlL2JlYW0vc2Rrcy9weXRob24vYXBhY2hlX2JlYW0vdHlwZWhpbnRzL2RlY29yYXRvcnMucHk6ZG9jc3RyaW5nIG9mIGFwYWNoZV9iZWFtLnR5cGVoaW50cy5kZWNvcmF0b3JzLlR5cGVDaGVja0Vycm9yce11YmgXKYFx7n1x7yhoFmggaCJVAGgjXXHwKGgTKYFx8X1x8ihoFmjuaCJo6mgjXXHzKGNzcGhpbnguYWRkbm9kZXMKZGVzY19hbm5vdGF0aW9uCnH0KYFx9X1x9ihoFmjxaCJYCgAAAGV4Y2VwdGlvbiBoI11x92gqWAoAAABleGNlcHRpb24gcfiFgXH5fXH6KGgWaPVoCWgCaC5OaC9OaCJVAHViYWgJaAJoLk5oMX1x+yhoM11oNF1oZWhmaDZdaDVdaDdddWgKVQ9kZXNjX2Fubm90YXRpb25x/GgvWIoAAAAvaG9tZS9qYm9ub2ZyZS9Xb3Jrc3BhY2UvYmVhbS9zZGtzL3B5dGhvbi9hcGFjaGVfYmVhbS90eXBlaGludHMvZGVjb3JhdG9ycy5weTpkb2NzdHJpbmcgb2YgYXBhY2hlX2JlYW0udHlwZWhpbnRzLmRlY29yYXRvcnMuVHlwZUNoZWNrRXJyb3Jx/XViY3NwaGlueC5hZGRub2RlcwpkZXNjX2FkZG5hbWUKcf4pgXH/fXIAAQAAKGgWaPFoIlghAAAAYXBhY2hlX2JlYW0udHlwZWhpbnRzLmRlY29yYXRvcnMuaCNdcgEBAABoKlghAAAAYXBhY2hlX2JlYW0udHlwZWhp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AAAoaDNdaDRdaDVdaDZdaDdddWgKaExoL2jtdWJhaAloAmguTmgxfXJYAQAAKGgzXWg0XWg1XWg2XWg3XXVoClUMZGVzY19jb250ZW50clkBAABoL2j9dWJlaAloAmguTmgxfXJaAQAAKGgzXWg0XVUGZG9tYWluclsBAABYAgAAAHB5VQdub2luZGV4clwBAACJVQhkZXNjdHlwZXJdAQAAWAkAAABleGNlcHRpb25yXgEAAFUHb2JqdHlwZXJfAQAAal4BAABoNl1oNV1oN111aApVBGRlc2NyYAEAAGgvaO11Ymg6KYFyYQEAAH1yYgEAAChoFmggaCJVAGgjXWgJaAJoLk5oMX1yYwEAAChoM11oNF1VB2VudHJpZXNdcmQBAAAoaD9YPwAAAHdpdGhfaW5wdXRfdHlwZXMoKSAoaW4gbW9kdWxlIGFwYWNoZV9iZWFtLnR5cGVoaW50cy5kZWNvcmF0b3JzKVgxAAAAYXBhY2hlX2JlYW0udHlwZWhpbnRzLmRlY29yYXRvcnMud2l0aF9pbnB1dF90eXBlc3JlAQAAVQBOdHJmAQAAYWg2XWg1XWg3XXVoCmhBaC9OdWJoFymBcmcBAAB9cmgBAAAoaBZoIGgiVQBoI11yaQEAAChoEymBcmoBAAB9cmsBAAAoaBZqZwEAAGgiWDQAAAB3aXRoX2lucHV0X3R5cGVzKCpwb3NpdGlvbmFsX2hpbnRzLCAqKmtleXdvcmRfaGludHMpaCNdcmwBAAAoaP4pgXJtAQAAfXJuAQAAKGgWamoBAABoIlghAAAAYXBhY2hlX2JlYW0udHlwZWhpbnRzLmRlY29yYXRvcnMuaCNdcm8BAABoKlghAAAAYXBhY2hlX2JlYW0udHlwZWhpbnRzLmRlY29yYXRvcnMucnABAACFgXJxAQAAfXJyAQAAKGgWam0BAABoCWgCaC5OaC9OaCJVAHViYWgJaAJoLk5oMX1ycwEAAChoM11oNF1oZWhmaDZdaDVdaDdddWgKagYBAABoL1iMAAAAL2hvbWUvamJvbm9mcmUvV29ya3NwYWNlL2JlYW0vc2Rrcy9weXRob24vYXBhY2hlX2JlYW0vdHlwZWhpbnRzL2RlY29yYXRvcnMucHk6ZG9jc3RyaW5nIG9mIGFwYWNoZV9iZWFtLnR5cGVoaW50cy5kZWNvcmF0b3JzLndpdGhfaW5wdXRfdHlwZXNydAEAAHViagcBAAApgXJ1AQAAfXJ2AQAAKGgWamoBAABoIlgQAAAAd2l0aF9pbnB1dF90eXBlc3J3AQAAaCNdcngBAABoKlgQAAAAd2l0aF9pbnB1dF90eXBlc3J5AQAAhYFyegEAAH1yewEAAChoFmp1AQAAaAloAmguTmgvTmgiVQB1YmFoCWgCaC5OaDF9cnwBAAAoaDNdaDRdaGVoZmg2XWg1XWg3XXVoCmoPAQAAaC9qdAEAAHViY3NwaGlueC5hZGRub2RlcwpkZXNjX3BhcmFtZXRlcmxpc3QKcn0BAAApgXJ+AQAAfXJ/AQAAKGgWamoBAABoIlgiAAAAKnBvc2l0aW9uYWxfaGludHMsICoqa2V5d29yZF9oaW50c2gjXXKAAQAAKGNzcGhpbnguYWRkbm9kZXMKZGVzY19wYXJhbWV0ZXIKcoEBAAApgXKCAQAAfXKDAQAAKGgWan4BAABoClUOZGVzY19wYXJhbWV0ZXJyhAEAAGgjXXKFAQAAaCpYEQAAACpwb3NpdGlvbmFsX2hpbnRzcoYBAACFgXKHAQAAfXKIAQAAKGgWaoIBAABoIlUAdWJhaDF9cokBAAAoaDNdaDRdaGVoZmg2XWg1XWg3XXVoIlgRAAAAKnBvc2l0aW9uYWxfaGludHN1YmqBAQAAKYFyigEAAH1yiwEAAChoFmp+AQAAaApqhAEAAGgjXXKMAQAAaCpYDwAAACoqa2V5d29yZF9oaW50c3KNAQAAhYFyjgEAAH1yjwEAAChoFmqKAQAAaCJVAHViYWgxfXKQAQAAKGgzXWg0XWhlaGZoNl1oNV1oN111aCJYDwAAACoqa2V5d29yZF9oaW50c3ViZWgJaAJoLk5oMX1ykQEAAChoM11oNF1oZWhmaDZdaDVdaDdddWgKVRJkZXNjX3BhcmFtZXRlcmxpc3RykgEAAGgvanQBAAB1YmoQAQAAKYFykwEAAH1ylAEAAChoFmpqAQAAaCJVAGgjXXKVAQAAahQBAAApgXKWAQAAfXKXAQAAKGgWapMBAABoCmoXAQAAaCNdcpgBAABqGQEAACmBcpkBAAB9cpoBAAAoaBZqlgEAAGgKahwBAABoI11ymwEAAGgqWAgAAABbc291cmNlXXKcAQAAhYFynQEAAH1yngEAAChoFmqZAQAAaCJVAHViYWgxfXKfAQAAKGgzXWg0XWg1XXKgAQAAaiMBAABhaDZdaDdddWgiVQB1YmFoMX1yoQEAAChoM11oNF1VCXJlZmRvbWFpbmolAQAAVQZyZWZkb2NqJgEAAFUJcmVmdGFyZ2V0VSlfbW9kdWxlcy9hcGFjaGVfYmVhbS90eXBlaGludHMvZGVjb3JhdG9yc1UFcmVmaWRqdwEAAGg2XVUHcmVmdHlwZWonAQAAaDVdaDddVQtyZWZleHBsaWNpdIl1aCJVAHViYWgJaAJoLk5oMX1yogEAAChoM11oNF1VBGV4cHJqKQEAAGg2XWg1XWg3XXVoCmoqAQAAaC9OdWJlaAloAmguTmgxfXKjAQAAKGgzXWosAQAAai0BAABYIAAAAGFwYWNoZV9iZWFtLnR5cGVoaW50cy5kZWNvcmF0b3JzcqQBAACFgXKlAQAAfXKmAQAAYmg0XXKnAQAAamUBAABhajIBAACJajMBAABVAGo0AQAAancBAABoNl1yqAEAAGplAQAAYWg1XWg3XXVoCmo2AQAAaC9qdAEAAHViaBopgXKpAQAAfXKqAQAAKGgWamcBAABoIlUAaCNdcqsBAAAoaEMpgXKsAQAAfXKtAQAAKGgWaqkBAABoIlhLAAAAQSBkZWNvcmF0b3IgdGhhdCB0eXBlLWNoZWNrcyBkZWZpbmVkIHR5cGUtaGludHMgd2l0aCBwYXNzZWQgZnVuYyBhcmd1bWVudHMucq4BAABoI11yrwEAAGgqWEsAAABBIGRlY29yYXRvciB0aGF0IHR5cGUtY2hlY2tzIGRlZmluZWQgdHlwZS1oaW50cyB3aXRoIHBhc3NlZCBmdW5jIGFyZ3VtZW50cy5ysAEAAIWBcrEBAAB9crIBAAAoaBZqrAEAAGgJaAJoLk5oL05oImquAQAAdWJhaAloAmguSwFoMX1yswEAAChoM11oNF1oNV1oNl1oN111aApoTGgvWIwAAAAvaG9tZS9qYm9ub2ZyZS9Xb3Jrc3BhY2UvYmVhbS9zZGtzL3B5dGhvbi9hcGFjaGVfYmVhbS90eXBlaGludHMvZGVjb3JhdG9ycy5weTpkb2NzdHJpbmcgb2YgYXBhY2hlX2JlYW0udHlwZWhpbnRzLmRlY29yYXRvcnMud2l0aF9pbnB1dF90eXBlc3K0AQAAdWJoQymBcrUBAAB9crYBAAAoaBZqqQEAAGgiWNUAAABBbGwgdHlwZS1oaW50ZWQgYXJndW1lbnRzIGNhbiBiZSBzcGVjaWZpZWQgdXNpbmcgcG9zaXRpb25hbCBhcmd1bWVudHMsCmtleXdvcmQgYXJndW1lbnRzLCBvciBhIG1peCBvZiBib3RoLiBBZGRpdGlvbmFseSwgYWxsIGZ1bmN0aW9uIGFyZ3VtZW50cyBtdXN0CmJlIHR5cGUtaGludGVkIGluIHRvdGFsaXR5IGlmIGV2ZW4gb25lIHBhcmFtZXRlciBpcyB0eXBlLWhpbnRlZC5ytwEAAGgjXXK4AQAAaCpY1QAAAEFsbCB0eXBlLWhpbnRlZCBhcmd1bWVudHMgY2FuIGJlIHNwZWNpZmllZCB1c2luZyBwb3NpdGlvbmFsIGFyZ3VtZW50cywKa2V5d29yZCBhcmd1bWVudHMsIG9yIGEgbWl4IG9mIGJvdGguIEFkZGl0aW9uYWx5LCBhbGwgZnVuY3Rpb24gYXJndW1lbnRzIG11c3QKYmUgdHlwZS1oaW50ZWQgaW4gdG90YWxpdHkgaWYgZXZlbiBvbmUgcGFyYW1ldGVyIGlzIHR5cGUtaGludGVkLnK5AQAAhYFyugEAAH1yuwEAAChoFmq1AQAAaAloAmguTmgvTmgiarcBAAB1YmFoCWgCaC5LA2gxfXK8AQAAKGgzXWg0XWg1XWg2XWg3XXVoCmhMaC9qtAEAAHViaEMpgXK9AQAAfXK+AQAAKGgWaqkBAABoIliwAAAAT25jZSBmdWxseSBkZWNvcmF0ZWQsIGlmIHRoZSBhcmd1bWVudHMgcGFzc2VkIHRvIHRoZSByZXN1bHRpbmcgZnVuY3Rpb24KdmlvbGF0ZSB0aGUgdHlwZS1oaW50IGNvbnN0cmFpbnRzIGRlZmluZWQsIGEgOmNsYXNzOmBUeXBlQ2hlY2tFcnJvcmAKZGV0YWlsaW5nIHRoZSBlcnJvciB3aWxsIGJlIHJhaXNlZC5oI11yvwEAAChoKlh1AAAAT25jZSBmdWxseSBkZWNvcmF0ZWQsIGlmIHRoZSBhcmd1bWVudHMgcGFzc2VkIHRvIHRoZSByZXN1bHRpbmcgZnVuY3Rpb24KdmlvbGF0ZSB0aGUgdHlwZS1oaW50IGNvbnN0cmFpbnRzIGRlZmluZWQsIGEgcsABAACFgXLBAQAAfXLCAQAAKGgWar0BAABoCWgCaC5OaC9OaCJYdQAAAE9uY2UgZnVsbHkgZGVjb3JhdGVkLCBpZiB0aGUgYXJndW1lbnRzIHBhc3NlZCB0byB0aGUgcmVzdWx0aW5nIGZ1bmN0aW9uCnZpb2xhdGUgdGhlIHR5cGUtaGludCBjb25zdHJhaW50cyBkZWZpbmVkLCBhIHViahQBAAApgXLDAQAAfXLEAQAAKGgWar0BAABoIlgXAAAAOmNsYXNzOmBUeXBlQ2hlY2tFcnJvcmByxQEAAGgjXXLGAQAAakQBAAApgXLHAQAAfXLIAQAAKGgWasMBAABoCmpHAQAAaCNdcskBAABoKlgOAAAAVHlwZUNoZWNrRXJyb3JyygEAAIWBcssBAAB9cswBAAAoaBZqxwEAAGgiVQB1YmFoMX1yzQEAAChoM11oNF1oNV1yzgEAAChqTgEAAFgCAAAAcHlyzwEAAFgIAAAAcHktY2xhc3Ny0AEAAGVoNl1oN111aCJqxQEAAHViYWguTmgxfXLRAQAAKGgzXWpSAQAATmg0XWpTAQAAaiYBAABVCXJlZmRvbWFpbmrPAQAAalQBAABYDgAAAFR5cGVDaGVja0Vycm9yalUBAACJVQdyZWZ0eXBlWAUAAABjbGFzc2pWAQAAaqUBAABoNl1oNV1oN11VC3JlZmV4cGxpY2l0iXVoCmoXAQAAaC9OdWJoKlgkAAAACmRldGFpbGluZyB0aGUgZXJyb3Igd2lsbCBiZSByYWlzZWQuctIBAACFgXLTAQAAfXLUAQAAKGgWar0BAABoCWgCaC5OaC9OaCJYJAAAAApkZXRhaWxpbmcgdGhlIGVycm9yIHdpbGwgYmUgcmFpc2VkLnViZWgJaAJoLksHaDF9ctUBAAAoaDNdaDRdaDVdaDZdaDdddWgKaExoL2q0AQAAdWJoQymBctYBAAB9ctcBAAAoaBZqqQEAAGgiWA4AAABUbyBiZSB1c2VkIGFzOnLYAQAAaCNdctkBAABoKlgOAAAAVG8gYmUgdXNlZCBhczpy2gEAAIWBctsBAAB9ctwBAAAoaBZq1gEAAGgJaAJoLk5oL05oImrYAQAAdWJhaAloAmguSwtoMX1y3QEAAChoM11oNF1oNV1oNl1oN111aApoTGgvarQBAAB1YmhdKYFy3gEAAH1y3wEAAChoFmqpAQAAaCJYawAAAGZyb20gYXBhY2hlX2JlYW0udHlwZWhpbnRzIGltcG9ydCB3aXRoX2lucHV0X3R5cGVzCgpAd2l0aF9pbnB1dF90eXBlcyhzdHIpCmRlZiB1cHBlcihzKToKICByZXR1cm4gcy51cHBlcigpaCNdcuABAABoKlhrAAAAZnJvbSBhcGFjaGVfYmVhbS50eXBlaGludHMgaW1wb3J0IHdpdGhfaW5wdXRfdHlwZXMKCkB3aXRoX2lucHV0X3R5cGVzKHN0cikKZGVmIHVwcGVyKHMpOgogIHJldHVybiBzLnVwcGVyKCly4QEAAIWBcuIBAAB9cuMBAAAoaBZq3gEAAGgiVQB1YmFoCWgCaC5LDWgxfXLkAQAAKGgzXWg0XWhlaGZVDHRlc3Rub2RldHlwZVgIAAAAdGVzdGNvZGVVB29wdGlvbnNy5QEAAH1VBmdyb3Vwc11y5gEAAFUHZGVmYXVsdHLnAQAAYWg2XWg1XWg3XXVoCmhnaC9qtAEAAHViaEMpgXLoAQAAfXLpAQAAKGgWaqkBAABoIlgDAAAAT3I6cuoBAABoI11y6wEAAGgqWAMAAABPcjpy7AEAAIWBcu0BAAB9cu4BAAAoaBZq6AEAAGgJaAJoLk5oL05oImrqAQAAdWJhaAloAmguSxVoMX1y7wEAAChoM11oNF1oNV1oNl1oN111aApoTGgvarQBAAB1YmhdKYFy8AEAAH1y8QEAAChoFmqpAQAAaCJY5AAAAGZyb20gYXBhY2hlX2JlYW0udHlwZWhpbnRzIGltcG9ydCB3aXRoX2lucHV0X3R5cGVzCmZyb20gYXBhY2hlX2JlYW0udHlwZWhpbnRzIGltcG9ydCBMaXN0CmZyb20gYXBhY2hlX2JlYW0udHlwZWhpbnRzIGltcG9ydCBUdXBsZQoKQHdpdGhfaW5wdXRfdHlwZXMobHM9TGlzdFtUdXBsZVtpbnQsIGludF1dKQpkZWYgaW5jcmVtZW50KGxzKToKICBbKGkgKyAxLCBqICsgMSkgZm9yIChpLGopIGluIGxzXWgjXXLyAQAAaCpY5AAAAGZyb20gYXBhY2hlX2JlYW0udHlwZWhpbnRzIGltcG9ydCB3aXRoX2lucHV0X3R5cGVzCmZyb20gYXBhY2hlX2JlYW0udHlwZWhp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Y2l0iXVoCmoXAQAAaC9OdWJoKliOAAAAIOKAkyBJZiBub3QgYWxsIGZ1bmN0aW9uIGFyZ3VtZW50cyBoYXZlCmNvcnJlc3BvbmRpbmcgdHlwZS1oaW50cyBzcGVjaWZpZWQuIE9yIGlmIHRoZSBpbm5lciB3cmFwcGVyIGZ1bmN0aW9uIGlzbuKAmXQKcGFzc2VkIGEgZnVuY3Rpb24gb2JqZWN0LnK5AgAAhYFyugIAAH1yuwIAAChoFmqnAgAAaCJYiwAAACAtLSBJZiBub3QgYWxsIGZ1bmN0aW9uIGFyZ3VtZW50cyBoYXZlCmNvcnJlc3BvbmRpbmcgdHlwZS1oaW50cyBzcGVjaWZpZWQuIE9yIGlmIHRoZSBpbm5lciB3cmFwcGVyIGZ1bmN0aW9uIGlzbid0CnBhc3NlZCBhIGZ1bmN0aW9uIG9iamVjdC51YmVoLkswaDF9crwCAAAoaDNdaDRdaDVdaDZdaDdddWgKaExoL2q0AQAAdWJhaDF9cr0CAAAoaDNdaDRdaDVdaDZdaDdddWgiWKoAAAA6Y2xhc3M6YH5leGNlcHRpb25zLlZhbHVlRXJyb3JgIC0tIElmIG5vdCBhbGwgZnVuY3Rpb24gYXJndW1lbnRzIGhhdmUKY29ycmVzcG9uZGluZyB0eXBlLWhpbnRzIHNwZWNpZmllZC4gT3IgaWYgdGhlIGlubmVyIHdyYXBwZXIgZnVuY3Rpb24gaXNuJ3QKcGFzc2VkIGEgZnVuY3Rpb24gb2JqZWN0LnViahQCAAApgXK+AgAAfXK/AgAAKGgWaqECAABoCmoXAgAAaCNdcsACAABoQymBcsECAAB9csICAAAoaBZqvgIAAGgiWJ4AAAA6Y2xhc3M6YFR5cGVDaGVja0Vycm9yYCAtLSBJZiB0aGUgYW55IG9mIHRoZSBwYXNzZWQgdHlwZS1oaW50CmNvbnN0cmFpbnRzIGFyZSBub3QgYSB0eXBlIG9yCjpjbGFzczpgfmFwYWNoZV9iZWFtLnR5cGVoaW50cy50eXBlaGludHMuVHlwZUNvbnN0cmFpbnRgIGluc3RhbmNlLmgjXXLDAgAAKGoUAQAAKYFyxAIAAH1yxQIAAChoFmrBAgAAaCJYFwAAADpjbGFzczpgVHlwZUNoZWNrRXJyb3JgcsYCAABoI11yxwIAAGpEAQAA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cwMAAGgJaAJoLk5oL05oIlg4AAAAIHdpbGwgYmUgcmFpc2VkIGRldGFpbGluZyB0aGUgdHlwZS1jb25zdHJhaW50CnZpb2xhdGlvbi51YmVoCWgCaC5LCmgxfXKLAwAAKGgzXWg0XWg1XWg2XWg3XXVoCmhMaC9qWQMAAHViaEMpgXKMAwAAfXKNAwAAKGgWak4DAABoIlgrAAAAVGhpcyBkZWNvcmF0b3IgaXMgaW50ZW5kZWQgdG8gYmUgdXNlZCBsaWtlOnKOAwAAaCNdco8DAABoKlgrAAAAVGhpcyBkZWNvcmF0b3IgaXMgaW50ZW5kZWQgdG8gYmUgdXNlZCBsaWtlOnKQAwAAhYFykQMAAH1ykgMAAChoFmqMAwAAaAloAmguTmgvTmgiao4DAAB1YmFoCWgCaC5LDmgxfXKTAwAAKGgzXWg0XWg1XWg2XWg3XXVoCmhMaC9qWQMAAHViaF0pgXKUAwAAfXKVAwAAKGgWak4DAABoIlgLAQAAZnJvbSBhcGFjaGVfYmVhbS50eXBlaGludHMgaW1wb3J0IHdpdGhfb3V0cHV0X3R5cGVzCmZyb20gYXBhY2hlX2JlYW0udHlwZWhpbnRzIGltcG9ydCBTZXQKCmNsYXNzIENvb3JkaW5hdGU6CiAgZGVmIF9faW5pdF9fKHNlbGYsIHgsIHkpOgogICAgc2VsZi54ID0geAogICAgc2VsZi55ID0geQoKQHdpdGhfb3V0cHV0X3R5cGVzKFNldFtDb29yZGluYXRlXSkKZGVmIHBhcnNlX2ludHMoaW50cyk6CiAgcmV0dXJuIHtDb29yZGluYXRlKGksIGkpIGZvciBpIGluIGludHN9aCNdcpYDAABoKlgLAQAAZnJvbSBhcGFjaGVfYmVhbS50eXBlaGludHMgaW1wb3J0IHdpdGhfb3V0cHV0X3R5cGVzCmZyb20gYXBhY2hlX2JlYW0udHlwZWhpbnRzIGltcG9ydCBTZXQKCmNsYXNzIENvb3JkaW5hdGU6CiAgZGVmIF9faW5pdF9fKHNlbGYsIHgsIHkpOgogICAgc2VsZi54ID0geAogICAgc2VsZi55ID0geQoKQHdpdGhfb3V0cHV0X3R5cGVzKFNldFtDb29yZGluYXRlXSkKZGVmIHBhcnNlX2ludHMoaW50cyk6CiAgcmV0dXJu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ZCByZXRyaWV2ZSB0eXBlIGhpbnRzLnL7BAAAhYFy/AQAAH1y/QQAAChoFmr3BAAAaAloAmguTmgvTmgiavkEAAB1YmFoCWgCaC5LAWgxfXL+BAAAKGgzXWg0XWg1XWg2XWg3XXVoCmhMaC9YiQAAAC9ob21lL2pib25vZnJlL1dvcmtzcGFjZS9iZWFtL3Nka3MvcHl0aG9uL2FwYWNoZV9iZWFtL3R5cGVoaW50cy9kZWNvcmF0b3JzLnB5OmRvY3N0cmluZyBvZiBhcGFjaGVfYmVhbS50eXBlaGludHMuZGVjb3JhdG9ycy5XaXRoVHlwZUhpbnRzcv8EAAB1Ymg6KYFyAAUAAH1yAQUAAChoFmgbaCJVAGgjXWgJaAJoLk5oMX1yAgUAAChoM11oNF1VB2VudHJpZXNdcgMFAAAoaD9YSAAAAGdldF90eXBlX2hpbnRzKCkgKGFwYWNoZV9iZWFtLnR5cGVoaW50cy5kZWNvcmF0b3JzLldpdGhUeXBlSGludHMgbWV0aG9kKVg9AAAAYXBhY2hlX2JlYW0udHlwZWhpbnRzLmRlY29yYXRvcnMuV2l0aFR5cGVIaW50cy5nZXRfdHlwZV9oaW50c3IEBQAAVQBOdHIFBQAAYWg2XWg1XWg3XXVoCmhBaC9OdWJoFymBcgYFAAB9cgcFAAAoaBZoG2giVQBoI11yCAUAAChoEymBcgkFAAB9cgoFAAAoaBZqBgUAAGgiWB4AAABXaXRoVHlwZUhpbnRzLmdldF90eXBlX2hpbnRzKCloI11yCwUAAChqBwEAACmBcgwFAAB9cg0FAAAoaBZqCQUAAGgiWA4AAABnZXRfdHlwZV9oaW50c2gjXXIOBQAAaCpYDgAAAGdldF90eXBlX2hpbnRzcg8FAACFgXIQBQAAfXIRBQAAKGgWagwFAABoCWgCaC5OaC9OaCJVAHViYWgJaAJoLk5oMX1yEgUAAChoM11oNF1oZWhmaDZdaDVdaDdddWgKag8BAABoL1iYAAAAL2hvbWUvamJvbm9mcmUvV29ya3NwYWNlL2JlYW0vc2Rrcy9weXRob24vYXBhY2hlX2JlYW0vdHlwZWhpbnRzL2RlY29yYXRvcnMucHk6ZG9jc3RyaW5nIG9mIGFwYWNoZV9iZWFtLnR5cGVoaW50cy5kZWNvcmF0b3JzLldpdGhU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AChoM11oNF1VB2VudHJpZXNdcm4FAAAoaD9YSwAAAHdpdGhfb3V0cHV0X3R5cGVzKCkgKGFwYWNoZV9iZWFtLnR5cGVoaW50cy5kZWNvcmF0b3JzLldpdGhUeXBlSGludHMgbWV0aG9kKVhAAAAAYXBhY2hlX2JlYW0udHlwZWhpbnRzLmRlY29yYXRvcnMuV2l0aFR5cGVIaW50cy53aXRoX291dHB1dF90eXBlc3JvBQAAVQBOdHJwBQAAYWg2XWg1XWg3XXVoCmhBaC9OdWJoFymBcnEFAAB9cnIFAAAoaBZoG2giVQBoI11ycwUAAChoEymBcnQFAAB9cnUFAAAoaBZqcQUAAGgiWDoAAABXaXRoVHlwZUhpbnRzLndpdGhfb3V0cHV0X3R5cGVzKCphcmdfaGludHMsICoqa3dhcmdfaGludHMpaCNdcnYFAAAoagcBAAApgXJ3BQAAfXJ4BQAAKGgWanQFAABoIlgRAAAAd2l0aF9vdXRwdXRfdHlwZXNoI11yeQUAAGgqWBEAAAB3aXRoX291dHB1dF90eXBlc3J6BQAAhYFyewUAAH1yfAUAAChoFmp3BQAAaAloAmguTmgvTmgiVQB1YmFoCWgCaC5OaDF9cn0FAAAoaDNdaDRdaGVoZmg2XWg1XWg3XXVoCmoPAQAAaC9YmwAAAC9ob21lL2pib25vZnJlL1dvcmtzcGFjZS9iZWFtL3Nka3MvcHl0aG9uL2FwYWNoZV9iZWFtL3R5cGVoaW50cy9kZWNvcmF0b3JzLnB5OmRvY3N0cmluZyBvZiBhcGFjaGVfYmVhbS50eXBlaGludHMuZGVjb3JhdG9ycy5XaXRoVHlwZUhpbnRzLndpdGhfb3V0cHV0X3R5cGVzcn4FAAB1Ymp9AQAAKYFyfwUAAH1ygAUAAChoFmp0BQAAaCJYGQAAACphcmdfaGludHMsICoqa3dhcmdfaGludHNoI11ygQUAAChqgQEAACmBcoIFAAB9coMFAAAoaBZqfwUAAGgKaoQBAABoI11yhAUAAGgqWAoAAAAqYXJnX2hpbnRzcoUFAACFgXKGBQAAfXKHBQAAKGgWaoIFAABoIlUAdWJhaDF9cogFAAAoaDNdaDRdaGVoZmg2XWg1XWg3XXVoIlgKAAAAKmFyZ19oaW50c3ViaoEBAAApgXKJBQAAfXKKBQAA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6AUAAChoFmggaCJVAGgjXWgJaAJoLksBaDF9cukFAAAoaDNdaDRdcuoFAABqlQQAAGFoN11oNl1oNV1VBWlzbW9kiHVoClUGdGFyZ2V0cusFAABoL2hCdWJqZQEAAGpqAQAAagQFAABqCQUAAGoOAwAAahMDAAB1VQ5wYXJzZV9tZXNzYWdlc3LsBQAAXXLtBQAAVQ1mb290bm90ZV9yZWZzcu4FAAB9cu8FAABVEXN1YnN0aXR1dGlvbl9kZWZzcvAFAAB9cvEFAABVC3RyYW5zZm9ybWVycvIFAABOVRJ0cmFuc2Zvcm1fbWVzc2FnZXNy8wUAAF1y9AUAAGgiVQBVEGluZGlyZWN0X3RhcmdldHNy9QUAAF1y9gUAAFUSYXV0b2Zvb3Rub3RlX3N0YXJ0cvcFAABLAVUNY2l0YXRpb25fcmVmc3L4BQAAfXL5BQAAVQ1hdXRvZm9vdG5vdGVzcvoFAABdcvsFAABVEHN5bWJvbF9mb290bm90ZXNy/AUAAF1y/QUAAGgjXXL+BQAAaCBhVQlmb290bm90ZXNy/wUAAF1yAAYAAGgxfXIBBgAAKGgzXWg0XWg3XWg2XWg1XVUGc291cmNlaDl1VQhpZF9zdGFydHICBgAASwFVCHNldHRpbmdzcgMGAAAoY2RvY3V0aWxzLmZyb250ZW5kClZhbHVlcwpyBAYAAG9yBQYAAH1yBgYAAChVDnBlcF9yZWZlcmVuY2VzcgcGAABOVQlkYXRlc3RhbXByCAYAAE5VCXRyYWNlYmFja3IJBgAAiFUSc2VjdHN1YnRpdGxlX3hmb3JtcgoGAACJaDhOVQ9kdW1wX3BzZXVkb194bWxyCwYAAE5VFmZpbGVfaW5zZXJ0aW9uX2VuYWJsZWRyDAYAAIhVG3N0cmlwX2VsZW1lbnRzX3dpdGhfY2xhc3Nlc3INBgAATlUJdGFiX3dpZHRocg4GAABLCFUGY29uZmlncg8GAABOVQtyYXdfZW5hYmxlZHIQBgAASwFVDV9jb25maWdfZmlsZXNyEQYAAF1VCWlkX3ByZWZpeHISBgAAVQBVFXBlcF9maWxlX3VybF90ZW1wbGF0ZXITBgAAVQhwZXAtJTA0ZHIUBgAAVQ5pbnB1dF9lbmNvZGluZ3IVBgAAVQl1dGYtOC1zaWdyFgYAAFUMc21hcnRfcXVvdGVzchcGAACIVQlnZW5lcmF0b3JyGAYAAE5VD2dldHRleHRfY29tcGFjdHIZBgAAiFUMX2Rlc3RpbmF0aW9uchoGAABOVRBleHBvc2VfaW50ZXJuYWxzchsGAABOVQxyZmNfYmFzZV91cmxyHAYAAFUcaHR0cHM6Ly90b29scy5pZXRmLm9yZy9odG1sL3IdBgAAVQ9kdW1wX3RyYW5zZm9ybXNyHgYAAE5VDmVycm9yX2VuY29kaW5nch8GAABVBVVURi04ciAGAABVCnNvdXJjZV91cmxyIQYAAE5VHGlucHV0X2VuY29kaW5nX2Vycm9yX2hhbmRsZXJyIgYAAFUGc3RyaWN0ciMGAABVEHN5bnRheF9oaWdobGlnaHRyJAYAAFUEbG9uZ3IlBgAAVQxwZXBfYmFzZV91cmxyJgYAAFUgaHR0cHM6Ly93d3cucHl0aG9uLm9yZy9kZXYvcGVwcy9yJwYAAFUdb3V0cHV0X2VuY29kaW5nX2Vycm9yX2hhbmRsZXJyKAYAAGojBgAAVQ1sYW5ndWFnZV9jb2RlcikGAABVAmVucioGAABVDmF1dG9faWRfcHJlZml4cisGAABVAmlkciwGAABVB19zb3VyY2VyLQYAAGg5VQ1zdHJpcF9jbGFzc2Vzci4GAABOVRBlbWJlZF9zdHlsZXNoZWV0ci8GAACJVQpoYWx0X2xldmVscjAGAABLBVUPb3V0cHV0X2VuY29kaW5ncjEGAABVBXV0Zi04cjIGAABVFWNsb2FrX2VtYWlsX2FkZHJlc3Nlc3IzBgAAiFUNZHVtcF9zZXR0aW5nc3I0BgAATlUNc2VjdG51bV94Zm9ybXI1BgAASwFVEWV4aXRfc3RhdHVzX2xldmVscjYGAABLBVUFZGVidWdyNwYAAE5VE3NtYXJ0cXVvdGVzX2xvY2FsZXNyOAYAAE5VA2VudnI5BgAATlUOd2FybmluZ19zdHJlYW1yOgYAAE5VDWRvY2luZm9feGZvcm1yOwYAAEsBVQ5zdHJpcF9jb21tZW50c3I8BgAATlUTcmVjb3JkX2RlcGVuZGVuY2llc3I9BgAATlUddHJpbV9mb290bm90ZV9yZWZlcmVuY2Vfc3BhY2VyPgYAAIlVDnN0cmljdF92aXNpdG9ycj8GAABOVQtzb3VyY2VfbGlua3JABgAATlUPX2Rpc2FibGVfY29uZmlnckEGAABOVRJmb290bm90ZV9iYWNrbGlua3NyQgYAAEsBVRxlcnJvcl9lbmNvZGluZ19lcnJvcl9oYW5kbGVyckMGAABVEGJhY2tzbGFzaHJlcGxhY2VyRAYAAFUOcmZjX3JlZmVyZW5jZXNyRQYAAE5VDHJlcG9ydF9sZXZlbHJGBgAASwJVHWNoYXJhY3Rlcl9sZXZlbF9pbmxpbmVfbWFya3VwckcGAACJVQ5kdW1wX2ludGVybmFsc3JIBgAATlUNdG9jX2JhY2tsaW5rc3JJBgAAVQVlbnRyeXJKBgAAVQ5kb2N0aXRsZV94Zm9ybXJLBgAAiXViVQhyZWZuYW1lc3JMBgAAfXJNBgAAVQluYW1ldHlwZXNyTgYAAH1yTwYAAChqmAQAAE5o5IhoEohqNwUAAIhqbwUAAIho64hqZQEAAIhqBAUAAIhqDgMAAIh1VQhyZXBvcnRlcnJQBgAATlUHbmFtZWlkc3JRBgAAfXJSBgAAKGqYBAAAapYEAABo5GjkaBJoEmo3BQAAajcFAABqbwUAAGpvBQAAaOto62plAQAAamUBAABqBAUAAGoEBQAAag4DAABqDgMAAHVVFXN5bWJvbF9mb290bm90ZV9zdGFydHJTBgAASwBVFHN5bWJvbF9mb290bm90ZV9yZWZzclQGAABdclUGAABVCmRlY29yYXRpb25yVgYAAE51Yi4=