A/MNCltcrFFjAAAAAAAAAAAVAAAAQAAAAHPpAAAAZAAAWgAAZAEAWgEAZAIAZAMAbAIAWgIAZAIAZAMAbAMAWgMAZAIAZAQAbAQAbQUAWgUAAWQCAGQFAGwGAG0HAFoHAG0IAFoIAG0JAFoJAG0KAFoKAAFkAgBkBgBsCwBtDABaDAABZAIAZAcAbA0AbQ4AWg4AAWQCAGQIAGwPAG0QAFoQAAFkAgBkCQBsEQBtEgBaEgABZAIAZAoAbBMAbRQAWhQAAWQLAFoVAGQMAIQAAFoWAGQDAGEYAGQDAGEZAGQzAFoaAGQ0AFobAGQwAIQAAFocAGQDAGQxAGQyAIQCAFodAGQDAFMoNQAAAHMjAQAAZGlzdHV0aWxzLmNvcmUKClRoZSBvbmx5IG1vZHVsZSB0aGF0IG5lZWRzIHRvIGJlIGltcG9ydGVkIHRvIHVzZSB0aGUgRGlzdHV0aWxzOyBwcm92aWRlcwp0aGUgJ3NldHVwJyBmdW5jdGlvbiAod2hpY2ggaXMgdG8gYmUgY2FsbGVkIGZyb20gdGhlIHNldHVwIHNjcmlwdCkuICBBbHNvCmluZGlyZWN0bHkgcHJvdmlkZXMgdGhlIERpc3RyaWJ1dGlvbiBhbmQgQ29tbWFuZCBjbGFzc2VzLCBhbHRob3VnaCB0aGV5IGFyZQpyZWFsbHkgZGVmaW5lZCBpbiBkaXN0dXRpbHMuZGlzdCBhbmQgZGlzdHV0aWxzLmNtZC4KcwQAAAAkSWQkaf////9OKAEAAAB0BQAAAERFQlVHKAQAAAB0EwAAAERpc3R1dGlsc1NldHVwRXJyb3J0EQAAAERpc3R1dGlsc0FyZ0Vycm9ydA4AAABEaXN0dXRpbHNFcnJvcnQOAAAAQ0NvbXBpbGVyRXJyb3IoAQAAAHQWAAAAZ3Jva19lbnZpcm9ubWVudF9lcnJvcigBAAAAdAwAAABEaXN0cmlidXRpb24oAQAAAHQHAAAAQ29tbWFuZCgBAAAAdA0AAABQeVBJUkNDb21tYW5kKAEAAAB0CQAAAEV4dGVuc2lvbnOwAAAAdXNhZ2U6ICUoc2NyaXB0KXMgW2dsb2JhbF9vcHRzXSBjbWQxIFtjbWQxX29wdHNdIFtjbWQyIFtjbWQyX29wdHNdIC4uLl0KICAgb3I6ICUoc2NyaXB0KXMgLS1oZWxwIFtjbWQxIGNtZDIgLi4uXQogICBvcjogJShzY3JpcHQpcyAtLWhlbHAtY29tbWFuZHMKICAgb3I6ICUoc2NyaXB0KXMgY21kIC0taGVscApjAQAAAAIAAAAEAAAAQwAAAHMhAAAAdAAAagEAagIAfAAAgwEAfQEAdAMAaQEAfAEAZAEANhZTKAIAAABOdAYAAABzY3JpcHQoBAAAAHQCAAAAb3N0BAAAAHBhdGh0CAAAAGJhc2VuYW1ldAUAAABVU0FHRSgCAAAAdAsAAABzY3JpcHRfbmFtZVIKAAAAKAAAAAAoAAAAAHNWAAAAL3RtcC9uZGstVXNlci9idWlsZGhvc3QvaW5zdGFsbC9wcmVidWlsdC9kYXJ3aW4teDg2XzY0L2xpYi9weXRob24yLjcvZGlzdHV0aWxzL2NvcmUucHl0CQAAAGdlbl91c2FnZSQAAABzBAAAAAABEgF0CQAAAGRpc3RjbGFzc1IPAAAAdAsAAABzY3JpcHRfYXJnc3QHAAAAb3B0aW9uc3QEAAAAbmFtZXQHAAAAdmVyc2lvbnQGAAAAYXV0aG9ydAwAAABhdXRob3JfZW1haWx0CgAAAG1haW50YWluZXJ0EAAAAG1haW50YWluZXJfZW1haWx0AwAAAHVybHQHAAAAbGljZW5zZXQLAAAAZGVzY3JpcHRpb250EAAAAGxvbmdfZGVzY3JpcHRpb250CAAAAGtleXdvcmRzdAkAAABwbGF0Zm9ybXN0CwAAAGNsYXNzaWZpZXJzdAwAAABkb3dubG9hZF91cmx0CAAAAHJlcXVpcmVzdAgAAABwcm92aWRlc3QJAAAAb2Jzb2xldGVzdAcAAABzb3VyY2VzdAwAAABpbmNsdWRlX2RpcnN0DQAAAGRlZmluZV9tYWNyb3N0DAAAAHVuZGVmX21hY3Jvc3QMAAAAbGlicmFyeV9kaXJzdAkAAABsaWJyYXJpZXN0FAAAAHJ1bnRpbWVfbGlicmFyeV9kaXJzdA0AAABleHRyYV9vYmplY3RzdBIAAABleHRyYV9jb21waWxlX2FyZ3N0DwAAAGV4dHJhX2xpbmtfYXJnc3QJAAAAc3dpZ19vcHRzdA4AAABleHBvcnRfc3ltYm9sc3QHAAAAZGVwZW5kc3QIAAAAbGFuZ3VhZ2VjAAAAAAcAAAAGAAAASwAAAHM3AgAAfAAAagAAZAEAgwEAfQEAfAEAch8AfAAAZAEAPW4GAHQBAH0BAGQCAHwAAGsHAHJRAHQCAGoDAGoEAHQFAGoGAGQDABmDAQB8AABkAgA8bgAAZAQAfAAAawcAcnEAdAUAagYAZAUAH3wAAGQEADxuAAB5FAB8AQB8AACDAQAEYQcAfQIAV25GAAR0CABrCgByzQABfQMAAWQGAHwAAGsGAHK9AHQJAGQHAHwAAGQGABl8AwBmAgAWggIAcc4AdAkAZAgAfAMAFoICAG4BAFh0CgBkCQBrAgBy3gB8AgBTfAIAagsAgwAAAXQMAHIAAWQKAEdIfAIAag0AgwAAAW4AAHQKAGQLAGsCAHIQAXwCAFN5EAB8AgBqDgCDAAB9BABXbi0ABHQPAGsKAHJPAQF9AwABdAkAdBAAfAIAahEAgwEAZAwAfAMAFheCAgBuAQBYdAwAcmgBZA0AR0h8AgBqDQCDAAABbgAAdAoAZA4AawIAcngBfAIAU3wEAHIzAnkOAHwCAGoSAIMAAAFXcTMCBHQTAGsKAHKoAQEBAXQJAGQPAIICAHEzAgR0FAB0AgBqFQBmAgBrCgBy+AEBfQUAAXQWAHwFAIMBAH0GAHQMAHLsAXQFAGoXAGoYAHwGAGQQABeDAQABggAAcTACdAkAfAYAggIAcTMCBHQZAHQaAGYCAGsKAHIvAgF9AwABdAwAchkCggAAcTACdAkAZBEAdBsAfAMAgwEAF4ICAHEzAlhuAAB8AgBTKBIAAABzzAYAAFRoZSBnYXRld2F5IHRvIHRoZSBEaXN0dXRpbHM6IGRvIGV2ZXJ5dGhpbmcgeW91ciBzZXR1cCBzY3JpcHQgbmVlZHMKICAgIHRvIGRvLCBpbiBhIGhpZ2hseSBmbGV4aWJsZSBhbmQgdXNlci1kcml2ZW4gd2F5LiAgQnJpZWZseTogY3JlYXRlIGEKICAgIERpc3RyaWJ1dGlvbiBpbnN0YW5jZTsgZmluZCBhbmQgcGFyc2UgY29uZmlnIGZpbGVzOyBwYXJzZSB0aGUgY29tbWFuZAogICAgbGluZTsgcnVuIGVhY2ggRGlzdHV0aWxzIGNvbW1hbmQgZm91bmQgdGhlcmUsIGN1c3RvbWl6ZWQgYnkgdGhlIG9wdGlvbnMKICAgIHN1cHBsaWVkIHRvICdzZXR1cCgpJyAoYXMga2V5d29yZCBhcmd1bWVudHMpLCBpbiBjb25maWcgZmlsZXMsIGFuZCBvbgogICAgdGhlIGNvbW1hbmQgbGluZS4KCiAgICBUaGUgRGlzdHJpYnV0aW9uIGluc3RhbmNlIG1pZ2h0IGJlIGFuIGluc3RhbmNlIG9mIGEgY2xhc3Mgc3VwcGxpZWQgdmlhCiAgICB0aGUgJ2Rpc3RjbGFzcycga2V5d29yZCBhcmd1bWVudCB0byAnc2V0dXAnOyBpZiBubyBzdWNoIGNsYXNzIGlzCiAgICBzdXBwbGllZCwgdGhlbiB0aGUgRGlzdHJpYnV0aW9uIGNsYXNzIChpbiBkaXN0LnB5KSBpcyBpbnN0YW50aWF0ZWQuCiAgICBBbGwgb3RoZXIgYXJndW1lbnRzIHRvICdzZXR1cCcgKGV4Y2VwdCBmb3IgJ2NtZGNsYXNzJykgYXJlIHVzZWQgdG8gc2V0CiAgICBhdHRyaWJ1dGVzIG9mIHRoZSBEaXN0cmlidXRpb24gaW5zdGFuY2UuCgogICAgVGhlICdjbWRjbGFzcycgYXJndW1lbnQsIGlmIHN1cHBsaWVkLCBpcyBhIGRpY3Rpb25hcnkgbWFwcGluZyBjb21tYW5kCiAgICBuYW1lcyB0byBjb21tYW5kIGNsYXNzZXMuICBFYWNoIGNvbW1hbmQgZW5jb3VudGVyZWQgb24gdGhlIGNvbW1hbmQgbGluZQogICAgd2lsbCBiZSB0dXJuZWQgaW50byBhIGNvbW1hbmQgY2xhc3MsIHdoaWNoIGlzIGluIHR1cm4gaW5zdGFudGlhdGVkOyBhbnkKICAgIGNsYXNzIGZvdW5kIGluICdjbWRjbGFzcycgaXMgdXNlZCBpbiBwbGFjZSBvZiB0aGUgZGVmYXVsdCwgd2hpY2ggaXMKICAgIChmb3IgY29tbWFuZCAnZm9vX2JhcicpIGNsYXNzICdmb29fYmFyJyBpbiBtb2R1bGUKICAgICdkaXN0dXRpbHMuY29tbWFuZC5mb29fYmFyJy4gIFRoZSBjb21tYW5kIGNsYXNzIG11c3QgcHJvdmlkZSBhCiAgICAndXNlcl9vcHRpb25zJyBhdHRyaWJ1dGUgd2hpY2ggaXMgYSBsaXN0IG9mIG9wdGlvbiBzcGVjaWZpZXJzIGZvcgogICAgJ2Rpc3R1dGlscy5mYW5jeV9nZXRvcHQnLiAgQW55IGNvbW1hbmQtbGluZSBvcHRpb25zIGJldHdlZW4gdGhlIGN1cnJlbnQKICAgIGFuZCB0aGUgbmV4dCBjb21tYW5kIGFyZSB1c2VkIHRvIHNldCBhdHRyaWJ1dGVzIG9mIHRoZSBjdXJyZW50IGNvbW1hbmQKICAgIG9iamVjdC4KCiAgICBXaGVuIHRoZSBlbnRpcmUgY29tbWFuZC1saW5lIGhhcyBiZWVuIHN1Y2Nlc3NmdWxseSBwYXJzZWQsIGNhbGxzIHRoZQogICAgJ3J1bigpJyBtZXRob2Qgb24gZWFjaCBjb21tYW5kIG9iamVjdCBpbiB0dXJuLiAgVGhpcyBtZXRob2Qgd2lsbCBiZQogICAgZHJpdmVuIGVudGlyZWx5IGJ5IHRoZSBEaXN0cmlidXRpb24gb2JqZWN0ICh3aGljaCBlYWNoIGNvbW1hbmQgb2JqZWN0CiAgICBoYXMgYSByZWZlcmVuY2UgdG8sIHRoYW5rcyB0byBpdHMgY29uc3RydWN0b3IpLCBhbmQgdGhlCiAgICBjb21tYW5kLXNwZWNpZmljIG9wdGlvbnMgdGhhdCBiZWNhbWUgYXR0cmlidXRlcyBvZiBlYWNoIGNvbW1hbmQKICAgIG9iamVjdC4KICAgIFIRAAAAUg8AAABpAAAAAFISAAAAaQEAAABSFAAAAHMdAAAAZXJyb3IgaW4gJXMgc2V0dXAgY29tbWFuZDogJXNzGgAAAGVycm9yIGluIHNldHVwIGNvbW1hbmQ6ICVzdAQAAABpbml0cyUAAABvcHRpb25zIChhZnRlciBwYXJzaW5nIGNvbmZpZyBmaWxlcyk6dAYAAABjb25maWdzCgAAAAplcnJvcjogJXNzJQAAAG9wdGlvbnMgKGFmdGVyIHBhcnNpbmcgY29tbWFuZCBsaW5lKTp0CwAAAGNvbW1hbmRsaW5ldAsAAABpbnRlcnJ1cHRlZHMBAAAACnMHAAAAZXJyb3I6ICgcAAAAdAMAAABnZXRSBgAAAFILAAAAUgwAAABSDQAAAHQDAAAAc3lzdAQAAABhcmd2dBMAAABfc2V0dXBfZGlzdHJpYnV0aW9uUgEAAAB0CgAAAFN5c3RlbUV4aXR0EQAAAF9zZXR1cF9zdG9wX2FmdGVydBIAAABwYXJzZV9jb25maWdfZmlsZXNSAAAAAHQRAAAAZHVtcF9vcHRpb25fZGljdHN0EgAAAHBhcnNlX2NvbW1hbmRfbGluZVICAAAAUhAAAABSDwAAAHQMAAAAcnVuX2NvbW1hbmRzdBEAAABLZXlib2FyZEludGVycnVwdHQHAAAASU9FcnJvcnQFAAAAZXJyb3JSBQAAAHQGAAAAc3RkZXJydAUAAAB3cml0ZVIDAAAAUgQAAAB0AwAAAHN0cigHAAAAdAUAAABhdHRyc3QFAAAAa2xhc3N0BAAAAGRpc3R0AwAAAG1zZ3QCAAAAb2t0AwAAAGV4Y1JDAAAAKAAAAAAoAAAAAHNWAAAAL3RtcC9uZGstVXNlci9idWlsZGhvc3QvaW5zdGFsbC9wcmVidWlsdC9kYXJ3aW4teDg2XzY0L2xpYi9weXRob24yLjcvZGlzdHV0aWxzL2NvcmUucHl0BQAAAHNldHVwPQAAAHNiAAAAACUPAQYBCgIGAgwBIAEMARQEAwEUAQ8BDAEGARQCEQIMAQQECgIGAQUBDQIMAQQFAwEQAQ8BHgIGAQUBDQIMAQQDBgEDAQ4BDQEMARgBDAIGARQBBgIMAgQBEQEGAQYCGgJ0AwAAAHJ1bmMDAAAABwAAAAUAAABCAAAAc/AAAAB8AgBkCwBrBwByHwBlAABkBQB8AgBmAQAWggIAbgAAfAIAYQEAZQIAagMAfQMAaQEAfAAAZAYANn0EAGkAAH0FAHlyAHpbAHwAAGUCAGoDAGQHADx8AQBkCQBrCQBycAB8AQBlAgBqAwBkCAApbgAAZQUAfAAAgwEAfQYAehQAfAYAagYAgwAAfAQAfAUAVVdkCQB8BgBqBwCDAAABWFdkCQB8AwBlAgBfAwBkCQBhAQBYV24aAARlCABrCgByxgABAQFuCgABAQGCAABuAQBYdAkAZAkAawgAcuwAZQoAZAoAfAAAFoICAG4AAHQJAFMoDAAAAHMpBQAAUnVuIGEgc2V0dXAgc2NyaXB0IGluIGEgc29tZXdoYXQgY29udHJvbGxlZCBlbnZpcm9ubWVudCwgYW5kCiAgICByZXR1cm4gdGhlIERpc3RyaWJ1dGlvbiBpbnN0YW5jZSB0aGF0IGRyaXZlcyB0aGluZ3MuICBUaGlzIGlzIHVzZWZ1bAogICAgaWYgeW91IG5lZWQgdG8gZmluZCBvdXQgdGhlIGRpc3RyaWJ1dGlvbiBtZXRhLWRhdGEgKHBhc3NlZCBhcwogICAga2V5d29yZCBhcmdzIGZyb20gJ3NjcmlwdCcgdG8gJ3NldHVwKCknLCBvciB0aGUgY29udGVudHMgb2YgdGhlCiAgICBjb25maWcgZmlsZXMgb3IgY29tbWFuZC1saW5lLgoKICAgICdzY3JpcHRfbmFtZScgaXMgYSBmaWxlIHRoYXQgd2lsbCBiZSBydW4gd2l0aCAnZXhlY2ZpbGUoKSc7CiAgICAnc3lzLmFyZ3ZbMF0nIHdpbGwgYmUgcmVwbGFjZWQgd2l0aCAnc2NyaXB0JyBmb3IgdGhlIGR1cmF0aW9uIG9mIHRoZQogICAgY2FsbC4gICdzY3JpcHRfYXJncycgaXMgYSBsaXN0IG9mIHN0cmluZ3M7IGlmIHN1cHBsaWVkLAogICAgJ3N5cy5hcmd2WzE6XScgd2lsbCBiZSByZXBsYWNlZCBieSAnc2NyaXB0X2FyZ3MnIGZvciB0aGUgZHVyYXRpb24gb2YKICAgIHRoZSBjYWxsLgoKICAgICdzdG9wX2FmdGVyJyB0ZWxscyAnc2V0dXAoKScgd2hlbiB0byBzdG9wIHByb2Nlc3Npbmc7IHBvc3NpYmxlCiAgICB2YWx1ZXM6CiAgICAgIGluaXQKICAgICAgICBzdG9wIGFmdGVyIHRoZSBEaXN0cmlidXRpb24gaW5zdGFuY2UgaGFzIGJlZW4gY3JlYXRlZCBhbmQKICAgICAgICBwb3B1bGF0ZWQgd2l0aCB0aGUga2V5d29yZCBhcmd1bWVudHMgdG8gJ3NldHVwKCknCiAgICAgIGNvbmZpZwogICAgICAgIHN0b3AgYWZ0ZXIgY29uZmlnIGZpbGVzIGhhdmUgYmVlbiBwYXJzZWQgKGFuZCB0aGVpciBkYXRhCiAgICAgICAgc3RvcmVkIGluIHRoZSBEaXN0cmlidXRpb24gaW5zdGFuY2UpCiAgICAgIGNvbW1hbmRsaW5lCiAgICAgICAgc3RvcCBhZnRlciB0aGUgY29tbWFuZC1saW5lICgnc3lzLmFyZ3ZbMTpdJyBvciAnc2NyaXB0X2FyZ3MnKQogICAgICAgIGhhdmUgYmVlbiBwYXJzZWQgKGFuZCB0aGUgZGF0YSBzdG9yZWQgaW4gdGhlIERpc3RyaWJ1dGlvbikKICAgICAgcnVuIFtkZWZhdWx0XQogICAgICAgIHN0b3AgYWZ0ZXIgYWxsIGNvbW1hbmRzIGhhdmUgYmVlbiBydW4gKHRoZSBzYW1lIGFzIGlmICdzZXR1cCgpJwogICAgICAgIGhhZCBiZWVuIGNhbGxlZCBpbiB0aGUgdXN1YWwgd2F5CgogICAgUmV0dXJucyB0aGUgRGlzdHJpYnV0aW9uIGluc3RhbmNlLCB3aGljaCBwcm92aWRlcyBhbGwgaW5mb3JtYXRpb24KICAgIHVzZWQgdG8gZHJpdmUgdGhlIERpc3R1dGlscy4KICAgIFIzAAAAUjQAAABSNQAAAFJOAAAAcyIAAABpbnZhbGlkIHZhbHVlIGZvciAnc3RvcF9hZnRlcic6ICVydAgAAABfX2ZpbGVfX2kAAAAAaQEAAABOc1oAAAAnZGlzdHV0aWxzLmNvcmUuc2V0dXAoKScgd2FzIG5ldmVyIGNhbGxlZCAtLSBwZXJoYXBzICclcycgaXMgbm90IGEgRGlzdHV0aWxzIHNldHVwIHNjcmlwdD8oBAAAAHMEAAAAaW5pdHMGAAAAY29uZmlncwsAAABjb21tYW5kbGluZVJOAAAAKAsAAAB0CgAAAFZhbHVlRXJyb3JSPAAAAFI4AAAAUjkAAAB0BAAAAE5vbmV0BAAAAG9wZW50BAAAAHJlYWR0BQAAAGNsb3NlUjsAAABSOgAAAHQMAAAAUnVudGltZUVycm9yKAcAAABSDwAAAFISAAAAdAoAAABzdG9wX2FmdGVydAkAAABzYXZlX2FyZ3Z0AQAAAGd0AQAAAGx0AQAAAGYoAAAAACgAAAAAc1YAAAAvdG1wL25kay1Vc2VyL2J1aWxkaG9zdC9pbnN0YWxsL3ByZWJ1aWx0L2Rhcndpbi14ODZfNjQvbGliL3B5dGhvbjIuNy9kaXN0dXRpbHMvY29yZS5weXQJAAAAcnVuX3NldHVwrgAAAHM0AAAAAB8MARMDBgIJAQ0BBgEDAQMBDQEMARABDAEDARQCDwIJAQsBDQMDAQMBBwIMAQMBAwIKBCgVAAAAcwkAAABkaXN0Y2xhc3NzCwAAAHNjcmlwdF9uYW1lcwsAAABzY3JpcHRfYXJnc1ITAAAAcwQAAABuYW1lcwcAAAB2ZXJzaW9uUhYAAABSFwAAAFIYAAAAUhkAAABSGgAAAHMHAAAAbGljZW5zZVIcAAAAUh0AAABSHgAAAFIfAAAAUiAAAABSIQAAAFIiAAAAUiMAAABSJAAAACgPAAAAcwQAAABuYW1lUiUAAABSJgAAAFInAAAAUigAAABSKQAAAFIqAAAAUisAAABSLAAAAFItAAAAUi4AAABSLwAAAFIwAAAAUjEAAABSMgAAACgeAAAAdAcAAABfX2RvY19fdAwAAABfX3JldmlzaW9uX19SOAAAAFILAAAAdA8AAABkaXN0dXRpbHMuZGVidWdSAAAAAHQQAAAAZGlzdHV0aWxzLmVycm9yc1IBAAAAUgIAAABSAwAAAFIEAAAAdA4AAABkaXN0dXRpbHMudXRpbFIFAAAAdA4AAABkaXN0dXRpbHMuZGlzdFIGAAAAdA0AAABkaXN0dXRpbHMuY21kUgcAAAB0EAAAAGRpc3R1dGlscy5jb25maWdSCAAAAHQTAAAAZGlzdHV0aWxzLmV4dGVuc2lvblIJAAAAUg4AAABSEAAAAFJRAAAAUjwAAABSOgAAAHQOAAAAc2V0dXBfa2V5d29yZHN0EgAAAGV4dGVuc2lvbl9rZXl3b3Jkc1JNAAAAUlsAAAAoAAAAACgAAAAAKAAAAABzVgAAAC90bXAvbmRrLVVzZXIvYnVpbGRob3N0L2luc3RhbGwvcHJlYnVpbHQvZGFyd2luLXg4Nl82NC9saWIvcHl0aG9uMi43L2Rpc3R1dGlscy9jb3JlLnB5dAgAAAA8bW9kdWxlPgcAAABzNgAAAAYCBgIMAQwCEAEiAhADEAEQARABEAsGAgkGBgEGAwABAAEAAQABAAEGBAABAAEAAQABBgIJcQ==