A/MNCmL5IVRjAAAAAAAAAAADAAAAQAAAAHNMAAAAZAAAWgAAZAEAZAIAbAEAWgEAZAMAZwEAWgIAZAQAWgMAZQEAagQAZQEAagUAF2QFABdaBgBkAwBkBwBkBgCEAACDAABZWgcAZAIAUygIAAAAc5gJAABBIGdlbmVyaWMgY2xhc3MgdG8gYnVpbGQgbGluZS1vcmllbnRlZCBjb21tYW5kIGludGVycHJldGVycy4KCkludGVycHJldGVycyBjb25zdHJ1Y3RlZCB3aXRoIHRoaXMgY2xhc3Mgb2JleSB0aGUgZm9sbG93aW5nIGNvbnZlbnRpb25zOgoKMS4gRW5kIG9mIGZpbGUgb24gaW5wdXQgaXMgcHJvY2Vzc2VkIGFzIHRoZSBjb21tYW5kICdFT0YnLgoyLiBBIGNvbW1hbmQgaXMgcGFyc2VkIG91dCBvZiBlYWNoIGxpbmUgYnkgY29sbGVjdGluZyB0aGUgcHJlZml4IGNvbXBvc2VkCiAgIG9mIGNoYXJhY3RlcnMgaW4gdGhlIGlkZW50Y2hhcnMgbWVtYmVyLgozLiBBIGNvbW1hbmQgYGZvbycgaXMgZGlzcGF0Y2hlZCB0byBhIG1ldGhvZCAnZG9fZm9vKCknOyB0aGUgZG9fIG1ldGhvZAogICBpcyBwYXNzZWQgYSBzaW5nbGUgYXJndW1lbnQgY29uc2lzdGluZyBvZiB0aGUgcmVtYWluZGVyIG9mIHRoZSBsaW5lLgo0LiBUeXBpbmcgYW4gZW1wdHkgbGluZSByZXBlYXRzIHRoZSBsYXN0IGNvbW1hbmQuICAoQWN0dWFsbHksIGl0IGNhbGxzIHRoZQogICBtZXRob2QgYGVtcHR5bGluZScsIHdoaWNoIG1heSBiZSBvdmVycmlkZGVuIGluIGEgc3ViY2xhc3MuKQo1LiBUaGVyZSBpcyBhIHByZWRlZmluZWQgYGhlbHAnIG1ldGhvZC4gIEdpdmVuIGFuIGFyZ3VtZW50IGB0b3BpYycsIGl0CiAgIGNhbGxzIHRoZSBjb21tYW5kIGBoZWxwX3RvcGljJy4gIFdpdGggbm8gYXJndW1lbnRzLCBpdCBsaXN0cyBhbGwgdG9waWNzCiAgIHdpdGggZGVmaW5lZCBoZWxwXyBmdW5jdGlvbnMsIGJyb2tlbiBpbnRvIHVwIHRvIHRocmVlIHRvcGljczsgZG9jdW1lbnRlZAogICBjb21tYW5kcywgbWlzY2VsbGFuZW91cyBoZWxwIHRvcGljcywgYW5kIHVuZG9jdW1lbnRlZCBjb21tYW5kcy4KNi4gVGhlIGNvbW1hbmQgJz8nIGlzIGEgc3lub255bSBmb3IgYGhlbHAnLiAgVGhlIGNvbW1hbmQgJyEnIGlzIGEgc3lub255bQogICBmb3IgYHNoZWxsJywgaWYgYSBkb19zaGVsbCBtZXRob2QgZXhpc3RzLgo3LiBJZiBjb21wbGV0aW9uIGlzIGVuYWJsZWQsIGNvbXBsZXRpbmcgY29tbWFuZHMgd2lsbCBiZSBkb25lIGF1dG9tYXRpY2FsbHksCiAgIGFuZCBjb21wbGV0aW5nIG9mIGNvbW1hbmRzIGFyZ3MgaXMgZG9uZSBieSBjYWxsaW5nIGNvbXBsZXRlX2ZvbygpIHdpdGgKICAgYXJndW1lbnRzIHRleHQsIGxpbmUsIGJlZ2lkeCwgZW5kaWR4LiAgdGV4dCBpcyBzdHJpbmcgd2UgYXJlIG1hdGNoaW5nCiAgIGFnYWluc3QsIGFsbCByZXR1cm5lZCBtYXRjaGVzIG11c3QgYmVnaW4gd2l0aCBpdC4gIGxpbmUgaXMgdGhlIGN1cnJlbnQKICAgaW5wdXQgbGluZSAobHN0cmlwcGVkKSwgYmVnaWR4IGFuZCBlbmRpZHggYXJlIHRoZSBiZWdpbm5pbmcgYW5kIGVuZAogICBpbmRleGVzIG9mIHRoZSB0ZXh0IGJlaW5nIG1hdGNoZWQsIHdoaWNoIGNvdWxkIGJlIHVzZWQgdG8gcHJvdmlkZQogICBkaWZmZXJlbnQgY29tcGxldGlvbiBkZXBlbmRpbmcgdXBvbiB3aGljaCBwb3NpdGlvbiB0aGUgYXJndW1lbnQgaXMgaW4uCgpUaGUgYGRlZmF1bHQnIG1ldGhvZCBtYXkgYmUgb3ZlcnJpZGRlbiB0byBpbnRlcmNlcHQgY29tbWFuZHMgZm9yIHdoaWNoIHRoZXJlCmlzIG5vIGRvXyBtZXRob2QuCgpUaGUgYGNvbXBsZXRlZGVmYXVsdCcgbWV0aG9kIG1heSBiZSBvdmVycmlkZGVuIHRvIGludGVyY2VwdCBjb21wbGV0aW9ucyBmb3IKY29tbWFuZHMgdGhhdCBoYXZlIG5vIGNvbXBsZXRlXyBtZXRob2QuCgpUaGUgZGF0YSBtZW1iZXIgYHNlbGYucnVsZXInIHNldHMgdGhlIGNoYXJhY3RlciB1c2VkIHRvIGRyYXcgc2VwYXJhdG9yIGxpbmVzCmluIHRoZSBoZWxwIG1lc3NhZ2VzLiAgSWYgZW1wdHksIG5vIHJ1bGVyIGxpbmUgaXMgZHJhd24uICBJdCBkZWZhdWx0cyB0byAiPSIuCgpJZiB0aGUgdmFsdWUgb2YgYHNlbGYuaW50cm8nIGlzIG5vbmVtcHR5IHdoZW4gdGhlIGNtZGxvb3AgbWV0aG9kIGlzIGNhbGxlZCwKaXQgaXMgcHJpbnRlZCBvdXQgb24gaW50ZXJwcmV0ZXIgc3RhcnR1cC4gIFRoaXMgdmFsdWUgbWF5IGJlIG92ZXJyaWRkZW4KdmlhIGFuIG9wdGlvbmFsIGFyZ3VtZW50IHRvIHRoZSBjbWRsb29wKCkgbWV0aG9kLgoKVGhlIGRhdGEgbWVtYmVycyBgc2VsZi5kb2NfaGVhZGVyJywgYHNlbGYubWlzY19oZWFkZXInLCBhbmQKYHNlbGYudW5kb2NfaGVhZGVyJyBzZXQgdGhlIGhlYWRlcnMgdXNlZCBmb3IgdGhlIGhlbHAgZnVuY3Rpb24ncwpsaXN0aW5ncyBvZiBkb2N1bWVudGVkIGZ1bmN0aW9ucywgbWlzY2VsbGFuZW91cyB0b3BpY3MsIGFuZCB1bmRvY3VtZW50ZWQKZnVuY3Rpb25zIHJlc3BlY3RpdmVseS4KClRoZXNlIGludGVycHJldGVycyB1c2UgcmF3X2lucHV0OyB0aHVzLCBpZiB0aGUgcmVhZGxpbmUgbW9kdWxlIGlzIGxvYWRlZCwKdGhleSBhdXRvbWF0aWNhbGx5IHN1cHBvcnQgRW1hY3MtbGlrZSBjb21tYW5kIGhpc3RvcnkgYW5kIGVkaXRpbmcgZmVhdHVyZXMuCmn/////TnQDAAAAQ21kcwYAAAAoQ21kKSB0AQAAAF9jAAAAAAAAAAAEAAAAQgAAAHMBAQAAZQAAWgEAZAAAWgIAZQMAWgQAZQUAWgYAZAEAWgcAZAIAWggAZBwAWgoAZAIAWgsAZAMAWgwAZAQAWg0AZAUAWg4AZAYAWg8AZAcA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AAB0BQAAAHdyaXRldAMAAABzdHJSCQAAAHQDAAAAcG9wdAkAAAByYXdfaW5wdXR0BgAAAHByb21wdHQIAAAARU9GRXJyb3J0BQAAAGZsdXNoUgcAAAB0AwAAAGxlbnQGAAAAcnN0cmlwdAYAAABwcmVjbWR0BgAAAG9uZWNtZHQHAAAAcG9zdGNtZHQIAAAAcG9zdGxvb3AoBQAAAFILAAAAUhcAAABSEAAAAHQEAAAAc3RvcHQEAAAAbGluZSgAAAAAKAAAAABzbgAAAC9ob21lL3ZhZ3JhbnQvcnBtYnVpbGQvQlVJTEQvYnVpbGQtdG9vbGNoYWluL29wdC90b29sY2hhaW5zL3N0YmdjYy00LjgtMS4wL3B5dGhvbi1ydW50aW1lL2xpYi9weXRob24yLjcvY21kLnB5dAcAAABjbWRsb29wZgAAAHNOAAAAAAcKARIBAwEMAQ8BEAEYAQ0BBwEDAQwBDAEJASABBgEJAQkBFQIJAQMBEwENAQ0CEwENAQ8BDAEJAg8BDwEPARYBDgISAQMBDAEUAQ0BYwIAAAACAAAAAQAAAEMAAABzBAAAAHwBAFMoAQAAAHOHAAAASG9vayBtZXRob2QgZXhlY3V0ZWQganVzdCBiZWZvcmUgdGhlIGNvbW1hbmQgbGluZSBpcwogICAgICAgIGludGVycHJldGVkLCBidXQgYWZ0ZXIgdGhlIGlucHV0IHByb21wdCBpcyBnZW5lcmF0ZWQgYW5kIGlzc3VlZC4KCiAgICAgICAgKAAAAAAoAgAAAFILAAAAUiYAAAAoAAAAACgAAAAAc24AAAAvaG9tZS92YWdyYW50L3JwbWJ1aWxkL0JVSUxEL2J1aWxkLXRvb2xjaGFpbi9vcHQvdG9vbGNoYWlucy9zdGJnY2MtNC44LTEuMC9weXRob24tcnVudGltZS9saWIvcHl0aG9uMi43L2NtZC5weVIhAAAAmgAAAHMCAAAAAAVjAwAAAAMAAAABAAAAQwAAAHMEAAAAfAEAUygBAAAAcz8AAABIb29rIG1ldGhvZCBleGVjdXRlZCBqdXN0IGFmdGVyIGEgY29tbWFuZCBkaXNwYXRjaCBpcyBmaW5pc2hlZC4oAAAAACgDAAAAUgsAAABSJQAAAFImAAAAKAAAAAAoAAAAAHNuAAAAL2hvbWUvdmFncmFudC9y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dCBzaG91bGQgbm90IG5vcm1hbGx5IG5lZWQgdG8gYmU7CiAgICAgICAgc2VlIHRoZSBwcmVjbWQoKSBhbmQgcG9zdGNtZCgpIG1ldGhvZHMgZm9yIHVzZWZ1bCBleGVjdXRpb24gaG9va3MuCiAgICAgICAgVGhlIHJldHVybiB2YWx1ZSBpcyBhIGZsYWcgaW5kaWNhdGluZyB3aGV0aGVyIGludGVycHJldGF0aW9uIG9mCiAgICAgICAgY29tbWFuZHMgYnkgdGhlIGludGVycHJldGVyIHNob3VsZCBzdG9wLgoKICAgICAgICBSDQAAAFIDAAAAdAMAAABkb19OKAcAAABSMgAAAHQJAAAAZW1wdHlsaW5lUgYAAAB0BwAAAGRlZmF1bHR0BwAAAGxhc3RjbWR0BwAAAGdldGF0dHJ0DgAAAEF0dHJpYnV0ZUVycm9yKAUAAABSCwAAAFImAAAAUjAAAABSMQAAAHQEAAAAZnVuYygAAAAAKAAAAABzbgAAAC9ob21lL3ZhZ3JhbnQvcnBtYnVpbGQvQlVJTEQvYnVpbGQtdG9vbGNoYWluL29wdC90b29sY2hhaW5zL3N0YmdjYy00LjgtMS4wL3B5dGhvbi1ydW50aW1lL2xpYi9weXRob24yLjcvY21kLnB5UiIAAADEAAAAcx4AAAAAChgBBgEKAQwBDQEJAQwBDAEMAQ0CAwEXAQ0BDgFjAQAAAAEAAAACAAAAQwAAAHMdAAAAfAAAagAAchkAfAAAagEAfAAAagAAgwEAU2QBAFMoAgAAAHOqAAAAQ2FsbGVkIHdoZW4gYW4gZW1wdHkgbGluZSBpcyBlbnRlcmVkIGluIHJlc3BvbnNlIHRvIHRoZSBwcm9tcHQuCgogICAgICAgIElmIHRoaXMgbWV0aG9kIGlzIG5vdCBvdmVycmlkZGVuLCBpdCByZXBlYXRzIHRoZSBsYXN0IG5vbmVtcHR5CiAgICAgICAgY29tbWFuZCBlbnRlcmVkLgoKICAgICAgICBOKAIAAABSNgAAAFIiAAAAKAEAAABSCwAAACgAAAAAKAAAAABzbgAAAC9ob21lL3ZhZ3JhbnQvcnBtYnVpbGQvQlVJTEQvYnVpbGQtdG9vbGNoYWluL29wdC90b29sY2hhaW5zL3N0YmdjYy00LjgtMS4wL3B5dGhvbi1ydW50aW1lL2xpYi9weXRob24yLjcvY21kLnB5UjQAAADfAAAAcwQAAAAABwkBYwIAAAACAAAAAwAAAEMAAABzGAAAAHwAAGoAAGoBAGQBAHwBABaDAQABZAIAUygDAAAAc6cAAABDYWxsZWQgb24gYW4gaW5wdXQgbGluZSB3aGVuIHRoZSBjb21tYW5kIHByZWZpeCBpcyBub3QgcmVjb2duaXplZC4KCiAgICAgICAgSWYgdGhpcyBtZXRob2QgaXMgbm90IG92ZXJyaWRkZW4sIGl0IHByaW50cyBhbiBlcnJvciBtZXNzYWdlIGFuZAogICAgICAgIHJldHVybnMuCgogICAgICAgIHMXAAAAKioqIFVua25vd24gc3ludGF4OiAlcwpOKAIAAABSCAAAAFIYAAAAKAIAAABSCwAAAFImAAAAKAAAAAAoAAAAAHNuAAAAL2hvbWUvdmFncmFudC9ycG1idWlsZC9CVUlMRC9idWlsZC10b29sY2hhaW4vb3B0L3Rvb2xjaGFpbnMvc3RiZ2NjLTQuOC0xLjAvcHl0aG9uLXJ1bnRpbWUvbGliL3B5dGhvbjIuNy9jbWQucHlSNQAAAOkAAABzAgAAAAAHYwEAAAACAAAAAQAAAEcAAABzBAAAAGcAAFMoAQAAAHOjAAAATWV0aG9kIGNhbGxlZCB0byBjb21wbGV0ZSBhbiBpbnB1dCBsaW5lIHdoZW4gbm8gY29tbWFuZC1zcGVjaWZpYwogICAgICAgIGNvbXBsZXRlXyooKSBtZXRob2QgaXMgYXZhaWxhYmxlLgoKICAgICAgICBCeSBkZWZhdWx0LCBpdCByZXR1cm5zIGFuIGVtcHR5IGxpc3QuCgogICAgICAgICgAAAAAKAIAAABSCwAAAHQHAAAAaWdub3JlZCgAAAAAKAAAAABzbgAAAC9ob21lL3ZhZ3JhbnQvcnBtYnVpbGQvQlVJTEQvYnVpbGQtdG9vbGNoYWluL29wdC90b29sY2hhaW5zL3N0YmdjYy00LjgtMS4wL3B5dGhvbi1ydW50aW1lL2xpYi9weXRob24yLjcvY21kLnB5dA8AAABjb21wbGV0ZWRlZmF1bHTyAAAAcwIAAAAAB2MCAAAABQAAAAQAAABHAAAAczoAAABkAQB8AQAXfQMAZwAAfAAAagAAgwAARF0fAH0EAHwEAGoBAHwDAIMBAHIXAHwEAGQCAB9eAgBxFwBTKAMAAABOUjMAAABpAwAAACgCAAAAdAkAAABnZXRfbmFtZXN0CgAAAHN0YXJ0c3dpdGgoBQAAAFILAAAAdAQAAAB0ZXh0UjoAAAB0BgAAAGRvdGV4dHQBAAAAYSgAAAAAKAAAAABzbgAAAC9ob21lL3ZhZ3JhbnQvcnBtYnVpbGQvQlVJTEQvYnVpbGQtdG9vbGNoYWluL29wdC90b29sY2hhaW5zL3N0YmdjYy00LjgtMS4wL3B5dGhvbi1ydW50aW1lL2xpYi9weXRob24yLjcvY21kLnB5dA0AAABjb21wbGV0ZW5hbWVz+wAAAHMEAAAAAAEKAWMDAAAADQAAAAUAAABDAAAAcyUBAAB8AgBkAQBrAgBy/QBkAgBkAwBsAAB9AwB8AwBqAQCDAAB9BAB8BABqAgCDAAB9BQB0AwB8BACDAQB0AwB8BQCDAQAYfQYAfAMAagQAgwAAfAYAGH0HAHwDAGoFAIMAAHwGABh9CAB8BwBkAQBrBABy2QB8AABqBgB8BQCDAQBcAwB9CQB9CgB9CwB8CQBkBABrAgByogB8AABqBwB9DABx4gB5FwB0CAB8AABkBQB8CQAXgwIAfQwAV3HiAAR0CQBrCgBy1QABAQF8AABqBwB9DABx4gBYbgkAfAAAagoAfQwAfAwAfAEAfAUAfAcAfAgAgwQAfAAAXwsAbgAAeQ8AfAAAagsAfAIAGVNXbhIABHQMAGsKAHIgAQEBAWQDAFNYZAMAUygGAAAAc9UAAABSZXR1cm4gdGhlIG5leHQgcG9zc2libGUgY29tcGxldGlvbiBmb3IgJ3RleHQnLgoKICAgICAgICBJZiBhIGNvbW1hbmQgaGFzIG5vdCBiZWVuIGVudGVyZWQsIHRoZW4gY29tcGxldGUgYWdhaW5zdCBjb21tYW5kIGxpc3QuCiAgICAgICAgT3RoZXJ3aXNlIHRyeSB0byBjYWxsIGNvbXBsZXRlXzxjb21tYW5kPiB0byBnZXQgbGlzdCBvZiBjb21wbGV0aW9ucy4KICAgICAgICBpAAAAAGn/////TlIDAAAAdAkAAABjb21wbGV0ZV8oDgAAAFIQAAAAdA8AAABnZXRfbGluZV9idWZmZXJ0BgAAAGxzdHJpcFIfAAAAdAoAAABnZXRfYmVnaWR4dAoAAABnZXRfZW5kaWR4UjIAAABSOwAAAFI3AAAAUjgAAABSQQAAAHQSAAAAY29tcGxldGlvbl9tYXRjaGVzdAoAAABJbmRleEVycm9yUgYAAAAoDQAAAFILAAAAUj4AAAB0BQAAAHN0YXRlUhAAAAB0CAAAAG9yaWdsaW5lUiYAAAB0CAAAAHN0cmlwcGVkdAYAAABiZWdpZHh0BgAAAGVuZGlkeFIwAAAAdAQAAABhcmdzdAMAAABmb290CAAAAGNvbXBmdW5jKAAAAAAoAAAAAHNuAAAAL2hvbWUvdmFncmFudC9ycG1idWlsZC9CVUlMRC9idWlsZC10b29sY2hhaW4vb3B0L3Rvb2xjaGFpbnMvc3RiZ2NjLTQuOC0xLjAvcHl0aG9uLXJ1bnRpbWUvbGliL3B5dGhvbjIuNy9jbWQucHlSFAAAAP8AAABzKgAAAAAGDAEMAQwBDAEWARABEAEMARgBDAEMAgMBFwENARACCQEbAQMBDwENAWMBAAAAAQAAAAIAAABDAAAAcw0AAAB0AAB8AABqAQCDAQBTKAEAAABOKAIAAAB0AwAAAGRpcnQJAAAAX19jbGFzc19fKAEAAABSCwAAACgAAAAAKAAAAABzbgAAAC9ob21lL3ZhZ3JhbnQvcnBtYnVpbGQvQlVJTEQvYnVpbGQtdG9vbGNoYWluL29wdC90b29sY2hhaW5zL3N0YmdjYy00LjgtMS4wL3B5dGhvbi1ydW50aW1lL2xpYi9weXRob24yLjcvY21kLnB5UjwAAAAdAQAAcwIAAAAAA2MBAAAABAAAAAMAAAAHAAAAc0UAAAB0AAB8AABqAQCIAACMAACDAQB9AgB0AACHAABmAQBkAQCGAAB8AABqAgCDAABEgwEAgwEAfQMAdAMAfAIAfAMAQoMBAFMoAgAAAE5jAQAAAAIAAAAFAAAAMwAAAHMwAAAAfAAAXSYAfQEAfAEAagAAZAAAiAAAZAEAGReDAQByAwB8AQBkAgAfVgFxAwBkAwBTKAQAAAB0BQAAAGhlbHBfaQAAAABpBQAAAE4oAQAAAFI9AAAAKAIAAAB0AgAAAC4wUkAAAAAoAQAAAFJOAAAAKAAAAABzbgAAAC9ob21lL3ZhZ3JhbnQvcnBtYnVpbGQvQlVJTEQvYnVpbGQtdG9vbGNoYWluL29wdC90b29sY2hhaW5zL3N0YmdjYy00LjgtMS4wL3B5dGhvbi1ydW50aW1lL2xpYi9weXRob24yLjcvY21kLnB5cwkAAAA8Z2VuZXhwcj4kAQAAcwQAAAAGAAMBKAQAAAB0AwAAAHNldFJBAAAAUjwAAAB0BAAAAGxpc3QoBAAAAFILAAAAUk4AAAB0CAAAAGNvbW1hbmRzdAYAAAB0b3BpY3MoAAAAACgBAAAAUk4AAABzbgAAAC9ob21lL3ZhZ3JhbnQvcnBtYnVpbGQvQlVJTEQvYnVpbGQtdG9vbGNoYWluL29wdC90b29sY2hhaW5zL3N0YmdjYy00LjgtMS4wL3B5dGhvbi1ydW50aW1lL2xpYi9weXRob24yLjcvY21kLnB5dA0AAABjb21wbGV0ZV9oZWxwIgEAAHMGAAAAAAEVASICYwIAAAALAAAABQAAAEMAAABzHAIAAHwBAHKyAHkXAHQAAHwAAGQBAHwBABeDAgB9AgBXbogABHQBAGsKAHKnAAEBAXk+AHQAAHwAAGQCAHwBABeDAgBqAgB9AwB8AwByagB8AABqAwBqBABkAwB0BQB8AwCDAQAWgwEAAWQEAFNXbhEABHQBAGsKAHJ+AAEBAW4BAFh8AABqAwBqBABkAwB0BQB8AABqBgB8AQBmAQAWgwEAFoMBAAFkBABTWHwCAIMAAAFuZgF8AABqBwCDAAB9BABnAAB9BQBnAAB9BgBpAAB9BwB4LwB8BABEXScAfQgAfAgAZAUAIGQBAGsCAHLXAGQGAHwHAHwIAGQFAB88cdcAcdcAV3wEAGoIAIMAAAFkBwB9CQB4lQB8BABEXY0AfQgAfAgAZAgAIGQCAGsCAHIZAXwIAHwJAGsCAHJBAXEZAW4AAHwIAH0JAHwIAGQIAB99CgB8CgB8BwBrBgBydAF8BQBqCQB8CgCDAQABfAcAfAoAPXGmAXQAAHwAAHwIAIMCAGoCAHKWAXwFAGoJAHwKAIMBAAFxpgF8BgBqCQB8CgCDAQABcRkBcRkBV3wAAGoDAGoEAGQDAHQFAHwAAGoKAIMBABaDAQABfAAAagsAfAAAagwAfAUAZAkAZAoAgwQAAXwAAGoLAHwAAGoNAHwHAGoOAIMAAGQJAGQKAIMEAAF8AABqCwB8AABqDwB8BgBkCQBkCgCDBAABZAQAUygLAAAAc0UAAABMaXN0IGF2YWlsYWJsZSBjb21tYW5kcyB3aXRoICJoZWxwIiBvciBkZXRhaWxlZCBoZWxwIHdpdGggImhlbHAgY21kIi5SUwAAAFIzAAAAcwMAAAAlcwpOaQUAAABpAQAAAFIDAAAAaQMAAABpDwAAAGlQAAAAKBAAAABSNwAAAFI4AAAAdAcAAABfX2RvY19fUggAAABSGAAAAFIZAAAAdAYAAABub2hlbHBSPAAAAHQEAAAAc29ydHQGAAAAYXBwZW5kdAoAAABkb2NfbGVhZGVydAwAAABwcmludF90b3BpY3N0CgAAAGRvY19oZWFkZXJ0CwAAAG1pc2NfaGVhZGVydAQAAABrZXlzdAwAAAB1bmRvY19oZWFkZXIoCwAAAFILAAAAUjEAAABSOQAAAHQDAAAAZG9jdAUAAABuYW1lc3QIAAAAY21kc19kb2N0CgAAAGNtZHNfdW5kb2N0BAAAAGhlbHB0BAAAAG5hbWV0CAAAAHByZXZuYW1lUjAAAAAoAAAAACgAAAAAc24AAAAvaG9tZS92YWdyYW50L3JwbWJ1aWxkL0JVSUxEL2J1aWxkLXRvb2xjaGFpbi9vcHQvdG9vbGNoYWlucy9zdGJnY2MtNC44LTEuMC9weXRob24tcnVudGltZS9saWIvcHl0aG9uMi43L2NtZC5weXQHAAAAZG9faGVscCgBAABzTgAAAAACBgIDARcBDQEDARYBBgEaAQgBDQEEASQBBQEKAgwBBgEGAQYBDQEQARUBCgIGAQ0BEAEMAQYBBgEKAQwBDQEKARIBEAIUAR0BGQEfAWMFAAAABQAAAAYAAABDAAAAc34AAAB8AgByegB8AABqAABqAQBkAQB0AgB8AQCDAQAWgwEAAXwAAGoDAHJTAHwAAGoAAGoBAGQBAHQCAHwAAGoDAHQEAHwBAIMBABSDAQAWgwEAAW4AAHwAAGoFAHwCAHwEAGQCABiDAgABfAAAagAAagEAZAMAgwEAAW4AAGQAAFMoBAAAAE5zAwAAACVzCmkBAAAAcwEAAAAKKAYAAABSCAAAAFIYAAAAUhkAAAB0BQAAAHJ1bGVyUh8AAAB0CQAAAGNvbHVtbml6ZSgFAAAAUgsAAAB0BgAAAGhlYWRlcnQEAAAAY21kc3QGAAAAY21kbGVudAYAAABtYXhjb2woAAAAACgAAAAAc24AAAAvaG9tZS92YWdyYW50L3JwbWJ1aWxkL0JVSUxEL2J1aWxkLXRvb2xjaGFpbi9vcHQvdG9vbGNoYWlucy9zdGJnY2MtNC44LTEuMC9weXRob24tcnVudGltZS9saWIvcHl0aG9uMi43L2NtZC5weVJfAAAAVgEAAHMMAAAAAAEGARoBCQEqARQBaVAAAABjAwAAAA8AAAAHAAAAQwAAAHOlAgAAfAEAcxoAfAAAagAAagEAZAEAgwEAAWQCAFNnAAB0AgB0AwB8AQCDAQCDAQBEXR8AfQMAdAQAfAEAfAMAGXQFAIMCAHMtAHwDAF4CAHEtAH0EAHwEAHJ6AHQGAGQDAGQEAGoHAHQIAHQFAHwEAIMCAIMBABaCAgBuAAB0AwB8AQCDAQB9BQB8BQBkBQBrAgBytAB8AABqAABqAQBkBgB0BQB8AQBkBwAZgwEAFoMBAAFkAgBTeAIBdAIAZAUAdAMAfAEAgwEAgwIARF3QAH0GAHwFAHwGABdkBQAYfAYAGn0HAGcAAH0IAGQIAH0JAHiZAHQCAHwHAIMBAERdiwB9CgBkBwB9CwB4UQB0AgB8BgCDAQBEXUMAfQwAfAwAfAYAfAoAFBd9AwB8AwB8BQBrBQByOAFQbgAAfAEAfAMAGX0NAHQJAHwLAHQDAHwNAIMBAIMCAH0LAHEUAVd8CABqCgB8CwCDAQABfAkAfAsAZAkAFzd9CQB8CQB8AgBrBABy+wBQcfsAcfsAV3wJAHwCAGsBAHLKAFBxygBxygBXdAMAfAEAgwEAfQYAZAUAfQcAZAcAZwEAfQgAeOUAdAIAfAYAgwEARF3XAH0MAGcAAH0OAHhOAHQCAHwHAIMBAERdQAB9CgB8DAB8BgB8CgAUF30DAHwDAHwFAGsFAHIIAmQKAH0NAG4KAHwBAHwDABl9DQB8DgBqCgB8DQCDAQABcd8BV3gcAHwOAHJBAnwOAGQLABkMckECfA4AZAsAPXEmAld4NQB0AgB0AwB8DgCDAQCDAQBEXSEAfQoAfA4AfAoAGWoLAHwIAHwKABmDAQB8DgB8CgA8cVUCV3wAAGoAAGoBAGQGAHQFAGQMAGoHAHwOAIMBAIMBABaDAQABccYBV2QCAFMoDQAAAHO8AAAARGlzcGxheSBhIGxpc3Qgb2Ygc3RyaW5ncyBhcyBhIGNvbXBhY3Qgc2V0IG9mIGNvbHVtbnMuCgogICAgICAgIEVhY2ggY29sdW1uIGlzIG9ubHkgYXMgd2lkZSBhcyBuZWNlc3NhcnkuCiAgICAgICAgQ29sdW1ucyBhcmUgc2VwYXJhdGVkIGJ5IHR3byBzcGFjZXMgKG9uZSB3YXMgbm90IGxlZ2libGUgZW5vdWdoKS4KICAgICAgICBzCAAAADxlbXB0eT4KTnMgAAAAbGlzdFtpXSBub3QgYSBzdHJpbmcgZm9yIGkgaW4gJXNzAgAAACwgaQEAAABzAwAAACVzCmkAAAAAaf7///9pAgAAAFIDAAAAaf////9zAgAAACAgKAwAAABSCAAAAFIYAAAAdAUAAAByYW5nZVIfAAAAdAoAAABpc2luc3RhbmNlUhkAAAB0CQAAAFR5cGVFcnJvcnQEAAAAam9pbnQDAAAAbWFwdAMAAABtYXhSXQAAAHQFAAAAbGp1c3QoDwAAAFILAAAAUlYAAAB0DAAAAGRpc3BsYXl3aWR0aFIuAAAAdAoAAABub25zdHJpbmdzdAQAAABzaXpldAUAAABucm93c3QFAAAAbmNvbHN0CQAAAGNvbHdpZHRoc3QIAAAAdG90d2lkdGh0AwAAAGNvbHQIAAAAY29sd2lkdGh0AwAAAHJvd3QBAAAAeHQFAAAAdGV4dHMoAAAAACgAAAAAc24AAAAvaG9tZS92YWdyYW50L3JwbWJ1aWxkL0JVSUxEL2J1aWxkLXRvb2xjaGFpbi9vcHQvdG9vbGNoYWlucy9zdGJnY2MtNC44LTEuMC9weXRob24tcnVudGltZS9saWIvcHl0aG9uMi43L2NtZC5weVJtAAAAXgEAAHNcAAAAAAYGARABBAEZAR8BBgEGARwBDAEMAR4BBAIcARIBBgEGARMBBgETAQ4BDAEEAQoBGQENAQ4BDAEIAQwBCAIMAQYBCQETAQYBEwEOAQwBCQIKAREBFAELARkBHwFOKCMAAAB0CAAAAF9fbmFtZV9fdAoAAABfX21vZHVsZV9fUloAAAB0BgAAAFBST01QVFIcAAAAdAoAAABJREVOVENIQVJTUi0AAABSbAAAAFI2AAAAUgYAAABSFwAAAFJeAAAAUmAAAABSYQAAAFJjAAAAUlsAAABSDwAAAFIMAAAAUicAAABSIQAAAFIjAAAAUg4AAABSJAAAAFIyAAAAUiIAAABSNAAAAFI1AAAAUjsAAABSQQAAAFIUAAAAUjwAAABSWQAAAFJrAAAAUl8AAABSbQAAACgAAAAAKAAAAAAoAAAAAHNuAAAAL2hvbWUvdmFncmFudC9ycG1idWlsZC9CVUlMRC9idWlsZC10b29sY2hhaW4vb3B0L3Rvb2xjaGFpbnMvc3RiZ2NjLTQuOC0xLjAvcHl0aG9uLXJ1bnRpbWUvbGliL3B5dGhvbjIuNy9jbWQucHlSAAAAADcAAABzPAAAAAYLBgEGAQYBBgEGAQYBBgEGAQYBBgEGAQYCEhcMNAkHCQQJBAkHCRQJGwkKCQkJCQkECR4JBQkGCS4JCCgAAAAAKAgAAABSWgAAAHQGAAAAc3RyaW5ndAcAAABfX2FsbF9fUocAAAB0DQAAAGFzY2lpX2xldHRlcnN0BgAAAGRpZ2l0c1KIAAAAUgAAAAAoAAAAACgAAAAAKAAAAABzbgAAAC9ob21lL3ZhZ3JhbnQvcnBtYnVpbGQvQlVJTEQvYnVpbGQtdG9vbGNoYWluL29wdC90b29sY2hhaW5zL3N0YmdjYy00LjgtMS4wL3B5dGhvbi1ydW50aW1lL2xpYi9weXRob24yLjcvY21kLnB5dAgAAAA8bW9kdWxlPi4AAABzCgAAAAYCDAIJAgYBFAI=