A/MNCkxcrFFjAAAAAAAAAAAHAAAAQAAAAHOlAAAAZAAAWgAAZAEAZAIAZAMAZAQAZAUAZAYAZAcAZwcAWgEAZAgAZAkAbAIAWgMAZAEAZQQAZgEAZAoAhAAAgwAAWVoFAGkAAGQLAIQBAFoGAGQMAIQAAFoHAGQNAIQAAFoIAGQOAIQAAFoJAGQJAGQPAIQBAFoLAGQHAGUMAGYBAGQQAIQAAIMAAFlaDQBlDgBhDwBlEABhEQBkEQCEAABaEgBkCQBTKBIAAABzLAEAAERyb3AtaW4gcmVwbGFjZW1lbnQgZm9yIHRoZSB0aHJlYWQgbW9kdWxlLgoKTWVhbnQgdG8gYmUgdXNlZCBhcyBhIGJyYWluLWRlYWQgc3Vic3RpdHV0ZSBzbyB0aGF0IHRocmVhZGVkIGNvZGUgZG9lcwpub3QgbmVlZCB0byBiZSByZXdyaXR0ZW4gZm9yIHdoZW4gdGhlIHRocmVhZCBtb2R1bGUgaXMgbm90IHByZXNlbnQuCgpTdWdnZXN0ZWQgdXNhZ2UgaXM6OgoKICAgIHRyeToKICAgICAgICBpbXBvcnQgdGhyZWFkCiAgICBleGNlcHQgSW1wb3J0RXJyb3I6CiAgICAgICAgaW1wb3J0IGR1bW15X3RocmVhZCBhcyB0aHJlYWQKCnQFAAAAZXJyb3J0EAAAAHN0YXJ0X25ld190aHJlYWR0BAAAAGV4aXR0CQAAAGdldF9pZGVudHQNAAAAYWxsb2NhdGVfbG9ja3QOAAAAaW50ZXJydXB0X21haW50CAAAAExvY2tUeXBlaf////9OYwAAAAAAAAAAAQAAAEIAAABzFwAAAGUAAFoBAGQAAFoCAGQBAIQAAFoDAFJTKAIAAABzJQAAAER1bW15IGltcGxlbWVudGF0aW9uIG9mIHRocmVhZC5lcnJvci5jAQAAAAIAAAACAAAARwAAAHMNAAAAfAEAfAAAXwAAZAAAUygBAAAATigBAAAAdAQAAABhcmdzKAIAAAB0BAAAAHNlbGZSBwAAACgAAAAAKAAAAABzVAAAAC90bXAvbmRrLVVzZXIvYnVpbGRob3N0L2luc3RhbGwvcHJlYnVpbHQvZGFyd2luLXg4Nl82NC9saWIvcHl0aG9uMi43L2R1bW15X3RocmVhZC5weXQIAAAAX19pbml0X18YAAAAcwIAAAAAASgEAAAAdAgAAABfX25hbWVfX3QKAAAAX19tb2R1bGVfX3QHAAAAX19kb2NfX1IJAAAAKAAAAAAoAAAAACgAAAAAc1QAAAAvdG1wL25kay1Vc2VyL2J1aWxkaG9zdC9pbnN0YWxsL3ByZWJ1aWx0L2Rhcndpbi14ODZfNjQvbGliL3B5dGhvbjIuNy9kdW1teV90aHJlYWQucHlSAAAAABUAAABzBAAAAAYBBgJjAwAAAAMAAAAFAAAAQwAAAHOuAAAAdAAAfAEAgwEAdAAAdAEAgwAAgwEAawMAcioAdAIAZAEAgwEAggEAbgAAdAAAfAIAgwEAdAAAdAMAgwAAgwEAawMAclQAdAIAZAIAgwEAggEAbgAAdAQAYQUAeREAfAAAfAEAfAIAjgAAAVduIQAEdAYAawoAcn4AAQEBbhEAAQEBdAcAaggAgwAAAW4BAFh0CQBhBQB0CgByqgB0BABhCgB0CwCCAQBuAABkAwBTKAQAAABz5AEAAER1bW15IGltcGxlbWVudGF0aW9uIG9mIHRocmVhZC5zdGFydF9uZXdfdGhyZWFkKCkuCgogICAgQ29tcGF0aWJpbGl0eSBpcyBtYWludGFpbmVkIGJ5IG1ha2luZyBzdXJlIHRoYXQgYGBhcmdzYGAgaXMgYQogICAgdHVwbGUgYW5kIGBga3dhcmdzYGAgaXMgYSBkaWN0aW9uYXJ5LiAgSWYgYW4gZXhjZXB0aW9uIGlzIHJhaXNlZAogICAgYW5kIGl0IGlzIFN5c3RlbUV4aXQgKHdoaWNoIGNhbiBiZSBkb25lIGJ5IHRocmVhZC5leGl0KCkpIGl0IGlzCiAgICBjYXVnaHQgYW5kIG5vdGhpbmcgaXMgZG9uZTsgYWxsIG90aGVyIGV4Y2VwdGlvbnMgYXJlIHByaW50ZWQgb3V0CiAgICBieSB1c2luZyB0cmFjZWJhY2sucHJpbnRfZXhjKCkuCgogICAgSWYgdGhlIGV4ZWN1dGVkIGZ1bmN0aW9uIGNhbGxzIGludGVycnVwdF9tYWluIHRoZSBLZXlib2FyZEludGVycnVwdCB3aWxsIGJlCiAgICByYWlzZWQgd2hlbiB0aGUgZnVuY3Rpb24gcmV0dXJucy4KCiAgICBzFwAAADJuZCBhcmcgbXVzdCBiZSBhIHR1cGxlcxYAAAAzcmQgYXJnIG11c3QgYmUgYSBkaWN0TigMAAAAdAQAAAB0eXBldAUAAAB0dXBsZXQJAAAAVHlwZUVycm9ydAQAAABkaWN0dAUAAABGYWxzZXQFAAAAX21haW50CgAAAFN5c3RlbUV4aXR0CgAAAF90cmFjZWJhY2t0CQAAAHByaW50X2V4Y3QEAAAAVHJ1ZXQKAAAAX2ludGVycnVwdHQRAAAAS2V5Ym9hcmRJbnRlcnJ1cHQoAwAAAHQIAAAAZnVuY3Rpb25SBwAAAHQGAAAAa3dhcmdzKAAAAAAoAAAAAHNUAAAAL3RtcC9uZGstVXNlci9idWlsZGhvc3QvaW5zdGFsbC9wcmVidWlsdC9kYXJ3aW4teDg2XzY0L2xpYi9weXRob24yLjcvZHVtbXlfdGhyZWFkLnB5UgEAAAAbAAAAcx4AAAAADRsBDwEbAQ8CBgEDAREBDQEDAQMBDgEGAgYBBgFjAAAAAAAAAAABAAAAQwAAAHMKAAAAdAAAggEAZAEAUygCAAAAcyYAAABEdW1teSBpbXBsZW1lbnRhdGlvbiBvZiB0aHJlYWQuZXhpdCgpLk4oAQAAAFITAAAAKAAAAAAoAAAAACgAAAAAc1QAAAAvdG1wL25kay1Vc2VyL2J1aWxkaG9zdC9pbnN0YWxsL3ByZWJ1aWx0L2Rhcndpbi14ODZfNjQvbGliL3B5dGhvbjIuNy9kdW1teV90aHJlYWQucHlSAgAAADoAAABzAgAAAAACYwAAAAAAAAAAAQAAAEMAAABzBAAAAGQBAFMoAgAAAHPyAAAARHVtbXkgaW1wbGVtZW50YXRpb24gb2YgdGhyZWFkLmdldF9pZGVudCgpLgoKICAgIFNpbmNlIHRoaXMgbW9kdWxlIHNob3VsZCBvbmx5IGJlIHVzZWQgd2hlbiB0aHJlYWRtb2R1bGUgaXMgbm90CiAgICBhdmFpbGFibGUsIGl0IGlzIHNhZmUgdG8gYXNzdW1lIHRoYXQgdGhlIGN1cnJlbnQgcHJvY2VzcyBpcyB0aGUKICAgIG9ubHkgdGhyZWFkLiAgVGh1cyBhIGNvbnN0YW50IGNhbiBiZSBzYWZlbHkgcmV0dXJuZWQuCiAgICBp/////ygAAAAAKAAAAAAoAAAAACgAAAAAc1QAAAAvdG1wL25kay1Vc2VyL2J1aWxkaG9zdC9pbnN0YWxsL3ByZWJ1aWx0L2Rhcndpbi14ODZfNjQvbGliL3B5dGhvbjIuNy9kdW1teV90aHJlYWQucHlSAwAAAD4AAABzAgAAAAAHYwAAAAAAAAAAAQAAAEMAAABzBwAAAHQAAIMAAFMoAQAAAHMvAAAARHVtbXkgaW1wbGVtZW50YXRpb24gb2YgdGhyZWFkLmFsbG9jYXRlX2xvY2soKS4oAQAAAFIGAAAAKAAAAAAoAAAAACgAAAAAc1QAAAAvdG1wL25kay1Vc2VyL2J1aWxkaG9zdC9pbnN0YWxsL3ByZWJ1aWx0L2Rhcndpbi14ODZfNjQvbGliL3B5dGhvbjIuNy9kdW1teV90aHJlYWQucHlSBAAAAEcAAABzAgAAAAACYwEAAAABAAAAAgAAAEMAAABzHwAAAHwAAGQDAGsJAHIbAHQBAGQBAIMBAIIBAG4AAGQCAFMoBAAAAHMsAAAARHVtbXkgaW1wbGVtZW50YXRpb24gb2YgdGhyZWFkLnN0YWNrX3NpemUoKS5zJwAAAHNldHRpbmcgdGhyZWFkIHN0YWNrIHNpemUgbm90IHN1cHBvcnRlZGkAAAAATigCAAAAdAQAAABOb25lUgAAAAAoAQAAAHQEAAAAc2l6ZSgAAAAAKAAAAABzVAAAAC90bXAvbmRrLVVzZXIvYnVpbGRob3N0L2luc3RhbGwvcHJlYnVpbHQvZGFyd2luLXg4Nl82NC9saWIvcHl0aG9uMi43L2R1bW15X3RocmVhZC5weXQKAAAAc3RhY2tfc2l6ZUsAAABzBgAAAAACDAEPAWMAAAAAAAAAAAIAAABCAAAAc0QAAABlAABaAQBkAABaAgBkAQCEAABaAwBkBgBkAgCEAQBaBQBlBQBaBgBkAwCEAABaBwBkBACEAABaCABkBQCEAABaCQBSUygHAAAAc4sBAABDbGFzcyBpbXBsZW1lbnRpbmcgZHVtbXkgaW1wbGVtZW50YXRpb24gb2YgdGhyZWFkLkxvY2tUeXBlLgoKICAgIENvbXBhdGliaWxpdHkgaXMgbWFpbnRhaW5lZCBieSBtYWludGFpbmluZyBzZWxmLmxvY2tlZF9zdGF0dXMKICAgIHdoaWNoIGlzIGEgYm9vbGVhbiB0aGF0IHN0b3JlcyB0aGUgc3RhdGUgb2YgdGhlIGxvY2suICBQaWNrbGluZyBvZgogICAgdGhlIGxvY2ssIHRob3VnaCwgc2hvdWxkIG5vdCBiZSBkb25lIHNpbmNlIGlmIHRoZSB0aHJlYWQgbW9kdWxlIGlzCiAgICB0aGVuIHVzZWQgd2l0aCBhbiB1bnBpY2tsZWQgYGBsb2NrKClgYCBmcm9tIGhlcmUgcHJvYmxlbXMgY291bGQKICAgIG9jY3VyIGZyb20gdGhpcyBjbGFzcyBub3QgaGF2aW5nIGF0b21pYyBtZXRob2RzLgoKICAgIGMBAAAAAQAAAAIAAABDAAAAcw0AAAB0AAB8AABfAQBkAABTKAEAAABOKAIAAABSEQAAAHQNAAAAbG9ja2VkX3N0YXR1cygBAAAAUggAAAAoAAAAACgAAAAAc1QAAAAvdG1wL25kay1Vc2VyL2J1aWxkaG9zdC9pbnN0YWxsL3ByZWJ1aWx0L2Rhcndpbi14ODZfNjQvbGliL3B5dGhvbjIuNy9kdW1teV90aHJlYWQucHlSCQAAAFwAAABzAgAAAAABYwIAAAACAAAAAwAAAEMAAABzPQAAAHwBAGQBAGsIAHMSAHwBAHIfAHQBAHwAAF8CAHQBAFN8AABqAgBzNQB0AQB8AABfAgB0AQBTdAMAU2QBAFMoAgAAAHOpAQAARHVtbXkgaW1wbGVtZW50YXRpb24gb2YgYWNxdWlyZSgpLgoKICAgICAgICBGb3IgYmxvY2tpbmcgY2FsbHMsIHNlbGYubG9ja2VkX3N0YXR1cyBpcyBhdXRvbWF0aWNhbGx5IHNldCB0bwogICAgICAgIFRydWUgYW5kIHJldHVybmVkIGFwcHJvcHJpYXRlbHkgYmFzZWQgb24gdmFsdWUgb2YKICAgICAgICBgYHdhaXRmbGFnYGAuICBJZiBpdCBpcyBub24tYmxvY2tpbmcsIHRoZW4gdGhlIHZhbHVlIGlzCiAgICAgICAgYWN0dWFsbHkgY2hlY2tlZCBhbmQgbm90IHNldCBpZiBpdCBpcyBhbHJlYWR5IGFjcXVpcmVkLiAgVGhpcwogICAgICAgIGlzIGFsbCBkb25lIHNvIHRoYXQgdGhyZWFkaW5nLkNvbmRpdGlvbidzIGFzc2VydCBzdGF0ZW1lbnRzCiAgICAgICAgYXJlbid0IHRyaWdnZXJlZCBhbmQgdGhyb3cgYSBsaXR0bGUgZml0LgoKICAgICAgICBOKAQAAABSGwAAAFIWAAAAUh4AAABSEQAAACgCAAAAUggAAAB0CAAAAHdhaXRmbGFnKAAAAAAoAAAAAHNUAAAAL3RtcC9uZGstVXNlci9idWlsZGhvc3QvaW5zdGFsbC9wcmVidWlsdC9kYXJ3aW4teDg2XzY0L2xpYi9weXRob24yLjcvZHVtbXlfdGhyZWFkLnB5dAcAAABhY3F1aXJlXwAAAHMOAAAAAAsSAQkBBAIJAQkBBAJjBAAAAAQAAAABAAAAQwAAAHMOAAAAfAAAagAAgwAAAWQAAFMoAQAAAE4oAQAAAHQHAAAAcmVsZWFzZSgEAAAAUggAAAB0AwAAAHR5cHQDAAAAdmFsdAIAAAB0YigAAAAAKAAAAABzVAAAAC90bXAvbmRrLVVzZXIvYnVpbGRob3N0L2luc3RhbGwvcHJlYnVpbHQvZGFyd2luLXg4Nl82NC9saWIvcHl0aG9uMi43L2R1bW15X3RocmVhZC5weXQIAAAAX19leGl0X192AAAAcwIAAAAAAWMBAAAAAQAAAAIAAABDAAAAcx8AAAB8AABqAABzEgB0AQCCAQBuAAB0AgB8AABfAAB0AwBTKAEAAABzFwAAAFJlbGVhc2UgdGhlIGR1bW15IGxvY2suKAQAAABSHgAAAFIAAAAAUhEAAABSFgAAACgBAAAAUggAAAAoAAAAACgAAAAAc1QAAAAvdG1wL25kay1Vc2VyL2J1aWxkaG9zdC9pbnN0YWxsL3ByZWJ1aWx0L2Rhcndpbi14ODZfNjQvbGliL3B5dGhvbjIuNy9kdW1teV90aHJlYWQucHlSIQAAAHkAAABzCAAAAAAECQEJAQkBYwEAAAABAAAAAQAAAEMAAABzBwAAAHwAAGoAAFMoAQAAAE4oAQAAAFIeAAAAKAEAAABSCAAAACgAAAAAKAAAAABzVAAAAC90bXAvbmRrLVVzZXIvYnVpbGRob3N0L2luc3RhbGwvcHJlYnVpbHQvZGFyd2luLXg4Nl82NC9saWIvcHl0aG9uMi43L2R1bW15X3RocmVhZC5weXQGAAAAbG9ja2VkggAAAHMCAAAAAAFOKAoAAABSCgAAAFILAAAAUgwAAABSCQAAAFIbAAAAUiAAAAB0CQAAAF9fZW50ZXJfX1IlAAAAUiEAAABSJgAAACgAAAAAKAAAAAAoAAAAAHNUAAAAL3RtcC9uZGstVXNlci9idWlsZGhvc3QvaW5zdGFsbC9wcmVidWlsdC9kYXJ3aW4teDg2XzY0L2xpYi9weXRob24yLjcvZHVtbXlfdGhyZWFkLnB5UgYAAABRAAAAcw4AAAAGCQYCCQMMFQYCCQMJCWMAAAAAAAAAAAEAAABDAAAAcxkAAAB0AAByDwB0AQCCAQBuBgB0AgBhAwBkAQBTKAIAAABzXgAAAFNldCBfaW50ZXJydXB0IGZsYWcgdG8gVHJ1ZSB0byBoYXZlIHN0YXJ0X25ld190aHJlYWQgcmFpc2UKICAgIEtleWJvYXJkSW50ZXJydXB0IHVwb24gZXhpdGluZy5OKAQAAABSEgAAAFIYAAAAUhYAAABSFwAAACgAAAAAKAAAAAAoAAAAAHNUAAAAL3RtcC9uZGstVXNlci9idWlsZGhvc3QvaW5zdGFsbC9wcmVidWlsdC9kYXJ3aW4teDg2XzY0L2xpYi9weXRob24yLjcvZHVtbXlfdGhyZWFkLnB5UgUAAACKAAAAcwYAAAAAAwYBCQMoEwAAAFIMAAAAdAcAAABfX2FsbF9fdAkAAAB0cmFjZWJhY2tSFAAAAHQJAAAARXhjZXB0aW9uUgAAAABSAQAAAFICAAAAUgMAAABSBAAAAFIbAAAAUh0AAAB0BgAAAG9iamVjdFIGAAAAUhEAAABSFwAAAFIWAAAAUhIAAABSBQAAACgAAAAAKAAAAAAoAAAAAHNUAAAAL3RtcC9uZGstVXNlci9idWlsZGhvc3QvaW5zdGFsbC9wcmVidWlsdC9kYXJ3aW4teDg2XzY0L2xpYi9weXRob24yLjcvZHVtbXlfdGhyZWFkLnB5dAgAAAA8bW9kdWxlPg0AAABzGgAAAAYDDwEMAgwCFgYMHwkECQkJBAwGFjUGAgYC