A/MNClhcrFFjAAAAAAAAAAADAAAAQAAAAHN+AAAAZAAAWgAAZAEAZAIAbAEAWgEAZAEAZAIAbAIAWgIAZAMAZAQAbAMAbQQAWgQAAWQDAGQFAGwFAG0GAFoGAAFkAwBkBgBsBwBtCABaCAABZAcAZQkAZgEAZAgAhAAAgwAAWVoKAGQJAGUKAGYBAGQKAIQAAIMAAFlaCwBkAgBTKAsAAABzMgAAAEJhc2UgY2xhc3MgZm9yIGZpeGVycyAob3B0aW9uYWwsIGJ1dCByZWNvbW1lbmRlZCkuaf////9OaQEAAAAoAQAAAHQPAAAAUGF0dGVybkNvbXBpbGVyKAEAAAB0BgAAAHB5Z3JhbSgBAAAAdBAAAABkb2VzX3RyZWVfaW1wb3J0dAcAAABCYXNlRml4YwAAAAAAAAAAAgAAAEIAAABz4AAAAGUAAFoBAGQAAFoCAGQQAFoEAGQQAFoFAGQQAFoGAGQQAFoHAGQQAFoIAGQQAFoJAGUKAGoLAGQBAIMBAFoMAGUNAIMAAFoOAGQCAFoPAGUQAFoRAGQDAFoSAGQQAFoTAGUQAFoUAGUQAFoVAGUWAGoXAFoYAGQEAIQAAFoZAGQFAIQAAFoaAGQGAIQAAFobAGQHAIQAAFocAGQIAIQAAFodAGQJAGQKAIQBAFoeAGQLAIQAAFofAGQQAGQMAIQBAFogAGQNAIQAAFohAGQOAIQAAFoiAGQPAIQAAFojAFJTKBEAAABzBQEAAE9wdGlvbmFsIGJhc2UgY2xhc3MgZm9yIGZpeGVycy4KCiAgICBUaGUgc3ViY2xhc3MgbmFtZSBtdXN0IGJlIEZpeEZvb0JhciB3aGVyZSBGb29CYXIgaXMgdGhlIHJlc3VsdCBvZgogICAgcmVtb3ZpbmcgdW5kZXJzY29yZXMgYW5kIGNhcGl0YWxpemluZyB0aGUgd29yZHMgb2YgdGhlIGZpeCBuYW1lLgogICAgRm9yIGV4YW1wbGUsIHRoZSBjbGFzcyBuYW1lIGZvciBhIGZpeGVyIG5hbWVkICdoYXNfa2V5JyBzaG91bGQgYmUKICAgIEZpeEhhc0tleS4KICAgIGkBAAAAdAQAAABwb3N0aQUAAABjAwAAAAMAAAACAAAAQwAAAHMgAAAAfAEAfAAAXwAAfAIAfAAAXwEAfAAAagIAgwAAAWQBAFMoAgAAAHMcAQAASW5pdGlhbGl6ZXIuICBTdWJjbGFzcyBtYXkgb3ZlcnJpZGUuCgogICAgICAgIEFyZ3M6CiAgICAgICAgICAgIG9wdGlvbnM6IGFuIGRpY3QgY29udGFpbmluZyB0aGUgb3B0aW9ucyBwYXNzZWQgdG8gUmVmYWN0b3JpbmdUb29sCiAgICAgICAgICAgIHRoYXQgY291bGQgYmUgdXNlZCB0byBjdXN0b21pemUgdGhlIGZpeGVyIHRocm91Z2ggdGhlIGNvbW1hbmQgbGluZS4KICAgICAgICAgICAgbG9nOiBhIGxpc3QgdG8gYXBwZW5kIHdhcm5pbmdzIGFuZCBvdGhlciBtZXNzYWdlcyB0by4KICAgICAgICBOKAMAAAB0BwAAAG9wdGlvbnN0AwAAAGxvZ3QPAAAAY29tcGlsZV9wYXR0ZXJuKAMAAAB0BAAAAHNlbGZSBQAAAFIGAAAAKAAAAAAoAAAAAHNaAAAAL3RtcC9uZGstVXNlci9idWlsZGhvc3QvaW5zdGFsbC9wcmVidWlsdC9kYXJ3aW4teDg2XzY0L2xpYi9weXRob24yLjcvbGliMnRvMy9maXhlcl9iYXNlLnB5dAgAAABfX2luaXRfXzEAAABzBgAAAAAICQEJAWMBAAAAAgAAAAQAAABDAAAAc0MAAAB8AABqAABkAgBrCQByPwB0AgCDAAB9AQB8AQBqAwB8AABqAABkAQB0BACDAQFcAgB8AABfBQB8AABfBgBuAABkAgBTKAMAAABzlgAAAENvbXBpbGVzIHNlbGYuUEFUVEVSTiBpbnRvIHNlbGYucGF0dGVybi4KCiAgICAgICAgU3ViY2xhc3MgbWF5IG92ZXJyaWRlIGlmIGl0IGRvZXNuJ3Qgd2FudCB0byB1c2UKICAgICAgICBzZWxmLntwYXR0ZXJuLFBBVFRFUk59IGluIC5tYXRjaCgpLgogICAgICAgIHQJAAAAd2l0aF90cmVlTigHAAAAdAcAAABQQVRURVJOdAQAAABOb25lUgAAAABSBwAAAHQEAAAAVHJ1ZXQHAAAAcGF0dGVybnQMAAAAcGF0dGVybl90cmVlKAIAAABSCAAAAHQCAAAAUEMoAAAAACgAAAAAc1oAAAAvdG1wL25kay1Vc2VyL2J1aWxkaG9zdC9pbnN0YWxsL3ByZWJ1aWx0L2Rhcndpbi14ODZfNjQvbGliL3B5dGhvbjIuNy9saWIydG8zL2ZpeGVyX2Jhc2UucHlSBwAAAD0AAABzCAAAAAAGDwEJAQ8BYwIAAAACAAAAAgAAAEMAAABzHwAAAHwBAHwAAF8AAHQBAGoCAHwBAIMBAHwAAF8DAGQBAFMoAgAAAHNtAAAAU2V0IHRoZSBmaWxlbmFtZSwgYW5kIGEgbG9nZ2VyIGRlcml2ZWQgZnJvbSBpdC4KCiAgICAgICAgVGhlIG1haW4gcmVmYWN0b3JpbmcgdG9vbCBzaG91bGQgY2FsbCB0aGlzLgogICAgICAgIE4oBAAAAHQIAAAAZmlsZW5hbWV0BwAAAGxvZ2dpbmd0CQAAAGdldExvZ2dlcnQGAAAAbG9nZ2VyKAIAAABSCAAAAFIRAAAAKAAAAAAoAAAAAHNaAAAAL3RtcC9uZGstVXNlci9idWlsZGhvc3QvaW5zdGFsbC9wcmVidWlsdC9kYXJ3aW4teDg2XzY0L2xpYi9weXRob24yLjcvbGliMnRvMy9maXhlcl9iYXNlLnB5dAwAAABzZXRfZmlsZW5hbWVIAAAAcwQAAAAABQkBYwIAAAADAAAAAwAAAEMAAABzJgAAAGkBAHwBAGQBADZ9AgB8AABqAABqAQB8AQB8AgCDAgBvJQB8AgBTKAIAAABzAwEAAFJldHVybnMgbWF0Y2ggZm9yIGEgZ2l2ZW4gcGFyc2UgdHJlZSBub2RlLgoKICAgICAgICBTaG91bGQgcmV0dXJuIGEgdHJ1ZSBvciBmYWxzZSBvYmplY3QgKG5vdCBuZWNlc3NhcmlseSBhIGJvb2wpLgogICAgICAgIEl0IG1heSByZXR1cm4gYSBub24tZW1wdHkgZGljdCBvZiBtYXRjaGluZyBzdWItbm9kZXMgYXMKICAgICAgICByZXR1cm5lZCBieSBhIG1hdGNoaW5nIHBhdHRlcm4uCgogICAgICAgIFN1YmNsYXNzIG1heSBvdmVycmlkZS4KICAgICAgICB0BAAAAG5vZGUoAgAAAFIOAAAAdAUAAABtYXRjaCgDAAAAUggAAABSFgAAAHQHAAAAcmVzdWx0cygAAAAAKAAAAABzWgAAAC90bXAvbmRrLVVzZXIvYnVpbGRob3N0L2luc3RhbGwvcHJlYnVpbHQvZGFyd2lu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