VQ0NCgAAAADLuIxjYukAAOMAAAAAAAAAAAAAAAAAAAAAGAAAAEAAAABz9gYAAGQAZAFsAFoAZABkAWwBWgFkAGQBbAJaAmQAZAFsA1oDZABkAmwEbQVaBW0GWgYBAGQAZANsB20IWggBAGQAZARsCW0KWgoBAGQAZAVsC20MWgxtDVoNAQBkAGQGbA5tD1oPAQBkAGQHbABtEFoQbRFaEQEAZABkCGwSbRNaEwEAZABkCWwUbRRaFAEAZABkCmwVbRZaFm0XWhcBAGQAZAtsGG0ZWhltGloabRtaGwEAZABkDGwcbR1aHQEAZABkDWwCbR5aHm0fWh9tIFogbSFaIW0iWiJtI1ojbSRaJG0lWiVtJlombSdaJ20oWihtKVopbSpaKm0rWittLFosbS1aLW0uWi5tL1ovAQBlAWowZA5rBZABciZkAGQPbAJtMVoxAQBuDGQAZA9sMm0xWjEBAGQQZBFsM200WjRtNVo1AQBkEGQSbDZtN1o3bThaOG05WjltOlo6AQBkEGQTbDttPFo8AQBkEGQUbD1tPlo+AQBkEGQVbD9tQFpAAQBkEGQWbEFtQlpCAQBkEGQXbENtRFpEAQBkEGQYbEVtRlpGAQBkEGQZbEdtSFpIbUlaSQEAZBBkGmxKbUtaS21MWkwBAGUoZBtlTYMCWk5lLmQcgwFaT2UgZwBlUGYCGQBaUWUCoC5kHWUrZR+hA1pSRwBkHmQfhABkH2UbgwNaU2SEZS9lKmVPGQBlJWVPGQBmAhkAZVRlKWVQGQBlVWUpZTcZAGVVZSllIGcAZVBmAhkAGQBlUGVGZUZlRmVGZVBlVWVVZSVlTxkAZCmcEGQqZCuEBVpWRwBkLGQthABkLWUQZR+DBFpXRwBkLmQvhABkL2UhZVIZAGUkZVIZAIMEWlhkMGQhZAFkImQBZCNkJGQlZCZkJ2QiZDGcC2UfZU1lVGVVZSllNxkAZVVlKWUgZwBlUGYCGQAZAGVQZUZlRmVGZUZlVWUhZR8ZAGQynA5kM2Q0hAZaWWUCalpkhWQBZDBkIWQBZCJkAWQjZCRkJWQmZCdkImQ2nAxlL2VUZDdlW2YDGQBlL2UxZDgZAGUxZDkZAGYCGQBlTWUpZVQZAGUpZVQZAGUpZVQZAGUpZU0ZAGVUZVVlKWU3GQBlVWUpZSBnAGVQZgIZABkAZVBlRmVGZUZlRmVVZSFlKxkAZDqcE2Q7ZDyEB4MBWlxlAmpaZIZkAWQwZCFkAWQiZAFkI2QkZCVkJmQnZCJkNpwMZS9lVGQ3ZVtmAxkAZTFkPRkAZU1lKWVUGQBlKWVUGQBlKWVUGQBlKWVNGQBlVGVVZSllNxkAZVVlKWUgZwBlUGYCGQAZAGVQZUZlRmVGZUZlVWUhZR8ZAGQ6nBNkPmQ8hAeDAVpcZIdkAWQwZCFkAWQiZAFkI2QkZCVkJmQnZCJkNpwMZS9lVGQ3ZVtmAxkAZS9lMWQ9GQBlMWQ4GQBlMWQ5GQBmAxkAZU1lKWVUGQBlKWVUGQBlKWVUGQBlKWVNGQBlVGVVZSllNxkAZVVlKWUgZwBlUGYCGQAZAGVQZUZlRmVGZUZlVWUvZSFlHxkAZSFlKxkAZgIZAGQ6nBNkP2Q8hAdaXEcAZEBkQYQAZEFlBYMDWl1HAGRCZEOEAGRDZV2DA1peRwBkRGRFhABkRWVdgwNaX0cAZEZkR4QAZEdlXYMDWmBHAGRIZEmEAGRJZV2DA1phRwBkSmRLhABkS2VdgwNaYkcAZExkTYQAZE1lYIMDWmNHAGROZE+EAGRPZV2DA1pkRwBkUGRRhABkUWVdgwNaZUcAZFJkU4QAZFNlXYMDWmZHAGRUZFWEAGRVZV2DA1pnRwBkVmRXhABkV2VdgwNaaEcAZFhkWYQAZFllXYMDWmlHAGRaZFuEAGRbZSeDA1pqZQxHAGRcZF2EAGRdgwKDAVprRwBkXmRfhABkX2U+gwNabGVtZGBrApAGcvJkAGQBbG5abmQAZAFsb1pvZBBkYWxwbXFacQEAZBBkYmxybXNacwEAZBBkY2x0bXVadQEAZBBkZGxHbUlaSQEAZXVkZWRmZCFkZ40DWnRlSWRoZGlkaoMDWkdlR6B2ZGtkbGRtoQMBAGRuZXFkb4MBZHBlR2RxZHJkc2R0nAJkdWV0ZXNkdoMBZwlad2QAZHdseG15WnkBAGV5ZXeDAVp6ZTdkIWR4jQFaNmVsZV+DAGYBZWyge6EAZWKDAGYBngNlNmQiZHmcAo4Bj4JafGV8an1kemR7ZHyNAlp+ZXxqfWR9ZHtkfI0CWn9lfGp9ZH5kAWR8jQJagGV8aoGQBnPoZXxqgmV+ZH9kgI0CAQBlfGqCZX9kgWSAjQIBAGVvoINkgqEBAQBlbqCEZABkg6ECZBBrAJAGcpZlfKCFZYZleoMBoQEBAJAGcZZXADUAUQBSAFgAZAFTACmI6QAAAABOKQLaA0FCQ9oOYWJzdHJhY3RtZXRob2SpAdoFZGVxdWUpAdoFU2l6ZWQpAtoJZGF0YWNsYXNz2gVmaWVsZCkB2gl0aW1lZGVsdGEpAtoJUmF3SU9CYXNl2hRVbnN1cHBvcnRlZE9wZXJhdGlvbikB2gRjZWlsKQHaBG1tYXApAtoIUGF0aExpa2XaBHN0YXQpA9oFRXZlbnTaBVJMb2Nr2gZUaHJlYWQpAdoNVHJhY2ViYWNrVHlwZSkS2gNBbnnaCEJpbmFyeUlP2ghDYWxsYWJsZdoOQ29udGV4dE1hbmFnZXLaBURlcXVl2gREaWN02gdHZW5lcmlj2ghJdGVyYWJsZdoETGlzdNoKTmFtZWRUdXBsZdoHTmV3VHlwZdoIT3B0aW9uYWzaCFNlcXVlbmNl2gZUZXh0SU/aBVR1cGxl2gRUeXBl2gdUeXBlVmFy2gVVbmlvbikC6QMAAADpCAAAACkB2gdMaXRlcmFs6QEAAAApAtoIZmlsZXNpemXaC2dldF9jb25zb2xlKQTaB0NvbnNvbGXaBUdyb3Vw2g1KdXN0aWZ5TWV0aG9k2g5SZW5kZXJhYmxlVHlwZSkB2gtIaWdobGlnaHRlcikB2gxKdXB5dGVyTWl4aW4pAdoETGl2ZSkB2gtQcm9ncmVzc0JhcikB2gdTcGlubmVyKQHaCVN0eWxlVHlwZSkC2gZDb2x1bW7aBVRhYmxlKQLaBFRleHTaCFRleHRUeXBl2gZUYXNrSUTaDFByb2dyZXNzVHlwZdoCX0ljAAAAAAAAAAAAAAAAAAAAAAUAAAAAAAAAc2oAAABlAFoBZABaAmQBWgNkAmQDZQRkBJwDhwBmAWQFZAaEDFoFZAdkCJwBZAlkCoQEWgZkAGQInAFkC2QMhARaB2UIZQllChkAGQBlCGUKGQBlCGULGQBkB2QNnARkDmQPhARaDIcABABaDVMAKRDaDF9UcmFja1RocmVhZHopQSB0aHJlYWQgdG8gcGVyaW9kaWNhbGx5IHVwZGF0ZSBwcm9ncmVzcy7aCFByb2dyZXNzcjoAAAApA9oIcHJvZ3Jlc3PaB3Rhc2tfaWTaDXVwZGF0ZV9wZXJpb2RjBAAAAAAAAAAAAAAABAAAAAIAAAADAAAAcy4AAAB8AXwAXwB8AnwAXwF8A3wAXwJ0A4MAfABfBGQBfABfBXQGgwCgB6EAAQBkAFMAKQJOcgEAAAApCHI/AAAAckAAAAByQQAAAHIQAAAA2gRkb25l2gljb21wbGV0ZWTaBXN1cGVy2ghfX2luaXRfXykE2gRzZWxmcj8AAAByQAAAAHJBAAAAqQHaCV9fY2xhc3NfX6kA+j0vdG1wL3BpcC11bnBhY2tlZC13aGVlbC1pa3Z0cXN5MS9waXAvX3ZlbmRvci9yaWNoL3Byb2dyZXNzLnB5ckUAAABCAAAAcwwAAAAAAQYBBgEGAQgCBgF6FV9UcmFja1RocmVhZC5fX2luaXRfX06pAdoGcmV0dXJuYwEAAAAAAAAAAAAAAAcAAAAFAAAAQwAAAHNkAAAAfABqAH0BfABqAWoCfQJ8AGoDfQNkAX0EfABqBGoFfQV8BXwDgwFzSnwAagZ9BnwEfAZrA3IgfAJ8AXwGfAQYAIMCAQB8Bn0EcSB8AGoBagd8AGoAfABqBmQCZAONAwEAZABTACkETnIBAAAAVCkCckMAAADaB3JlZnJlc2gpCHJAAAAAcj8AAADaB2FkdmFuY2VyQQAAAHJCAAAA2gR3YWl0ckMAAADaBnVwZGF0ZSkHckYAAAByQAAAAHJOAAAAckEAAABaDmxhc3RfY29tcGxldGVkck8AAAByQwAAAHJJAAAAckkAAABySgAAANoDcnVuSwAAAHMWAAAAAAEGAQgBBgEEAQgBCAEGAQgBDgEGAnoQX1RyYWNrVGhyZWFkLnJ1bmMBAAAAAAAAAAAAAAABAAAAAgAAAEMAAABzDAAAAHwAoAChAAEAfABTAKkBTqkB2gVzdGFydKkBckYAAABySQAAAHJJAAAAckoAAADaCV9fZW50ZXJfX1kAAABzBAAAAAABCAF6Fl9UcmFja1RocmVhZC5fX2VudGVyX1+pBNoIZXhjX3R5cGXaB2V4Y192YWzaBmV4Y190YnJMAAAAYwQAAAAAAAAAAAAAAAQAAAACAAAAQwAAAHMWAAAAfABqAKABoQABAHwAoAKhAAEAZABTAHJSAAAAKQNyQgAAANoDc2V02gRqb2luqQRyRgAAAHJYAAAAclkAAAByWgAAAHJJAAAAckkAAABySgAAANoIX19leGl0X19dAAAAcwQAAAAABgoBehVfVHJhY2tUaHJlYWQuX19leGl0X18pDtoIX19uYW1lX1/aCl9fbW9kdWxlX1/aDF9fcXVhbG5hbWVfX9oHX19kb2NfX9oFZmxvYXRyRQAAAHJRAAAAclYAAAByHwAAAHIjAAAA2g1CYXNlRXhjZXB0aW9uchMAAAByXgAAANoNX19jbGFzc2NlbGxfX3JJAAAAckkAAAByRwAAAHJKAAAAcj0AAAA/AAAAcxIAAAAIAQQCFgkODg4GCgEGAQYBAvtyPQAAAPoKV29ya2luZy4uLlRG6QoAAAD6CGJhci5iYWNr+gxiYXIuY29tcGxldGX6DGJhci5maW5pc2hlZPoJYmFyLnB1bHNl55qZmZmZmbk/KRDaCHNlcXVlbmNl2gtkZXNjcmlwdGlvbtoFdG90YWzaDGF1dG9fcmVmcmVzaNoHY29uc29sZdoJdHJhbnNpZW502ghnZXRfdGltZdoScmVmcmVzaF9wZXJfc2Vjb25k2gVzdHlsZdoOY29tcGxldGVfc3R5bGXaDmZpbmlzaGVkX3N0eWxl2gtwdWxzZV9zdHlsZXJBAAAA2gdkaXNhYmxl2gpzaG93X3NwZWVkckwAAABjDwAAAAAAAAAAAAAAEQAAAAkAAABjAAAAc34AAAB8AXIOdABkAYMBZwFuAmcAfQ98D6ABdAJ8CHwJfAp8C2QCjQR0A3wOZAONAXQEgwBmA6EBAQB0BXwPfAN8BHwFfAZ8B3BIZAR8DWQFnAaOAX0QfBCPHgEAfBBqBnwAfAJ8AXwMZAaNBEUAZAdIAAEAVwA1AFEAUgBYAGQHUwApCGHlBQAAVHJhY2sgcHJvZ3Jlc3MgYnkgaXRlcmF0aW5nIG92ZXIgYSBzZXF1ZW5jZS4KCiAgICBBcmdzOgogICAgICAgIHNlcXVlbmNlIChJdGVyYWJsZVtQcm9ncmVzc1R5cGVdKTogQSBzZXF1ZW5jZSAobXVzdCBzdXBwb3J0ICJsZW4iKSB5b3Ugd2lzaCB0byBpdGVyYXRlIG92ZXIuCiAgICAgICAgZGVzY3JpcHRpb24gKHN0ciwgb3B0aW9uYWwpOiBEZXNjcmlwdGlvbiBvZiB0YXNrIHNob3cgbmV4dCB0byBwcm9ncmVzcyBiYXIuIERlZmF1bHRzIHRvICJXb3JraW5nIi4KICAgICAgICB0b3RhbDogKGZsb2F0LCBvcHRpb25hbCk6IFRvdGFsIG51bWJlciBvZiBzdGVwcy4gRGVmYXVsdCBpcyBsZW4oc2VxdWVuY2UpLgogICAgICAgIGF1dG9fcmVmcmVzaCAoYm9vbCwgb3B0aW9uYWwpOiBBdXRvbWF0aWMgcmVmcmVzaCwgZGlzYWJsZSB0byBmb3JjZSBhIHJlZnJlc2ggYWZ0ZXIgZWFjaCBpdGVyYXRpb24uIERlZmF1bHQgaXMgVHJ1ZS4KICAgICAgICB0cmFuc2llbnQ6IChib29sLCBvcHRpb25hbCk6IENsZWFyIHRoZSBwcm9ncmVzcyBvbiBleGl0LiBEZWZhdWx0cyB0byBGYWxzZS4KICAgICAgICBjb25zb2xlIChDb25zb2xlLCBvcHRpb25hbCk6IENvbnNvbGUgdG8gd3JpdGUgdG8uIERlZmF1bHQgY3JlYXRlcyBpbnRlcm5hbCBDb25zb2xlIGluc3RhbmNlLgogICAgICAgIHJlZnJlc2hfcGVyX3NlY29uZCAoZmxvYXQpOiBOdW1iZXIgb2YgdGltZXMgcGVyIHNlY29uZCB0byByZWZyZXNoIHRoZSBwcm9ncmVzcyBpbmZvcm1hdGlvbi4gRGVmYXVsdHMgdG8gMTAuCiAgICAgICAgc3R5bGUgKFN0eWxlVHlwZSwgb3B0aW9uYWwpOiBTdHlsZSBmb3IgdGhlIGJhciBiYWNrZ3JvdW5kLiBEZWZhdWx0cyB0byAiYmFyLmJhY2siLgogICAgICAgIGNvbXBsZXRlX3N0eWxlIChTdHlsZVR5cGUsIG9wdGlvbmFsKTogU3R5bGUgZm9yIHRoZSBjb21wbGV0ZWQgYmFyLiBEZWZhdWx0cyB0byAiYmFyLmNvbXBsZXRlIi4KICAgICAgICBmaW5pc2hlZF9zdHlsZSAoU3R5bGVUeXBlLCBvcHRpb25hbCk6IFN0eWxlIGZvciBhIGZpbmlzaGVkIGJhci4gRGVmYXVsdHMgdG8gImJhci5kb25lIi4KICAgICAgICBwdWxzZV9zdHlsZSAoU3R5bGVUeXBlLCBvcHRpb25hbCk6IFN0eWxlIGZvciBwdWxzaW5nIGJhcnMuIERlZmF1bHRzIHRvICJiYXIucHVsc2UiLgogICAgICAgIHVwZGF0ZV9wZXJpb2QgKGZsb2F0LCBvcHRpb25hbCk6IE1pbmltdW0gdGltZSAoaW4gc2Vjb25kcykgYmV0d2VlbiBjYWxscyB0byB1cGRhdGUoKS4gRGVmYXVsdHMgdG8gMC4xLgogICAgICAgIGRpc2FibGUgKGJvb2wsIG9wdGlvbmFsKTogRGlzYWJsZSBkaXNwbGF5IG9mIHByb2dyZXNzLgogICAgICAgIHNob3dfc3BlZWQgKGJvb2wsIG9wdGlvbmFsKTogU2hvdyBzcGVlZCBpZiB0b3RhbCBpc24ndCBrbm93bi4gRGVmYXVsdHMgdG8gVHJ1ZS4KICAgIFJldHVybnM6CiAgICAgICAgSXRlcmFibGVbUHJvZ3Jlc3NUeXBlXTogQW4gaXRlcmFibGUgb2YgdGhlIHZhbHVlcyBpbiB0aGUgc2VxdWVuY2UuCgogICAg+ihbcHJvZ3Jlc3MuZGVzY3JpcHRpb25de3Rhc2suZGVzY3JpcHRpb259qQRydQAAAHJ2AAAAcncAAAByeAAAACkBcnoAAAByZwAAAKkGcnAAAABycQAAAHJyAAAAcnMAAABydAAAAHJ5AAAAKQNybwAAAHJuAAAAckEAAABOKQfaClRleHRDb2x1bW7aBmV4dGVuZNoJQmFyQ29sdW1u2hJUYXNrUHJvZ3Jlc3NDb2x1bW7aE1RpbWVSZW1haW5pbmdDb2x1bW5yPgAAANoFdHJhY2spEXJtAAAAcm4AAABybwAAAHJwAAAAcnEAAABycgAAAHJzAAAAcnQAAABydQAAAHJ2AAAAcncAAAByeAAAAHJBAAAAcnkAAAByegAAANoHY29sdW1uc3I/AAAAckkAAABySQAAAHJKAAAAcoMAAABnAAAAczoAAAAAKBD/AgMEAgIBAgECAQIBAvwEBggBBPgC/wQMAgECAQIBAgECAQIBBgEC+QgKBgEEAQIAAgACAAL/coMAAABjAAAAAAAAAAAAAAAAAAAAAAcAAABAAAAAc3IBAABlAFoBZABaAmQBWgNkN2UEZANlBWUGZARkBZwFZAZkB4QFWgdkAGQInAFkCWQKhARaCGUJZQplCxkAGQBlCWULGQBlCWUMGQBkBGQLnARkDGQNhARaDWUEZAicAWQOZA+EBFoOZQ9kCJwBZBBkEYQEWhBlEWUGZAicAWQSZBOEBIMBWhJlE2QInAFkFGQVhARaFGUGZAicAWQWZBeEBFoVZRFlFmQInAFkGGQZhASDAVoXZQZkCJwBZBpkG4QEWhhlBmQInAFkHGQdhARaGWUGZAicAWQeZB+EBFoaZDhlE2UPZCGcAmQiZCOEBVobZRxlHWUeZR9mAxkAZCScAWQlZCaEBFogZDllE2UPZCGcAmQnZCiEBVohZDplE2UiZQ8ZAGQpnAJkKmQrhAVaI2QEZAicAWQsZC2EBFokZDtlE2UTZRNkL5wDZDBkMYQFWiVlE2QInAFkMmQzhARaJmUnZRNkNJwCZDVkNoQEWihkBFMAKTzaB19SZWFkZXJ6OUEgcmVhZGVyIHRoYXQgdHJhY2tzIHByb2dyZXNzIHdoaWxlIGl0J3MgYmVpbmcgcmVhZCBmcm9tLlRyPgAAAE4pBdoGaGFuZGxlcj8AAADaBHRhc2vaDGNsb3NlX2hhbmRsZXJMAAAAYwUAAAAAAAAAAAAAAAUAAAACAAAAQwAAAHMiAAAAfAF8AF8AfAJ8AF8BfAN8AF8CfAR8AF8DZAF8AF8EZABTAKkCTkYpBXKGAAAAcj8AAAByhwAAAHKIAAAA2gdfY2xvc2VkKQVyRgAAAHKGAAAAcj8AAAByhwAAAHKIAAAAckkAAABySQAAAHJKAAAAckUAAACwAAAAcwoAAAAABwYBBgEGAQYBehBfUmVhZGVyLl9faW5pdF9fcksAAABjAQAAAAAAAAAAAAAAAQAAAAIAAABDAAAAcw4AAAB8AGoAoAGhAAEAfABTAHJSAAAAKQJyhgAAAHJWAAAAclUAAABySQAAAHJJAAAAckoAAAByVgAAAL0AAABzBAAAAAABCgF6EV9SZWFkZXIuX19lbnRlcl9fclcAAABjBAAAAAAAAAAAAAAABAAAAAIAAABDAAAAcwwAAAB8AKAAoQABAGQAUwByUgAAACkB2gVjbG9zZXJdAAAAckkAAABySQAAAHJKAAAAcl4AAADBAAAAcwIAAAAABnoQX1JlYWRlci5fX2V4aXRfX2MBAAAAAAAAAAAAAAABAAAAAQAAAEMAAABzBAAAAHwAUwByUgAAAHJJAAAAclUAAABySQAAAHJJAAAAckoAAADaCF9faXRlcl9fyQAAAHMCAAAAAAF6EF9SZWFkZXIuX19pdGVyX19jAQAAAAAAAAAAAAAAAgAAAAQAAABDAAAAcyQAAAB0AHwAagGDAX0BfABqAmoDfABqBHQFfAGDAWQBjQIBAHwBUwCpAk6pAXJOAAAAKQbaBG5leHRyhgAAAHI/AAAAck4AAAByhwAAANoDbGVuKQJyRgAAANoEbGluZXJJAAAAckkAAABySgAAANoIX19uZXh0X1/MAAAAcwYAAAAAAQoBFgF6EF9SZWFkZXIuX19uZXh0X19jAQAAAAAAAAAAAAAAAQAAAAEAAABDAAAAcwYAAAB8AGoAUwByUgAAACkBcooAAAByVQAAAHJJAAAAckkAAABySgAAANoGY2xvc2Vk0QAAAHMCAAAAAAJ6Dl9SZWFkZXIuY2xvc2VkYwEAAAAAAAAAAAAAAAEAAAACAAAAQwAAAHMKAAAAfABqAKABoQBTAHJSAAAAKQJyhgAAANoGZmlsZW5vclUAAABySQAAAHJJAAAAckoAAABylAAAANUAAABzAgAAAAABeg5fUmVhZGVyLmZpbGVub2MBAAAAAAAAAAAAAAABAAAAAgAAAEMAAABzCgAAAHwAagCgAaEAUwByUgAAACkCcoYAAADaBmlzYXR0eXJVAAAAckkAAABySQAAAHJKAAAAcpUAAADYAAAAcwIAAAAAAXoOX1JlYWRlci5pc2F0dHljAQAAAAAAAAAAAAAAAQAAAAEAAABDAAAAcwgAAAB8AGoAagFTAHJSAAAAKQJyhgAAANoEbmFtZXJVAAAAckkAAABySQAAAHJKAAAAcpYAAADbAAAAcwIAAAAAAnoMX1JlYWRlci5uYW1lYwEAAAAAAAAAAAAAAAEAAAACAAAAQwAAAHMKAAAAfABqAKABoQBTAHJSAAAAKQJyhgAAANoIcmVhZGFibGVyVQAAAHJJAAAAckkAAABySgAAAHKXAAAA3wAAAHMCAAAAAAF6EF9SZWFkZXIucmVhZGFibGVjAQAAAAAAAAAAAAAAAQAAAAIAAABDAAAAcwoAAAB8AGoAoAGhAFMAclIAAAApAnKGAAAA2ghzZWVrYWJsZXJVAAAAckkAAABySQAAAHJKAAAAcpgAAADiAAAAcwIAAAAAAXoQX1JlYWRlci5zZWVrYWJsZWMBAAAAAAAAAAAAAAABAAAAAQAAAEMAAABzBAAAAGQBUwByiQAAAHJJAAAAclUAAABySQAAAHJJAAAAckoAAADaCHdyaXRhYmxl5QAAAHMCAAAAAAF6EF9SZWFkZXIud3JpdGFibGXp/////ykC2gRzaXplckwAAABjAgAAAAAAAAAAAAAAAwAAAAQAAABDAAAAcyYAAAB8AGoAoAF8AaEBfQJ8AGoCagN8AGoEdAV8AoMBZAGNAgEAfAJTAHKNAAAAKQZyhgAAANoEcmVhZHI/AAAAck4AAAByhwAAAHKQAAAAKQNyRgAAAHKbAAAA2gVibG9ja3JJAAAAckkAAABySgAAAHKcAAAA6AAAAHMGAAAAAAEMARYBegxfUmVhZGVyLnJlYWQpAdoBYmMCAAAAAAAAAAAAAAADAAAABAAAAEMAAABzIgAAAHwAagCgAXwBoQF9AnwAagJqA3wAagR8AmQBjQIBAHwCUwByjQAAACkFcoYAAADaCHJlYWRpbnRvcj8AAAByTgAAAHKHAAAAKQNyRgAAAHKeAAAA2gFuckkAAABySQAAAHJKAAAAcp8AAADtAAAAcwYAAAAAAQwBEgF6EF9SZWFkZXIucmVhZGludG9jAgAAAAAAAAAAAAAAAwAAAAQAAABDAAAAcyYAAAB8AGoAoAF8AaEBfQJ8AGoCagN8AGoEdAV8AoMBZAGNAgEAfAJTAHKNAAAAKQZyhgAAANoIcmVhZGxpbmVyPwAAAHJOAAAAcocAAABykAAAACkDckYAAABymwAAAHKRAAAAckkAAABySQAAAHJKAAAAcqEAAADyAAAAcwYAAAAAAQwBFgF6EF9SZWFkZXIucmVhZGxpbmUpAtoEaGludHJMAAAAYwIAAAAAAAAAAAAAAAMAAAAGAAAAQwAAAHMsAAAAfABqAKABfAGhAX0CfABqAmoDfABqBHQFdAZ0B3wCgwKDAWQBjQIBAHwCUwByjQAAACkIcoYAAADaCXJlYWRsaW5lc3I/AAAAck4AAAByhwAAANoDc3Vt2gNtYXBykAAAACkDckYAAAByogAAANoFbGluZXNySQAAAHJJAAAAckoAAAByowAAAPcAAABzBgAAAAABDAEcAXoRX1JlYWRlci5yZWFkbGluZXNjAQAAAAAAAAAAAAAAAQAAAAIAAABDAAAAcxoAAAB8AGoAchB8AGoBoAKhAAEAZAF8AF8DZABTACkCTlQpBHKIAAAAcoYAAAByiwAAAHKKAAAAclUAAABySQAAAHJJAAAAckoAAAByiwAAAPwAAABzBgAAAAABBgEKAXoNX1JlYWRlci5jbG9zZXIBAAAAKQPaBm9mZnNldNoGd2hlbmNlckwAAABjAwAAAAAAAAAAAAAABAAAAAQAAABDAAAAcyQAAAB8AGoAoAF8AXwCoQJ9A3wAagJqA3wAagR8A2QBjQIBAHwDUwApAk6pAXJDAAAAKQVyhgAAANoEc2Vla3I/AAAAclAAAAByhwAAACkEckYAAABypwAAAHKoAAAA2gNwb3NySQAAAHJJAAAAckoAAAByqgAAAAEBAABzBgAAAAABDgESAXoMX1JlYWRlci5zZWVrYwEAAAAAAAAAAAAAAAEAAAACAAAAQwAAAHMKAAAAfABqAKABoQBTAHJSAAAAKQJyhgAAANoEdGVsbHJVAAAAckkAAABySQAAAHJKAAAAcqwAAAAGAQAAcwIAAAAAAXoMX1JlYWRlci50ZWxsKQLaAXNyTAAAAGMCAAAAAAAAAAAAAAACAAAAAgAAAEMAAABzDAAAAHQAZAGDAYIBZABTACkCTtoFd3JpdGUpAXILAAAAKQJyRgAAAHKtAAAAckkAAABySQAAAHJKAAAAcq4AAAAJAQAAcwIAAAAAAXoNX1JlYWRlci53cml0ZSkBVCkBcpoAAAApAXKaAAAAKQFymgAAACkBcgEAAAApKXJfAAAAcmAAAAByYQAAAHJiAAAAchUAAAByOgAAANoEYm9vbHJFAAAAclYAAAByHwAAAHIjAAAAcmQAAAByEwAAAHJeAAAAcowAAADaBWJ5dGVzcpIAAADaCHByb3BlcnR5cpMAAADaA2ludHKUAAAAcpUAAADaA3N0cnKWAAAAcpcAAABymAAAAHKZAAAAcpwAAAByJQAAANoJYnl0ZWFycmF52gptZW1vcnl2aWV3cg0AAABynwAAAHKhAAAAchwAAAByowAAAHKLAAAAcqoAAAByrAAAAHIUAAAAcq4AAABySQAAAHJJAAAAckkAAABySgAAAHKFAAAArQAAAHNEAAAACAEEBwD7AgICAQIBAgECAQL6DA0OBgoBBgEGAQL7DAgOAw4FAgEQAw4DDgMCARADDgMOAw4DEgUYBRIFFgUOBRQFDgNyhQAAAGMAAAAAAAAAAAAAAAAAAAAABQAAAEAAAABzVAAAAGUAWgFkAFoCZAFaA2QCZQRkA2QEnANkBWQGhARaBWUEZAecAWQIZAmEBFoGZQdlCGUJGQAZAGUHZQkZAGUHZQoZAGQDZAqcBGQLZAyEBFoLZANTACkN2gxfUmVhZENvbnRleHR6RUEgdXRpbGl0eSBjbGFzcyB0byBoYW5kbGUgYSBjb250ZXh0IGZvciBib3RoIGEgcmVhZGVyIGFuZCBhIHByb2dyZXNzLnI+AAAATikDcj8AAADaBnJlYWRlcnJMAAAAYwMAAAAAAAAAAAAAAAMAAAACAAAAQwAAAHMQAAAAfAF8AF8AfAJ8AF8BZABTAHJSAAAAKQJyPwAAAHK3AAAAKQNyRgAAAHI/AAAAcrcAAABySQAAAHJJAAAAckoAAAByRQAAABABAABzBAAAAAABBgF6FV9SZWFkQ29udGV4dC5fX2luaXRfX3JLAAAAYwEAAAAAAAAAAAAAAAEAAAACAAAAQwAAAHMUAAAAfABqAKABoQABAHwAagKgA6EAUwByUgAAACkEcj8AAAByVAAAAHK3AAAAclYAAAByVQAAAHJJAAAAckkAAABySgAAAHJWAAAAFAEAAHMEAAAAAAEKAXoWX1JlYWRDb250ZXh0Ll9fZW50ZXJfX3JXAAAAYwQAAAAAAAAAAAAAAAQAAAAFAAAAQwAAAHMeAAAAfABqAKABoQABAHwAagKgA3wBfAJ8A6EDAQBkAFMAclIAAAApBHI/AAAA2gRzdG9wcrcAAAByXgAAAHJdAAAAckkAAABySQAAAHJKAAAAcl4AAAAYAQAAcwQAAAAABgoBehVfUmVhZENvbnRleHQuX19leGl0X18pDHJfAAAAcmAAAAByYQAAAHJiAAAAcjwAAAByRQAAAHJWAAAAch8AAAByIwAAAHJkAAAAchMAAAByXgAAAHJJAAAAckkAAABySQAAAHJKAAAAcrYAAAANAQAAcxAAAAAIAQQCEgQOBgoBBgEGAQL7crYAAAD6ClJlYWRpbmcuLi4pC3JuAAAAcnAAAABycQAAAHJyAAAAcnMAAABydAAAAHJ1AAAAcnYAAABydwAAAHJ4AAAAcnkAAAApDtoEZmlsZXJvAAAAcm4AAABycAAAAHJxAAAAcnIAAABycwAAAHJ0AAAAcnUAAABydgAAAHJ3AAAAcngAAAByeQAAAHJMAAAAYwIAAAAAAAAACwAAABAAAAAJAAAAQwAAAHNoAAAAfAJyDnQAZAGDAWcBbgJnAH0NfA2gAXQCfAh8CXwKfAtkAo0EdAODAHQEgwBmA6EBAQB0BXwNfAN8BHwFfAZ8B3BEZAN8DGQEnAaOAX0OfA5qBnwAfAF8AmQFjQN9D3QHfA58D4MCUwApBmEaBQAAUmVhZCBieXRlcyBmcm9tIGEgZmlsZSB3aGlsZSB0cmFja2luZyBwcm9ncmVzcy4KCiAgICBBcmdzOgogICAgICAgIGZpbGUgKFVuaW9uW3N0ciwgUGF0aExpa2Vbc3RyXSwgQmluYXJ5SU9dKTogVGhlIHBhdGggdG8gdGhlIGZpbGUgdG8gcmVhZCwgb3IgYSBmaWxlLWxpa2Ugb2JqZWN0IGluIGJpbmFyeSBtb2RlLgogICAgICAgIHRvdGFsIChpbnQpOiBUb3RhbCBudW1iZXIgb2YgYnl0ZXMgdG8gcmVhZC4KICAgICAgICBkZXNjcmlwdGlvbiAoc3RyLCBvcHRpb25hbCk6IERlc2NyaXB0aW9uIG9mIHRhc2sgc2hvdyBuZXh0IHRvIHByb2dyZXNzIGJhci4gRGVmYXVsdHMgdG8gIlJlYWRpbmciLgogICAgICAgIGF1dG9fcmVmcmVzaCAoYm9vbCwgb3B0aW9uYWwpOiBBdXRvbWF0aWMgcmVmcmVzaCwgZGlzYWJsZSB0byBmb3JjZSBhIHJlZnJlc2ggYWZ0ZXIgZWFjaCBpdGVyYXRpb24uIERlZmF1bHQgaXMgVHJ1ZS4KICAgICAgICB0cmFuc2llbnQ6IChib29sLCBvcHRpb25hbCk6IENsZWFyIHRoZSBwcm9ncmVzcyBvbiBleGl0LiBEZWZhdWx0cyB0byBGYWxzZS4KICAgICAgICBjb25zb2xlIChDb25zb2xlLCBvcHRpb25hbCk6IENvbnNvbGUgdG8gd3JpdGUgdG8uIERlZmF1bHQgY3JlYXRlcyBpbnRlcm5hbCBDb25zb2xlIGluc3RhbmNlLgogICAgICAgIHJlZnJlc2hfcGVyX3NlY29uZCAoZmxvYXQpOiBOdW1iZXIgb2YgdGltZXMgcGVyIHNlY29uZCB0byByZWZyZXNoIHRoZSBwcm9ncmVzcyBpbmZvcm1hdGlvbi4gRGVmYXVsdHMgdG8gMTAuCiAgICAgICAgc3R5bGUgKFN0eWxlVHlwZSwgb3B0aW9uYWwpOiBTdHlsZSBmb3IgdGhlIGJhciBiYWNrZ3JvdW5kLiBEZWZhdWx0cyB0byAiYmFy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YWwpOiBUaGUgZXJyb3IgaGFuZGxpbmcgc3RyYXRlZ3kgZm9yIGRlY29kaW5nIGVycm9ycywgc2VlIDpmdW5jOmBpby5vcGVuYC4KICAgICAgICBuZXdsaW5lIChzdHIsIG9wdGlvbmFsKTogVGhlIHN0cmF0ZWd5IGZvciBoYW5kbGluZyBuZXdsaW5lcyBpbiB0ZXh0IG1vZGUsIHNlZSA6ZnVuYzpgaW8ub3BlbmAKICAgICAgICB0b3RhbDogKGludCwgb3B0aW9uYWwpOiBUb3RhbCBudW1iZXIgb2YgYnl0ZXMgdG8gcmVhZC4gTXVzdCBiZSBwcm92aWRlZCBpZiByZWFkaW5nIGZyb20gYSBmaWxlIGhhbmRsZS4gRGVmYXVsdCBmb3IgYSBwYXRoIGlzIG9zLnN0YXQoZmlsZSkuc3Rfc2l6ZS4KICAgICAgICBkZXNjcmlwdGlvbiAoc3RyLCBvcHRpb25hbCk6IERlc2NyaXB0aW9uIG9mIHRhc2sgc2hvdyBuZXh0IHRvIHByb2dyZXNzIGJhci4gRGVmYXVsdHMgdG8gIlJlYWRpbmciLgogICAgICAgIGF1dG9fcmVmcmVzaCAoYm9vbCwgb3B0aW9uYWwpOiBBdXRvbWF0aWMgcmVmcmVzaCwgZGlzYWJsZSB0byBmb3JjZSBhIHJlZnJlc2ggYWZ0ZXIgZWFjaCBpdGVyYXRpb24uIERlZmF1bHQgaXMgVHJ1ZS4KICAgICAgICB0cmFuc2llbnQ6IChib29sLCBvcHRpb25hbCk6IENsZWFyIHRoZSBwcm9ncmVzcyBvbiBleGl0LiBEZWZhdWx0cyB0byBGYWxzZS4KICAgICAgICBjb25zb2xlIChDb25zb2xlLCBvcHRpb25hbCk6IENvbnNvbGUgdG8gd3JpdGUgdG8uIERlZmF1bHQgY3JlYXRlcyBpbnRlcm5hbCBDb25zb2xlIGluc3RhbmNlLgogICAgICAgIHJlZnJlc2hfcGVyX3NlY29uZCAoZmxvYXQpOiBOdW1iZXIgb2YgdGltZXMgcGVyIHNlY29uZCB0byByZWZyZXNoIHRoZSBwcm9ncmVzcyBpbmZvcm1hdGlvbi4gRGVmYXVsdHMgdG8gMTAuCiAgICAgICAgc3R5bGUgKFN0eWxlVHlwZSwgb3B0aW9uYWwp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AGUHZR0ZAGQCZB2cBGQeZB+EBFoeZFhlBGUfZSAZAGUhZSAZAGYCGQBlB2UKGQBlB2UVGQBlBWUKZR9lIBkAZCKcBmQjZCSEBVoiZFlkAmQlZCacAmUjZQdlJBkAZQdlFRkAZQVlI2QnnAVkKGQphAdaJWUmaidkWmQCZAJkJWQrnANlBGUFZCxlKGYDGQBlKWQtGQBlJGUHZQUZAGUHZQUZAGUHZQUZAGUHZSQZAGUHZRUZAGUFZSNkLpwKZC9kMIQHgwFaKmUmaidkW2QCZAJkJWQrnANlBGUFZCxlKGYDGQBlBGUpZDEZAGUpZDIZAGYCGQBlJGUHZQUZAGUHZQUZAGUHZQUZAGUHZSQZAGUHZRUZAGUFZStkLpwKZDNkMIQHgwFaKmRcZAJkAmQlZCucA2UEZQVkLGUoZgMZAGUEZSlkLRkAZSlkMhkAZSlkMRkAZgMZAGUkZQdlBRkAZQdlBRkAZQdlBRkAZQdlJBkAZQdlFRkAZQVlBGUjZStmAhkAZC6cCmQ0ZDCEB1oqZRVkAmQ1nAJkNmQ3hARaLGUVZAJkNZwCZDhkOYQEWi1kAmQCZAJkAmQCZAZkOpwGZRVlB2UKGQBlB2UKGQBlB2UKGQBlB2UFGQBlB2UJGQBlCWUuZAJkO5wJZDxkPYQGWi9kA2QCZD5kAmQCZD+cBWUVZQllB2UKGQBlJGUHZQkZAGUHZQUZAGUuZAJkQJwIZEFkQoQGWjBkXWUVZQpkAmREnANkRWRGhAVaMWQCZAycAWRHZEiEBFoyZTNkDJwBZElkSoQEWjRlH2UzGQBkDJwBZEtkTIQEWjVlH2UTGQBlNmRNnAJkTmRPhARaN2UzZAycAWRQZFGEBFo4ZF5lBWUJZQdlChkAZSRlCWUuZRVkU5wHZFRkVYQFWjllFWQCZDWcAmRWZFeEBFo6ZAJTAClfcj4AAABhjQQAAFJlbmRlcnMgYW4gYXV0by11cGRhdGluZyBwcm9ncmVzcyBiYXIocykuCgogICAgQXJnczoKICAgICAgICBjb25zb2xlIChDb25zb2xlLCBvcHRpb25hbCk6IE9wdGlvbmFsIENvbnNvbGUgaW5zdGFuY2UuIERlZmF1bHQgd2lsbCBhbiBpbnRlcm5hbCBDb25zb2xlIGluc3RhbmNlIHdyaXRpbmcgdG8gc3Rkb3V0LgogICAgICAgIGF1dG9fcmVmcmVzaCAoYm9vbCwgb3B0aW9uYWwpOiBFbmFibGUgYXV0byByZWZyZXNoLiBJZiBkaXNhYmxlZCwgeW91IHdpbGwgbmVlZCB0byBjYWxsIGByZWZyZXNoKClgLgogICAgICAgIHJlZnJlc2hfcGVyX3NlY29uZCAoT3B0aW9uYWxbZmxvYXRdLCBvcHRpb25hbCk6IE51bWJlciBvZiB0aW1lcyBwZXIgc2Vjb25kIHRvIHJlZnJlc2ggdGhlIHByb2dyZXNzIGluZm9ybWF0aW9uIG9yIE5vbmUgdG8gdXNlIGRlZmF1bHQgKDEwKS4gRGVmYXVsdHMgdG8gTm9uZS4KICAgICAgICBzcGVlZF9lc3RpbWF0ZV9wZXJpb2Q6IChmbG9hdCwgb3B0aW9uYWwpOiBQZXJpb2QgKGluIHNlY29uZHMpIHVzZWQgdG8gY2FsY3VsYXRlIHRoZSBzcGVlZCBlc3RpbWF0ZS4gRGVmYXVsdHMgdG8gMzAuCiAgICAgICAgdHJhbnNpZW50OiAoYm9vbCwgb3B0aW9uYWwpOiBDbGVhciB0aGUgcHJvZ3Jlc3Mgb24gZXhpdC4gRGVmYXVsdHMgdG8gRmFsc2UuCiAgICAgICAgcmVkaXJlY3Rfc3Rkb3V0OiAoYm9vbCwgb3B0aW9uYWwpOiBFbmFibGUgcmVkaXJlY3Rpb24gb2Ygc3Rkb3V0LCBzbyBgYHByaW50YGAgbWF5IGJlIHVzZWQuIERlZmF1bHRzIHRvIFRydWUuCiAgICAgICAgcmVkaXJlY3Rfc3RkZXJyOiAoYm9vbCwgb3B0aW9uYWwpOiBFbmFibGUgcmVkaXJlY3Rpb24gb2Ygc3RkZXJyLiBEZWZhdWx0cyB0byBUcnVlLgogICAgICAgIGdldF90aW1lOiAoQ2FsbGFibGUsIG9wdGlvbmFsKTogQSBjYWxsYWJsZSB0aGF0IGdldHMgdGhlIGN1cnJlbnQgdGltZSwgb3IgTm9uZSB0byB1c2UgQ29uc29sZS5nZXRfdGltZS4gRGVmYXVsdHMgdG8gTm9uZS4KICAgICAgICBkaXNhYmxlIChib29sLCBvcHRpb25hbCk6IERpc2FibGUgcHJvZ3Jlc3MgZGlzcGxheS4gRGVmYXVsdHMgdG8gRmFsc2UKICAgICAgICBleHBhbmQgKGJvb2wsIG9wdGlvbmFsKTogRXhwYW5kIHRhc2tzIHRhYmxlIHRvIGZpdCB3aWR0aC4gRGVmYXVsdHMgdG8gRmFsc2UuCiAgICBOVHJnAAAAZwAAAAAAAD5ARikKcnEAAABycAAAAHJ0AAAA2hVzcGVlZF9lc3RpbWF0ZV9wZXJpb2RycgAAANoPcmVkaXJlY3Rfc3Rkb3V02g9yZWRpcmVjdF9zdGRlcnJycwAAAHJ5AAAA2gZleHBhbmQpDHKEAAAAcnEAAABycAAAAHJ0AAAAckgBAABycgAAAHJJAQAAckoBAABycwAAAHJ5AAAAcksBAAByTAAAAGMBAAAAAAAAAAoAAAAMAAAACQAAAEcAAABzjgAAAHwDZAFrBHMQdABkAoMBggF0AYMAfABfAnwLcCJ8AKADoQB8AF8EfAR8AF8FfAl8AF8GfAp8AF8HaQB8AF8IdAlkAYMBfABfCnQLfAFwUnQMgwB8AnwDfAV8BnwHfABqDWQDjQd8AF8OfAhwcnwAag9qEHwAXxB8AGoPahF8AF8RfABqD2oSfABfEmQAUwApBE5yAQAAAHoecmVmcmVzaF9wZXJfc2Vjb25kIG11c3QgYmUgPiAwKQdycQAAAHJwAAAAcnQAAABycgAAAHJJAQAAckoBAADaDmdldF9yZW5kZXJhYmxlKRPaDkFzc2VydGlvbkVycm9ychEAAAByOgEAANoTZ2V0X2RlZmF1bHRfY29sdW1uc3KEAAAAckgBAAByeQAAAHJLAQAA2gZfdGFza3NyOgAAANoLX3Rhc2tfaW5kZXhyMgAAAHIrAAAAckwBAADaBGxpdmVycQAAAHJzAAAA2gVwcmludNoDbG9nKQxyRgAAAHJxAAAAcnAAAABydAAAAHJIAQAAcnIAAABySQEAAHJKAQAAcnMAAAByeQAAAHJLAQAAcoQAAABySQAAAHJJAAAAckoAAAByRQAAACYEAABzKAAAAAAOEAEIAQ4BBgIGAQYBBgEKAQIBCAECAQIBAgECAQIBBPkICQ4BCgF6EVByb2dyZXNzLl9faW5pdF9fLnJLAAAAYwEAAAAAAAAAAAAAAAEAAAAEAAAAQwAAAHMWAAAAdABkAYMBdAGDAHQCgwB0A4MAZgRTACkCYaMDAABHZXQgdGhlIGRlZmF1bHQgY29sdW1ucyB1c2VkIGZvciBhIG5ldyBQcm9ncmVzcyBpbnN0YW5jZToKICAgICAgICAgICAtIGEgdGV4dCBjb2x1bW4gZm9yIHRoZSBkZXNjcmlwdGlvbiAoVGV4dENvbHVtbikKICAgICAgICAgICAtIHRoZSBiYXIgaXRzZWxmIChCYXJDb2x1bW4pCiAgICAgICAgICAgLSBhIHRleHQgY29sdW1uIHNob3dpbmcgY29tcGxldGlvbiBwZXJjZW50YWdlIChUZXh0Q29sdW1uKQogICAgICAgICAgIC0gYW4gZXN0aW1hdGVkLXRpbWUtcmVtYWluaW5nIGNvbHVtbiAoVGltZVJlbWFpbmluZ0NvbHVtbikKICAgICAgICBJZiB0aGUgUHJvZ3Jlc3MgaW5zdGFuY2UgaXMgY3JlYXRlZCB3aXRob3V0IHBhc3NpbmcgYSBjb2x1bW5zIGFyZ3VtZW50LAogICAgICAgIHRoZSBkZWZhdWx0IGNvbHVtbnMgZGVmaW5lZCBoZXJlIHdpbGwgYmUgdXNlZC4KCiAgICAgICAgWW91IGNhbiBhbHNvIGNyZWF0ZSBhIFByb2dyZXNzIGluc3RhbmNlIHVzaW5nIGN1c3RvbSBjb2x1bW5zIGJlZm9yZQogICAgICAgIGFuZC9vciBhZnRlciB0aGUgZGVmYXVsdHMsIGFzIGluIHRoaXMgZXhhbXBsZToKCiAgICAgICAgICAgIHByb2dyZXNzID0gUHJvZ3Jlc3MoCiAgICAgICAgICAgICAgICBTcGlubmVyQ29sdW1uKCksCiAgICAgICAgICAgICAgICAqUHJvZ3Jlc3MuZGVmYXVsdF9jb2x1bW5zKCksCiAgICAgICAgICAgICAgICAiRWxhcHNlZDoiLAogICAgICAgICAgICAgICAgVGltZUVsYXBzZWRDb2x1bW4oKSwKICAgICAgICAgICAgKQoKICAgICAgICBUaGlzIGNvZGUgc2hvd3MgdGhlIGNyZWF0aW9uIG9mIGEgUHJvZ3Jlc3MgZGlzcGxheSwgY29udGFpbmluZwogICAgICAgIGEgc3Bpbm5lciB0byB0aGUgbGVmdCwgdGhlIGRlZmF1bHQgY29sdW1ucywgYW5kIGEgbGFiZWxlZCBlbGFwc2VkCiAgICAgICAgdGltZSBjb2x1bW4uCiAgICAgICAg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ZWFkLgogICAgICAgICAgICBtb2RlIChzdHIpOiBUaGUgbW9kZSB0byB1c2UgdG8gb3BlbiB0aGUgZmlsZS4gT25seSBzdXBwb3J0cyAiciIsICJyYiIgb3IgInJ0Ii4KICAgICAgICAgICAgYnVmZmVyaW5nIChpbnQpOiBUaGUgYnVmZmVyaW5nIHN0cmF0ZWd5IHRvIHVzZSwgc2VlIDpmdW5jOmBpby5vcGVuYC4KICAgICAgICAgICAgZW5jb2RpbmcgKHN0ciwgb3B0aW9uYWwpOiBUaGUgZW5jb2RpbmcgdG8gdXNlIHdoZW4gcmVhZGluZyBpbiB0ZXh0IG1vZGUsIHNlZSA6ZnVuYzpgaW8ub3BlbmAuCiAgICAgICAgICAgIGVycm9ycyAoc3RyLCBvcHRpb25hbCk6IFRoZSBlcnJvciBoYW5kbGluZyBzdHJhdGVneSBmb3IgZGVjb2RpbmcgZXJyb3JzLCBzZWUgOmZ1bmM6YGlvLm9wZW5gLgogICAgICAgICAgICBuZXdsaW5lIChzdHIsIG9wdGlvbmFsKTogVGhlIHN0cmF0ZWd5IGZvciBoYW5kbGluZyBuZXdsaW5lcyBpbiB0ZXh0IG1vZGUsIHNlZSA6ZnVuYzpgaW8ub3BlbmAuCiAgICAgICAgICAgIHRvdGFsIChpbnQsIG9wdGlvbmFsKTogVG90YWwgbnVtYmVyIG9mIGJ5dGVzIHRvIHJlYWQuIElmIG5vbmUgZ2l2ZW4sIG9zLnN0YXQocGF0aCkuc3Rfc2l6ZSBpcyB1c2VkLgogICAgICAgICAgICB0YXNrX2lkIChUYXNrSUQpOiBUYXNrIHRvIHRyYWNrLiBEZWZhdWx0IGlzIG5ldyB0YXNrLgogICAgICAgICAgICBkZXNjcmlwdGlvbiAoc3RyLCBvcHRpb25hbCk6IERlc2NyaXB0aW9uIG9mIHRhc2ssIGlmIG5ldyB0YXNrIGlzIGNyZWF0ZWQuCgogICAgICAgIFJldHVybnM6CiAgICAgICAgICAgIEJpbmFyeUlPOiBBIHJlYWRhYmxlIGZpbGUtbGlrZSBvYmplY3QgaW4gYmluYXJ5IG1vZGUuCgogICAgICAgIFJhaXNlczoKICAgICAgICAgICAgVmFsdWVFcnJvcjogV2hlbiBhbiBpbnZhbGlk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