CuEFChFkbWkvY29tbW9ucy5wcm90bxIDZG1pKj8KBlN0YXR1cxIUChBVTkRFRklORURfU1RBVFVTEAASDQoJT0tfU1RBVFVTEAESEAoMRVJST1JfU1RBVFVTEAIqPwoITG9nTGV2ZWwSCQoFVFJBQ0UQABIJCgVERUJVRxABEggKBElORk8QAhIICgRXQVJOEAMSCQoFRVJST1IQBEI7WjlnaXRodWIuY29tL29wZW5jb3JkL2RldmljZS1tYW5hZ2VtZW50LWludGVyZmFjZS92My9nby9kbWlK/wMKBhIEAAAUAQoICgEMEgMAABIKCAoBCBIDAgBQCgkKAggLEgMCAFAKCAoBAhIDAwAMClQKAgUAEgQHAAsBMkggQ29tbW9uIHN0cnVjdHVyZXMgdXNlZCBhY3Jvc3MgdGhlIGRpZmZlcmVudCBEZXZpY2UgTWFuYWdlbWVudCBzZXJ2aWNlcwoKCgoDBQABEgMHBQsKCwoEBQACABIDCAQZCgwKBQUAAgABEgMIBBQKDAoFBQACAAISAwgXGAoLCgQFAAIBEgMJBBIKDAoFBQACAQESAwkEDQoMCgUFAAIBAhIDCRARCgsKBAUAAgISAwoEFQoMCgUFAAICARIDCgQQCgwKBQUAAgICEgMKExQKFgoCBQESBA4AFAEaCkxvZyBMZXZlbAoKCgoDBQEBEgMOBQ0KCwoEBQECABIDDwQOCgwKBQUBAgABEgMPBAkKDAoFBQECAAISAw8MDQoLCgQFAQIBEgMQBA4KDAoFBQECAQESAxAECQoMCgUFAQIBAhIDEAwNCgsKBAUBAgISAxEEDgoMCgUFAQICARIDEQQICgwKBQUBAgICEgMRDA0KCwoEBQECAxIDEgQOCgwKBQUBAgMBEgMSBAgKDAoFBQECAwISAxIMDQoLCgQFAQIEEgMTBA4KDAoFBQECBAESAxMECQoMCgUFAQIEAhIDEwwNYgZwcm90bzMK8i8KH2dvb2dsZS9wcm90b2J1Zi90aW1lc3RhbXAucHJvdG8SD2dvb2dsZS5wcm90b2J1ZiI7CglUaW1lc3RhbXASGAoHc2Vjb25kcxgBIAEoA1IHc2Vjb25kcxIUCgVuYW5vcxgCIAEoBVIFbmFub3NCfgoTY29tLmdvb2dsZS5wcm90b2J1ZkIOVGltZXN0YW1wUHJvdG9QAVorZ2l0aHViLmNvbS9nb2xhbmcvcHJvdG9idWYvcHR5cGVzL3RpbWVzdGFtcPgBAaICA0dQQqoCHkdvb2dsZS5Qcm90b2J1Zi5XZWxsS25vd25UeXBlc0r4LQoHEgUeAIgBAQrMDAoBDBIDHgASMsEMIFByb3RvY29sIEJ1ZmZlcnMgLSBHb29nbGUncyBkYXRhIGludGVyY2hhbmdlIGZvcm1hdAogQ29weXJpZ2h0IDIwMDggR29vZ2xlIEluYy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiBodHRwczovL2RldmVsb3BlcnMuZ29vZ2xlLmNvbS9wcm90b2NvbC1idWZmZXJzLwoKIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZQogbWV0OgoKICAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CiBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCiAgICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlCiBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyCiBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlCiBkaXN0cmlidXRpb24uCiAgICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9mIEdvb2dsZSBJbmMuIG5vciB0aGUgbmFtZXMgb2YgaXRzCiBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8gZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbQogdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4KCiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTCiAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVAogTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SCiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVAogT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsCiBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UCiBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwKIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWQogVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgoKCAoBAhIDIAAYCggKAQgSAyIAOwoJCgIIJRIDIgA7CggKAQgSAyMAHwoJCgIIHxIDIwAfCggKAQgSAyQAQgoJCgIICxIDJABCCggKAQgSAyUALAoJCgIIARIDJQAsCggKAQgSAyYALwoJCgIICBIDJgAvCggKAQgSAycAIgoJCgIIChIDJwAiCggKAQgSAygAIQoJCgIIJBIDKAAhCvEbCgIEABIFfACIAQEa4xsgQSBUaW1lc3RhbXAgcmVwcmVzZW50cyBhIHBvaW50IGluIHRpbWUgaW5kZXBlbmRlbnQgb2YgYW55IHRpbWUgem9uZSBvciBsb2NhbAogY2FsZW5kYXIsIGVuY29kZWQgYXMgYSBjb3VudCBvZiBzZWNvbmRzIGFuZCBmcmFjdGlvbnMgb2Ygc2Vjb25kcyBhdAogbmFub3NlY29uZCByZXNvbHV0aW9uLiBUaGUgY291bnQgaXMgcmVsYXRpdmUgdG8gYW4gZXBvY2ggYXQgVVRDIG1pZG5pZ2h0IG9uCiBKYW51YXJ5IDEsIDE5NzAsIGluIHRoZSBwcm9sZXB0aWMgR3JlZ29yaWFuIGNhbGVuZGFyIHdoaWNoIGV4dGVuZHMgdGhlCiBHcmVnb3JpYW4gY2FsZW5kYXIgYmFja3dhcmRzIHRvIHllYXIgb25lLgoKIEFsbCBtaW51dGVzIGFyZSA2MCBzZWNvbmRzIGxvbmcuIExlYXAgc2Vjb25kcyBhcmUgInNtZWFyZWQiIHNvIHRoYXQgbm8gbGVhcAogc2Vjb25kIHRhYmxlIGlzIG5lZWRlZCBmb3IgaW50ZXJwcmV0YXRpb24sIHVzaW5nIGEgWzI0LWhvdXIgbGluZWFyCiBzbWVhcl0oaHR0cHM6Ly9kZXZlbG9wZXJzLmdvb2dsZS5jb20vdGltZS9zbWVhcikuCgogVGhlIHJhbmdlIGlzIGZyb20gMDAwMS0wMS0wMVQwMDowMDowMFogdG8gOTk5OS0xMi0zMVQyMzo1OTo1OS45OTk5OTk5OTlaLiBCeQogcmVzdHJpY3RpbmcgdG8gdGhhdCByYW5nZSwgd2UgZW5zdXJlIHRoYXQgd2UgY2FuIGNvbnZlcnQgdG8gYW5kIGZyb20gW1JGQwogMzMzOV0oaHR0cHM6Ly93d3cuaWV0Zi5vcmcvcmZjL3JmYzMzMzkudHh0KSBkYXRlIHN0cmluZ3MuCgogIyBFeGFtcGxlcwoKIEV4YW1wbGUgMTogQ29tcHV0ZSBUaW1lc3RhbXAgZnJvbSBQT1NJWCBgdGltZSgpYC4KCiAgICAgVGltZXN0YW1wIHRpbWVzdGFtcDsKICAgICB0aW1lc3RhbXAuc2V0X3NlY29uZHModGltZShOVUxMKSk7CiAgICAgdGltZXN0YW1wLnNldF9uYW5vcygwKTsKCiBFeGFtcGxlIDI6IENvbXB1dGUgVGltZXN0YW1wIGZyb20gUE9TSVggYGdldHRpbWVvZmRheSgpYC4KCiAgICAgc3RydWN0IHRpbWV2YWwgdHY7CiAgICAgZ2V0dGltZW9mZGF5KCZ0diwgTlVMTCk7CgogICAgIFRpbWVzdGFtcCB0aW1lc3RhbXA7CiAgICAgdGltZXN0YW1wLnNldF9zZWNvbmRzKHR2LnR2X3NlYyk7CiAgICAgdGltZXN0YW1wLnNldF9uYW5vcyh0di50dl91c2VjICogMTAwMCk7CgogRXhhbXBsZSAzOiBDb21wdXRlIFRpbWVzdGFtcCBmcm9tIFdpbjMyIGBHZXRTeXN0ZW1UaW1lQXNGaWxlVGltZSgpYC4KCiAgICAgRklMRVRJTUUgZnQ7CiAgICAgR2V0U3lzdGVtVGltZUFzRmlsZVRpbWUoJmZ0KTsKICAgICBVSU5UNjQgdGlja3MgPSAoKChVSU5UNjQpZnQuZHdIaWdoRGF0ZVRpbWUpIDw8IDMyKSB8IGZ0LmR3TG93RGF0ZVRpbWU7CgogICAgIC8vIEEgV2luZG93cyB0aWNrIGlzIDEwMCBuYW5vc2Vjb25kcy4gV2luZG93cyBlcG9jaCAxNjAxLTAxLTAxVDAwOjAwOjAwWgogICAgIC8vIGlzIDExNjQ0NDczNjAwIHNlY29uZHMgYmVmb3JlIFVuaXggZXBvY2ggMTk3MC0wMS0wMVQwMDowMDowMFouCiAgICAgVGltZXN0YW1wIHRpbWVzdGFtcDsKICAgICB0aW1lc3RhbXAuc2V0X3NlY29uZHMoKElOVDY0KSAoKHRpY2tzIC8gMTAwMDAwMDApIC0gMTE2NDQ0NzM2MDBMTCkpOwogICAgIHRpbWVzdGFtcC5zZXRfbmFub3MoKElOVDMyKSAoKHRpY2tzICUgMTAwMDAwMDApICogMTAwKSk7CgogRXhhbXBsZSA0OiBDb21wdXRlIFRpbWVzdGFtcCBmcm9tIEphdmEgYFN5c3RlbS5jdXJyZW50VGltZU1pbGxpcygpYC4KCiAgICAgbG9uZyBtaWxsaXMgPSBTeXN0ZW0uY3VycmVudFRpbWVNaWxsaXMoKTsKCiAgICAgVGltZXN0YW1wIHRpbWVzdGFtcCA9IFRpbWVzdGFtcC5uZXdCdWlsZGVyKCkuc2V0U2Vjb25kcyhtaWxsaXMgLyAxMDAwKQogICAgICAgICAuc2V0TmFub3MoKGludCkgKChtaWxsaXMgJSAxMDAwKSAqIDEwMDAwMDApKS5idWlsZCgpOwoKCiBFeGFtcGxlIDU6IENvbXB1dGUgVGltZXN0YW1wIGZyb20gY3VycmVudCB0aW1lIGluIFB5dGhvbi4KCiAgICAgdGltZXN0YW1wID0gVGltZXN0YW1wKCkKICAgICB0aW1lc3RhbXAuR2V0Q3VycmVudFRpbWUoKQoKICMgSlNPTiBNYXBwaW5nCgogSW4gSlNPTiBmb3JtYXQsIHRoZSBUaW1lc3RhbXAgdHlwZSBpcyBlbmNvZGVkIGFzIGEgc3RyaW5nIGluIHRoZQogW1JGQyAzMzM5XShodHRwczovL3d3dy5pZXRmLm9yZy9yZmMvcmZjMzMzOS50eHQpIGZvcm1hdC4gVGhhdCBpcywgdGhlCiBmb3JtYXQgaXMgInt5ZWFyfS17bW9udGh9LXtkYXl9VHtob3VyfTp7bWlufTp7c2VjfVsue2ZyYWNfc2VjfV1aIgogd2hlcmUge3llYXJ9IGlzIGFsd2F5cyBleHByZXNzZWQgdXNpbmcgZm91ciBkaWdpdHMgd2hpbGUge21vbnRofSwge2RheX0sCiB7aG91cn0sIHttaW59LCBhbmQge3NlY30gYXJlIHplcm8tcGFkZGVkIHRvIHR3byBkaWdpdHMgZWFjaC4gVGhlIGZyYWN0aW9uYWwKIHNlY29uZHMsIHdoaWNoIGNhbiBnbyB1cCB0byA5IGRpZ2l0cyAoaS5lLiB1cCB0byAxIG5hbm9zZWNvbmQgcmVzb2x1dGlvbiksCiBhcmUgb3B0aW9uYWwuIFRoZSAiWiIgc3VmZml4IGluZGljYXRlcyB0aGUgdGltZXpvbmUgKCJVVEMiKTsgdGhlIHRpbWV6b25lCiBpcyByZXF1aXJlZC4gQSBwcm90bzMgSlNPTiBzZXJpYWxpemVyIHNob3VsZCBhbHdheXMgdXNlIFVUQyAoYXMgaW5kaWNhdGVkIGJ5CiAiWiIpIHdoZW4gcHJpbnRpbmcgdGhlIFRpbWVzdGFtcCB0eXBlIGFuZCBhIHByb3RvMyBKU09OIHBhcnNlciBzaG91bGQgYmUKIGFibGUgdG8gYWNjZXB0IGJvdGggVVRDIGFuZCBvdGhlciB0aW1lem9uZXMgKGFzIGluZGljYXRlZCBieSBhbiBvZmZzZXQpLgoKIEZvciBleGFtcGxlLCAiMjAxNy0wMS0xNVQwMTozMDoxNS4wMVoiIGVuY29kZXMgMTUuMDEgc2Vjb25kcyBwYXN0CiAwMTozMCBVVEMgb24gSmFudWFyeSAxNSwgMjAxNy4KCiBJbiBKYXZhU2NyaXB0LCBvbmUgY2FuIGNvbnZlcnQgYSBEYXRlIG9iamVjdCB0byB0aGlzIGZvcm1hdCB1c2luZyB0aGUKIHN0YW5kYXJkIFt0b0lTT1N0cmluZygpXShodHRwczovL2RldmVsb3Blci5tb3ppbGxhLm9yZy9lbi1VUy9kb2NzL1dlYi9KYXZhU2NyaXB0L1JlZmVyZW5jZS9HbG9iYWxfT2JqZWN0cy9EYXRlL3RvSVNPU3RyaW5nKQogbWV0aG9kLiBJbiBQeXRob24sIGEgc3RhbmRhcmQgYGRhdGV0aW1lLmRhdGV0aW1lYCBvYmplY3QgY2FuIGJlIGNvbnZlcnRlZAogdG8gdGhpcyBmb3JtYXQgdXNpbmcgW2BzdHJmdGltZWBdKGh0dHBzOi8vZG9jcy5weXRob24ub3JnLzIvbGlicmFyeS90aW1lLmh0bWwjdGltZS5zdHJmdGltZSkKIHdpdGggdGhlIHRpbWUgZm9ybWF0IHNwZWMgJyVZLSVtLSVkVCVIOiVNOiVTLiVmWicuIExpa2V3aXNlLCBpbiBKYXZhLCBvbmUKIGNhbiB1c2UgdGhlIEpvZGEgVGltZSdzIFtgSVNPRGF0ZVRpbWVGb3JtYXQuZGF0ZVRpbWUoKWBdKAogaHR0cDovL3d3dy5qb2RhLm9yZy9qb2RhLXRpbWUvYXBpZG9jcy9vcmcvam9kYS90aW1lL2Zvcm1hdC9JU09EYXRlVGltZUZvcm1hdC5odG1sI2RhdGVUaW1lJTJEJTJECiApIHRvIG9idGFpbiBhIGZvcm1hdHRlciBjYXBhYmxlIG9mIGdlbmVyYXRpbmcgdGltZXN0YW1wcyBpbiB0aGlzIGZvcm1hdC4KCgoKCgoDBAABEgN8CBEKnQEKBAQAAgASBIEBAhQajgEgUmVwcmVzZW50cyBzZWNvbmRzIG9mIFVUQyB0aW1lIHNpbmNlIFVuaXggZXBvY2gKIDE5NzAtMDEtMDFUMDA6MDA6MDBaLiBNdXN0IGJlIGZyb20gMDAwMS0wMS0wMVQwMDowMDowMFogdG8KIDk5OTktMTItMzFUMjM6NTk6NTlaIGluY2x1c2l2ZS4KCg4KBQQAAgAEEgWBAQJ8EwoNCgUEAAIABRIEgQECBwoNCgUEAAIAARIEgQEIDwoNCgUEAAIAAxIEgQESEwrlAQoEBAACARIEhwECEhrWASBOb24tbmVnYXRpdmUgZnJhY3Rpb25zIG9mIGEgc2Vjb25kIGF0IG5hbm9zZWNvbmQgcmVzb2x1dGlvbi4gTmVnYXRpdmUKIHNlY29uZCB2YWx1ZXMgd2l0aCBmcmFjdGlvbnMgbXVzdCBzdGlsbCBoYXZlIG5vbi1uZWdhdGl2ZSBuYW5vcyB2YWx1ZXMKIHRoYXQgY291bnQgZm9yd2FyZCBpbiB0aW1lLiBNdXN0IGJlIGZyb20gMCB0byA5OTksOTk5LDk5OQogaW5jbHVzaXZlLgoKDwoFBAACAQQSBocBAoEBFAoNCgUEAAIBBRIEhwECBwoNCgUEAAIBARIEhwEIDQoNCgUEAAIBAxIEhwEQEWIGcHJvdG8zCtWYAQoMZG1pL2h3LnByb3RvEgNkbWkaH2dvb2dsZS9wcm90b2J1Zi90aW1lc3RhbXAucHJvdG8iGgoEVXVpZBISCgR1dWlkGAEgASgJUgR1dWlkIisKCkhhcmR3YXJlSUQSHQoEdXVpZBgBIAEoCzIJLmRtaS5VdWlkUgR1dWlkIhcKA1VyaRIQCgN1cmkYASABKAlSA3VyaSKEAwoOQ29tcG9uZW50U3RhdGUSSAoSc3RhdGVfbGFzdF9jaGFuZ2VkGAEgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcFIQc3RhdGVMYXN0Q2hhbmdlZBI5CgthZG1pbl9zdGF0ZRgCIAEoDjIYLmRtaS5Db21wb25lbnRBZG1pblN0YXRlUgphZG1pblN0YXRlEjYKCm9wZXJfc3RhdGUYAyABKA4yFy5kbWkuQ29tcG9uZW50T3BlclN0YXRlUglvcGVyU3RhdGUSOQoLdXNhZ2Vfc3RhdGUYBCABKA4yGC5kbWkuQ29tcG9uZW50VXNhZ2VTdGF0ZVIKdXNhZ2VTdGF0ZRI5CgthbGFybV9zdGF0ZRgFIAEoDjIYLmRtaS5Db21wb25lbnRBbGFybVN0YXRlUgphbGFybVN0YXRlEj8KDXN0YW5kYnlfc3RhdGUYBiABKA4yGi5kbWkuQ29tcG9uZW50U3RhbmRieVN0YXRlUgxzdGFuZGJ5U3RhdGUi6wIKE0NvbXBvbmVudFNlbnNvckRhdGESFAoFdmFsdWUYASABKAVSBXZhbHVlEiYKBHR5cGUYAiABKA4yEi5kbWkuRGF0YVZhbHVlVHlwZVIEdHlwZRIlCgVzY2FsZRgDIAEoDjIPLmRtaS5WYWx1ZVNjYWxlUgVzY2FsZRIcCglwcmVjaXNpb24YBCABKAVSCXByZWNpc2lvbhIpCgZzdGF0dXMYBSABKA4yES5kbWkuU2Vuc29yU3RhdHVzUgZzdGF0dXMSIwoNdW5pdHNfZGlzcGxheRgGIAEoCVIMdW5pdHNEaXNwbGF5EjgKCXRpbWVzdGFtcBgHIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXBSCXRpbWVzdGFtcBIqChF2YWx1ZV91cGRhdGVfcmF0ZRgIIAEoDVIPdmFsdWVVcGRhdGVSYXRlEhsKCWRhdGFfdHlwZRgJIAEoCVIIZGF0YVR5cGUisQUKF1BvcnRDb21wb25lbnRBdHRyaWJ1dGVzElEKDmNvbm5lY3Rvcl90eXBlGAEgASgOMiouZG1pLlBvcnRDb21wb25lbnRBdHRyaWJ1dGVzLkNvbm5lY3RvclR5cGVSDWNvbm5lY3RvclR5cGUSOAoFc3BlZWQYAiABKA4yIi5kbWkuUG9ydENvbXBvbmVudEF0dHJpYnV0ZXMuU3BlZWRSBXNwZWVkEkEKCHByb3RvY29sGAMgASgOMiUuZG1pLlBvcnRDb21wb25lbnRBdHRyaWJ1dGVzLlByb3RvY29sUghwcm90b2NvbBIlCg5waHlzaWNhbF9sYWJlbBgEIAEoCVINcGh5c2ljYWxMYWJlbCJwCg1Db25uZWN0b3JUeXBlEhwKGENPTk5FQ1RPUl9UWVBFX1VOREVGSU5FRBAAEggKBFJKNDUQARIMCghGSUJFUl9MQxACEg8KC0ZJQkVSX1NDX1BDEAMSDQoJRklCRVJfTVBPEAQSCQoFUlMyMzIQBSKuAQoFU3BlZWQSEwoPU1BFRURfVU5ERUZJTkVEEAASCwoHRFlOQU1JQxABEg0KCUdJR0FCSVRfMRACEg4KCkdJR0FCSVRfMTAQAxIOCgpHSUdBQklUXzI1EAQSDgoKR0lHQUJJVF80MBAFEg8KC0dJR0FCSVRfMTAwEAYSDwoLR0lHQUJJVF80MDAQBxIQCgxNRUdBQklUXzI1MDAQCBIQCgxNRUdBQklUXzEyNTAQCSJ8CghQcm90b2NvbBIWChJQUk9UT0NPTF9VTkRFRklORUQQABIMCghFVEhFUk5FVBABEggKBEdQT04QAhIJCgVYR1BPThADEgoKBlhHU1BPThAEEgkKBUdGQVNUEAUSCgoGU0VSSUFMEAYSCAoERVBPThAHEggKBEJJVFMQCCJFChxDb250YWluZXJDb21wb25lbnRBdHRyaWJ1dGVzEiUKDnBoeXNpY2FsX2xhYmVsGAEgASgJUg1waHlzaWNhbExhYmVsIsUBChZQc3VDb21wb25lbnRBdHRyaWJ1dGVzElkKEXN1cHBvcnRlZF92b2x0YWdlGAEgASgOMiwuZG1pLlBzdUNvbXBvbmVudEF0dHJpYnV0ZXMuU3VwcG9ydGVkVm9sdGFnZVIQc3VwcG9ydGVkVm9sdGFnZSJQChBTdXBwb3J0ZWRWb2x0YWdlEh8KG1NVUFBPUlRFRF9WT0xUQUdFX1VOREVGSU5FRBAAEgcKA1Y0OBABEggKBFYyMzAQAhIICgRWMTE1EAMi0gUKH1RyYW5zY2VpdmVyQ29tcG9uZW50c0F0dHJpYnV0ZXMSUAoLZm9ybV9mYWN0b3IYASABKA4yLy5kbWkuVHJhbnNjZWl2ZXJDb21wb25lbnRzQXR0cmlidXRlcy5Gb3JtRmFjdG9yUgpmb3JtRmFjdG9yEkgKCnRyYW5zX3R5cGUYAiABKA4yKS5kbWkuVHJhbnNjZWl2ZXJDb21wb25lbnRzQXR0cmlidXRlcy5UeXBlUgl0cmFuc1R5cGUSIQoMbWF4X2Rpc3RhbmNlGAMgASgNUgttYXhEaXN0YW5jZRI9ChJtYXhfZGlzdGFuY2Vfc2NhbGUYBCABKA4yDy5kbWkuVmFsdWVTY2FsZVIQbWF4RGlzdGFuY2VTY2FsZRIjCg1yeF93YXZlbGVuZ3RoGAUgAygNUgxyeFdhdmVsZW5ndGgSIwoNdHhfd2F2ZWxlbmd0aBgGIAMoDVIMdHhXYXZlbGVuZ3RoEjoKEHdhdmVsZW5ndGhfc2NhbGUYByABKA4yDy5kbWkuVmFsdWVTY2FsZVIPd2F2ZWxlbmd0aFNjYWxlIsABCgpGb3JtRmFjdG9yEhcKE0ZPUk1fRkFDVE9SX1VOS05PV04QABIICgRRU0ZQEAESDQoJUVNGUF9QTFVTEAISCgoGUVNGUDI4EAMSBwoDU0ZQEAQSDAoIU0ZQX1BMVVMQBRIHCgNYRlAQBhIICgRDRlA0EAcSCAoEQ0ZQMhAIEggKBENQQUsQCRIGCgJYMhAKEgkKBU9USEVSEAsSBwoDQ0ZQEAwSDAoIQ0ZQMl9BQ08QDRIMCghDRlAyX0RDTxAOImgKBFR5cGUSEAoMVFlQRV9VTktOT1dOEAASDAoIRVRIRVJORVQQARIICgRHUE9OEAISCQoFWEdQT04QAxIKCgZYR1NQT04QBBIICgRDUE9OEAUSCwoHTkdfUE9OMhAGEggKBEVQT04QByLZBwoJQ29tcG9uZW50EhIKBG5hbWUYASABKAlSBG5hbWUSKAoFY2xhc3MYAiABKA4yEi5kbWkuQ29tcG9uZW50VHlwZVIFY2xhc3MSIAoLZGVzY3JpcHRpb24YAyABKAlSC2Rlc2NyaXB0aW9uEhYKBnBhcmVudBgEIAEoCVIGcGFyZW50EiQKDnBhcmVudF9yZWxfcG9zGAUgASgFUgxwYXJlbnRSZWxQb3MSKgoIY2hpbGRyZW4YBiADKAsyDi5kbWkuQ29tcG9uZW50UghjaGlsZHJlbhIhCgxoYXJkd2FyZV9yZXYYByABKAlSC2hhcmR3YXJlUmV2EiEKDGZpcm13YXJlX3JldhgIIAEoCVILZmlybXdhcmVSZXYSIQoMc29mdHdhcmVfcmV2GAkgASgJUgtzb2Z0d2FyZVJldhIdCgpzZXJpYWxfbnVtGAogASgJUglzZXJpYWxOdW0SGQoIbWZnX25hbWUYCyABKAlSB21mZ05hbWUSHQoKbW9kZWxfbmFtZRgMIAEoCVIJbW9kZWxOYW1lEhQKBWFsaWFzGA0gASgJUgVhbGlhcxIZCghhc3NldF9pZBgOIAEoCVIHYXNzZXRJZBIVCgZpc19mcnUYDyABKAhSBWlzRnJ1EjUKCG1mZ19kYXRlGBAgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcFIHbWZnRGF0ZRIaCgN1cmkYESABKAsyCC5kbWkuVXJpUgN1cmkSHQoEdXVpZBgSIAEoCzIJLmRtaS5VdWlkUgR1dWlkEikKBXN0YXRlGBMgASgLMhMuZG1pLkNvbXBvbmVudFN0YXRlUgVzdGF0ZRI5CgtzZW5zb3JfZGF0YRgUIAMoCzIYLmRtaS5Db21wb25lbnRTZW5zb3JEYXRhUgpzZW5zb3JEYXRhEjsKCXBvcnRfYXR0chgyIAEoCzIcLmRtaS5Qb3J0Q29tcG9uZW50QXR0cmlidXRlc0gAUghwb3J0QXR0chJKCg5jb250YWluZXJfYXR0chgzIAEoCzIhLmRtaS5Db250YWluZXJDb21wb25lbnRBdHRyaWJ1dGVzSABSDWNvbnRhaW5lckF0dHISOAoIcHN1X2F0dHIYNCABKAsyGy5kbWkuUHN1Q29tcG9uZW50QXR0cmlidXRlc0gAUgdwc3VBdHRyElEKEHRyYW5zY2VpdmVyX2F0dHIYNSABKAsyJC5kbWkuVHJhbnNjZWl2ZXJDb21wb25lbnRzQXR0cmlidXRlc0gAUg90cmFuc2NlaXZlckF0dHJCCgoIc3BlY2lmaWMiqAEKCEhhcmR3YXJlEjsKC2xhc3RfY2hhbmdlGAEgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcFIKbGFzdENoYW5nZRIiCgRyb290GAIgASgLMg4uZG1pLkNvbXBvbmVudFIEcm9vdBI7CgtsYXN0X2Jvb3RlZBgDIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXBSCmxhc3RCb290ZWQiqQIKE01vZGlmaWFibGVDb21wb25lbnQSEgoEbmFtZRgBIAEoCVIEbmFtZRIoCgVjbGFzcxgCIAEoDjISLmRtaS5Db21wb25lbnRUeXBlUgVjbGFzcxImCgZwYXJlbnQYAyABKAsyDi5kbWkuQ29tcG9uZW50UgZwYXJlbnQSJAoOcGFyZW50X3JlbF9wb3MYBCABKAVSDHBhcmVudFJlbFBvcxIUCgVhbGlhcxgFIAEoCVIFYWxpYXMSGQoIYXNzZXRfaWQYBiABKAlSB2Fzc2V0SWQSGgoDdXJpGAcgASgLMgguZG1pLlVyaVIDdXJpEjkKC2FkbWluX3N0YXRlGAggASgOMhguZG1pLkNvbXBvbmVudEFkbWluU3RhdGVSCmFkbWluU3RhdGUqtAMKDUNvbXBvbmVudFR5cGUSHAoYQ09NUE9ORU5UX1RZUEVfVU5ERUZJTkVEEAASGgoWQ09NUE9ORU5UX1RZUEVfVU5LTk9XThABEhoKFkNPTVBPTkVOVF9UWVBFX0NIQVNTSVMQAhIcChhDT01QT05FTlRfVFlQRV9CQUNLUExBTkUQAxIcChhDT01QT05FTlRfVFlQRV9DT05UQUlORVIQBBIfChtDT01QT05FTlRfVFlQRV9QT1dFUl9TVVBQTFkQBRIWChJDT01QT05FTlRfVFlQRV9GQU4QBhIZChVDT01QT05FTlRfVFlQRV9TRU5TT1IQBxIZChVDT01QT05FTlRfVFlQRV9NT0RVTEUQCBIXChNDT01QT05FTlRfVFlQRV9QT1JUEAkSFgoSQ09NUE9ORU5UX1RZUEVfQ1BVEAoSGgoWQ09NUE9ORU5UX1RZUEVfQkFUVEVSWRALEhoKFkNPTVBPTkVOVF9UWVBFX1NUT1JBR0UQDBIZChVDT01QT05FTlRfVFlQRV9NRU1PUlkQDRIeChpDT01QT05FTlRfVFlQRV9UUkFOU0NFSVZFUhAOKrMBChNDb21wb25lbnRBZG1pblN0YXRlEh4KGkNPTVBfQURNSU5fU1RBVEVfVU5ERUZJTkVEEAASHAoYQ09NUF9BRE1JTl9TVEFURV9VTktOT1dOEAESGwoXQ09NUF9BRE1JTl9TVEFURV9MT0NLRUQQAhIiCh5DT01QX0FETUlOX1NUQVRFX1NIVVRUSU5HX0RPV04QAxIdChlDT01QX0FETUlOX1NUQVRFX1VOTE9DS0VEEAQqqAEKEkNvbXBvbmVudE9wZXJTdGF0ZRIdChlDT01QX09QRVJfU1RBVEVfVU5ERUZJTkVEEAASGwoXQ09NUF9PUEVSX1NUQVRFX1VOS05PV04QARIcChhDT01QX09QRVJfU1RBVEVfRElTQUJMRUQQAhIbChdDT01QX09QRVJfU1RBVEVfRU5BQkxFRBADEhsKF0NPTVBfT1BFUl9TVEFURV9URVNUSU5HEAQqpgEKE0NvbXBvbmVudFVzYWdlU3RhdGUSHgoaQ09NUF9VU0FHRV9TVEFURV9VTkRFRklORUQQABIcChhDT01QX1VTQUdFX1NUQVRFX1VOS05PV04QARIZChVDT01QX1VTQUdFX1NUQVRFX0lETEUQAhIbChdDT01QX1VTQUdFX1NUQVRFX0FDVElWRRADEhkKFUNPTVBfVVNBR0VfU1RBVEVfQlVTWRAEKo8CChNDb21wb25lbnRBbGFybVN0YXRlEh4KGkNPTVBfQUxBUk1fU1RBVEVfVU5ERUZJTkVEEAASHAoYQ09NUF9BTEFSTV9TVEFURV9VTktOT1dOEAESIQodQ09NUF9BTEFSTV9TVEFURV9VTkRFUl9SRVBBSVIQAhIdChlDT01QX0FMQVJNX1NUQVRFX0NSSVRJQ0FMEAMSGgoWQ09NUF9BTEFSTV9TVEFURV9NQUpPUhAEEhoKFkNPTVBfQUxBUk1fU1RBVEVfTUlOT1IQBRIcChhDT01QX0FMQVJNX1NUQVRFX1dBUk5JTkcQBhIiCh5DT01QX0FMQVJNX1NUQVRFX0lOREVURVJNSU5BVEUQByq8AQoVQ29tcG9uZW50U3RhbmRieVN0YXRlEiAKHENPTVBfU1RBTkRCWV9TVEFURV9VTkRFRklORUQQABIeChpDT01QX1NUQU5EQllfU1RBVEVfVU5LTk9XThABEhoKFkNPTVBfU1RBTkRCWV9TVEFURV9IT1QQAhIbChdDT01QX1NUQU5EQllfU1RBVEVfQ09MRBADEigKJENPTVBfU1RBTkRCWV9TVEFURV9QUk9WSURJTkdfU0VSVklDRRAEKokDCg1EYXRhVmFsdWVUeXBlEhgKFFZBTFVFX1RZUEVfVU5ERUZJTkVEEAASFAoQVkFMVUVfVFlQRV9PVEhFUhABEhYKElZBTFVFX1RZUEVfVU5LTk9XThACEhcKE1ZBTFVFX1RZUEVfVk9MVFNfQUMQAxIXChNWQUxVRV9UWVBFX1ZPTFRTX0RDEAQSFgoSVkFMVUVfVFlQRV9BTVBFUkVTEAUSFAoQVkFMVUVfVFlQRV9XQVRUUxAGEhQKEFZBTFVFX1RZUEVfSEVSVFoQBxIWChJWQUxVRV9UWVBFX0NFTFNJVVMQCBIZChVWQUxVRV9UWVBFX1BFUkNFTlRfUkgQCRISCg5WQUxVRV9UWVBFX1JQTRAKEhIKDlZBTFVFX1RZUEVfQ01NEAsSGgoWVkFMVUVfVFlQRV9UUlVUSF9WQUxVRRAMEhYKElZBTFVFX1RZUEVfUEVSQ0VOVBANEhUKEVZBTFVFX1RZUEVfTUVURVJTEA4SFAoQVkFMVUVfVFlQRV9CWVRFUxAPKqQDCgpWYWx1ZVNjYWxlEhkKFVZBTFVFX1NDQUxFX1VOREVGSU5FRBAAEhUKEVZBTFVFX1NDQUxFX1lPQ1RPEAESFQoRVkFMVUVfU0NBTEVfWkVQVE8QAhIUChBWQUxVRV9TQ0FMRV9BVFRPEAMSFQoRVkFMVUVfU0NBTEVfRkVNVE8QBBIUChBWQUxVRV9TQ0FMRV9QSUNPEAUSFAoQVkFMVUVfU0NBTEVfTkFOTxAGEhUKEVZBTFVFX1NDQUxFX01JQ1JPEAcSFQoRVkFMVUVfU0NBTEVfTUlMTEkQCBIVChFWQUxVRV9TQ0FMRV9VTklUUxAJEhQKEFZBTFVFX1NDQUxFX0tJTE8QChIUChBWQUxVRV9TQ0FMRV9NRUdBEAsSFAoQVkFMVUVfU0NBTEVfR0lHQRAMEhQKEFZBTFVFX1NDQUxFX1RFUkEQDRIUChBWQUxVRV9TQ0FMRV9QRVRBEA4SEwoPVkFMVUVfU0NBTEVfRVhBEA8SFQoRVkFMVUVfU0NBTEVfWkVUVEEQEBIVChFWQUxVRV9TQ0FMRV9ZT1RUQRARKoIBCgxTZW5zb3JTdGF0dXMSGwoXU0VOU09SX1NUQVRVU19VTkRFRklORUQQABIUChBTRU5TT1JfU1RBVFVTX09LEAESHQoZU0VOU09SX1NUQVRVU19VTkFWQUlMQUJMRRACEiAKHFNFTlNPUl9TVEFUVVNfTk9OT1BFUkFUSU9OQUwQA0I7WjlnaXRodWIuY29tL29wZW5jb3JkL2RldmljZS1tYW5hZ2VtZW50LWludGVyZmFjZS92My9nby9kbWlK7WUKBxIFAACtAgEKCAoBDBIDAAASCggKAQgSAwIAUAoJCgIICxIDAgBQCggKAQISAwMADAoJCgIDABIDBQApCmkKAgQAEgQJAAsBMl0gVGhlIG1vZGVsIHVzZWQgdG8gcmVwcmVzZW50IGEgSFcgaXMgYmFzZWQgb24gUkZDODM0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dGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KICAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUKIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIKIGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUKIGRpc3RyaWJ1dGlvbi4KICAgICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgR29vZ2xlIEluYy4gbm9yIHRoZSBuYW1lcyBvZiBpdHMKIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0byBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tCiB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLgoKIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMKICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UCiBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IKIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUCiBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwKIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QKIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLAogREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZCiBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCgoICgECEgMgABgKCAoBCBIDIgA7CgkKAgglEgMiADsKCAoBCBIDIwA+CgkKAggLEgMjAD4KCAoBCBIDJAAsCgkKAggBEgMkACwKCAoBCBIDJQArCgkKAggIEgMlACsKCAoBCBIDJgAiCgkKAggKEgMmACIKCAoBCBIDJwAhCgkKAggkEgMnACEKCAoBCBIDKAAfCgkKAggfEgMoAB8K+wIKAgQAEgMzABAa7wIgQSBnZW5lcmljIGVtcHR5IG1lc3NhZ2UgdGhhdCB5b3UgY2FuIHJlLXVzZSB0byBhdm9pZCBkZWZpbmluZyBkdXBsaWNhdGVkCiBlbXB0eSBtZXNzYWdlcyBpbiB5b3VyIEFQSXMuIEEgdHlwaWNhbCBleGFtcGxlIGlzIHRvIHVzZSBpdCBhcyB0aGUgcmVxdWVzdAogb3IgdGhlIHJlc3BvbnNlIHR5cGUgb2YgYW4gQVBJIG1ldGhvZC4gRm9yIGluc3RhbmNlOgoKICAgICBzZXJ2aWNlIEZvbyB7CiAgICAgICBycGMgQmFyKGdvb2dsZS5wcm90b2J1Zi5FbXB0eSkgcmV0dXJucyAoZ29vZ2xlLnByb3RvYnVmLkVtcHR5KTsKICAgICB9CgogVGhlIEpTT04gcmVwcmVzZW50YXRpb24gZm9yIGBFbXB0eWAgaXMgZW1wdHkgSlNPTiBvYmplY3QgYHt9YC4KCgoKAwQAARIDMwgNYgZwcm90bzMKgU8KIGRtaS9od19ldmVudHNfbWdtdF9zZXJ2aWNlLnByb3RvEgNkbWkaEWRtaS9jb21tb25zLnByb3RvGgxkbWkvaHcucHJvdG8aH2dvb2dsZS9wcm90b2J1Zi90aW1lc3RhbXAucHJvdG8aG2dvb2dsZS9wcm90b2J1Zi9lbXB0eS5wcm90byJpCglWYWx1ZVR5cGUSGQoHaW50X3ZhbBgBIAEoA0gAUgZpbnRWYWwSGwoIdWludF92YWwYAiABKARIAFIHdWludFZhbBIdCglmbG9hdF92YWwYAyABKAJIAFIIZmxvYXRWYWxCBQoDdmFsIlIKCldhdGVyTWFya3MSIgoEaGlnaBgBIAEoCzIOLmRtaS5WYWx1ZVR5cGVSBGhpZ2gSIAoDbG93GAIgASgLMg4uZG1pLlZhbHVlVHlwZVIDbG93ImsKClRocmVzaG9sZHMSJwoFdXBwZXIYASABKAsyDy5kbWkuV2F0ZXJNYXJrc0gAUgV1cHBlchInCgVsb3dlchgCIAEoCzIPLmRtaS5XYXRlck1hcmtzSABSBWxvd2VyQgsKCXRocmVzaG9sZCJ+ChRUaHJlc2hvbGRJbmZvcm1hdGlvbhI1Cg5vYnNlcnZlZF92YWx1ZRgBIAEoCzIOLmRtaS5WYWx1ZVR5cGVSDW9ic2VydmVkVmFsdWUSLwoKdGhyZXNob2xkcxgCIAEoCzIPLmRtaS5UaHJlc2hvbGRzUgp0aHJlc2hvbGRzIooBCghFdmVudENmZxIoCghldmVudF9pZBgBIAEoDjINLmRtaS5FdmVudElkc1IHZXZlbnRJZBIjCg1pc19jb25maWd1cmVkGAIgASgIUgxpc0NvbmZpZ3VyZWQSLwoKdGhyZXNob2xkcxgDIAEoCzIPLmRtaS5UaHJlc2hvbGRzUgp0aHJlc2hvbGRzIjAKCUV2ZW50c0NmZxIjCgVpdGVtcxgBIAMoCzINLmRtaS5FdmVudENmZ1IFaXRlbXMingIKEkxpc3RFdmVudHNSZXNwb25zZRIjCgZzdGF0dXMYASABKA4yCy5kbWkuU3RhdHVzUgZzdGF0dXMSNgoGcmVhc29uGAIgASgOMh4uZG1pLkxpc3RFdmVudHNSZXNwb25zZS5SZWFzb25SBnJlYXNvbhImCgZldmVudHMYAyABKAsyDi5kbWkuRXZlbnRzQ2ZnUgZldmVudHMSIwoNcmVhc29uX2RldGFpbBgEIAEoCVIMcmVhc29uRGV0YWlsIl4KBlJlYXNvbhIUChBVTkRFRklORURfUkVBU09OEAASEgoOVU5LTk9XTl9ERVZJQ0UQARISCg5JTlRFUk5BTF9FUlJPUhACEhYKEkRFVklDRV9VTlJFQUNIQUJMRRADIq0BChpFdmVudHNDb25maWd1cmF0aW9uUmVxdWVzdBIqCgtkZXZpY2VfdXVpZBgBIAEoCzIJLmRtaS5VdWlkUgpkZXZpY2VVdWlkEioKB2NoYW5nZXMYAiABKAsyDi5kbWkuRXZlbnRzQ2ZnSABSB2NoYW5nZXMSKgoQcmVzZXRfdG9fZGVmYXVsdBgDIAEoCEgAUg5yZXNldFRvRGVmYXVsdEILCglvcGVyYXRpb24inAIKG0V2ZW50c0NvbmZpZ3VyYXRpb25SZXNwb25zZRIjCgZzdGF0dXMYASABKA4yCy5kbWkuU3RhdHVzUgZzdGF0dXMSPwoGcmVhc29uGAIgASgOMicuZG1pLkV2ZW50c0NvbmZpZ3VyYXRpb25SZXNwb25zZS5SZWFzb25SBnJlYXNvbhIjCg1yZWFzb25fZGV0YWlsGAMgASgJUgxyZWFzb25EZXRhaWwicgoGUmVhc29uEhQKEFVOREVGSU5FRF9SRUFTT04QABISCg5VTktOT1dOX0RFVklDRRABEhIKDklOVEVSTkFMX0VSUk9SEAISEgoOSU5WQUxJRF9DT05GSUcQAxIWChJERVZJQ0VfVU5SRUFDSEFCTEUQBCKUAQoNRXZlbnRNZXRhRGF0YRIqCgtkZXZpY2VfdXVpZBgBIAEoCzIJLmRtaS5VdWlkUgpkZXZpY2VVdWlkEjAKDmNvbXBvbmVudF91dWlkGAIgASgLMgkuZG1pLlV1aWRSDWNvbXBvbmVudFV1aWQSJQoOY29tcG9uZW50X25hbWUYAyABKAlSDWNvbXBvbmVudE5hbWUiggIKBUV2ZW50EjkKDmV2ZW50X21ldGFkYXRhGAEgASgLMhIuZG1pLkV2ZW50TWV0YURhdGFSDWV2ZW50TWV0YWRhdGESKAoIZXZlbnRfaWQYAiABKA4yDS5kbWkuRXZlbnRJZHNSB2V2ZW50SWQSNwoJcmFpc2VkX3RzGAMgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcFIIcmFpc2VkVHMSQAoOdGhyZXNob2xkX2luZm8YBCABKAsyGS5kbWkuVGhyZXNob2xkSW5mb3JtYXRpb25SDXRocmVzaG9sZEluZm8SGQoIYWRkX2luZm8YBSABKAlSB2FkZEluZm8q0Q4KCEV2ZW50SWRzEhgKFEVWRU5UX05BTUVfVU5ERUZJTkVEEAASHgoaRVZFTlRfVFJBTlNDRUlWRVJfUExVR19PVVQQZBIdChlFVkVOVF9UUkFOU0NFSVZFUl9QTFVHX0lOEGUSLQopRVZFTlRfVFJBTlNDRUlWRVJfVk9MVEFHRV9BQk9WRV9USFJFU0hPTEQQZhItCilFVkVOVF9UUkFOU0NFSVZFUl9WT0xUQUdFX0JFTE9XX1RIUkVTSE9MRBBnEjEKLUVWRU5UX1RSQU5TQ0VJVkVSX1RFTVBFUkFUVVJFX0FCT1ZFX1RIUkVTSE9MRBBoEjEKLUVWRU5UX1RSQU5TQ0VJVkVSX1RFTVBFUkFUVVJFX0JFTE9XX1RIUkVTSE9MRBBpEi0KKUVWRU5UX1RSQU5TQ0VJVkVSX0NVUlJFTlRfQUJPVkVfVEhSRVNIT0xEEGoSLQopRVZFTlRfVFJBTlNDRUlWRVJfQ1VSUkVOVF9CRUxPV19USFJFU0hPTEQQaxIuCipFVkVOVF9UUkFOU0NFSVZFUl9SWF9QT1dFUl9BQk9WRV9USFJFU0hPTEQQbBIuCipFVkVOVF9UUkFOU0NFSVZFUl9SWF9QT1dFUl9CRUxPV19USFJFU0hPTEQQbRIuCipFVkVOVF9UUkFOU0NFSVZFUl9UWF9QT1dFUl9BQk9WRV9USFJFU0hPTEQQbhIuCipFVkVOVF9UUkFOU0NFSVZFUl9UWF9QT1dFUl9CRUxPV19USFJFU0hPTEQQbxIdChlFVkVOVF9UUkFOU0NFSVZFUl9GQUlMVVJFEHASNwozRVZFTlRfVFJBTlNDRUlWRVJfVk9MVEFHRV9BQk9WRV9USFJFU0hPTERfUkVDT1ZFUkVEEHESNwozRVZFTlRfVFJBTlNDRUlWRVJfVk9MVEFHRV9CRUxPV19USFJFU0hPTERfUkVDT1ZFUkVEEHISOwo3RVZFTlRfVFJBTlNDRUlWRVJfVEVNUEVSQVRVUkVfQUJPVkVfVEhSRVNIT0xEX1JFQ09WRVJFRBBzEjsKN0VWRU5UX1RSQU5TQ0VJVkVSX1RFTVBFUkFUVVJFX0JFTE9XX1RIUkVTSE9MRF9SRUNPVkVSRUQQdBI3CjNFVkVOVF9UUkFOU0NFSVZFUl9DVVJSRU5UX0FCT1ZFX1RIUkVTSE9MRF9SRUNPVkVSRUQQdRI3CjNFVkVOVF9UUkFOU0NFSVZFUl9DVVJSRU5UX0JFTE9XX1RIUkVTSE9MRF9SRUNPVkVSRUQQdhI4CjRFVkVOVF9UUkFOU0NFSVZFUl9SWF9QT1dFUl9BQk9WRV9USFJFU0hPTERfUkVDT1ZFUkVEEHcSOAo0RVZFTlRfVFJBTlNDRUlWRVJfUlhfUE9XRVJfQkVMT1dfVEhSRVNIT0xEX1JFQ09WRVJFRBB4EjgKNEVWRU5UX1RSQU5TQ0VJVkVSX1RYX1BPV0VSX0FCT1ZFX1RIUkVTSE9MRF9SRUNPVkVSRUQQeRI4CjRFVkVOVF9UUkFOU0NFSVZFUl9UWF9QT1dFUl9CRUxPV19USFJFU0hPTERfUkVDT1ZFUkVEEHoSJwojRVZFTlRfVFJBTlNDRUlWRVJfRkFJTFVSRV9SRUNPVkVSRUQQexIXChJFVkVOVF9QU1VfUExVR19PVVQQyAESFgoRRVZFTlRfUFNVX1BMVUdfSU4QyQESFgoRRVZFTlRfUFNVX0ZBSUxVUkUQygESIAobRVZFTlRfUFNVX0ZBSUxVUkVfUkVDT1ZFUkVEEMsBEhYKEUVWRU5UX0ZBTl9GQUlMVVJFEKwCEhcKEkVWRU5UX0ZBTl9QTFVHX09VVBCtAhIWChFFVkVOVF9GQU5fUExVR19JThCuAhIgChtFVkVOVF9GQU5fRkFJTFVSRV9SRUNPVkVSRUQQrwISKQokRVZFTlRfQ1BVX1RFTVBFUkFUVVJFX0FCT1ZFX0NSSVRJQ0FMEJADEiYKIUVWRU5UX0NQVV9URU1QRVJBVFVSRV9BQk9WRV9GQVRBTBCRAxIzCi5FVkVOVF9DUFVfVEVNUEVSQVRVUkVfQUJPVkVfQ1JJVElDQUxfUkVDT1ZFUkVEEJIDEjAKK0VWRU5UX0NQVV9URU1QRVJBVFVSRV9BQk9WRV9GQVRBTF9SRUNPVkVSRUQQkwMSGgoVRVZFTlRfSFdfREVWSUNFX1JFU0VUEPQDEi8KKkVWRU5UX0hXX0RFVklDRV9URU1QRVJBVFVSRV9BQk9WRV9DUklUSUNBTBD1AxIsCidFVkVOVF9IV19ERVZJQ0VfVEVNUEVSQVRVUkVfQUJPVkVfRkFUQUwQ9gMSOQo0RVZFTlRfSFdfREVWSUNFX1RFTVBFUkFUVVJFX0FCT1ZFX0NSSVRJQ0FMX1JFQ09WRVJFRBD3AxI2CjFFVkVOVF9IV19ERVZJQ0VfVEVNUEVSQVRVUkVfQUJPVkVfRkFUQUxfUkVDT1ZFUkVEEPgDMu0BCh1OYXRpdmVFdmVudHNNYW5hZ2VtZW50U2VydmljZRI2CgpMaXN0RXZlbnRzEg8uZG1pLkhhcmR3YXJlSUQaFy5kbWkuTGlzdEV2ZW50c1Jlc3BvbnNlEl4KGVVwZGF0ZUV2ZW50c0NvbmZpZ3VyYXRpb24SHy5kbWkuRXZlbnRzQ29uZmlndXJhdGlvblJlcXVlc3QaIC5kbWkuRXZlbnRzQ29uZmlndXJhdGlvblJlc3BvbnNlEjQKDFN0cmVhbUV2ZW50cxIWLmdvb2dsZS5wcm90b2J1Zi5FbXB0eRoKLmRtaS5FdmVudDABQjtaOWdpdGh1Yi5jb20vb3BlbmNvcmQvZGV2aWNlLW1hbmFnZW1lbnQtaW50ZXJmYWNlL3YzL2dvL2RtaUr4LgoHEgUAAKwBAQoICgEMEgMAABIKCAoBCBIDAgBQCgkKAggLEgMCAFAKCAoBAhIDAwAMCgkKAgMAEgMFABsKCQoCAwESAwYAFgoJCgIDAhIDBwApCgkKAgMDEgMIACUKRQoCBQASBAwAQwEyOSBNYW5hZ2VtZW50IG9mIEV2ZW50cyBhbmQgcHJvdG9zIGZvciBlbmNvZGluZyBvZiBFdmVudHMNCgoKCgMFAAESAwwFDQoLCgQFAAIAEgMNBB0KDAoFBQACAAESAw0EGAoMCgUFAAIAAhIDDRscCiwKBAUAAgESAxAEJRofIEV2ZW50cyBmcm9tIHRoZSBUcmFuc2NlaXZlcnMNCgoMCgUFAAIBARIDEAQeCgwKBQUAAgECEgMQISQKCwoEBQACAhIDEQQkCgwKBQUAAgIBEgMRBB0KDAoFBQACAgISAxEgIwoLCgQFAAIDEgMSBDQKDAoFBQACAwESAxIELQoMCgUFAAIDAhIDEjAzCgsKBAUAAgQSAxMENAoMCgUFAAIEARIDEwQtCgwKBQUAAgQCEgMTMDMKCwoEBQACBRIDFAQ4CgwKBQUAAgUBEgMUBDEKDAoFBQACBQISAxQ0NwoLCgQFAAIGEgMVBDgKDAoFBQACBgESAxUEMQoMCgUFAAIGAhIDFTQ3CgsKBAUAAgcSAxYENAoMCgUFAAIHARIDFgQtCgwKBQUAAgcCEgMWMDMKCwoEBQACCBIDFwQ0CgwKBQUAAggBEgMXBC0KDAoFBQACCAISAxcwMwoLCgQFAAIJEgMYBDUKDAoFBQACCQESAxgELgoMCgUFAAIJAhIDGDE0CgsKBAUAAgoSAxkENQoMCgUFAAIKARIDGQQuCgwKBQUAAgoCEgMZMTQKCwoEBQACCxIDGgQ1CgwKBQUAAgsBEgMaBC4KDAoFBQACCwISAxoxNAoLCgQFAAIMEgMbBDUKDAoFBQACDAESAxsELgoMCgUFAAIMAhIDGzE0CgsKBAUAAg0SAxwEJAoMCgUFAAINARIDHAQdCgwKBQUAAg0CEgMcICMKCwoEBQACDhIDHQQ+CgwKBQUAAg4BEgMdBDcKDAoFBQACDgISAx06PQoLCgQFAAIPEgMeBD4KDAoFBQACDwESAx4ENwoMCgUFAAIPAhIDHjo9CgsKBAUAAhASAx8EQgoMCgUFAAIQARIDHwQ7CgwKBQUAAhACEgMfPkEKCwoEBQACERIDIARCCgwKBQUAAhEBEgMgBDsKDAoFBQACEQISAyA+QQoLCgQFAAISEgMhBD4KDAoFBQACEgESAyEENwoMCgUFAAISAhIDITo9CgsKBAUAAhMSAyIEPgoMCgUFAAITARIDIgQ3CgwKBQUAAhMCEgMiOj0KCwoEBQACFBIDIwQ/CgwKBQUAAhQBEgMjBDgKDAoFBQACFAISAyM7PgoLCgQFAAIVEgMkBD8KDAoFBQACFQESAyQEOAoMCgUFAAIVAhIDJDs+CgsKBAUAAhYSAyUEPwoMCgUFAAIWARIDJQQ4CgwKBQUAAhYCEgMlOz4KCwoEBQACFxIDJgQ/CgwKBQUAAhcBEgMmBDgKDAoFBQACFwISAyY7PgoLCgQFAAIYEgMnBC4KDAoFBQACGAESAycEJwoMCgUFAAIYAhIDJyotCiMKBAUAAhkSAyoEHRoWIEV2ZW50cyBmcm9tIHRoZSBQU1UNCgoMCgUFAAIZARIDKgQWCgwKBQUAAhkCEgMqGRwKCwoEBQACGhIDKwQcCgwKBQUAAhoBEgMrBBUKDAoFBQACGgISAysYGwoLCgQFAAIbEgMsBBwKDAoFBQACGwESAywEFQoMCgUFAAIbAhIDLBgbCgsKBAUAAhwSAy0EJgoMCgUFAAIcARIDLQQfCgwKBQUAAhwCEgMtIiUKIwoEBQACHRIDMAQcGhYgRXZlbnRzIGZvciB0aGUgRmFucw0KCgwKBQUAAh0BEgMwBBUKDAoFBQACHQISAzAYGwoLCgQFAAIeEgMxBB0KDAoFBQACHgESAzEEFgoMCgUFAAIeAhIDMRkcCgsKBAUAAh8SAzIEHAoMCgUFAAIfARIDMgQVCgwKBQUAAh8CEgMyGBsKCwoEBQACIBIDMwQmCgwKBQUAAiABEgMzBB8KDAoFBQACIAISAzMiJQojCgQFAAIhEgM2BC8aFiBFdmVudHMgZm9yIHRoZSBDUFVzDQoKDAoFBQACIQESAzYEKAoMCgUFAAIhAhIDNisuCgsKBAUAAiISAzcELAoMCgUFAAIiARIDNwQlCgwKBQUAAiICEgM3KCsKCwoEBQACIxIDOAQ5CgwKBQUAAiMBEgM4BDIKDAoFBQACIwISAzg1OAoLCgQFAAIkEgM5BDYKDAoFBQACJAESAzkELwoMCgUFAAIkAhIDOTI1CjEKBAUAAiUSAzwEIBokIEV2ZW50cyBmb3IgdGhlIGNvbXBsZXRlIEhXIERldmljZQ0KCgwKBQUAAiUBEgM8BBkKDAoFBQACJQISAzwcHwoLCgQFAAImEgM9BDUKDAoFBQACJgESAz0ELgoMCgUFAAImAhIDPTE0CgsKBAUAAicSAz4EMgoMCgUFAAInARIDPgQrCgwKBQUAAicCEgM+LjEKCwoEBQACKBIDPwQ/CgwKBQUAAigBEgM/BDgKDAoFBQACKAISAz87PgoLCgQFAAIpEgNABDwKDAoFBQACKQESA0AENQoMCgUFAAIpAhIDQDg7CgoKAgQAEgRFAEsBCgoKAwQAARIDRQgRCgwKBAQACAASBEYESgUKDAoFBAAIAAESA0YKDQoLCgQEAAIAEgNHCBoKDAoFBAACAAUSA0cIDQoMCgUEAAIAARIDRw4VCgwKBQQAAgADEgNHGBkKCwoEBAACARIDSAgcCgwKBQQAAgEFEgNICA4KDAoFBAACAQESA0gPFwoMCgUEAAIBAxIDSBobCgsKBAQAAgISA0kIHAoMCgUEAAICBRIDSQgNCgwKBQQAAgIBEgNJDhcKDAoFBAACAgMSA0kaGwoKCgIEARIETQBQAQoKCgMEAQESA00IEgoLCgQEAQIAEgNOBBcKDQoFBAECAAQSBE4ETRQKDAoFBAECAAYSA04EDQoMCgUEAQIAARIDTg4SCgwKBQQBAgADEgNOFRYKCwoEBAECARIDTwQWCg0KBQQBAgEEEgRPBE4XCgwKBQQBAgEGEgNPBA0KDAoFBAECAQESA08OEQoMCgUEAQIBAxIDTxQVCgoKAgQCEgRSAFcBCgoKAwQCARIDUggSCgwKBAQCCAASBFMEVgUKDAoFBAIIAAESA1MKEwoLCgQEAgIAEgNUCB0KDAoFBAICAAYSA1QIEgoMCgUEAgIAARIDVBMYCgwKBQQCAgADEgNUGxwKCwoEBAICARIDVQgdCgwKBQQCAgEGEgNVCBIKDAoFBAICAQESA1UTGAoMCgUEAgIBAxIDVRscCgoKAgQDEgRZAFwBCgoKAwQDARIDWQgcCgsKBAQDAgASA1oEIQoNCgUEAwIABBIEWgRZHgoMCgUEAwIABhIDWgQNCgwKBQQDAgABEgNaDhwKDAoFBAMCAAMSA1ofIAoLCgQEAwIBEgNbBB4KDQoFBAMCAQQSBFsEWiEKDAoFBAMCAQYSA1sEDgoMCgUEAwIBARIDWw8ZCgwKBQQDAgEDEgNbHB0KCgoCBAQSBF4AYwEKCgoDBAQBEgNeCBAKCwoEBAQCABIDXwQaCg0KBQQEAgAEEgRfBF4SCgwKBQQEAgAGEgNfBAwKDAoFBAQCAAESA18NFQoMCgUEBAIAAxIDXxgZCgsKBAQEAgESA2AEGwoNCgUEBAIBBBIEYARfGgoMCgUEBAIBBRIDYAQICgwKBQQEAgEBEgNgCRYKDAoFBAQCAQMSA2AZGgpTCgQEBAICEgNiBB4aRiBPcHRpb25hbCB0aHJlc2hvbGQgdmFsdWVzLCBhcHBsaWNhYmxlIG9ubHkgZm9yIHNvbWUgc3BlY2lmaWMgZXZlbnRzDQoKDQoFBAQCAgQSBGIEYBsKDAoFBAQCAgYSA2IEDgoMCgUEBAICARIDYg8ZCgwKBQQEAgIDEgNiHB0KCgoCBAUSBGUAZwEKCgoDBAUBEgNlCBEKCwoEBAUCABIDZgQgCgwKBQQFAgAEEgNmBAwKDAoFBAUCAAYSA2YNFQoMCgUEBQIAARIDZhYbCgwKBQQFAgADEgNmHh8KCgoCBAYSBGkAdAEKCgoDBAYBEgNpCBoKDAoEBAYEABIEagRvBQoMCgUEBgQAARIDagkPCg0KBgQGBAACABIDawgdCg4KBwQGBAACAAESA2sIGAoOCgcEBgQAAgACEgNrGxwKDQoGBAYEAAIBEgNsCBsKDgoHBAYEAAIBARIDbAgWCg4KBwQGBAACAQISA2wZGgoNCgYEBgQAAgISA20IGwoOCgcEBgQAAgIBEgNtCBYKDgoHBAYEAAICAhIDbRkaCg0KBgQGBAACAxIDbggfCg4KBwQGBAACAwESA24IGgoOCgcEBgQAAgMCEgNuHR4KCwoEBAYCABIDcAQWCg0KBQQGAgAEEgRwBG8FCgwKBQQGAgAGEgNwBAoKDAoFBAYCAAESA3ALEQoMCgUEBgIAAxIDcBQVCgsKBAQGAgESA3EEFgoNCgUEBgIBBBIEcQRwFgoMCgUEBgIBBhIDcQQKCgwKBQQGAgEBEgNxCxEKDAoFBAYCAQMSA3EUFQoLCgQEBgICEgNyBBkKDQoFBAYCAgQSBHIEcRYKDAoFBAYCAgYSA3IEDQoMCgUEBgICARIDcg4UCgwKBQQGAgIDEgNyFxgKCwoEBAYCAxIDcwQdCg0KBQQGAgMEEgRzBHIZCgwKBQQGAgMFEgNzBAoKDAoFBAYCAwESA3MLGAoMCgUEBgIDAxIDcxscCgoKAgQHEgR2AHwBCgoKAwQHARIDdggiCgsKBAQHAgASA3cEGQoNCgUEBwIABBIEdwR2JAoMCgUEBwIABhIDdwQICgwKBQQHAgABEgN3CRQKDAoFBAcCAAMSA3cXGAoMCgQEBwgAEgR4BHsFCgwKBQQHCAABEgN4ChMKCwoEBAcCARIDeQgeCgwKBQQHAgEGEgN5CBEKDAoFBAcCAQESA3kSGQoMCgUEBwIBAxIDeRwdCgsKBAQHAgISA3oIIgoMCgUEBwICBRIDeggMCgwKBQQHAgIBEgN6DR0KDAoFBAcCAgMSA3ogIQoLCgIECBIFfgCJAQEKCgoDBAgBEgN+CCMKDQoEBAgEABIFfwSFAQUKDAoFBAgEAAESA38JDwoOCgYECAQAAgASBIABCB0KDwoHBAgEAAIAARIEgAEIGAoPCgcECAQAAgACEgSAARscCg4KBgQIBAACARIEgQEIGwoPCgcECAQAAgEBEgSBAQgWCg8KBwQIBAACAQISBIEBGRoKDgoGBAgEAAICEgSCAQgbCg8KBwQIBAACAgESBIIBCBYKDwoHBAgEAAICAhIEggEZGgoOCgYECAQAAgMSBIMBCBsKDwoHBAgEAAIDARIEgwEIFgoPCgcECAQAAgMCEgSDARkaCg4KBgQIBAACBBIEhAEIHwoPCgcECAQAAgQBEgSEAQgaCg8KBwQIBAACBAISBIQBHR4KDAoEBAgCABIEhgEEFgoPCgUECAIABBIGhgEEhQEFCg0KBQQIAgAGEgSGAQQKCg0KBQQIAgABEgSGAQsRCg0KBQQIAgADEgSGARQVCgwKBAQIAgESBIcBBBYKDwoFBAgCAQQSBocBBIYBFgoNCgUECAIBBhIEhwEECgoNCgUECAIBARIEhwELEQoNCgUECAIBAxIEhwEUFQoMCgQECAICEgSIAQQdCg8KBQQIAgIEEgaIAQSHARYKDQoFBAgCAgUSBIgBBAoKDQoFBAgCAgESBIgBCxgKDQoFBAgCAgMSBIgBGxwKDAoCBAkSBosBAJABAQoLCgMECQESBIsBCBUKDAoEBAkCABIEjAEEGQoPCgUECQIABBIGjAEEiwEXCg0KBQQJAgAGEgSMAQQICg0KBQQJAgABEgSMAQkUCg0KBQQJAgADEgSMARcYCiYKBAQJAgESBI4BBBwaGCB1dWlkIG9mIHRoZSBjb21wb25lbnQNCgoPCgUECQIBBBIGjgEEjAEZCg0KBQQJAgEGEgSOAQQICg0KBQQJAgEBEgSOAQkXCg0KBQQJAgEDEgSOARobCgwKBAQJAgISBI8BBB4KDwoFBAkCAgQSBo8BBI4BHAoNCgUECQICBRIEjwEECgoNCgUECQICARIEjwELGQoNCgUECQICAxIEjwEcHQqDAgoCBAoSBpYBAJ4BATL0ASBUaGUgRXZlbnRzIGFyZSBjb252ZXllZCB0byBleHRlcm5hbCBzeXN0ZW1zIGVpdGhlciBieSBzdWJtaXR0aW5nIHRoZW0gb24gYSBtZXNzYWdlIGJ1cyBvciB1c2luZyBnUlBDIHNlcnZlciBzdHJlYW1pbmcuDQogVGhlIG1lc3NhZ2UgYnVzIHRvcGljIHRvIHdoaWNoIGFyZSBFdmVudHMgYXJlIHN1Ym1pdHRlZCB3b3VsZCBiZSBjb25maWd1cmVkIGFzIHN0YXJ0dXANCiBjb25maWd1cmF0aW9uIG9mIHRoZSBjb21wb25lbnRzDQoKCwoDBAoBEgSWAQgNCgwKBAQKAgASBJcBBCUKDwoFBAoCAAQSBpcBBJYBDwoNCgUECgIABhIElwEEEQoNCgUECgIAARIElwESIAoNCgUECgIAAxIElwEjJAoMCgQECgIBEgSYAQQaCg8KBQQKAgEEEgaYAQSXASUKDQoFBAoCAQYSBJgBBAwKDQoFBAoCAQESBJgBDRUKDQoFBAoCAQMSBJgBGBkKDAoEBAoCAhIEmQEELAoPCgUECgICBBIGmQEEmAEaCg0KBQQKAgIGEgSZAQQdCg0KBQQKAgIBEgSZAR4nCg0KBQQKAgIDEgSZASorCjwKBAQKAgMSBJsBBCwaLiBPcHRpb25hbCB0aHJlc2hvbGQgaW5mb3JtYXRpb24gZm9yIGFuIGV2ZW50DQoKDwoFBAoCAwQSBpsBBJkBLAoNCgUECgIDBhIEmwEEGAoNCgUECgIDARIEmwEZJwoNCgUECgIDAxIEmwEqKwo4CgQECgIEEgSdAQQYGiogQW55IGFkZGl0aW9uYWwgaW5mbyByZWdhcmRpbmcgdGhlIGV2ZW50DQoKDwoFBAoCBAQSBp0BBJsBLAoNCgUECgIEBRIEnQEECgoNCgUECgIEARIEnQELEwoNCgUECgIEAxIEnQEWFwoMCgIGABIGoAEArAEBCgsKAwYAARIEoAEIJQpACgQGAAIAEgSjAQQ7GjIgTGlzdCB0aGUgc3VwcG9ydGVkIGV2ZW50cyBmb3IgdGhlIHBhc3NlZCBkZXZpY2UNCgoNCgUGAAIAARIEowEIEgoNCgUGAAIAAhIEowETHQoNCgUGAAIAAxIEowEnOQrwAQoEBgACARIEqAEEYxrhASBVcGRhdGVzIHRoZSBjb25maWd1cmF0aW9uIG9mIHRoZSBsaXN0IG9mIGV2ZW50cyBpbiB0aGUgcmVxdWVzdA0KIFRoZSBkZWZhdWx0IGJlaGF2aW9yIG9mIHRoZSBkZXZpY2UgaXMgdG8gcmVwb3J0IGFsbCB0aGUgc3VwcG9ydGVkIGV2ZW50cw0KIFRoaXMgY29uZmlndXJhdGlvbiBpcyBwZXJzaXN0ZWQgYWNyb3NzIHJlYm9vdHMgb2YgdGhlIGRldmljZSBvciB0aGUgZGV2aWNlIG1hbmFnZXINCgoNCgUGAAIBARIEqAEIIQoNCgUGAAIBAhIEqAEiPAoNCgUGAAIBAxIEqAFGYQo8CgQGAAICEgSrAQRCGi4gSW5pdGlhdGUgdGhlIHNlcnZlciBzdHJlYW1pbmcgb2YgdGhlIGV2ZW50cw0KCg0KBQYAAgIBEgSrAQgUCg0KBQYAAgICEgSrARUqCg0KBQYAAgIGEgSrATQ6Cg0KBQYAAgIDEgSrATtAYgZwcm90bzMK54YBCh9kbWkvaHdfbWFuYWdlbWVudF9zZXJ2aWNlLnByb3RvEgNkbWkaEWRtaS9jb21tb25zLnByb3RvGgxkbWkvaHcucHJvdG8aG2dvb2dsZS9wcm90b2J1Zi9lbXB0eS5wcm90byJGChhQaHlzaWNhbEludmVudG9yeVJlcXVlc3QSKgoLZGV2aWNlX3V1aWQYASABKAsyCS5kbWkuVXVpZFIKZGV2aWNlVXVpZCKxAgoZUGh5c2ljYWxJbnZlbnRvcnlSZXNwb25zZRIjCgZzdGF0dXMYASABKA4yCy5kbWkuU3RhdHVzUgZzdGF0dXMSPQoGcmVhc29uGAIgASgOMiUuZG1pLlBoeXNpY2FsSW52ZW50b3J5UmVzcG9uc2UuUmVhc29uUgZyZWFzb24SKwoJaW52ZW50b3J5GAMgASgLMg0uZG1pLkhhcmR3YXJlUglpbnZlbnRvcnkSIwoNcmVhc29uX2RldGFpbBgEIAEoCVIMcmVhc29uRGV0YWlsIl4KBlJlYXNvbhIUChBVTkRFRklORURfUkVBU09OEAASEgoOVU5LTk9XTl9ERVZJQ0UQARISCg5JTlRFUk5BTF9FUlJPUhACEhYKEkRFVklDRV9VTlJFQUNIQUJMRRADIqABChlIV0NvbXBvbmVudEluZm9HZXRSZXF1ZXN0EioKC2RldmljZV91dWlkGAEgASgLMgkuZG1pLlV1aWRSCmRldmljZVV1aWQSMAoOY29tcG9uZW50X3V1aWQYAiABKAsyCS5kbWkuVXVpZFINY29tcG9uZW50VXVpZBIlCg5jb21wb25lbnRfbmFtZRgDIAEoCVINY29tcG9uZW50TmFtZSLLAgoaSFdDb21wb25lbnRJbmZvR2V0UmVzcG9uc2USIwoGc3RhdHVzGAEgASgOMgsuZG1pLlN0YXR1c1IGc3RhdHVzEj4KBnJlYXNvbhgCIAEoDjImLmRtaS5IV0NvbXBvbmVudEluZm9HZXRSZXNwb25zZS5SZWFzb25SBnJlYXNvbhIsCgljb21wb25lbnQYAyABKAsyDi5kbWkuQ29tcG9uZW50Ugljb21wb25lbnQSIwoNcmVhc29uX2RldGFpbBgEIAEoCVIMcmVhc29uRGV0YWlsInUKBlJlYXNvbhIUChBVTkRFRklORURfUkVBU09OEAASEgoOVU5LTk9XTl9ERVZJQ0UQARIVChFVTktOT1dOX0NPTVBPTkVOVBACEhIKDklOVEVSTkFMX0VSUk9SEAMSFgoSREVWSUNFX1VOUkVBQ0hBQkxFEAQi1AEKGUhXQ29tcG9uZW50SW5mb1NldFJlcXVlc3QSKgoLZGV2aWNlX3V1aWQYASABKAsyCS5kbWkuVXVpZFIKZGV2aWNlVXVpZBIwCg5jb21wb25lbnRfdXVpZBgCIAEoCzIJLmRtaS5VdWlkUg1jb21wb25lbnRVdWlkEiUKDmNvbXBvbmVudF9uYW1lGAMgASgJUg1jb21wb25lbnROYW1lEjIKB2NoYW5nZXMYBCABKAsyGC5kbWkuTW9kaWZpYWJsZUNvbXBvbmVudFIHY2hhbmdlcyKyAgoaSFdDb21wb25lbnRJbmZvU2V0UmVzcG9uc2USIwoGc3RhdHVzGAEgASgOMgsuZG1pLlN0YXR1c1IGc3RhdHVzEj4KBnJlYXNvbhgCIAEoDjImLmRtaS5IV0NvbXBvbmVudEluZm9TZXRSZXNwb25zZS5SZWFzb25SBnJlYXNvbhIjCg1yZWFzb25fZGV0YWlsGAMgASgJUgxyZWFzb25EZXRhaWwiiQEKBlJlYXNvbhIUChBVTkRFRklORURfUkVBU09OEAASEgoOVU5LTk9XTl9ERVZJQ0UQARIVChFVTktOT1dOX0NPTVBPTkVOVBACEhIKDklOVkFMSURfUEFSQU1TEAMSEgoOSU5URVJOQUxfRVJST1IQBBIWChJERVZJQ0VfVU5SRUFDSEFCTEUQBSLcAgobU3RhcnRNYW5hZ2luZ0RldmljZVJlc3BvbnNlEiMKBnN0YXR1cxgBIAEoDjILLmRtaS5TdGF0dXNSBnN0YXR1cxI/CgZyZWFzb24YAiABKA4yJy5kbWkuU3RhcnRNYW5hZ2luZ0RldmljZVJlc3BvbnNlLlJlYXNvblIGcmVhc29uEioKC2RldmljZV91dWlkGAMgASgLMgkuZG1pLlV1aWRSCmRldmljZVV1aWQSIwoNcmVhc29uX2RldGFpbBgEIAEoCVIMcmVhc29uRGV0YWlsIoUBCgZSZWFzb24SFAoQVU5ERUZJTkVEX1JFQVNPThAAEhoKFkRFVklDRV9BTFJFQURZX01BTkFHRUQQARIhCh1PUEVSQVRJT05fQUxSRUFEWV9JTl9QUk9HUkVTUxACEhIKDklOVkFMSURfUEFSQU1TEAMSEgoOSU5URVJOQUxfRVJST1IQBCIvChlTdG9wTWFuYWdpbmdEZXZpY2VSZXF1ZXN0EhIKBG5hbWUYASABKAlSBG5hbWUi2gEKGlN0b3BNYW5hZ2luZ0RldmljZVJlc3BvbnNlEiMKBnN0YXR1cxgBIAEoDjILLmRtaS5TdGF0dXNSBnN0YXR1cxI+CgZyZWFzb24YAiABKA4yJi5kbWkuU3RvcE1hbmFnaW5nRGV2aWNlUmVzcG9uc2UuUmVhc29uUgZyZWFzb24SIwoNcmVhc29uX2RldGFpbBgDIAEoCVIMcmVhc29uRGV0YWlsIjIKBlJlYXNvbhIUChBVTkRFRklORURfUkVBU09OEAASEgoOVU5LTk9XTl9ERVZJQ0UQASJtChFNYW5hZ2VkRGV2aWNlSW5mbxIsCgRpbmZvGAEgASgLMhguZG1pLk1vZGlmaWFibGVDb21wb25lbnRSBGluZm8SKgoLZGV2aWNlX3V1aWQYAiABKAsyCS5kbWkuVXVpZFIKZGV2aWNlVXVpZCLfAQoWTWFuYWdlZERldmljZXNSZXNwb25zZRIjCgZzdGF0dXMYASABKA4yCy5kbWkuU3RhdHVzUgZzdGF0dXMSOgoGcmVhc29uGAIgASgOMiIuZG1pLk1hbmFnZWREZXZpY2VzUmVzcG9uc2UuUmVhc29uUgZyZWFzb24SMAoHZGV2aWNlcxgDIAMoCzIWLmRtaS5NYW5hZ2VkRGV2aWNlSW5mb1IHZGV2aWNlcyIyCgZSZWFzb24SFAoQVU5ERUZJTkVEX1JFQVNPThAAEhIKDklOVEVSTkFMX0VSUk9SEAEinQEKGVNldExvZ2dpbmdFbmRwb2ludFJlcXVlc3QSKgoLZGV2aWNlX3V1aWQYASABKAsyCS5kbWkuVXVpZFIKZGV2aWNlVXVpZBIpChBsb2dnaW5nX2VuZHBvaW50GAIgASgJUg9sb2dnaW5nRW5kcG9pbnQSKQoQbG9nZ2luZ19wcm90b2NvbBgDIAEoCVIPbG9nZ2luZ1Byb3RvY29sIuECChlTZXRSZW1vdGVFbmRwb2ludFJlc3BvbnNlEiMKBnN0YXR1cxgBIAEoDjILLmRtaS5TdGF0dXNSBnN0YXR1cxI9CgZyZWFzb24YAiABKA4yJS5kbWkuU2V0UmVtb3RlRW5kcG9pbnRSZXNwb25zZS5SZWFzb25SBnJlYXNvbhIjCg1yZWFzb25fZGV0YWlsGAMgASgJUgxyZWFzb25EZXRhaWwiugEKBlJlYXNvbhIUChBVTkRFRklORURfUkVBU09OEAASEgoOVU5LTk9XTl9ERVZJQ0UQARISCg5JTlRFUk5BTF9FUlJPUhACEhoKFkxPR0dJTkdfRU5EUE9JTlRfRVJST1IQAxIjCh9MT0dHSU5HX0VORFBPSU5UX1BST1RPQ09MX0VSUk9SEAQSGQoVTVNHQlVTX0VORFBPSU5UX0VSUk9SEAUSFgoSREVWSUNFX1VOUkVBQ0hBQkxFEAYi3AIKGkdldExvZ2dpbmdFbmRwb2ludFJlc3BvbnNlEiMKBnN0YXR1cxgBIAEoDjILLmRtaS5TdGF0dXNSBnN0YXR1cxI+CgZyZWFzb24YAiABKA4yJi5kbWkuR2V0TG9nZ2luZ0VuZHBvaW50UmVzcG9uc2UuUmVhc29uUgZyZWFzb24SKQoQbG9nZ2luZ19lbmRwb2ludBgDIAEoCVIPbG9nZ2luZ0VuZHBvaW50EikKEGxvZ2dpbmdfcHJvdG9jb2wYBCABKAlSD2xvZ2dpbmdQcm90b2NvbBIjCg1yZWFzb25fZGV0YWlsGAUgASgJUgxyZWFzb25EZXRhaWwiXgoGUmVhc29uEhQKEFVOREVGSU5FRF9SRUFTT04QABISCg5VTktOT1dOX0RFVklDRRABEhIKDklOVEVSTkFMX0VSUk9SEAISFgoSREVWSUNFX1VOUkVBQ0hBQkxFEAMiQwoYU2V0TXNnQnVzRW5kcG9pbnRSZXF1ZXN0EicKD21zZ2J1c19lbmRwb2ludBgBIAEoCVIObXNnYnVzRW5kcG9pbnQimQIKGUdldE1zZ0J1c0VuZHBvaW50UmVzcG9uc2USIwoGc3RhdHVzGAEgASgOMgsuZG1pLlN0YXR1c1IGc3RhdHVzEj0KBnJlYXNvbhgCIAEoDjIlLmRtaS5HZXRNc2dCdXNFbmRwb2ludFJlc3BvbnNlLlJlYXNvblIGcmVhc29uEicKD21zZ2J1c19lbmRwb2ludBgDIAEoCVIObXNnYnVzRW5kcG9pbnQSIwoNcmVhc29uX2RldGFpbBgEIAEoCVIMcmVhc29uRGV0YWlsIkoKBlJlYXNvbhIUChBVTkRFRklORURfUkVBU09OEAASEgoOSU5URVJOQUxfRVJST1IQARIWChJERVZJQ0VfVU5SRUFDSEFCTEUQAiJZChBFbnRpdGllc0xvZ0xldmVsEikKCGxvZ0xldmVsGAEgASgOMg0uZG1pLkxvZ0xldmVsUghsb2dMZXZlbBIaCghlbnRpdGllcxgCIAMoCVIIZW50aXRpZXMidQoSU2V0TG9nTGV2ZWxSZXF1ZXN0EioKC2RldmljZV91dWlkGAEgASgLMgkuZG1pLlV1aWRSCmRldmljZVV1aWQSMwoJbG9nbGV2ZWxzGAIgAygLMhUuZG1pLkVudGl0aWVzTG9nTGV2ZWxSCWxvZ2xldmVscyK8AgoTU2V0TG9nTGV2ZWxSZXNwb25zZRIqCgtkZXZpY2VfdXVpZBgBIAEoCzIJLmRtaS5VdWlkUgpkZXZpY2VVdWlkEiMKBnN0YXR1cxgCIAEoDjILLmRtaS5TdGF0dXNSBnN0YXR1cxI3CgZyZWFzb24YAyABKA4yHy5kbWkuU2V0TG9nTGV2ZWxSZXNwb25zZS5SZWFzb25SBnJlYXNvbhIjCg1yZWFzb25fZGV0YWlsGAQgASgJUgxyZWFzb25EZXRhaWwidgoGUmVhc29uEhQKEFVOREVGSU5FRF9SRUFTT04QABISCg5VTktOT1dOX0RFVklDRRABEhIKDklOVEVSTkFMX0VSUk9SEAISFgoSVU5LTk9XTl9MT0dfRU5USVRZEAMSFgoSREVWSUNFX1VOUkVBQ0hBQkxFEAQiXAoSR2V0TG9nTGV2ZWxSZXF1ZXN0EioKC2RldmljZV91dWlkGAEgASgLMgkuZG1pLlV1aWRSCmRldmljZVV1aWQSGgoIZW50aXRpZXMYAiADKAlSCGVudGl0aWVzIvECChNHZXRMb2dMZXZlbFJlc3BvbnNlEioKC2RldmljZV91dWlkGAEgASgLMgkuZG1pLlV1aWRSCmRldmljZVV1aWQSMwoJbG9nTGV2ZWxzGAIgAygLMhUuZG1pLkVudGl0aWVzTG9nTGV2ZWxSCWxvZ0xldmVscxIjCgZzdGF0dXMYAyABKA4yCy5kbWkuU3RhdHVzUgZzdGF0dXMSNwoGcmVhc29uGAQgASgOMh8uZG1pLkdldExvZ0xldmVsUmVzcG9uc2UuUmVhc29uUgZyZWFzb24SIwoNcmVhc29uX2RldGFpbBgFIAEoCVIMcmVhc29uRGV0YWlsInYKBlJlYXNvbhIUChBVTkRFRklORURfUkVBU09OEAASEgoOVU5LTk9XTl9ERVZJQ0UQARISCg5JTlRFUk5BTF9FUlJPUhACEhYKElVOS05PV05fTE9HX0VOVElUWRADEhYKEkRFVklDRV9VTlJFQUNIQUJMRRAEIkgKGkdldExvZ2dhYmxlRW50aXRpZXNSZXF1ZXN0EioKC2RldmljZV91dWlkGAEgASgLMgkuZG1pLlV1aWRSCmRldmljZVV1aWQyrwgKGU5hdGl2ZUhXTWFuYWdlbWVudFNlcnZpY2USUwoTU3RhcnRNYW5hZ2luZ0RldmljZRIYLmRtaS5Nb2RpZmlhYmxlQ29tcG9uZW50GiAuZG1pLlN0YXJ0TWFuYWdpbmdEZXZpY2VSZXNwb25zZTABElUKElN0b3BNYW5hZ2luZ0RldmljZRIeLmRtaS5TdG9wTWFuYWdpbmdEZXZpY2VSZXF1ZXN0Gh8uZG1pLlN0b3BNYW5hZ2luZ0RldmljZVJlc3BvbnNlEkgKEUdldE1hbmFnZWREZXZpY2VzEhYuZ29vZ2xlLnByb3RvYnVmLkVtcHR5GhsuZG1pLk1hbmFnZWREZXZpY2VzUmVzcG9uc2USVwoUR2V0UGh5c2ljYWxJbnZlbnRvcnkSHS5kbWkuUGh5c2ljYWxJbnZlbnRvcnlSZXF1ZXN0Gh4uZG1pLlBoeXNpY2FsSW52ZW50b3J5UmVzcG9uc2UwARJXChJHZXRIV0NvbXBvbmVudEluZm8SHi5kbWkuSFdDb21wb25lbnRJbmZvR2V0UmVxdWVzdBofLmRtaS5IV0NvbXBvbmVudEluZm9HZXRSZXNwb25zZTABElUKElNldEhXQ29tcG9uZW50SW5mbxIeLmRtaS5IV0NvbXBvbmVudEluZm9TZXRSZXF1ZXN0Gh8uZG1pLkhXQ29tcG9uZW50SW5mb1NldFJlc3BvbnNlElQKElNldExvZ2dpbmdFbmRwb2ludBIeLmRtaS5TZXRMb2dnaW5nRW5kcG9pbnRSZXF1ZXN0Gh4uZG1pLlNldFJlbW90ZUVuZHBvaW50UmVzcG9uc2USRgoSR2V0TG9nZ2luZ0VuZHBvaW50Eg8uZG1pLkhhcmR3YXJlSUQaHy5kbWkuR2V0TG9nZ2luZ0VuZHBvaW50UmVzcG9uc2USUgoRU2V0TXNnQnVzRW5kcG9pbnQSHS5kbWkuU2V0TXNnQnVzRW5kcG9pbnRSZXF1ZXN0Gh4uZG1pLlNldFJlbW90ZUVuZHBvaW50UmVzcG9uc2USSwoRR2V0TXNnQnVzRW5kcG9pbnQSFi5nb29nbGUucHJvdG9idWYuRW1wdHkaHi5kbWkuR2V0TXNnQnVzRW5kcG9pbnRSZXNwb25zZRJQChNHZXRMb2dnYWJsZUVudGl0aWVzEh8uZG1pLkdldExvZ2dhYmxlRW50aXRpZXNSZXF1ZXN0GhguZG1pLkdldExvZ0xldmVsUmVzcG9uc2USQAoLU2V0TG9nTGV2ZWwSFy5kbWkuU2V0TG9nTGV2ZWxSZXF1ZXN0GhguZG1pLlNldExvZ0xldmVsUmVzcG9uc2USQAoLR2V0TG9nTGV2ZWwSFy5kbWkuR2V0TG9nTGV2ZWxSZXF1ZXN0GhguZG1pLkdldExvZ0xldmVsUmVzcG9uc2VCO1o5Z2l0aHViLmNvbS9vcGVuY29yZC9kZXZpY2UtbWFuYWdlbWVudC1pbnRlcmZhY2UvdjMvZ28vZG1pSuFYCgcSBQAAkgIBCggKAQwSAwAAEgoICgEIEgMCAFAKCQoCCAsSAwIAUAoICgECEgMDAAwKCQoCAwASAwUAGwoJCgIDARIDBgAWCgkKAgMCEgMHACUKSgoCBAASBAsADQEyPiBQcm90b3MgZm9yIHRoZSBtYW5hZ2VtZW50IG9mIGEgaGFyZHdhcmUgYW5kIGl0J3MgY29tcG9uZW50cw0KCgoKAwQAARIDCwggCgsKBAQAAgASAwwEGQoNCgUEAAIABBIEDAQLIgoMCgUEAAIABhIDDAQI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ZCB0aGF0IHRoZSBjYWxsZXIgd2FudHMgdG8gc2V0IHRoYXQgbGV2ZWwgZm9yIGFsbCB0aGUgZW50aXRpZXMuDQoKDQoFBgACCwESBI0CCBMKDQoFBgACCwISBI0CFCYKDQoFBgACCwMSBI0CMEMKvgEKBAYAAgwSBJECBEUarwEgR2V0cyB0aGUgY29uZmlndXJlZCBsb2cgbGV2ZWwgZm9yIGEgY2VydGFpbiBlbnRpdHkgb24gYSBjZXJ0YWluIGRldmljZS4NCiBJZiBubyBlbnRpdHkgaXMgc3BlY2lmaWVkIGluIHRoZSByZXF1ZXN0IGFsbCB0aGUgZW50aXRpZXMgd2l0aCB0aGVpciBsb2cgbGV2ZWwgc2hvdWxkIGJlIHJldHVybmVkLg0KCg0KBQYAAgwBEgSRAggTCg0KBQYAAgwCEgSRAhQmCg0KBQYAAgwDEgSRAjBDYgZwcm90bzMKg0UKIWRtaS9od19tZXRyaWNzX21nbXRfc2VydmljZS5wcm90bxIDZG1pGhFkbWkvY29tbW9ucy5wcm90bxoMZG1pL2h3LnByb3RvGhtnb29nbGUvcHJvdG9idWYvZW1wdHkucHJvdG8ihwEKDE1ldHJpY0NvbmZpZxItCgltZXRyaWNfaWQYASABKA4yEC5kbWkuTWV0cmljTmFtZXNSCG1ldHJpY0lkEiMKDWlzX2NvbmZpZ3VyZWQYAiABKAhSDGlzQ29uZmlndXJlZBIjCg1wb2xsX2ludGVydmFsGAMgASgNUgxwb2xsSW50ZXJ2YWwiPAoNTWV0cmljc0NvbmZpZxIrCgdtZXRyaWNzGAEgAygLMhEuZG1pLk1ldHJpY0NvbmZpZ1IHbWV0cmljcyKmAgoTTGlzdE1ldHJpY3NSZXNwb25zZRIjCgZzdGF0dXMYASABKA4yCy5kbWkuU3RhdHVzUgZzdGF0dXMSNwoGcmVhc29uGAIgASgOMh8uZG1pLkxpc3RNZXRyaWNzUmVzcG9uc2UuUmVhc29uUgZyZWFzb24SLAoHbWV0cmljcxgDIAEoCzISLmRtaS5NZXRyaWNzQ29uZmlnUgdtZXRyaWNzEiMKDXJlYXNvbl9kZXRhaWwYBCABKAlSDHJlYXNvbkRldGFpbCJeCgZSZWFzb24SFAoQVU5ERUZJTkVEX1JFQVNPThAAEhIKDlVOS05PV05fREVWSUNFEAESEgoOSU5URVJOQUxfRVJST1IQAhIWChJERVZJQ0VfVU5SRUFDSEFCTEUQAyKyAQobTWV0cmljc0NvbmZpZ3VyYXRpb25SZXF1ZXN0EioKC2RldmljZV91dWlkGAEgASgLMgkuZG1pLlV1aWRSCmRldmljZVV1aWQSLgoHY2hhbmdlcxgCIAEoCzISLmRtaS5NZXRyaWNzQ29uZmlnSABSB2NoYW5nZXMSKgoQcmVzZXRfdG9fZGVmYXVsdBgDIAEoCEgAUg5yZXNldFRvRGVmYXVsdEILCglvcGVyYXRpb24ivgIKHE1ldHJpY3NDb25maWd1cmF0aW9uUmVzcG9uc2USIwoGc3RhdHVzGAEgASgOMgsuZG1pLlN0YXR1c1IGc3RhdHVzEkAKBnJlYXNvbhgCIAEoDjIoLmRtaS5NZXRyaWNzQ29uZmlndXJhdGlvblJlc3BvbnNlLlJlYXNvblIGcmVhc29uEiMKDXJlYXNvbl9kZXRhaWwYAyABKAlSDHJlYXNvbkRldGFpbCKRAQoGUmVhc29uEhQKEFVOREVGSU5FRF9SRUFTT04QABISCg5VTktOT1dOX0RFVklDRRABEhIKDklOVEVSTkFMX0VSUk9SEAISHQoZUE9MTF9JTlRFUlZBTF9VTlNVUFBPUlRFRBADEhIKDklOVkFMSURfTUVUUklDEAQSFgoSREVWSUNFX1VOUkVBQ0hBQkxFEAUilQEKDk1ldHJpY01ldGFEYXRhEioKC2RldmljZV91dWlkGAEgASgLMgkuZG1pLlV1aWRSCmRldmljZVV1aWQSMAoOY29tcG9uZW50X3V1aWQYAiABKAsyCS5kbWkuVXVpZFINY29tcG9uZW50VXVpZBIlCg5jb21wb25lbnRfbmFtZRgDIAEoCVINY29tcG9uZW50TmFtZSKlAQoGTWV0cmljEi0KCW1ldHJpY19pZBgBIAEoDjIQLmRtaS5NZXRyaWNOYW1lc1IIbWV0cmljSWQSPAoPbWV0cmljX21ldGFkYXRhGAIgASgLMhMuZG1pLk1ldHJpY01ldGFEYXRhUg5tZXRyaWNNZXRhZGF0YRIuCgV2YWx1ZRgDIAEoCzIYLmRtaS5Db21wb25lbnRTZW5zb3JEYXRhUgV2YWx1ZSJzChBHZXRNZXRyaWNSZXF1ZXN0EjAKCW1ldGFfZGF0YRgBIAEoCzITLmRtaS5NZXRyaWNNZXRhRGF0YVIIbWV0YURhdGESLQoJbWV0cmljX2lkGAIgASgOMhAuZG1pLk1ldHJpY05hbWVzUghtZXRyaWNJZCLFAgoRR2V0TWV0cmljUmVzcG9uc2USIwoGc3RhdHVzGAEgASgOMgsuZG1pLlN0YXR1c1IGc3RhdHVzEjUKBnJlYXNvbhgCIAEoDjIdLmRtaS5HZXRNZXRyaWNSZXNwb25zZS5SZWFzb25SBnJlYXNvbhIjCgZtZXRyaWMYAyABKAsyCy5kbWkuTWV0cmljUgZtZXRyaWMSIwoNcmVhc29uX2RldGFpbBgEIAEoCVIMcmVhc29uRGV0YWlsIokBCgZSZWFzb24SFAoQVU5ERUZJTkVEX1JFQVNPThAAEhIKDlVOS05PV05fREVWSUNFEAESFQoRVU5LTk9XTl9DT01QT05FTlQQAhISCg5JTlRFUk5BTF9FUlJPUhADEhIKDklOVkFMSURfTUVUUklDEAQSFgoSREVWSUNFX1VOUkVBQ0hBQkxFEAUq2QUKC01ldHJpY05hbWVzEhkKFU1FVFJJQ19OQU1FX1VOREVGSU5FRBAAEhQKEE1FVFJJQ19GQU5fU1BFRUQQARITCg9NRVRSSUNfQ1BVX1RFTVAQZBIfChtNRVRSSUNfQ1BVX1VTQUdFX1BFUkNFTlRBR0UQZRIcChdNRVRSSUNfVFJBTlNDRUlWRVJfVEVNUBDIARIfChpNRVRSSUNfVFJBTlNDRUlWRVJfVk9MVEFHRRDJARIcChdNRVRSSUNfVFJBTlNDRUlWRVJfQklBUxDKARIgChtNRVRSSUNfVFJBTlNDRUlWRVJfUlhfUE9XRVIQywESIAobTUVUUklDX1RSQU5TQ0VJVkVSX1RYX1BPV0VSEMwBEiIKHU1FVFJJQ19UUkFOU0NFSVZFUl9XQVZFTEVOR1RIEM0BEhUKEE1FVFJJQ19ESVNLX1RFTVAQrAISGQoUTUVUUklDX0RJU0tfQ0FQQUNJVFkQrQISFgoRTUVUUklDX0RJU0tfVVNBR0UQrgISIQocTUVUUklDX0RJU0tfVVNBR0VfUEVSQ0VOVEFHRRCvAhImCiFNRVRSSUNfRElTS19SRUFEX1dSSVRFX1BFUkNFTlRBR0UQsAISKAojTUVUUklDX0RJU0tfRkFVTFRZX0NFTExTX1BFUkNFTlRBR0UQsQISFAoPTUVUUklDX1JBTV9URU1QEJADEhgKE01FVFJJQ19SQU1fQ0FQQUNJVFkQkQMSFQoQTUVUUklDX1JBTV9VU0FHRRCSAxIgChtNRVRSSUNfUkFNX1VTQUdFX1BFUkNFTlRBR0UQkwMSFQoQTUVUUklDX1BPV0VSX01BWBD0AxIXChJNRVRSSUNfUE9XRVJfVVNBR0UQ9QMSIgodTUVUUklDX1BPV0VSX1VTQUdFX1BFUkNFTlRBR0UQ9gMSIgodTUVUUklDX0lOTkVSX1NVUlJPVU5ESU5HX1RFTVAQ2AQysQIKHk5hdGl2ZU1ldHJpY3NNYW5hZ2VtZW50U2VydmljZRI4CgtMaXN0TWV0cmljcxIPLmRtaS5IYXJkd2FyZUlEGhguZG1pLkxpc3RNZXRyaWNzUmVzcG9uc2USYQoaVXBkYXRlTWV0cmljc0NvbmZpZ3VyYXRpb24SIC5kbWkuTWV0cmljc0NvbmZpZ3VyYXRpb25SZXF1ZXN0GiEuZG1pLk1ldHJpY3NDb25maWd1cmF0aW9uUmVzcG9uc2USOgoJR2V0TWV0cmljEhUuZG1pLkdldE1ldHJpY1JlcXVlc3QaFi5kbWkuR2V0TWV0cmljUmVzcG9uc2USNgoNU3RyZWFtTWV0cmljcxIWLmdvb2dsZS5wcm90b2J1Zi5FbXB0eRoLLmRtaS5NZXRyaWMwAUI7WjlnaXRodWIuY29tL29wZW5jb3JkL2RldmljZS1tYW5hZ2VtZW50LWludGVyZmFjZS92My9nby9kbWlK4S0KBxIFAACfAQEKCAoBDBIDAAASCggKAQgSAwIAUAoJCgIICxIDAgBQCggKAQISAwMADAoJCgIDABIDBQAbCgkKAgMBEgMGABYKCQoCAwISAwcAJQrYAQoCBQASBA4ANQEyjgEgVGhlIG1vZGVsIHVzZWQgdG8gcmVwcmVzZW50IHRoZSBldmVudCBkYXRhIG9uIHRoZSBTZW5zb3JEYXRhIG9mIGEgY29tcG9uZW50IGFzIGRlc2NyaWJlZA0KIGluIFJGQzgzNDggKGh0dHBzOi8vdG9vbHMuaWV0Zi5vcmcvaHRtbC9yZmM4MzQ4KQ0KMjsgTWFuYWdlbWVudCBvZiBNZXRyaWNzIGFuZCBwcm90b3MgZm9yIGVuY29kaW5nIG9mIE1ldHJpY3MNCgoKCgMFAAESAw4FEAoLCgQFAAIAEgMPBB4KDAoFBQACAAESAw8EGQoMCgUFAAIAAhIDDxwdCiMKBAUAAgESAxIEGRoWIEZBTiByZWxhdGVkIG1ldHJpY3MNCgoMCgUFAAIBARIDEgQUCgwKBQUAAgECEgMSFxgKIwoEBQACAhIDFQQaGhYgQ1BVIHJlbGF0ZWQgbWV0cmljcw0KCgwKBQUAAgIBEgMVBBMKDAoFBQACAgISAxUWGQoLCgQFAAIDEgMWBCYKDAoFBQACAwESAxYEHwoMCgUFAAIDAhIDFiIlCisKBAUAAgQSAxkEIhoeIFRyYW5zY2VpdmVyIHJlbGF0ZWQgbWV0cmljcw0KCgwKBQUAAgQBEgMZBBsKDAoFBQACBAISAxkeIQoLCgQFAAIFEgMaBCUKDAoFBQACBQESAxoEHgoMCgUFAAIFAhIDGiEkCgsKBAUAAgYSAxsEIgoMCgUFAAIGARIDGwQbCgwKBQUAAgYCEgMbHiEKCwoEBQACBxIDHAQmCgwKBQUAAgcBEgMcBB8KDAoFBQACBwISAxwiJQoLCgQFAAIIEgMdBCYKDAoFBQACCAESAx0EHwoMCgUFAAIIAhIDHSIlCgsKBAUAAgkSAx4EKAoMCgUFAAIJARIDHgQhCgwKBQUAAgkCEgMeJCcKJAoEBQACChIDIQQbGhcgRGlzayByZWxhdGVkIG1ldHJpY3MNCgoMCgUFAAIKARIDIQQUCgwKBQUAAgoCEgMhFxoKCwoEBQACCxIDIgQfCgwKBQUAAgsBEgMiBBgKDAoFBQACCwISAyIbHgoLCgQFAAIMEgMjBBwKDAoFBQACDAESAyMEFQoMCgUFAAIMAhIDIxgbCgsKBAUAAg0SAyQEJwoMCgUFAAINARIDJAQgCgwKBQUAAg0CEgMkIyYKCwoEBQACDhIDJQQsCgwKBQUAAg4BEgMlBCUKDAoFBQACDgISAyUoKwoLCgQFAAIPEgMmBC4KDAoFBQACDwESAyYEJwoMCgUFAAIPAhIDJiotCiMKBAUAAhASAykEGhoWIFJBTSByZWxhdGVkIG1ldHJpY3MNCgoMCgUFAAIQARIDKQQTCgwKBQUAAhACEgMpFhkKCwoEBQACERIDKgQeCgwKBQUAAhEBEgMqBBcKDAoFBQACEQISAyoaHQoLCgQFAAISEgMrBBsKDAoFBQACEgESAysEFAoMCgUFAAISAhIDKxcaCgsKBAUAAhMSAywEJgoMCgUFAAITARIDLAQfCgwKBQUAAhMCEgMsIiUKJQoEBQACFBIDLwQbGhggUG93ZXIgcmVsYXRlZCBtZXRyaWNzDQoKDAoFBQACFAESAy8EFAoMCgUFAAIUAhIDLxcaCgsKBAUAAhUSAzAEHQoMCgUFAAIVARIDMAQWCgwKBQUAAhUCEgMwGRwKCwoEBQACFhIDMQQoCgwKBQUAAhYBEgMxBCEKDAoFBQACFgISAzEkJwonCgQFAAIXEgM0BCgaGiBDaGFzc2lzIHJlbGF0ZWQgbWV0cmljcw0KCgwKBQUAAhcBEgM0BCEKDAoFBQACFwISAzQkJwoKCgIEABIENwA/AQoKCgMEAAESAzcIFAoLCgQEAAIAEgM4BB4KDQoFBAACAAQSBDgENxYKDAoFBAACAAYSAzgEDwoMCgUEAAIAARIDOBAZCgwKBQQAAgADEgM4HB0KWQoEBAACARIDOgQbGkwgV2hldGhlciB0aGUgZGV2aWNlIG1hbmFnZXIgaXMgY29sbGVjdGluZyBhbmQgcmVwb3J0aW5nIHRoaXMgbWV0cmljIG9yIG5vdA0KCg0KBQQAAgEEEgQ6BDgeCgwKBQQAAgEFEgM6BAgKDAoFBAACAQESAzoJFgoMCgUEAAIBAxIDOhkaCucBCgQEAAICEgM+BB0a2QEgTnVtYmVyIG9mIHNlY29uZHMgYmV0d2VlbiB0d28gY29uc2VjdXRpdmUgcG9sbHMgb2YgdGhlIHBhcnRpY3VsYXIgbWV0cmljDQogRWFjaCBkZXZpY2UgbWFuYWdlciBpbXBsZW1lbmF0aW9uIGNvdWxkIGhhdmUgaXQncyBwZXIgbWV0cmljIGRlZmF1bHQgcG9sbCBmcmVxdWVuY3kgd2hpY2gNCiBjYW4gYmUgcmVxdWVzdGVkIHRvIGJlIGNoYW5nZWQgdXNpbmcgdGhpcyB2YWx1ZQ0KCg0KBQQAAgIEEgQ+BDobCgwKBQQAAgIFEgM+BAoKDAoFBAACAgESAz4LGAoMCgUEAAICAxIDPhscCgoKAgQBEgRBAEMBCgoKAwQBARIDQQgVCgsKBAQBAgASA0IEJgoMCgUEAQIABBIDQgQMCgwKBQQBAgAGEgNCDRkKDAoFBAECAAESA0IaIQoMCgUEAQIAAxIDQiQlCgoKAgQCEgRFAFABCgoKAwQCARIDRQgbCgwKBAQCBAASBEYESwUKDAoFBAIEAAESA0YJDwoNCgYEAgQAAgASA0cIHQoOCgcEAgQAAgABEgNHCBgKDgoHBAIEAAIAAhIDRxscCg0KBgQCBAACARIDSAgbCg4KBwQCBAACAQESA0gIFgoOCgcEAgQAAgECEgNIGRoKDQoGBAIEAAICEgNJCBsKDgoHBAIEAAICARIDSQgWCg4KBwQCBAACAgISA0kZGgoNCgYEAgQAAgMSA0oIHwoOCgcEAgQAAgMBEgNKCBoKDgoHBAIEAAIDAhIDSh0eCgsKBAQCAgASA0wEFgoNCgUEAgIABBIETARLBQoMCgUEAgIABhIDTAQKCgwKBQQCAgABEgNMCxEKDAoFBAICAAMSA0wUFQoLCgQEAgIBEgNNBBYKDQoFBAICAQQSBE0ETBYKDAoFBAICAQYSA00ECgoMCgUEAgIBARIDTQsRCgwKBQQCAgEDEgNNFBUKCwoEBAICAhIDTgQeCg0KBQQCAgIEEgROBE0WCgwKBQQCAgIGEgNOBBEKDAoFBAICAgESA04SGQoMCgUEAgICAxIDThwdCgsKBAQCAgMSA08EHQoNCgUEAgIDBBIETwROHgoMCgUEAgIDBRIDTwQKCgwKBQQCAgMBEgNPCxgKDAoFBAICAwMSA08bHAoKCgIEAxIEUgBYAQoKCgMEAwESA1IIIwoLCgQEAwIAEgNTBBkKDQoFBAMCAAQSBFMEUiUKDAoFBAMCAAYSA1MECAoMCgUEAwIAARIDUwkUCgwKBQQDAgADEgNTFxgKDAoEBAMIABIEVARXBQoMCgUEAwgAARIDVAoTCgsKBAQDAgESA1UIIgoMCgUEAwIBBhIDVQgVCgwKBQQDAgEBEgNVFh0KDAoFBAMCAQMSA1UgIQoLCgQEAwICEgNWCCIKDAoFBAMCAgUSA1YIDAoMCgUEAwICARIDVg0dCgwKBQQDAgIDEgNWICEKCgoCBAQSBFoAZgEKCgoDBAQBEgNaCCQKDAoEBAQEABIEWwRiBQoMCgUEBAQAARIDWwkPCg0KBgQEBAACABIDXAgdCg4KBwQEBAACAAESA1wIGAoOCgcEBAQAAgACEgNcGxwKDQoGBAQEAAIBEgNdCBsKDgoHBAQEAAIBARIDXQgWCg4KBwQEBAACAQISA10ZGgoNCgYEBAQAAgISA14IGwoOCgcEBAQAAgIBEgNeCBYKDgoHBAQEAAICAhIDXhkaCg0KBgQEBAACAxIDXwgmCg4KBwQEBAACAwESA18IIQoOCgcEBAQAAgMCEgNfJCUKDQoGBAQEAAIEEgNgCBsKDgoHBAQEAAIEARIDYAgWCg4KBwQEBAACBAISA2AZGgoNCgYEBAQAAgUSA2EIHwoOCgcEBAQAAgUBEgNhCBoKDgoHBAQEAAIFAhIDYR0eCgsKBAQEAgASA2MEFgoNCgUEBAIABBIEYwRiBQoMCgUEBAIABhIDYwQKCgwKBQQEAgABEgNjCxEKDAoFBAQCAAMSA2MUFQoLCgQEBAIBEgNkBBYKDQoFBAQCAQQSBGQEYxYKDAoFBAQCAQYSA2QECgoMCgUEBAIBARIDZAsRCgwKBQQEAgEDEgNkFBUKCwoEBAQCAhIDZQQdCg0KBQQEAgIEEgRlBGQWCgwKBQQEAgIFEgNlBAoKDAoFBAQCAgESA2ULGAoMCgUEBAICAxIDZRscCgoKAgQFEgRoAG0BCgoKAwQFARIDaAgWCgsKBAQFAgASA2kEGQoNCgUEBQIABBIEaQRoGAoMCgUEBQIABhIDaQQICgwKBQQFAgABEgNpCRQKDAoFBAUCAAMSA2kXGAolCgQEBQIBEgNrBBwaGCB1dWlkIG9mIHRoZSBjb21wb25lbnQNCgoNCgUEBQIBBBIEawRpGQoMCgUEBQIBBhIDawQICgwKBQQFAgEBEgNrCRcKDAoFBAUCAQMSA2saGwoLCgQEBQICEgNsBB4KDQoFBAUCAgQSBGwEaxwKDAoFBAUCAgUSA2wECgoMCgUEBQICARIDbAsZCgwKBQQFAgIDEgNsHB0K9wEKAgQGEgRyAHYBGuoBIFRoZSBNZXRyaWNzIGFyZSBjb252ZXllZCB0byBleHRlcm5hbCBzeXN0ZW1zIGVpdGhlciBieSBzdWJtaXR0aW5nIHRoZW0gb24gYSBtZXNzYWdlIGJ1cyBvciB1c2luZyBnUlBDIHNlcnZlciBzdHJlYW1pbmcuDQogVGhlIHRvcGljIHRvIHdoaWNoIGFyZSBNZXRyaWNzIGFyZSBzdWJtaXR0ZWQgd291bGQgYmUgY29uZmlndXJlZCBhcyBzdGFydHVwDQogY29uZmlndXJhdGlvbiBvZiB0aGUgY29tcG9uZW50cw0KCgoKAwQGARIDcggOCgsKBAQGAgASA3MEHgoNCgUEBgIABBIEcwRyEAoMCgUEBgIABhIDcwQPCgwKBQQGAgABEgNzEBkKDAoFBAYCAAMSA3McHQoLCgQEBgIBEgN0BCcKDQoFBAYCAQQSBHQEcx4KDAoFBAYCAQYSA3QEEgoMCgUEBgIBARIDdBMiCgwKBQQGAgEDEgN0JSYKCwoEBAYCAhIDdQQiCg0KBQQGAgIEEgR1BHQnCgwKBQQGAgIGEgN1BBcKDAoFBAYCAgESA3UYHQoMCgUEBgICAxIDdSAhCgoKAgQHEgR4AHsBCgoKAwQHARIDeAgYCgsKBAQHAgASA3kEIQoNCgUEBwIABBIEeQR4GgoMCgUEBwIABhIDeQQSCgwKBQQHAgABEgN5ExwKDAoFBAcCAAMSA3kfIAoLCgQEBwIBEgN6BB4KDQoFBAcCAQQSBHoEeSEKDAoFBAcCAQYSA3oEDwoMCgUEBwIBARIDehAZCgwKBQQHAgEDEgN6HB0KCwoCBAgSBX0AigEBCgoKAwQIARIDfQgZCg0KBAQIBAASBX4EhQEFCgwKBQQIBAABEgN+CQ8KDQoGBAgEAAIAEgN/CB0KDgoHBAgEAAIAARIDfwgYCg4KBwQIBAACAAISA38bHAoOCgYECAQAAgESBIABCBsKDwoHBAgEAAIBARIEgAEIFgoPCgcECAQAAgECEgSAARkaCg4KBgQIBAACAhIEgQEIHgoPCgcECAQAAgIBEgSBAQgZCg8KBwQIBAACAgISBIEBHB0KDgoGBAgEAAIDEgSCAQgbCg8KBwQIBAACAwESBIIBCBYKDwoHBAgEAAIDAhIEggEZGgoOCgYECAQAAgQSBIMBCBsKDwoHBAgEAAIEARIEgwEIFgoPCgcECAQAAgQCEgSDARkaCg4KBgQIBAACBRIEhAEIHwoPCgcECAQAAgUBEgSEAQgaCg8KBwQIBAACBQISBIQBHR4KDAoEBAgCABIEhgEEFgoPCgUECAIABBIGhgEEhQEFCg0KBQQIAgAGEgSGAQQKCg0KBQQIAgABEgSGAQsRCg0KBQQIAgADEgSGARQVCgwKBAQIAgESBIcBBBYKDwoFBAgCAQQSBocBBIYBFgoNCgUECAIBBhIEhwEECgoNCgUECAIBARIEhwELEQoNCgUECAIBAxIEhwEUFQoMCgQECAICEgSIAQQWCg8KBQQIAgIEEgaIAQSHARYKDQoFBAgCAgYSBIgBBAoKDQoFBAgCAgESBIgBCxEKDQoFBAgCAgMSBIgBFBUKDAoEBAgCAxIEiQEEHQoPCgUECAIDBBIGiQEEiAEWCg0KBQQIAgMFEgSJAQQKCg0KBQQIAgMBEgSJAQsYCg0KBQQIAgMDEgSJARscCgwKAgYAEgaMAQCfAQEKCwoDBgABEgSMAQgmCoQCCgQGAAIAEgSRAQQ9GvUBIExpc3QgdGhlIHN1cHBvcnRlZCBtZXRyaWNzIGZvciB0aGUgcGFzc2VkIGRldmljZS4NCiBUaGlzIHdvdWxkIGJlIHRoZSBmaXJzdCBjYWxsIHRoYXQgeW91IG1ha2UgdG8ga25vdyBhYm91dCB0aGUgbWV0cmljcyB0aGF0IGEgcGFydGljdWxhciBkZXZpY2Ugc3VwcG9ydHMgYW5kDQogdGhlbiB1c2UgdGhlIFVwZGF0ZU1ldHJpY3NDb25maWd1cmF0aW9uIEFQSSB0byBtb25pdG9yIG9ubHkgdGhlIHJlcXVpcmVkIG1ldHJpY3MuDQoKDQoFBgACAAESBJEBCBMKDQoFBgACAAISBJEBFB4KDQoFBgACAAMSBJEBKDsKpwIKBAYAAgESBJgBBGYamAIgVXBkYXRlcyB0aGUgY29uZmlndXJhdGlvbiBvZiB0aGUgbGlzdCBvZiBtZXRyaWNzIGluIHRoZSByZXF1ZXN0DQogQWN0cyB1cG9uIHNpbmdsZSBtZXRyaWMgY29uZmlndXJhdGlvbiwgY29sbGVjdGlvbiBvZiBhIHNpbmdsZSBtZXRyaWMgY2FuIGJlIHN0YXJ0ZWQvc3RvcHBlZA0KIGJ5IGNoYW5naW5nIGl0cyBjb25maWd1cmF0aW9uLg0KDQogVGhpcyBjb25maWd1cmF0aW9uIGlzIHBlcnNpc3RlZCBhY3Jvc3MgcmVzdGFydCBvZiB0aGUgZGV2aWNlIG9yIHRoZSBkZXZpY2UgbWFuYWdlcg0KCg0KBQYAAgEBEgSYAQgiCg0KBQYAAgECEgSYASM+Cg0KBQYAAgEDEgSYAUhkCjcKBAYAAgISBJsBBD8aKSBHZXQgdGhlIGluc3RhbnRlbm91cyB2YWx1ZSBvZiBhIG1ldHJpYw0KCg0KBQYAAgIBEgSbAQgRCg0KBQYAAgICEgSbARIiCg0KBQYAAgIDEgSbASw9Cj0KBAYAAgMSBJ4BBEQaLyBJbml0aWF0ZSB0aGUgc2VydmVyIHN0cmVhbWluZyBvZiB0aGUgbWV0cmljcw0KCg0KBQYAAgMBEgSeAQgVCg0KBQYAAgMCEgSeARYrCg0KBQYAAgMGEgSeATU7Cg0KBQYAAgMDEgSeATxCYgZwcm90bzMKhx0KEmRtaS9zd19pbWFnZS5wcm90bxIDZG1pGhFkbWkvY29tbW9ucy5wcm90byJHCgxJbWFnZVZlcnNpb24SHQoKaW1hZ2VfbmFtZRgBIAEoCVIJaW1hZ2VOYW1lEhgKB3ZlcnNpb24YAiABKAlSB3ZlcnNpb24iqAEKEEltYWdlSW5mb3JtYXRpb24SJwoFaW1hZ2UYASABKAsyES5kbWkuSW1hZ2VWZXJzaW9uUgVpbWFnZRIwChRpbWFnZV9pbnN0YWxsX3NjcmlwdBgCIAEoCVISaW1hZ2VJbnN0YWxsU2NyaXB0EhsKCWltYWdlX3VybBgDIAEoCVIIaW1hZ2VVcmwSHAoJc2hhMjU2c3VtGAUgASgJUglzaGEyNTZzdW0ilAUKC0ltYWdlU3RhdHVzEiMKBnN0YXR1cxgBIAEoDjILLmRtaS5TdGF0dXNSBnN0YXR1cxIvCgZyZWFzb24YAiABKA4yFy5kbWkuSW1hZ2VTdGF0dXMuUmVhc29uUgZyZWFzb24SMQoFc3RhdGUYAyABKA4yGy5kbWkuSW1hZ2VTdGF0dXMuSW1hZ2VTdGF0ZVIFc3RhdGUSIAoLZGVzY3JpcHRpb24YBCABKAlSC2Rlc2NyaXB0aW9uEiMKDXJlYXNvbl9kZXRhaWwYBSABKAlSDHJlYXNvbkRldGFpbCLQAQoKSW1hZ2VTdGF0ZRITCg9VTkRFRklORURfU1RBVEUQABIRCg1DT1BZSU5HX0lNQUdFEAESFAoQSU5TVEFMTElOR19JTUFHRRACEhQKEENPTU1JVFRJTkdfSU1BR0UQAxIUChBSRUJPT1RJTkdfREVWSUNFEAQSFAoQVVBHUkFERV9DT01QTEVURRAFEhIKDlVQR1JBREVfRkFJTEVEEAYSFwoTQUNUSVZBVElPTl9DT01QTEVURRAHEhUK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AzgEGQoNCgUEAgICBBIEOAQ3FgoMCgUEAgICBhIDOAQOCgwKBQQCAgIBEgM4DxQKDAoFBAICAgMSAzgXGAp2CgQEAgIDEgM6BBsaaSBkZXNjcmlwdGlvbiBjb250YWlucyBtb3JlIGluZm9ybWF0aW9uIGFib3V0IHRoZSBjdXJyZW50IHN0YXRlIG9mIHRoZSBwcm9jZWR1cmUgYW5kIGlzIGRldmljZSBkZXBlbmRhbnQNCgoNCgUEAgIDBBIEOgQ4GQoMCgUEAgIDBRIDOgQKCgwKBQQCAgMBEgM6CxYKDAoFBAICAwMSAzoZGgoLCgQEAgIEEgM7BB0KDQoFBAICBAQSBDsEOhsKDAoFBAICBAUSAzsECgoMCgUEAgIEARIDOwsYCgwKBQQCAgQDEgM7GxxiBnByb3RvMwqsNAofZG1pL3N3X21hbmFnZW1lbnRfc2VydmljZS5wcm90bxIDZG1pGhFkbWkvY29tbW9ucy5wcm90bxoMZG1pL2h3LnByb3RvGhJkbWkvc3dfaW1hZ2UucHJvdG8ilgEKGlNvZnR3YXJlVmVyc2lvbkluZm9ybWF0aW9uEjoKD2FjdGl2ZV92ZXJzaW9ucxgBIAMoCzIRLmRtaS5JbWFnZVZlcnNpb25SDmFjdGl2ZVZlcnNpb25zEjwKEHN0YW5kYnlfdmVyc2lvbnMYAiADKAsyES5kbWkuSW1hZ2VWZXJzaW9uUg9zdGFuZGJ5VmVyc2lvbnMi0QIKJUdldFNvZnR3YXJlVmVyc2lvbkluZm9ybWF0aW9uUmVzcG9uc2USIwoGc3RhdHVzGAEgASgOMgsuZG1pLlN0YXR1c1IGc3RhdHVzEkkKBnJlYXNvbhgCIAEoDjIxLmRtaS5HZXRTb2Z0d2FyZVZlcnNpb25JbmZvcm1hdGlvblJlc3BvbnNlLlJlYXNvblIGcmVhc29uEjMKBGluZm8YAyABKAsyHy5kbWkuU29mdHdhcmVWZXJzaW9uSW5mb3JtYXRpb25SBGluZm8SIwoNcmVhc29uX2RldGFpbBgEIAEoCVIMcmVhc29uRGV0YWlsIl4KBlJlYXNvbhIUChBVTkRFRklORURfUkVBU09OEAASEgoOVU5LTk9XTl9ERVZJQ0UQARISCg5JTlRFUk5BTF9FUlJPUhACEhYKEkRFVklDRV9VTlJFQUNIQUJMRRADIngKFERvd25sb2FkSW1hZ2VSZXF1ZXN0EioKC2RldmljZV91dWlkGAEgASgLMgkuZG1pLlV1aWRSCmRldmljZVV1aWQSNAoKaW1hZ2VfaW5mbxgCIAEoCzIVLmRtaS5JbWFnZUluZm9ybWF0aW9uUglpbWFnZUluZm8iWgoNQ29uZmlnUmVxdWVzdBIqCgtkZXZpY2VfdXVpZBgBIAEoCzIJLmRtaS5VdWlkUgpkZXZpY2VVdWlkEh0KCmNvbmZpZ191cmwYAiABKAlSCWNvbmZpZ1VybCLBAgoOQ29uZmlnUmVzcG9uc2USIwoGc3RhdHVzGAEgASgOMgsuZG1pLlN0YXR1c1IGc3RhdHVzEjIKBnJlYXNvbhgCIAEoDjIaLmRtaS5Db25maWdSZXNwb25zZS5SZWFzb25SBnJlYXNvbhIjCg1yZWFzb25fZGV0YWlsGAMgASgJUgxyZWFzb25EZXRhaWwisAEKBlJlYXNvbhIUChBVTkRFRklORURfUkVBU09OEAASEgoOVU5LTk9XTl9ERVZJQ0UQARISCg5JTlRFUk5BTF9FUlJPUhACEhkKFUVSUk9SX0ZFVENISU5HX0NPTkZJRxADEhIKDklOVkFMSURfQ09ORklHEAQSIQodT1BFUkFUSU9OX0FMUkVBRFlfSU5fUFJPR1JFU1MQBRIWChJERVZJQ0VfVU5SRUFDSEFCTEUQBiJGChhTdGFydHVwQ29uZmlnSW5mb1JlcXVlc3QSKgoLZGV2aWNlX3V1aWQYASABKAsyCS5kbWkuVXVpZFIKZGV2aWNlVXVpZCK9AgoZU3RhcnR1cENvbmZpZ0luZm9SZXNwb25zZRIjCgZzdGF0dXMYASABKA4yCy5kbWkuU3RhdHVzUgZzdGF0dXMSPQoGcmVhc29uGAIgASgOMiUuZG1pLlN0YXJ0dXBDb25maWdJbmZvUmVzcG9uc2UuUmVhc29uUgZyZWFzb24SHQoKY29uZmlnX3VybBgDIAEoCVIJY29uZmlnVXJsEhgKB3ZlcnNpb24YBCABKAlSB3ZlcnNpb24SIwoNcmVhc29uX2RldGFpbBgFIAEoCVIMcmVhc29uRGV0YWlsIl4KBlJlYXNvbhIUChBVTkRFRklORURfUkVBU09OEAASEgoOVU5LTk9XTl9ERVZJQ0UQARISCg5JTlRFUk5BTF9FUlJPUhACEhYKEkRFVklDRV9VTlJFQUNIQUJMRRADMs4DCh9OYXRpdmVTb2Z0d2FyZU1hbmFnZW1lbnRTZXJ2aWNlElEKEkdldFNvZnR3YXJlVmVyc2lvbhIPLmRtaS5IYXJkd2FyZUlEGiouZG1pLkdldFNvZnR3YXJlVmVyc2lvbkluZm9ybWF0aW9uUmVzcG9uc2USPgoNRG93bmxvYWRJbWFnZRIZLmRtaS5Eb3dubG9hZEltYWdlUmVxdWVzdBoQLmRtaS5JbWFnZVN0YXR1czABEjQKDUFjdGl2YXRlSW1hZ2USDy5kbWkuSGFyZHdhcmVJRBoQLmRtaS5JbWFnZVN0YXR1czABEjsKFFJldmVydFRvU3RhbmRieUltYWdlEg8uZG1pLkhhcmR3YXJlSUQaEC5kbWkuSW1hZ2VTdGF0dXMwARJHChpVcGRhdGVTdGFydHVwQ29uZmlndXJhdGlvbhISLmRtaS5Db25maWdSZXF1ZXN0GhMuZG1pLkNvbmZpZ1Jlc3BvbnNlMAESXAobR2V0U3RhcnR1cENvbmZpZ3VyYXRpb25JbmZvEh0uZG1pLlN0YXJ0dXBDb25maWdJbmZvUmVxdWVzdBoeLmRtaS5TdGFydHVwQ29uZmlnSW5mb1Jlc3BvbnNlQjtaOWdpdGh1Yi5jb20vb3BlbmNvcmQvZGV2aWNlLW1hbmFnZW1lbnQtaW50ZXJmYWNlL3YzL2dvL2RtaUqpJAoGEgQAAGwBCggKAQwSAwAAEgoICgEIEgMCAFAKCQoCCAsSAwIAUAoICgECEgMDAAwKCQoCAwASAwUAGwoJCgIDARIDBgAWCgkKAgMCEgMHABwK7gEKAgQAEgQPABIBMqcBIFRoZSBzb2Z0d2FyZSBtYW5hZ2VtZW50IGNvbmNlcHQgZGVzY3JpYmVkIGhlcmUgaXMgYWxpZ25lZCB3aXRoIFdULTM4M2EzIChSZXZpc2lvbjogMDYgQXByaWwgMjAyMCkuDQogSW4gcGFydGljdWxhciBTZWN0aW9uIDExIFNvZnR3YXJlIG1hbmFnZW1lbnQNCiBUT0RPIGNoZWNrIG1vZGVsDQoyOCBQcm90b3MgZm9yIG1hbmFnaW5nIHRoZSBzb2Z0d2FyZSBvbiBhIGhhcmR3YXJlIGRldmljZQ0KCgoKAwQAARIDDwgiCgsK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