Iw0KIwlMYXVuY2g0aiAoaHR0cDovL2xhdW5jaDRqLnNvdXJjZWZvcmdlLm5ldC8pDQojCUNyb3NzLXBsYXRmb3JtIEphdmEgYXBwbGljYXRpb24gd3JhcHBlciBmb3IgY3JlYXRpbmcgV2luZG93cyBuYXRpdmUgZXhlY3V0YWJsZXMuDQojDQojCUNvcHlyaWdodCAoYykgMjAwNCwgMjAwNyBHcnplZ29yeiBLb3dhbCwgUGF0cmljaW8gTWFydO1uZXogUm9zDQojDQojCUFsbCByaWdodHMgcmVzZXJ2ZWQuDQojDQojCVJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dCBtb2RpZmljYXRpb24sDQojCWFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlIG1ldDoNCiMNCiMJICAgICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLA0KIwkgICAgICB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLg0KIwkgICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsDQojCSAgICAgIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlIGRvY3VtZW50YXRpb24NCiMJICAgICAgYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uDQojCSAgICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgdGhlIExhdW5jaDRqIG5vciB0aGUgbmFtZXMgb2YgaXRzIGNvbnRyaWJ1dG9ycw0KIwkgICAgICBtYXkgYmUgdXNlZCB0byBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tIHRoaXMgc29mdHdhcmUgd2l0aG91dA0KIwkgICAgICBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uDQojDQojCVRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMNCiMJIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QNCiMJTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SDQojCUEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUIE9XTkVSIE9SDQojCUNPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLA0KIwlFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sDQojCVBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUg0KIwlQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GDQojCUxJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HDQojCU5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUw0KIwlTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4NCiMNCg0KU3BsYXNoLnNwbGFzaC5maWxlID0gRmljaGVybyBkZSBsYSBwYW50YWxsYSBkZSBiaWVudmVuaWRhDQpTcGxhc2guc3BsYXNoLnRpbWVvdXQgPSBUaWVtcG8gZGUgZXNwZXJhIGRlIGxhIHBhbnRhbGxhIGRlIGJpZW52ZW5pZGENCg0KQ29uZmlnLnNwZWNpZnkub3V0cHV0LmV4ZSA9IEVzcGVjaWZpcXVlIGVsIGZpY2hlcm8gZGUgc2FsaWRhIGNvbiBleHRlbnNpXHUwMEYzbiAuZXhlLg0KQ29uZmlnLmFwcGxpY2F0aW9uLmphciA9IEFwbGljYWNpXHUwMEYzbiBqYXINCkNvbmZpZy5hcHBsaWNhdGlvbi5qYXIucGF0aCA9IEVzcGVjaWZpcXVlIGxhIHJ1dGEgZGVsIGphciByZWxhdGl2YSBhbCBlamVjdXRhYmxlLiANCkNvbmZpZy5jaGRpci5yZWxhdGl2ZSA9ICdDYW1iaWFyIGFsIGRpcmVjdG9yaW8nIGRlYmUgc2VyIHVuYSBydXRhIHJlbGF0aXZhIGFsIGVqZWN1dGFibGUuDQpDb25maWcuY2hkaXIucGF0aCA9ICdDYW1iaWFyIGFsIGRpcmVjdG9yaW8nIGFob3JhIGVzIHVuYSBydXRhIGVuIGx1Z2FyIGRlIHVuIGJvb2xlYW5vLCBwb3IgZmF2b3IgY29uc3VsdGUgbGEgZG9jdW1lbnRhY2lcdTAwRjNuLg0KQ29uZmlnLmljb24gPSBJY29ubw0KQ29uZmlnLmphci5hcmd1bWVudHMgPSBBcmd1bWVudG9zIGRlbCBqYXINCkNvbmZpZy5lcnJvci50aXRsZSA9IFRcdTAwRUR0dWxvIGRlIGVycm9yDQpDb25maWcuaGVhZGVyLnR5cGUgPSBUaXBvIGRlIGNhYmVjZXJhDQpDb25maWcuc3BsYXNoLm5vdC5pbXBsLmJ5LmNvbnNvbGUuaGRyID0gTGEgcGFudGFsbGEgZGUgYmllbnZlbmlkYSBubyBlc3RcdTAwRTEgaW1wbGVtZW50YWRhIHBhcmEgbGEgY2FiZWNlcmEgZGUgdGlwbyBjb25zb2xhLg0KDQpWZXJzaW9uSW5mby5maWxlLnZlcnNpb24gPSBMYSB2ZXJzaVx1MDBGM24gZGVsIGZpY2hlcm8sIGRlYmVyXHUwMEVEYSBzZXIgJ3gueC54LngnDQpWZXJzaW9uSW5mby50eHQuZmlsZS52ZXJzaW9uID0gRm9ybWEgbGlicmUgZGUgdmVyc2lcdTAwRjNuIGRlbCBmaWNoZXJvDQpWZXJzaW9uSW5mby5maWxlLmRlc2NyaXB0aW9uID0gRGVzY3JpcGNpXHUwMEYzbiBkZWwgZmljaGVybw0KVmVyc2lvbkluZm8uY29weXJpZ2h0ID0gQ29weXJpZ2h0DQpWZXJzaW9uSW5mby5wcm9kdWN0LnZlcnNpb24gPSBWZXJzaVx1MDBGM24gZGVsIHByb2R1Y3RvLCBkZWJlclx1MDBFRGEgc2VyICd4LngueC54Jw0KVmVyc2lvbkluZm8udHh0LnByb2R1Y3QudmVyc2lvbiA9IEZvcm1hIGxpYnJlIGRlIHZlcnNpXHUwMEYzbiBkZWwgcHJvZHVjdG8NClZlcnNpb25JbmZvLnByb2R1Y3QubmFtZSA9IE5vbWJyZSBkZWwgcHJvZHVjdG8NClZlcnNpb25JbmZvLmNvbXBhbnkubmFtZSA9IE5vbWJyZSBkZSBsYSBvcmdhbml6YWNpXHUwMEYzbg0KVmVyc2lvbkluZm8uaW50ZXJuYWwubmFtZSA9IE5vbWJyZSBpbnRlcm5vDQpWZXJzaW9uSW5mby5pbnRlcm5hbC5uYW1lLm5vdC5leGUgPSBFbCBub21icmUgaW50ZXJubyBubyBkZWJlclx1MDBFRGEgdGVuZXIgZXh0ZW5zaVx1MDBGM24gLmV4ZS4NClZlcnNpb25JbmZvLm9yaWdpbmFsLmZpbGVuYW1lID0gTm9tYnJlIG9yaWdpbmFsIGRlbCBmaWNoZXJvDQpWZXJzaW9uSW5mby5vcmlnaW5hbC5maWxlbmFtZS5leGUgPSBFbCBub21icmUgb3JpZ2luYWwgZGVsIGZpY2hlcm8gZGViZSBhY2FiYXIgY29uIGV4dGVuc2lcdTAwRjNuIC5leGUuDQpKcmUubWluLnZlcnNpb24gPSBMYSB2ZXJzaVx1MDBGM24gbVx1MDBFRG5pbWEgZGVsIEpSRSBkZWJlclx1MDBFRGEgc2VyIHgueC54W194eF0NCkpyZS5tYXgudmVyc2lvbiA9IExhIHZlcnNpXHUwMEYzbiBtXHUwMEUxeGltYSBkZWwgSlJFIGRlYmVyXHUwMEVEYSBzZXIgeC54LnhbX3h4XQ0KSnJlLnNwZWNpZnkuanJlLm1pbi52ZXJzaW9uLm9yLnBhdGg9U3BlY2lmeSBtaW5pbXVtIEpSRSB2ZXJzaW9uIGFuZC9vciBidW5kbGVkIEpSRSBwYXRoLg0KSnJlLmJ1bmRsZWQucGF0aC5yZWwgPSBMYSBydXRhIGRlbCBKUkUgZGViZSBzZXIgcmVsYXRpdmEgYWwgZWplY3V0YWJsZS4NCkpyZS5zcGVjaWZ5Lm1pbi52ZXJzaW9uID0gRXNwZWNpZmlxdWUgbGEgdmVyc2lcdTAwRjNuIG1cdTAwRURuaW1hIGRlbCBKUkUuDQpKcmUubWF4LmdyZWF0ZXIudGhhbi5taW4gPSBMYSB2ZXJzaVx1MDBGM24gbVx1MDBFMXhpbWEgZGVsIEpSRSBkZWJlIHNlciBtYXlvciBxdWUgbGEgbVx1MDBFRG5pbWEuXG5QYXJhIHVzYXIgY2llcnRhIHZlcnNpXHUwMEYzbiBkZWwgSlJFLCBwdWVkZSBlc3lhYmxlY2VyIGVsIHJhbmdvIG1cdTAwRURuaW1vL21cdTAwRTF4aW1vIGEgWzEuNC4yIC0gMS40LjJfMTBdLCBwb3IgZWplbXBsby4NCkpyZS5qdm0ub3B0aW9ucyA9IEFyZ3VtZW50b3MgZGUgbGEgSlZNDQoNCk1zZy5zdGFydHVwRXJyPVN0YXJ0dXAgZXJyb3IgbWVzc2FnZQ0KTXNnLmJ1bmRsZWRKcmVFcnI9QnVuZGxlZCBKUkUgZXJyb3IgbWVzc2FnZQ0KTXNnLmpyZVZlcnNpb25FcnI9SlJFIHZlcnNpb24gZXJyb3IgbWVzc2FnZQ0KTXNnLmxhdW5jaGVyRXJyPUxhdW5jaGVyIGVycm9yIG1lc3NhZ2UNCg0KU2luZ2xlSW5zdGFuY2UubXV0ZXhOYW1lPU11dGV4IG5hbWUNClNpbmdsZUluc3RhbmNlLndpbmRvd1RpdGxlPVdpbmRvdyB0aXRsZQ0KDQo=