A/MNCk1crFFjAAAAAAAAAAAFAAAAQAAAAHPsAAAAZAAAWgAAZAEAWgEAZAIAZAMAbAIAWgIAZAIAZAMAbAMAWgMAeQoAZQQAWgUAV24nAARlBgBrCgByVwABAQFkBABlBwBmAQBkBQCEAACDAABZWgUAbgEAWGQGAGQHAGQIAGQJAGcEAFoIAGQKAFoJAGQGAGYAAGQLAIQAAIMAAFlaCgBkDABkDQCEAQBaCwBkDABkDgCEAQBaDABlAwBqDQBkDwBlAwBqDgCDAgBaDwBlAwBqDQBkEABlAwBqDgCDAgBaEABkEQCEAABaEQBlEgBkEgBrAgBy6ABlEQBkEwCDAQBHSG4AAGQDAFMoFAAAAHMbAAAAVGV4dCB3cmFwcGluZyBhbmQgZmlsbGluZy4KcwQAAAAkSWQkaf////9OdAgAAABfdW5pY29kZWMAAAAAAAAAAAEAAABCAAAAcwgAAABlAABaAQBSUygAAAAAKAIAAAB0CAAAAF9fbmFtZV9fdAoAAABfX21vZHVsZV9fKAAAAAAoAAAAACgAAAAAc1AAAAAvdG1wL25kay1Vc2VyL2J1aWxkaG9zdC9pbnN0YWxsL3ByZWJ1aWx0L2Rhcndpbi14ODZfNjQvbGliL3B5dGhvbjIuNy90ZXh0d3JhcC5weVIAAAAAEQAAAHMCAAAABgF0CwAAAFRleHRXcmFwcGVydAQAAAB3cmFwdAQAAABmaWxsdAYAAABkZWRlbnRzBgAAAAkKCwwNIGMAAAAAAAAAAAoAAABCAAAAc/cAAABlAABaAQBkAABaAgBlAwBqBABlBQBkAQBlBgBlBQCDAQAUgwIAWgcAaQAAWggAZQkAZAIAgwEAWgoAeCEAZQsAZQkAZQUAgwIARF0QAFoMAGUKAGUIAGUMADxxSgBXZQ0Aag4AZAMAgwEAWg8AZQ0Aag4AZAQAgwEAWhAAZQ0Aag4AZAUAZQMAahEAFoMBAFoSAGQGAGQHAGQHAGUTAGUTAGUUAGUTAGUTAGUTAGQIAIQJAFoVAGQJAIQAAFoWAGQKAIQAAFoXAGQLAIQAAFoYAGQMAIQAAFoZAGQNAIQAAFoaAGQOAIQAAFobAGQPAIQAAFocAFJTKBAAAABz9wcAAAogICAgT2JqZWN0IGZvciB3cmFwcGluZy9maWxsaW5nIHRleHQuICBUaGUgcHVibGljIGludGVyZmFjZSBjb25zaXN0cyBvZgogICAgdGhlIHdyYXAoKSBhbmQgZmlsbCgpIG1ldGhvZHM7IHRoZSBvdGhlciBtZXRob2RzIGFyZSBqdXN0IHRoZXJlIGZvcgogICAgc3ViY2xhc3NlcyB0byBvdmVycmlkZSBpbiBvcmRlciB0byB0d2VhayB0aGUgZGVmYXVsdCBiZWhhdmlvdXIuCiAgICBJZiB5b3Ugd2FudCB0byBjb21wbGV0ZWx5IHJlcGxhY2UgdGhlIG1haW4gd3JhcHBpbmcgYWxnb3JpdGhtLAogICAgeW91J2xsIHByb2JhYmx5IGhhdmUgdG8gb3ZlcnJpZGUgX3dyYXBfY2h1bmtzKCkuCgogICAgU2V2ZXJhbCBpbnN0YW5jZSBhdHRyaWJ1dGVzIGNvbnRyb2wgdmFyaW91cyBhc3BlY3RzIG9mIHdyYXBwaW5nOgogICAgICB3aWR0aCAoZGVmYXVsdDogNzApCiAgICAgICAgdGhlIG1heGltdW0gd2lkdGggb2Ygd3JhcHBlZCBsaW5lcyAodW5sZXNzIGJyZWFrX2xvbmdfd29yZHMKICAgICAgICBpcyBmYWxzZSkKICAgICAgaW5pdGlhbF9pbmRlbnQgKGRlZmF1bHQ6ICIiKQogICAgICAgIHN0cmluZyB0aGF0IHdpbGwgYmUgcHJlcGVuZGVkIHRvIHRoZSBmaXJzdCBsaW5lIG9mIHdyYXBwZWQKICAgICAgICBvdXRwdXQuICBDb3VudHMgdG93YXJkcyB0aGUgbGluZSdzIHdpZHRoLgogICAgICBzdWJzZXF1ZW50X2luZGVudCAoZGVmYXVsdDogIiIpCiAgICAgICAgc3RyaW5nIHRoYXQgd2lsbCBiZSBwcmVwZW5kZWQgdG8gYWxsIGxpbmVzIHNhdmUgdGhlIGZpcnN0CiAgICAgICAgb2Ygd3JhcHBlZCBvdXRwdXQ7IGFsc28gY291bnRzIHRvd2FyZHMgZWFjaCBsaW5lJ3Mgd2lkdGguCiAgICAgIGV4cGFuZF90YWJzIChkZWZhdWx0OiB0cnVlKQogICAgICAgIEV4cGFuZCB0YWJzIGluIGlucHV0IHRleHQgdG8gc3BhY2VzIGJlZm9yZSBmdXJ0aGVyIHByb2Nlc3NpbmcuCiAgICAgICAgRWFjaCB0YWIgd2lsbCBiZWNvbWUgMSAuLiA4IHNwYWNlcywgZGVwZW5kaW5nIG9uIGl0cyBwb3NpdGlvbiBpbgogICAgICAgIGl0cyBsaW5lLiAgSWYgZmFsc2UsIGVhY2ggdGFiIGlzIHRyZWF0ZWQgYXMgYSBzaW5nbGUgY2hhcmFjdGVyLgogICAgICByZXBsYWNlX3doaXRlc3BhY2UgKGRlZmF1bHQ6IHRydWUpCiAgICAgICAgUmVwbGFjZSBhbGwgd2hpdGVzcGFjZSBjaGFyYWN0ZXJzIGluIHRoZSBpbnB1dCB0ZXh0IGJ5IHNwYWNlcwogICAgICAgIGFmdGVyIHRhYiBleHBhbnNpb24uICBOb3RlIHRoYXQgaWYgZXhwYW5kX3RhYnMgaXMgZmFsc2UgYW5kCiAgICAgICAgcmVwbGFjZV93aGl0ZXNwYWNlIGlzIHRydWUsIGV2ZXJ5IHRhYiB3aWxsIGJlIGNvbnZlcnRlZCB0byBhCiAgICAgICAgc2luZ2xlIHNwYWNlIQogICAgICBmaXhfc2VudGVuY2VfZW5kaW5ncyAoZGVmYXVsdDogZmFsc2UpCiAgICAgICAgRW5zdXJlIHRoYXQgc2VudGVuY2UtZW5kaW5nIHB1bmN0dWF0aW9uIGlzIGFsd2F5cyBmb2xsb3dlZAogICAgICAgIGJ5IHR3byBzcGFjZXMuICBPZmYgYnkgZGVmYXVsdCBiZWNhdXNlIHRoZSBhbGdvcml0aG0gaXMKICAgICAgICAodW5hdm9pZGFibHkpIGltcGVyZmVjdC4KICAgICAgYnJlYWtfbG9uZ193b3JkcyAoZGVmYXVsdDogdHJ1ZSkKICAgICAgICBCcmVhayB3b3JkcyBsb25nZXIgdGhhbiAnd2lkdGgnLiAgSWYgZmFsc2UsIHRob3NlIHdvcmRzIHdpbGwgbm90CiAgICAgICAgYmUgYnJva2VuLCBhbmQgc29tZSBsaW5lcyBtaWdodCBiZSBsb25nZXIgdGhhbiAnd2lkdGgnLgogICAgICBicmVha19vbl9oeXBoZW5zIChkZWZhdWx0OiB0cnVlKQogICAgICAgIEFsbG93IGJyZWFraW5nIGh5cGhlbmF0ZWQgd29yZHMuIElmIHRydWUsIHdyYXBwaW5nIHdpbGwgb2NjdXIK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cmluZ10pIC0+IFtzdHJpbmddCgogICAgICAgIFdyYXAgYSBzZXF1ZW5jZSBvZiB0ZXh0IGNodW5rcyBhbmQgcmV0dXJuIGEgbGlzdCBvZiBsaW5lcyBvZgogICAgICAgIGxlbmd0aCAnc2VsZi53aWR0aCcgb3IgbGVzcy4gIChJZiAnYnJlYWtfbG9uZ193b3JkcycgaXMgZmFsc2UsCiAgICAgICAgc29tZSBsaW5lcyBtYXkgYmUgbG9uZ2VyIHRoYW4gdGhpcy4pICBDaHVua3MgY29ycmVzcG9uZCByb3VnaGx5CiAgICAgICAgdG8gd29yZHMgYW5kIHRoZSB3aGl0ZXNwYWNlIGJldHdlZW4gdGhlbTogZWFjaCBjaHVuayBpcwogICAgICAgIGluZGl2aXNpYmxlIChtb2R1bG8gJ2JyZWFrX2xvbmdfd29yZHMnKSwgYnV0IGEgbGluZSBicmVhayBjYW4KICAgICAgICBjb21lIGJldHdlZW4gYW55IHR3byBjaHVua3MuICBDaHVua3Mgc2hvdWxkIG5vdCBoYXZlIGludGVybmFsCiAgICAgICAgd2hpdGVzcGFjZTsgaWUuIGEgY2h1bmsgaXMgZWl0aGVyIGFsbCB3aGl0ZXNwYWNlIG9yIGEgIndvcmQiLgogICAgICAgIFdoaXRlc3BhY2UgY2h1bmtzIHdpbGwgYmUgcmVtb3ZlZCBmcm9tIHRoZSBiZWdpbm5pbmcgYW5kIGVuZCBvZgogICAgICAgIGxpbmVzLCBidXQgYXBhcnQgZnJvbSB0aGF0IHdoaXRlc3BhY2UgaXMgcHJlc2VydmVkLgogICAgICAgIGkAAAAAcx4AAABpbnZhbGlkIHdpZHRoICVyIChtdXN0IGJlID4gMClp/////1IIAAAAKAwAAABSCQAAAHQKAAAAVmFsdWVFcnJvcnQHAAAAcmV2ZXJzZVILAAAAUgoAAABSLAAAAFIQAAAAdAUAAABzdHJpcFIwAAAAUjEAAABSNgAAAHQEAAAAam9pbigIAAAAUhoAAABSKAAAAHQFAAAAbGluZXNSMwAAAFI0AAAAdAYAAABpbmRlbnRSCQAAAHQBAAAAbCgAAAAAKAAAAABzUAAAAC90bXAvbmRrLVVzZXIvYnVpbGRob3N0L2luc3RhbGwvcHJlYnVpbHQv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d3JhcHBlZCBsaW5lcy4gIEJ5CiAgICBkZWZhdWx0LCB0YWJzIGluICd0ZXh0JyBhcmUgZXhwYW5kZWQgd2l0aCBzdHJpbmcuZXhwYW5kdGFicygpLCBhbmQKICAgIGFsbCBvdGhlciB3aGl0ZXNwYWNlIGNoYXJhY3RlcnMgKGluY2x1ZGluZyBuZXdsaW5lKSBhcmUgY29udmVydGVkIHRvCiAgICBzcGFjZS4gIFNlZSBUZXh0V3JhcHBlciBjbGFzcyBmb3IgYXZhaWxhYmxlIGtleXdvcmQgYXJncyB0byBjdXN0b21pemUKICAgIHdyYXBwaW5nIGJlaGF2aW91ci4KICAgIFIJAAAAKAIAAABSAwAAAFIEAAAAKAQAAABSIgAAAFIJAAAAdAYAAABrd2FyZ3N0AQAAAHcoAAAAACgAAAAAc1AAAAAvdG1wL25kay1Vc2VyL2J1aWxkaG9zdC9pbnN0YWxsL3ByZWJ1aWx0L2Rhcndpbi14ODZfNjQvbGliL3B5dGhvbjIuNy90ZXh0d3JhcC5weVIEAAAAVwEAAHMEAAAAAAoSAWMCAAAABAAAAAQAAABLAAAAcx8AAAB0AABkAQB8AQB8AgCNAAF9AwB8AwBqAQB8AACDAQBTKAIAAABzlgEAAEZpbGwgYSBzaW5nbGUgcGFyYWdyYXBoIG9mIHRleHQsIHJldHVybmluZyBhIG5ldyBzdHJpbmcuCgogICAgUmVmb3JtYXQgdGhlIHNpbmdsZSBwYXJhZ3JhcGggaW4gJ3RleHQnIHRvIGZpdCBpbiBsaW5lcyBvZiBubyBtb3JlCiAgICB0aGFuICd3aWR0aCcgY29sdW1ucywgYW5kIHJldHVybiBhIG5ldyBzdHJpbmcgY29udGFpbmluZyB0aGUgZW50aXJlCiAgICB3cmFwcGVkIHBhcmFncmFwaC4gIEFzIHdpdGggd3JhcCgpLCB0YWJzIGFyZSBleHBhbmRlZCBhbmQgb3RoZXIKICAgIHdoaXRlc3BhY2UgY2hhcmFjdGVycyBjb252ZXJ0ZWQgdG8gc3BhY2UuICBTZWUgVGV4dFdyYXBwZXIgY2xhc3MgZm9yCiAgICBhdmFpbGFibGUga2V5d29yZCBhcmdzIHRvIGN1c3RvbWl6ZSB3cmFwcGluZyBiZWhhdmlvdXIuCiAgICBSCQAAACgCAAAAUgMAAABSBQAAACgEAAAAUiIAAABSCQAAAFJKAAAAUksAAAAoAAAAACgAAAAAc1AAAAAvdG1wL25kay1Vc2VyL2J1aWxkaG9zdC9pbnN0YWxsL3ByZWJ1aWx0L2Rhcndpbi14ODZfNjQvbGliL3B5dGhvbjIuNy90ZXh0d3JhcC5weVIFAAAAZAEAAHMEAAAAAAkSAXMHAAAAXlsgCV0rJHMSAAAAKF5bIAldKikoPzpbXiAJCl0pYwEAAAAFAAAABwAAAEMAAABz+QAAAGQGAH0BAHQBAGoCAGQBAHwAAIMCAH0AAHQDAGoEAHwAAIMBAH0CAHhUAHwCAERdTAB9AwB8AQBkBgBrCABySQB8AwB9AQBxLgB8AwBqBQB8AQCDAQByWwBxLgB8AQBqBQB8AwCDAQBycwB8AwB9AQBxLgBkAQB9AQBQcS4AV2QCAHLTAHwBAHLTAHhGAHwAAGoGAGQDAIMBAERdMgB9BAB8BAAMc5oAfAQAagUAfAEAgwEAc5oAdAcAZAQAfAQAfAEAZgIAFoMBAIIBAHGaAFduAAB8AQBy9QB0CABqAgBkBQB8AQAXZAEAfAAAgwMAfQAAbgAAfAAAUygHAAAAczkCAABSZW1vdmUgYW55IGNvbW1vbiBsZWFkaW5nIHdoaXRlc3BhY2UgZnJvbSBldmVyeSBsaW5lIGluIGB0ZXh0YC4KCiAgICBUaGlzIGNhbiBiZSB1c2VkIHRvIG1ha2UgdHJpcGxlLXF1b3RlZCBzdHJpbmdzIGxpbmUgdXAgd2l0aCB0aGUgbGVmdAogICAgZWRnZSBvZiB0aGUgZGlzcGxheSwgd2hpbGUgc3RpbGwgcHJlc2VudGluZyB0aGVtIGluIHRoZSBzb3VyY2UgY29kZQogICAgaW4gaW5kZW50ZWQgZm9ybS4KCiAgICBOb3RlIHRoYXQgdGFicyBhbmQgc3BhY2VzIGFyZSBib3RoIHRyZWF0ZWQgYXMgd2hpdGVzcGFjZSwgYnV0IHRoZXkKICAgIGFyZSBub3QgZXF1YWw6IHRoZSBsaW5lcyAiICBoZWxsbyIgYW5kICIJaGVsbG8iIGFyZQogICAgY29uc2lkZXJlZCB0byBoYXZlIG5vIGNvbW1vbiBsZWFkaW5nIHdoaXRlc3BhY2UuICAoVGhpcyBiZWhhdmlvdXIgaXMKICAgIG5ldyBpbiBQeXRob24gMi41OyBvbGRlciB2ZXJzaW9ucyBvZiB0aGlzIG1vZHVsZSBpbmNvcnJlY3RseQogICAgZXhwYW5kZWQgdGFicyBiZWZvcmUgc2VhcmNoaW5nIGZvciBjb21tb24gbGVhZGluZyB3aGl0ZXNwYWNlLikKICAgIFIIAAAAaQAAAABzAQAAAApzFgAAAGxpbmUgPSAlciwgbWFyZ2luID0gJXJzBQAAACg/bSleTigJAAAAUiYAAAB0EwAAAF93aGl0ZXNwYWNlX29ubHlfcmV0AwAAAHN1YnQWAAAAX2xlYWRpbmdfd2hpdGVzcGFjZV9yZXQHAAAAZmluZGFsbHQKAAAAc3RhcnRzd2l0aFIkAAAAdA4AAABBc3NlcnRpb25FcnJvclISAAAAKAUAAABSIgAAAHQGAAAAbWFyZ2ludAcAAABpbmRlbnRzUjwAAAB0BAAAAGxpbmUoAAAAACgAAAAAc1AAAAAvdG1wL25kay1Vc2VyL2J1aWxkaG9zdC9pbnN0YWxsL3ByZWJ1aWx0L2Rhcndpbi14ODZfNjQvbGliL3B5dGhvbjIuNy90ZXh0d3JhcC5weVIGAAAAdgEAAHMmAAAAAA8GARIBDwENAQwBCQQPAQMEDwEJBQYBBQMMARYBGQEaAgYBHAF0CAAAAF9fbWFpbl9fcyAAAABIZWxsbyB0aGVyZS4KICBUaGlzIGlzIGluZGVudGVkLigTAAAAUj8AAAB0DAAAAF9fcmV2aXNpb25fX1JAAAAAUhIAAAB0BwAAAHVuaWNvZGVSAAAAAHQJAAAATmFtZUVycm9ydAYAAABvYmplY3R0BwAAAF9fYWxsX19SQgAAAFIDAAAAUgQAAABSBQAAAFITAAAAdAkAAABNVUxUSUxJTkVSTAAAAFJOAAAAUgYAAABSAQAAACgAAAAAKAAAAAAoAAAAAHNQAAAAL3RtcC9uZGstVXNlci9idWlsZGhvc3QvaW5zdGFsbC9wcmVidWlsdC9kYXJ3aW4teDg2XzY0L2xpYi9weXRob24yLjcvdGV4dHdyYXAucHl0CAAAADxtb2R1bGU+AgAAAHMiAAAABgYGAhgCAwEKAQ0DGgsSCgYCE/8AMAwNDA8VARUCCTAMAw==