CuEFChFkbWkvY29tbW9ucy5wcm90bxIDZG1pKj8KBlN0YXR1cxIUChBVTkRFRklORURfU1RBVFVTEAASDQoJT0tfU1RBVFVTEAESEAoMRVJST1JfU1RBVFVTEAIqPwoITG9nTGV2ZWwSCQoFVFJBQ0UQABIJCgVERUJVRxABEggKBElORk8QAhIICgRXQVJOEAMSCQoFRVJST1IQBEI7WjlnaXRodWIuY29tL29wZW5jb3JkL2RldmljZS1tYW5hZ2VtZW50LWludGVyZmFjZS92My9nby9kbWlK/wMKBhIEAAAUAQoICgEMEgMAABIKCAoBCBIDAgBQCgkKAggLEgMCAFAKCAoBAhIDAwAMClQKAgUAEgQHAAsBMkggQ29tbW9uIHN0cnVjdHVyZXMgdXNlZCBhY3Jvc3MgdGhlIGRpZmZlcmVudCBEZXZpY2UgTWFuYWdlbWVudCBzZXJ2aWNlcwoKCgoDBQABEgMHBQsKCwoEBQACABIDCAQZCgwKBQUAAgABEgMIBBQKDAoFBQACAAISAwgXGAoLCgQFAAIBEgMJBBIKDAoFBQACAQESAwkEDQoMCgUFAAIBAhIDCRARCgsKBAUAAgISAwoEFQoMCgUFAAICARIDCgQQCgwKBQUAAgICEgMKExQKFgoCBQESBA4AFAEaCkxvZyBMZXZlbAoKCgoDBQEBEgMOBQ0KCwoEBQECABIDDwQOCgwKBQUBAgABEgMPBAkKDAoFBQECAAISAw8MDQoLCgQFAQIBEgMQBA4KDAoFBQECAQESAxAECQoMCgUFAQIBAhIDEAwNCgsKBAUBAgISAxEEDgoMCgUFAQICARIDEQQICgwKBQUBAgICEgMRDA0KCwoEBQECAxIDEgQOCgwKBQUBAgMBEgMSBAgKDAoFBQECAwISAxIMDQoLCgQFAQIEEgMTBA4KDAoFBQECBAESAxMECQoMCgUFAQIEAhIDEwwNYgZwcm90bzMK8i8KH2dvb2dsZS9wcm90b2J1Zi90aW1lc3RhbXAucHJvdG8SD2dvb2dsZS5wcm90b2J1ZiI7CglUaW1lc3RhbXASGAoHc2Vjb25kcxgBIAEoA1IHc2Vjb25kcxIUCgVuYW5vcxgCIAEoBVIFbmFub3NCfgoTY29tLmdvb2dsZS5wcm90b2J1ZkIOVGltZXN0YW1wUHJvdG9QAVorZ2l0aHViLmNvbS9nb2xhbmcvcHJvdG9idWYvcHR5cGVzL3RpbWVzdGFtcPgBAaICA0dQQqoCHkdvb2dsZS5Qcm90b2J1Zi5XZWxsS25vd25UeXBlc0r4LQoHEgUeAIgBAQrMDAoBDBIDHgASMsEMIFByb3RvY29sIEJ1ZmZlcnMgLSBHb29nbGUncyBkYXRhIGludGVyY2hhbmdlIGZvcm1hdAogQ29weXJpZ2h0IDIwMDggR29vZ2xlIEluYy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiBodHRwczovL2RldmVsb3BlcnMuZ29vZ2xlLmNvbS9wcm90b2NvbC1idWZmZXJzLwoKIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZQogbWV0OgoKICAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CiBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCiAgICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlCiBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyCiBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlCiBkaXN0cmlidXRpb24uCiAgICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9mIEdvb2dsZSBJbmMuIG5vciB0aGUgbmFtZXMgb2YgaXRzCiBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8gZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbQogdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4KCiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTCiAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVAogTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SCiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVAogT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsCiBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UCiBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwKIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWQogVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgoKCAoBAhIDIAAYCggKAQgSAyIAOwoJCgIIJRIDIgA7CggKAQgSAyMAHwoJCgIIHxIDIwAfCggKAQgSAyQAQgoJCgIICxIDJABCCggKAQgSAyUALAoJCgIIARIDJQAsCggKAQgSAyYALwoJCgIICBIDJgAvCggKAQgSAycAIgoJCgIIChIDJwAiCggKAQgSAygAIQoJCgIIJBIDKAAhCvEbCgIEABIFfACIAQEa4xsgQSBUaW1lc3RhbXAgcmVwcmVzZW50cyBhIHBvaW50IGluIHRpbWUgaW5kZXBlbmRlbnQgb2YgYW55IHRpbWUgem9uZSBvciBsb2NhbAogY2FsZW5kYXIsIGVuY29kZWQgYXMgYSBjb3VudCBvZiBzZWNvbmRzIGFuZCBmcmFjdGlvbnMgb2Ygc2Vjb25kcyBhdAogbmFub3NlY29uZCByZXNvbHV0aW9uLiBUaGUgY291bnQgaXMgcmVsYXRpdmUgdG8gYW4gZXBvY2ggYXQgVVRDIG1pZG5pZ2h0IG9uCiBKYW51YXJ5IDEsIDE5NzAsIGluIHRoZSBwcm9sZXB0aWMgR3JlZ29yaWFuIGNhbGVuZGFyIHdoaWNoIGV4dGVuZHMgdGhlCiBHcmVnb3JpYW4gY2FsZW5kYXIgYmFja3dhcmRzIHRvIHllYXIgb25lLgoKIEFsbCBtaW51dGVzIGFyZSA2MCBzZWNvbmRzIGxvbmcuIExlYXAgc2Vjb25kcyBhcmUgInNtZWFyZWQiIHNvIHRoYXQgbm8gbGVhcAogc2Vjb25kIHRhYmxlIGlzIG5lZWRlZCBmb3IgaW50ZXJwcmV0YXRpb24sIHVzaW5nIGEgWzI0LWhvdXIgbGluZWFyCiBzbWVhcl0oaHR0cHM6Ly9kZXZlbG9wZXJzLmdvb2dsZS5jb20vdGltZS9zbWVhcikuCgogVGhlIHJhbmdlIGlzIGZyb20gMDAwMS0wMS0wMVQwMDowMDowMFogdG8gOTk5OS0xMi0zMVQyMzo1OTo1OS45OTk5OTk5OTlaLiBCeQogcmVzdHJpY3RpbmcgdG8gdGhhdCByYW5nZSwgd2UgZW5zdXJlIHRoYXQgd2UgY2FuIGNvbnZlcnQgdG8gYW5kIGZyb20gW1JGQwogMzMzOV0oaHR0cHM6Ly93d3cuaWV0Zi5vcmcvcmZjL3JmYzMzMzkudHh0KSBkYXRlIHN0cmluZ3MuCgogIyBFeGFtcGxlcwoKIEV4YW1wbGUgMTogQ29tcHV0ZSBUaW1lc3RhbXAgZnJvbSBQT1NJWCBgdGltZSgpYC4KCiAgICAgVGltZXN0YW1wIHRpbWVzdGFtcDsKICAgICB0aW1lc3RhbXAuc2V0X3NlY29uZHModGltZShOVUxMKSk7CiAgICAgdGltZXN0YW1wLnNldF9uYW5vcygwKTsKCiBFeGFtcGxlIDI6IENvbXB1dGUgVGltZXN0YW1wIGZyb20gUE9TSVggYGdldHRpbWVvZmRheSgpYC4KCiAgICAgc3RydWN0IHRpbWV2YWwgdHY7CiAgICAgZ2V0dGltZW9mZGF5KCZ0diwgTlVMTCk7CgogICAgIFRpbWVzdGFtcCB0aW1lc3RhbXA7CiAgICAgdGltZXN0YW1wLnNldF9zZWNvbmRzKHR2LnR2X3NlYyk7CiAgICAgdGltZXN0YW1wLnNldF9uYW5vcyh0di50dl91c2VjICogMTAwMCk7CgogRXhhbXBsZSAzOiBDb21wdXRlIFRpbWVzdGFtcCBmcm9tIFdpbjMyIGBHZXRTeXN0ZW1UaW1lQXNGaWxlVGltZSgpYC4KCiAgICAgRklMRVRJTUUgZnQ7CiAgICAgR2V0U3lzdGVtVGltZUFzRmlsZVRpbWUoJmZ0KTsKICAgICBVSU5UNjQgdGlja3MgPSAoKChVSU5UNjQpZnQuZHdIaWdoRGF0ZVRpbWUpIDw8IDMyKSB8IGZ0LmR3TG93RGF0ZVRpbWU7CgogICAgIC8vIEEgV2luZG93cyB0aWNrIGlzIDEwMCBuYW5vc2Vjb25kcy4gV2luZG93cyBlcG9jaCAxNjAxLTAxLTAxVDAwOjAwOjAwWgogICAgIC8vIGlzIDExNjQ0NDczNjAwIHNlY29uZHMgYmVmb3JlIFVuaXggZXBvY2ggMTk3MC0wMS0wMVQwMDowMDowMFouCiAgICAgVGltZXN0YW1wIHRpbWVzdGFtcDsKICAgICB0aW1lc3RhbXAuc2V0X3NlY29uZHMoKElOVDY0KSAoKHRpY2tzIC8gMTAwMDAwMDApIC0gMTE2NDQ0NzM2MDBMTCkpOwogICAgIHRpbWVzdGFtcC5zZXRfbmFub3MoKElOVDMyKSAoKHRpY2tzICUgMTAwMDAwMDApICogMTAwKSk7CgogRXhhbXBsZSA0OiBDb21wdXRlIFRpbWVzdGFtcCBmcm9tIEphdmEgYFN5c3RlbS5jdXJyZW50VGltZU1pbGxpcygpYC4KCiAgICAgbG9uZyBtaWxsaXMgPSBTeXN0ZW0uY3VycmVudFRpbWVNaWxsaXMoKTsKCiAgICAgVGltZXN0YW1wIHRpbWVzdGFtcCA9IFRpbWVzdGFtcC5uZXdCdWlsZGVyKCkuc2V0U2Vjb25kcyhtaWxsaXMgLyAxMDAwKQogICAgICAgICAuc2V0TmFub3MoKGludCkgKChtaWxsaXMgJSAxMDAwKSAqIDEwMDAwMDApKS5idWlsZCgpOwoKCiBFeGFtcGxlIDU6IENvbXB1dGUgVGltZXN0YW1wIGZyb20gY3VycmVudCB0aW1lIGluIFB5dGhvbi4KCiAgICAgdGltZXN0YW1wID0gVGltZXN0YW1wKCkKICAgICB0aW1lc3RhbXAuR2V0Q3VycmVudFRpbWUoKQoKICMgSlNPTiBNYXBwaW5nCgogSW4gSlNPTiBmb3JtYXQsIHRoZSBUaW1lc3RhbXAgdHlwZSBpcyBlbmNvZGVkIGFzIGEgc3RyaW5nIGluIHRoZQogW1JGQyAzMzM5XShodHRwczovL3d3dy5pZXRmLm9yZy9yZmMvcmZjMzMzOS50eHQpIGZvcm1hdC4gVGhhdCBpcywgdGhlCiBmb3JtYXQgaXMgInt5ZWFyfS17bW9udGh9LXtkYXl9VHtob3VyfTp7bWlufTp7c2VjfVsue2ZyYWNfc2VjfV1aIgogd2hlcmUge3llYXJ9IGlzIGFsd2F5cyBleHByZXNzZWQgdXNpbmcgZm91ciBkaWdpdHMgd2hpbGUge21vbnRofSwge2RheX0sCiB7aG91cn0sIHttaW59LCBhbmQge3NlY30gYXJlIHplcm8tcGFkZGVkIHRvIHR3byBkaWdpdHMgZWFjaC4gVGhlIGZyYWN0aW9uYWwKIHNlY29uZHMsIHdoaWNoIGNhbiBnbyB1cCB0byA5IGRpZ2l0cyAoaS5lLiB1cCB0byAxIG5hbm9zZWNvbmQgcmVzb2x1dGlvbiksCiBhcmUgb3B0aW9uYWwuIFRoZSAiWiIgc3VmZml4IGluZGljYXRlcyB0aGUgdGltZXpvbmUgKCJVVEMiKTsgdGhlIHRpbWV6b25lCiBpcyByZXF1aXJlZC4gQSBwcm90bzMgSlNPTiBzZXJpYWxpemVyIHNob3VsZCBhbHdheXMgdXNlIFVUQyAoYXMgaW5kaWNhdGVkIGJ5CiAiWiIpIHdoZW4gcHJpbnRpbmcgdGhlIFRpbWVzdGFtcCB0eXBlIGFuZCBhIHByb3RvMyBKU09OIHBhcnNlciBzaG91bGQgYmUKIGFibGUgdG8gYWNjZXB0IGJvdGggVVRDIGFuZCBvdGhlciB0aW1lem9uZXMgKGFzIGluZGljYXRlZCBieSBhbiBvZmZzZXQpLgoKIEZvciBleGFtcGxlLCAiMjAxNy0wMS0xNVQwMTozMDoxNS4wMVoiIGVuY29kZXMgMTUuMDEgc2Vjb25kcyBwYXN0CiAwMTozMCBVVEMgb24gSmFudWFyeSAxNSwgMjAxNy4KCiBJbiBKYXZhU2NyaXB0LCBvbmUgY2FuIGNvbnZlcnQgYSBEYXRlIG9iamVjdCB0byB0aGlzIGZvcm1hdCB1c2luZyB0aGUKIHN0YW5kYXJkIFt0b0lTT1N0cmluZygpXShodHRwczovL2RldmVsb3Blci5tb3ppbGxhLm9yZy9lbi1VUy9kb2NzL1dlYi9KYXZhU2NyaXB0L1JlZmVyZW5jZS9HbG9iYWxfT2JqZWN0cy9EYXRlL3RvSVNPU3RyaW5nKQogbWV0aG9kLiBJbiBQeXRob24sIGEgc3RhbmRhcmQgYGRhdGV0aW1lLmRhdGV0aW1lYCBvYmplY3QgY2FuIGJlIGNvbnZlcnRlZAogdG8gdGhpcyBmb3JtYXQgdXNpbmcgW2BzdHJmdGltZWBdKGh0dHBzOi8vZG9jcy5weXRob24ub3JnLzIvbGlicmFyeS90aW1lLmh0bWwjdGltZS5zdHJmdGltZSkKIHdpdGggdGhlIHRpbWUgZm9ybWF0IHNwZWMgJyVZLSVtLSVkVCVIOiVNOiVTLiVmWicuIExpa2V3aXNlLCBpbiBKYXZhLCBvbmUKIGNhbiB1c2UgdGhlIEpvZGEgVGltZSdzIFtgSVNPRGF0ZVRpbWVGb3JtYXQuZGF0ZVRpbWUoKWBdKAogaHR0cDovL3d3dy5qb2RhLm9yZy9qb2RhLXRpbWUvYXBpZG9jcy9vcmcvam9kYS90aW1lL2Zvcm1hdC9JU09EYXRlVGltZUZvcm1hdC5odG1sI2RhdGVUaW1lJTJEJTJECiApIHRvIG9idGFpbiBhIGZvcm1hdHRlciBjYXBhYmxlIG9mIGdlbmVyYXRpbmcgdGltZXN0YW1wcyBpbiB0aGlzIGZvcm1hdC4KCgoKCgoDBAABEgN8CBEKnQEKBAQAAgASBIEBAhQajgEgUmVwcmVzZW50cyBzZWNvbmRzIG9mIFVUQyB0aW1lIHNpbmNlIFVuaXggZXBvY2gKIDE5NzAtMDEtMDFUMDA6MDA6MDBaLiBNdXN0IGJlIGZyb20gMDAwMS0wMS0wMVQwMDowMDowMFogdG8KIDk5OTktMTItMzFUMjM6NTk6NTlaIGluY2x1c2l2ZS4KCg4KBQQAAgAEEgWBAQJ8EwoNCgUEAAIABRIEgQECBwoNCgUEAAIAARIEgQEIDwoNCgUEAAIAAxIEgQESEwrlAQoEBAACARIEhwECEhrWASBOb24tbmVnYXRpdmUgZnJhY3Rpb25zIG9mIGEgc2Vjb25kIGF0IG5hbm9zZWNvbmQgcmVzb2x1dGlvbi4gTmVnYXRpdmUKIHNlY29uZCB2YWx1ZXMgd2l0aCBmcmFjdGlvbnMgbXVzdCBzdGlsbCBoYXZlIG5vbi1uZWdhdGl2ZSBuYW5vcyB2YWx1ZXMKIHRoYXQgY291bnQgZm9yd2FyZCBpbiB0aW1lLiBNdXN0IGJlIGZyb20gMCB0byA5OTksOTk5LDk5OQogaW5jbHVzaXZlLgoKDwoFBAACAQQSBocBAoEBFAoNCgUEAAIBBRIEhwECBwoNCgUEAAIBARIEhwEIDQoNCgUEAAIBAxIEhwEQEWIGcHJvdG8zCt6oAQoMZG1pL2h3LnByb3RvEgNkbWkaH2dvb2dsZS9wcm90b2J1Zi90aW1lc3RhbXAucHJvdG8iGgoEVXVpZBISCgR1dWlkGAEgASgJUgR1dWlkIisKCkhhcmR3YXJlSUQSHQoEdXVpZBgBIAEoCzIJLmRtaS5VdWlkUgR1dWlkIhcKA1VyaRIQCgN1cmkYASABKAlSA3VyaSKEAwoOQ29tcG9uZW50U3RhdGUSSAoSc3RhdGVfbGFzdF9jaGFuZ2VkGAEgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcFIQc3RhdGVMYXN0Q2hhbmdlZBI5CgthZG1pbl9zdGF0ZRgCIAEoDjIYLmRtaS5Db21wb25lbnRBZG1pblN0YXRlUgphZG1pblN0YXRlEjYKCm9wZXJfc3RhdGUYAyABKA4yFy5kbWkuQ29tcG9uZW50T3BlclN0YXRlUglvcGVyU3RhdGUSOQoLdXNhZ2Vfc3RhdGUYBCABKA4yGC5kbWkuQ29tcG9uZW50VXNhZ2VTdGF0ZVIKdXNhZ2VTdGF0ZRI5CgthbGFybV9zdGF0ZRgFIAEoDjIYLmRtaS5Db21wb25lbnRBbGFybVN0YXRlUgphbGFybVN0YXRlEj8KDXN0YW5kYnlfc3RhdGUYBiABKA4yGi5kbWkuQ29tcG9uZW50U3RhbmRieVN0YXRlUgxzdGFuZGJ5U3RhdGUi6wIKE0NvbXBvbmVudFNlbnNvckRhdGESFAoFdmFsdWUYASABKAVSBXZhbHVlEiYKBHR5cGUYAiABKA4yEi5kbWkuRGF0YVZhbHVlVHlwZVIEdHlwZRIlCgVzY2FsZRgDIAEoDjIPLmRtaS5WYWx1ZVNjYWxlUgVzY2FsZRIcCglwcmVjaXNpb24YBCABKAVSCXByZWNpc2lvbhIpCgZzdGF0dXMYBSABKA4yES5kbWkuU2Vuc29yU3RhdHVzUgZzdGF0dXMSIwoNdW5pdHNfZGlzcGxheRgGIAEoCVIMdW5pdHNEaXNwbGF5EjgKCXRpbWVzdGFtcBgHIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXBSCXRpbWVzdGFtcBIqChF2YWx1ZV91cGRhdGVfcmF0ZRgIIAEoDVIPdmFsdWVVcGRhdGVSYXRlEhsKCWRhdGFfdHlwZRgJIAEoCVIIZGF0YVR5cGUiwQYKF1BvcnRDb21wb25lbnRBdHRyaWJ1dGVzElEKDmNvbm5lY3Rvcl90eXBlGAEgASgOMiouZG1pLlBvcnRDb21wb25lbnRBdHRyaWJ1dGVzLkNvbm5lY3RvclR5cGVSDWNvbm5lY3RvclR5cGUSOAoFc3BlZWQYAiABKA4yIi5kbWkuUG9ydENvbXBvbmVudEF0dHJpYnV0ZXMuU3BlZWRSBXNwZWVkEkEKCHByb3RvY29sGAMgASgOMiUuZG1pLlBvcnRDb21wb25lbnRBdHRyaWJ1dGVzLlByb3RvY29sUghwcm90b2NvbBIlCg5waHlzaWNhbF9sYWJlbBgEIAEoCVINcGh5c2ljYWxMYWJlbBIjCg1tYXBwaW5nX2xhYmVsGAUgASgJUgxtYXBwaW5nTGFiZWwSNAoNcG9uX2lkX2NvbmZpZxgGIAEoCzIQLmRtaS5Qb25JZENvbmZpZ1ILcG9uSWRDb25maWcSMwoVc3BlZWRfYXV0b25lZ290aWF0aW9uGAcgASgIUhRzcGVlZEF1dG9uZWdvdGlhdGlvbiJwCg1Db25uZWN0b3JUeXBlEhwKGENPTk5FQ1RPUl9UWVBFX1VOREVGSU5FRBAAEggKBFJKNDUQARIMCghGSUJFUl9MQxACEg8KC0ZJQkVSX1NDX1BDEAMSDQoJRklCRVJfTVBPEAQSCQoFUlMyMzIQBSKuAQoFU3BlZWQSEwoPU1BFRURfVU5ERUZJTkVEEAASCwoHRFlOQU1JQxABEg0KCUdJR0FCSVRfMRACEg4KCkdJR0FCSVRfMTAQAxIOCgpHSUdBQklUXzI1EAQSDgoKR0lHQUJJVF80MBAFEg8KC0dJR0FCSVRfMTAwEAYSDwoLR0lHQUJJVF80MDAQBxIQCgxNRUdBQklUXzI1MDAQCBIQCgxNRUdBQklUXzEyNTAQCSJ8CghQcm90b2NvbBIWChJQUk9UT0NPTF9VTkRFRklORUQQABIMCghFVEhFUk5FVBABEggKBEdQT04QAhIJCgVYR1BPThADEgoKBlhHU1BPThAEEgkKBUdGQVNUEAUSCgoGU0VSSUFMEAYSCAoERVBPThAHEggKBEJJVFMQCCJVCh1Qb3J0Q29tcG9uZW50Q2hhbmdlQXR0cmlidXRlcxI0Cg1wb25faWRfY29uZmlnGAEgASgLMhAuZG1pLlBvbklkQ29uZmlnUgtwb25JZENvbmZpZyJbCiRUcmFuc2NlaXZlckNvbXBvbmVudENoYW5nZUF0dHJpYnV0ZXMSMwoKdHJhbnNfdHlwZRgBIAEoDjIULmRtaS5UcmFuc2NlaXZlclR5cGVSCXRyYW5zVHlwZSJjCgtQb25JZENvbmZpZxIVCgZwb25faWQYASABKAxSBXBvbklkEj0KG3Bvbl9pZF90cmFuc21pdF9wZXJpb2RpY2l0eRgCIAEoDVIYcG9uSWRUcmFuc21pdFBlcmlvZGljaXR5IkUKHENvbnRhaW5lckNvbXBvbmVudEF0dHJpYnV0ZXMSJQoOcGh5c2ljYWxfbGFiZWwYASABKAlSDXBoeXNpY2FsTGFiZWwixQEKFlBzdUNvbXBvbmVudEF0dHJpYnV0ZXMSWQoRc3VwcG9ydGVkX3ZvbHRhZ2UYASABKA4yLC5kbWkuUHN1Q29tcG9uZW50QXR0cmlidXRlcy5TdXBwb3J0ZWRWb2x0YWdlUhBzdXBwb3J0ZWRWb2x0YWdlIlAKEFN1cHBvcnRlZFZvbHRhZ2USHwobU1VQUE9SVEVEX1ZPTFRBR0VfVU5ERUZJTkVEEAASBwoDVjQ4EAESCAoEVjIzMBACEggKBFYxMTUQAyLTBAofVHJhbnNjZWl2ZXJDb21wb25lbnRzQXR0cmlidXRlcxJQCgtmb3JtX2ZhY3RvchgBIAEoDjIvLmRtaS5UcmFuc2NlaXZlckNvbXBvbmVudHNBdHRyaWJ1dGVzLkZvcm1GYWN0b3JSCmZvcm1GYWN0b3ISMwoKdHJhbnNfdHlwZRgCIAEoDjIULmRtaS5UcmFuc2NlaXZlclR5cGVSCXRyYW5zVHlwZRIhCgxtYXhfZGlzdGFuY2UYAyABKA1SC21heERpc3RhbmNlEj0KEm1heF9kaXN0YW5jZV9zY2FsZRgEIAEoDjIPLmRtaS5WYWx1ZVNjYWxlUhBtYXhEaXN0YW5jZVNjYWxlEiMKDXJ4X3dhdmVsZW5ndGgYBSADKA1SDHJ4V2F2ZWxlbmd0aBIjCg10eF93YXZlbGVuZ3RoGAYgAygNUgx0eFdhdmVsZW5ndGgSOgoQd2F2ZWxlbmd0aF9zY2FsZRgHIAEoDjIPLmRtaS5WYWx1ZVNjYWxlUg93YXZlbGVuZ3RoU2NhbGUiwAEKCkZvcm1GYWN0b3ISFwoTRk9STV9GQUNUT1JfVU5LTk9XThAAEggKBFFTRlAQARINCglRU0ZQX1BMVVMQAhIKCgZRU0ZQMjgQAxIHCgNTRlAQBBIMCghTRlBfUExVUxAFEgcKA1hGUBAGEggKBENGUDQQBxIICgRDRlAyEAgSCAoEQ1BBSxAJEgYKAlgyEAoSCQoFT1RIRVIQCxIHCgNDRlAQDBIMCghDRlAyX0FDTxANEgwKCENGUDJfRENPEA4i2QcKCUNvbXBvbmVudBISCgRuYW1lGAEgASgJUgRuYW1lEigKBWNsYXNzGAIgASgOMhIuZG1pLkNvbXBvbmVudFR5cGVSBWNsYXNzEiAKC2Rlc2NyaXB0aW9uGAMgASgJUgtkZXNjcmlwdGlvbhIWCgZwYXJlbnQYBCABKAlSBnBhcmVudBIkCg5wYXJlbnRfcmVsX3BvcxgFIAEoBVIMcGFyZW50UmVsUG9zEioKCGNoaWxkcmVuGAYgAygLMg4uZG1pLkNvbXBvbmVudFIIY2hpbGRyZW4SIQoMaGFyZHdhcmVfcmV2GAcgASgJUgtoYXJkd2FyZVJldhIhCgxmaXJtd2FyZV9yZXYYCCABKAlSC2Zpcm13YXJlUmV2EiEKDHNvZnR3YXJlX3JldhgJIAEoCVILc29mdHdhcmVSZXYSHQoKc2VyaWFsX251bRgKIAEoCVIJc2VyaWFsTnVtEhkKCG1mZ19uYW1lGAsgASgJUgdtZmdOYW1lEh0KCm1vZGVsX25hbWUYDCABKAlSCW1vZGVsTmFtZRIUCgVhbGlhcxgNIAEoCVIFYWxpYXMSGQoIYXNzZXRfaWQYDiABKAlSB2Fzc2V0SWQSFQoGaXNfZnJ1GA8gASgIUgVpc0ZydRI1CghtZmdfZGF0ZRgQIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXBSB21mZ0RhdGUSGgoDdXJpGBEgASgLMgguZG1pLlVyaVIDdXJpEh0KBHV1aWQYEiABKAsyCS5kbWkuVXVpZFIEdXVpZBIpCgVzdGF0ZRgTIAEoCzITLmRtaS5Db21wb25lbnRTdGF0ZVIFc3RhdGUSOQoLc2Vuc29yX2RhdGEYFCADKAsyGC5kbWkuQ29tcG9uZW50U2Vuc29yRGF0YVIKc2Vuc29yRGF0YRI7Cglwb3J0X2F0dHIYMiABKAsyHC5kbWkuUG9ydENvbXBvbmVudEF0dHJpYnV0ZXNIAFIIcG9ydEF0dHISSgoOY29udGFpbmVyX2F0dHIYMyABKAsyIS5kbWkuQ29udGFpbmVyQ29tcG9uZW50QXR0cmlidXRlc0gAUg1jb250YWluZXJBdHRyEjgKCHBzdV9hdHRyGDQgASgLMhsuZG1pLlBzdUNvbXBvbmVudEF0dHJpYnV0ZXNIAFIHcHN1QXR0chJRChB0cmFuc2NlaXZlcl9hdHRyGDUgASgLMiQuZG1pLlRyYW5zY2VpdmVyQ29tcG9uZW50c0F0dHJpYnV0ZXNIAFIPdHJhbnNjZWl2ZXJBdHRyQgoKCHNwZWNpZmljIqgBCghIYXJkd2FyZRI7CgtsYXN0X2NoYW5nZRgBIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXBSCmxhc3RDaGFuZ2USIgoEcm9vdBgCIAEoCzIOLmRtaS5Db21wb25lbnRSBHJvb3QSOwoLbGFzdF9ib290ZWQYAyABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wUgpsYXN0Qm9vdGVkIsADChNNb2RpZmlhYmxlQ29tcG9uZW50EhIKBG5hbWUYASABKAlSBG5hbWUSKAoFY2xhc3MYAiABKA4yEi5kbWkuQ29tcG9uZW50VHlwZVIFY2xhc3MSJgoGcGFyZW50GAMgASgLMg4uZG1pLkNvbXBvbmVudFIGcGFyZW50EiQKDnBhcmVudF9yZWxfcG9zGAQgASgFUgxwYXJlbnRSZWxQb3MSFAoFYWxpYXMYBSABKAlSBWFsaWFzEhkKCGFzc2V0X2lkGAYgASgJUgdhc3NldElkEhoKA3VyaRgHIAEoCzIILmRtaS5VcmlSA3VyaRI5CgthZG1pbl9zdGF0ZRgIIAEoDjIYLmRtaS5Db21wb25lbnRBZG1pblN0YXRlUgphZG1pblN0YXRlEkEKCXBvcnRfYXR0chgyIAEoCzIiLmRtaS5Qb3J0Q29tcG9uZW50Q2hhbmdlQXR0cmlidXRlc0gAUghwb3J0QXR0chJGCgh0cnhfYXR0chgzIAEoCzIpLmRtaS5UcmFuc2NlaXZlckNvbXBvbmVudENoYW5nZUF0dHJpYnV0ZXNIAFIHdHJ4QXR0ckIKCghzcGVjaWZpYyq0AwoNQ29tcG9uZW50VHlwZRIcChhDT01QT05FTlRfVFlQRV9VTkRFRklORUQQABIaChZDT01QT05FTlRfVFlQRV9VTktOT1dOEAESGgoWQ09NUE9ORU5UX1RZUEVfQ0hBU1NJUxACEhwKGENPTVBPTkVOVF9UWVBFX0JBQ0tQTEFORRADEhwKGENPTVBPTkVOVF9UWVBFX0NPTlRBSU5FUhAEEh8KG0NPTVBPTkVOVF9UWVBFX1BPV0VSX1NVUFBMWRAFEhYKEkNPTVBPTkVOVF9UWVBFX0ZBThAGEhkKFUNPTVBPTkVOVF9UWVBFX1NFTlNPUhAHEhkKFUNPTVBPTkVOVF9UWVBFX01PRFVMRRAIEhcKE0NPTVBPTkVOVF9UWVBFX1BPUlQQCRIWChJDT01QT05FTlRfVFlQRV9DUFUQChIaChZDT01QT05FTlRfVFlQRV9CQVRURVJZEAsSGgoWQ09NUE9ORU5UX1RZUEVfU1RPUkFHRRAMEhkKFUNPTVBPTkVOVF9UWVBFX01FTU9SWRANEh4KGkNPTVBPTkVOVF9UWVBFX1RSQU5TQ0VJVkVSEA4qswEKE0NvbXBvbmVudEFkbWluU3RhdGUSHgoaQ09NUF9BRE1JTl9TVEFURV9VTkRFRklORUQQABIcChhDT01QX0FETUlOX1NUQVRFX1VOS05PV04QARIbChdDT01QX0FETUlOX1NUQVRFX0xPQ0tFRBACEiIKHkNPTVBfQURNSU5fU1RBVEVfU0hVVFRJTkdfRE9XThADEh0KGUNPTVBfQURNSU5fU1RBVEVfVU5MT0NLRUQQBCqoAQoSQ29tcG9uZW50T3BlclN0YXRlEh0KGUNPTVBfT1BFUl9TVEFURV9VTkRFRklORUQQABIbChdDT01QX09QRVJfU1RBVEVfVU5LTk9XThABEhwKGENPTVBfT1BFUl9TVEFURV9ESVNBQkxFRBACEhsKF0NPTVBfT1BFUl9TVEFURV9FTkFCTEVEEAMSGwoXQ09NUF9PUEVSX1NUQVRFX1RFU1RJTkcQBCqmAQoTQ29tcG9uZW50VXNhZ2VTdGF0ZRIeChpDT01QX1VTQUdFX1NUQVRFX1VOREVGSU5FRBAAEhwKGENPTVBfVVNBR0VfU1RBVEVfVU5LTk9XThABEhkKFUNPTVBfVVNBR0VfU1RBVEVfSURMRRACEhsKF0NPTVBfVVNBR0VfU1RBVEVfQUNUSVZFEAMSGQoVQ09NUF9VU0FHRV9TVEFURV9CVVNZEAQqjwIKE0NvbXBvbmVudEFsYXJtU3RhdGUSHgoaQ09NUF9BTEFSTV9TVEFURV9VTkRFRklORUQQABIcChhDT01QX0FMQVJNX1NUQVRFX1VOS05PV04QARIhCh1DT01QX0FMQVJNX1NUQVRFX1VOREVSX1JFUEFJUhACEh0KGUNPTVBfQUxBUk1fU1RBVEVfQ1JJVElDQUwQAxIaChZDT01QX0FMQVJNX1NUQVRFX01BSk9SEAQSGgoWQ09NUF9BTEFSTV9TVEFURV9NSU5PUhAFEhwKGENPTVBfQUxBUk1fU1RBVEVfV0FSTklORxAGEiIKHkNPTVBfQUxBUk1fU1RBVEVfSU5ERVRFUk1JTkFURRAHKrwBChVDb21wb25lbnRTdGFuZGJ5U3RhdGUSIAocQ09NUF9TVEFOREJZX1NUQVRFX1VOREVGSU5FRBAAEh4KGkNPTVBfU1RBTkRCWV9TVEFURV9VTktOT1dOEAESGgoWQ09NUF9TVEFOREJZX1NUQVRFX0hPVBACEhsKF0NPTVBfU1RBTkRCWV9TVEFURV9DT0xEEAMSKAokQ09NUF9TVEFOREJZX1NUQVRFX1BST1ZJRElOR19TRVJWSUNFEAQqiQMKDURhdGFWYWx1ZVR5cGUSGAoUVkFMVUVfVFlQRV9VTkRFRklORUQQABIUChBWQUxVRV9UWVBFX09USEVSEAESFgoSVkFMVUVfVFlQRV9VTktOT1dOEAISFwoTVkFMVUVfVFlQRV9WT0xUU19BQxADEhcKE1ZBTFVFX1RZUEVfVk9MVFNfREMQBBIWChJWQUxVRV9UWVBFX0FNUEVSRVMQBRIUChBWQUxVRV9UWVBFX1dBVFRTEAYSFAoQVkFMVUVfVFlQRV9IRVJUWhAHEhYKElZBTFVFX1RZUEVfQ0VMU0lVUxAIEhkKFVZBTFVFX1RZUEVfUEVSQ0VOVF9SSBAJEhIKDlZBTFVFX1RZUEVfUlBNEAoSEgoOVkFMVUVfVFlQRV9DTU0QCxIaChZWQUxVRV9UWVBFX1RSVVRIX1ZBTFVFEAwSFgoSVkFMVUVfVFlQRV9QRVJDRU5UEA0SFQoRVkFMVUVfVFlQRV9NRVRFUlMQDhIUChBWQUxVRV9UWVBFX0JZVEVTEA8qpAMKClZhbHVlU2NhbGUSGQoVVkFMVUVfU0NBTEVfVU5ERUZJTkVEEAASFQoRVkFMVUVfU0NBTEVfWU9DVE8QARIVChFWQUxVRV9TQ0FMRV9aRVBUTxACEhQKEFZBTFVFX1NDQUxFX0FUVE8QAxIVChFWQUxVRV9TQ0FMRV9GRU1UTxAEEhQKEFZBTFVFX1NDQUxFX1BJQ08QBRIUChBWQUxVRV9TQ0FMRV9OQU5PEAYSFQoRVkFMVUVfU0NBTEVfTUlDUk8QBxIVChFWQUxVRV9TQ0FMRV9NSUxMSRAIEhUKEVZBTFVFX1NDQUxFX1VOSVRTEAkSFAoQVkFMVUVfU0NBTEVfS0lMTxAKEhQKEFZBTFVFX1NDQUxFX01FR0EQCxIUChBWQUxV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Lmdvb2dsZS5jb20vcHJvdG9jb2wtYnVmZmVycy8KCiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUKIG1ldDoKCiAgICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAogbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgogICAgICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZQogY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lcgogaW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZQogZGlzdHJpYnV0aW9uLgogICAgICogTmVpdGhlciB0aGUgbmFtZSBvZiBHb29nbGUgSW5jLiBub3IgdGhlIG5hbWVzIG9mIGl0cwogY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20KIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uCgogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUwogIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QKIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUgogQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQKIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLAogU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVAogTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsCiBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkKIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KCggKAQISAyAAGAoICgEIEgMiADsKCQoCCCUSAyIAOwoICgEIEgMjAD4KCQoCCAsSAyMAPgoICgEIEgMkACwKCQoCCAESAyQALAoICgEIEgMlACsKCQoCCAgSAyUAKwoICgEIEgMmACIKCQoCCAoSAyYAIgoICgEIEgMnACEKCQoCCCQSAycAIQoICgEIEgMoAB8KCQoCCB8SAygAHwr7AgoCBAASAzMAEBrvAiBBIGdlbmVyaWMgZW1wdHkgbWVzc2FnZSB0aGF0IHlvdSBjYW4gcmUtdXNlIHRvIGF2b2lkIGRlZmluaW5nIGR1cGxpY2F0ZWQKIGVtcHR5IG1lc3NhZ2VzIGluIHlvdXIgQVBJcy4gQSB0eXBpY2FsIGV4YW1wbGUgaXMgdG8gdXNlIGl0IGFzIHRoZSByZXF1ZXN0CiBvciB0aGUgcmVzcG9uc2UgdHlwZSBvZiBhbiBBUEkgbWV0aG9kLiBGb3IgaW5zdGFuY2U6CgogICAgIHNlcnZpY2UgRm9vIHsKICAgICAgIHJwYyBCYXIoZ29vZ2xlLnByb3RvYnVmLkVtcHR5KSByZXR1cm5zIChnb29nbGUucHJvdG9idWYuRW1wdHkpOwogICAgIH0KCiBUaGUgSlNPTiByZXByZXNlbnRhdGlvbiBmb3IgYEVtcHR5YCBpcyBlbXB0eSBKU09OIG9iamVjdCBge31gLgoKCgoDBAABEgMzCA1iBnByb3RvMwr0UAogZG1pL2h3X2V2ZW50c19tZ210X3NlcnZpY2UucHJvdG8SA2RtaRoRZG1pL2NvbW1vbnMucHJvdG8aDGRtaS9ody5wcm90bxofZ29vZ2xlL3Byb3RvYnVmL3RpbWVzdGFtcC5wcm90bxobZ29vZ2xlL3Byb3RvYnVmL2VtcHR5LnByb3RvImkKCVZhbHVlVHlwZRIZCgdpbnRfdmFsGAEgASgDSABSBmludFZhbBIbCgh1aW50X3ZhbBgCIAEoBEgAUgd1aW50VmFsEh0KCWZsb2F0X3ZhbBgDIAEoAkgAUghmbG9hdFZhbEIFCgN2YWwiUgoKV2F0ZXJNYXJrcxIiCgRoaWdoGAEgASgLMg4uZG1pLlZhbHVlVHlwZVIEaGlnaBIgCgNsb3cYAiABKAsyDi5kbWkuVmFsdWVUeXBlUgNsb3ciawoKVGhyZXNob2xkcxInCgV1cHBlchgBIAEoCzIPLmRtaS5XYXRlck1hcmtzSABSBXVwcGVyEicKBWxvd2VyGAIgASgLMg8uZG1pLldhdGVyTWFya3NIAFIFbG93ZXJCCwoJdGhyZXNob2xkIn4KFFRocmVzaG9sZEluZm9ybWF0aW9uEjUKDm9ic2VydmVkX3ZhbHVlGAEgASgLMg4uZG1pLlZhbHVlVHlwZVINb2JzZXJ2ZWRWYWx1ZRIvCgp0aHJlc2hvbGRzGAIgASgLMg8uZG1pLlRocmVzaG9sZHNSCnRocmVzaG9sZHMiigEKCEV2ZW50Q2ZnEigKCGV2ZW50X2lkGAEgASgOMg0uZG1pLkV2ZW50SWRzUgdldmVudElkEiMKDWlzX2NvbmZpZ3VyZWQYAiABKAhSDGlzQ29uZmlndXJlZBIvCgp0aHJlc2hvbGRzGAMgASgLMg8uZG1pLlRocmVzaG9sZHNSCnRocmVzaG9sZHMiMAoJRXZlbnRzQ2ZnEiMKBWl0ZW1zGAEgAygLMg0uZG1pLkV2ZW50Q2ZnUgVpdGVtcyKeAgoSTGlzdEV2ZW50c1Jlc3BvbnNlEiMKBnN0YXR1cxgBIAEoDjILLmRtaS5TdGF0dXNSBnN0YXR1cxI2CgZyZWFzb24YAiABKA4yHi5kbWkuTGlzdEV2ZW50c1Jlc3BvbnNlLlJlYXNvblIGcmVhc29uEiYKBmV2ZW50cxgDIAEoCzIOLmRtaS5FdmVudHNDZmdSBmV2ZW50cxIjCg1yZWFzb25fZGV0YWlsGAQgASgJUgxyZWFzb25EZXRhaWwiXgoGUmVhc29uEhQKEFVOREVGSU5FRF9SRUFTT04QABISCg5VTktOT1dOX0RFVklDRRABEhIKDklOVEVSTkFMX0VSUk9SEAISFgoSREVWSUNFX1VOUkVBQ0hBQkxFEAMirQEKGkV2ZW50c0NvbmZpZ3VyYXRpb25SZXF1ZXN0EioKC2RldmljZV91dWlkGAEgASgLMgkuZG1pLlV1aWRSCmRldmljZVV1aWQSKgoHY2hhbmdlcxgCIAEoCzIOLmRtaS5FdmVudHNDZmdIAFIHY2hhbmdlcxIqChByZXNldF90b19kZWZhdWx0GAMgASgISABSDnJlc2V0VG9EZWZhdWx0QgsKCW9wZXJhdGlvbiKcAgobRXZlbnRzQ29uZmlndXJhdGlvblJlc3BvbnNlEiMKBnN0YXR1cxgBIAEoDjILLmRtaS5TdGF0dXNSBnN0YXR1cxI/CgZyZWFzb24YAiABKA4yJy5kbWkuRXZlbnRzQ29uZmlndXJhdGlvblJlc3BvbnNlLlJlYXNvblIGcmVhc29uEiMKDXJlYXNvbl9kZXRhaWwYAyABKAlSDHJlYXNvbkRldGFpbCJyCgZSZWFzb24SFAoQVU5ERUZJTkVEX1JFQVNPThAAEhIKDlVOS05PV05fREVWSUNFEAESEgoOSU5URVJOQUxfRVJST1IQAhISCg5JTlZBTElEX0NPTkZJRxADEhYKEkRFVklDRV9VTlJFQUNIQUJMRRAEIpQBCg1FdmVudE1ldGFEYXRhEioKC2RldmljZV91dWlkGAEgASgLMgkuZG1pLlV1aWRSCmRldmljZVV1aWQSMAoOY29tcG9uZW50X3V1aWQYAiABKAsyCS5kbWkuVXVpZFINY29tcG9uZW50VXVpZBIlCg5jb21wb25lbnRfbmFtZRgDIAEoCVINY29tcG9uZW50TmFtZSKCAgoFRXZlbnQSOQoOZXZlbnRfbWV0YWRhdGEYASABKAsyEi5kbWkuRXZlbnRNZXRhRGF0YVINZXZlbnRNZXRhZGF0YRIoCghldmVudF9pZBgCIAEoDjINLmRtaS5FdmVudElkc1IHZXZlbnRJZBI3CglyYWlzZWRfdHMYAyABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wUghyYWlzZWRUcxJACg50aHJlc2hvbGRfaW5mbxgEIAEoCzIZLmRtaS5UaHJlc2hvbGRJbmZvcm1hdGlvblINdGhyZXNob2xkSW5mbxIZCghhZGRfaW5mbxgFIAEoCVIHYWRkSW5mbyrFDwoIRXZlbnRJZHMSGAoURVZFTlRfTkFNRV9VTkRFRklORUQQABIeChpFVkVOVF9UUkFOU0NFSVZFUl9QTFVHX09VVBBkEh0KGUVWRU5UX1RSQU5TQ0VJVkVSX1BMVUdfSU4QZRItCilFVkVOVF9UUkFOU0NFSVZFUl9WT0xUQUdFX0FCT1ZFX1RIUkVTSE9MRBBmEi0KKUVWRU5UX1RSQU5TQ0VJVkVSX1ZPTFRBR0VfQkVMT1dfVEhSRVNIT0xEEGcSMQotRVZFTlRfVFJBTlNDRUlWRVJfVEVNUEVSQVRVUkVfQUJPVkVfVEhSRVNIT0xEEGgSMQotRVZFTlRfVFJBTlNDRUlWRVJfVEVNUEVSQVRVUkVfQkVMT1dfVEhSRVNIT0xEEGkSLQopRVZFTlRfVFJBTlNDRUlWRVJfQ1VSUkVOVF9BQk9WRV9USFJFU0hPTEQQahItCilFVkVOVF9UUkFOU0NFSVZFUl9DVVJSRU5UX0JFTE9XX1RIUkVTSE9MRBBrEi4KKkVWRU5UX1RSQU5TQ0VJVkVSX1JYX1BPV0VSX0FCT1ZFX1RIUkVTSE9MRBBsEi4KKkVWRU5UX1RSQU5TQ0VJVkVSX1JYX1BPV0VSX0JFTE9XX1RIUkVTSE9MRBBtEi4KKkVWRU5UX1RSQU5TQ0VJVkVSX1RYX1BPV0VSX0FCT1ZFX1RIUkVTSE9MRBBuEi4KKkVWRU5UX1RSQU5TQ0VJVkVSX1RYX1BPV0VSX0JFTE9XX1RIUkVTSE9MRBBvEh0KGUVWRU5UX1RSQU5TQ0VJVkVSX0ZBSUxVUkUQcBI3CjNFVkVOVF9UUkFOU0NFSVZFUl9WT0xUQUdFX0FCT1ZFX1RIUkVTSE9MRF9SRUNPVkVSRUQQcRI3CjNFVkVOVF9UUkFOU0NFSVZFUl9WT0xUQUdFX0JFTE9XX1RIUkVTSE9MRF9SRUNPVkVSRUQQchI7CjdFVkVOVF9UUkFOU0NFSVZFUl9URU1QRVJBVFVSRV9BQk9WRV9USFJFU0hPTERfUkVDT1ZFUkVEEHMSOwo3RVZFTlRfVFJBTlNDRUlWRVJfVEVNUEVSQVRVUkVfQkVMT1dfVEhSRVNIT0xEX1JFQ09WRVJFRBB0EjcKM0VWRU5UX1RSQU5TQ0VJVkVSX0NVUlJFTlRfQUJPVkVfVEhSRVNIT0xEX1JFQ09WRVJFRBB1EjcKM0VWRU5UX1RSQU5TQ0VJVkVSX0NVUlJFTlRfQkVMT1dfVEhSRVNIT0xEX1JFQ09WRVJFRBB2EjgKNEVWRU5UX1RSQU5TQ0VJVkVSX1JYX1BPV0VSX0FCT1ZFX1RIUkVTSE9MRF9SRUNPVkVSRUQQdxI4CjRFVkVOVF9UUkFOU0NFSVZFUl9SWF9QT1dFUl9CRUxPV19USFJFU0hPTERfUkVDT1ZFUkVEEHgSOAo0RVZFTlRfVFJBTlNDRUlWRVJfVFhfUE9XRVJfQUJPVkVfVEhSRVNIT0xEX1JFQ09WRVJFRBB5EjgKNEVWRU5UX1RSQU5TQ0VJVkVSX1RYX1BPV0VSX0JFTE9XX1RIUkVTSE9MRF9SRUNPVkVSRUQQehInCiNFVkVOVF9UUkFOU0NFSVZFUl9GQUlMVVJFX1JFQ09WRVJFRBB7EhcKEkVWRU5UX1BTVV9QTFVHX09VVBDIARIWChFFVkVOVF9QU1VfUExVR19JThDJARIWChFFVkVOVF9QU1VfRkFJTFVSRRDKARIgChtFVkVOVF9QU1VfRkFJTFVSRV9SRUNPVkVSRUQQywESFgoRRVZFTlRfRkFOX0ZBSUxVUkUQrAISFwoSRVZFTlRfRkFOX1BMVUdfT1VUEK0CEhYKEUVWRU5UX0ZBTl9QTFVHX0lOEK4CEiAKG0VWRU5UX0ZBTl9GQUlMVVJFX1JFQ09WRVJFRBCvAhIpCiRFVkVOVF9DUFVfVEVNUEVSQVRVUkVfQUJPVkVfQ1JJVElDQUwQkAMSJgohRVZFTlRfQ1BVX1RFTVBFUkFUVVJFX0FCT1ZFX0ZBVEFMEJEDEjMKLkVWRU5UX0NQVV9URU1QRVJBVFVSRV9BQk9WRV9DUklUSUNBTF9SRUNPVkVSRUQQkgMSMAorRVZFTlRfQ1BVX1RFTVBFUkFUVVJFX0FCT1ZFX0ZBVEFMX1JFQ09WRVJFRBCTAxIaChVFVkVOVF9IV19ERVZJQ0VfUkVTRVQQ9AMSLwoqRVZFTlRfSFdfREVWSUNFX1RFTVBFUkFUVVJFX0FCT1ZFX0NSSVRJQ0FMEPUDEiwKJ0VWRU5UX0hXX0RFVklDRV9URU1QRVJBVFVSRV9BQk9WRV9GQVRBTBD2AxI5CjRFVkVOVF9IV19ERVZJQ0VfVEVNUEVSQVRVUkVfQUJPVkVfQ1JJVElDQUxfUkVDT1ZFUkVEEPcDEjYKMUVWRU5UX0hXX0RFVklDRV9URU1QRVJBVFVSRV9BQk9WRV9GQVRBTF9SRUNPVkVSRUQQ+AMSGwoWRVZFTlRfSFdfREVWSUNFX1JFQk9PVBD5AxInCiJFVkVOVF9IV19URU1QRVJBVFVSRV9TRU5TT1JfRkFJTEVEEPoDEiwKJ0VWRU5UX0hXX0FMTF9URU1QRVJBVFVSRV9TRU5TT1JTX0ZBSUxFRBD7AzLtAQodTmF0aXZlRXZlbnRzTWFuYWdlbWVudFNlcnZpY2USNgoKTGlzdEV2ZW50cxIPLmRtaS5IYXJkd2FyZUlEGhcuZG1pLkxpc3RFdmVudHNSZXNwb25zZRJeChlVcGRhdGVFdmVudHNDb25maWd1cmF0aW9uEh8uZG1pLkV2ZW50c0NvbmZpZ3VyYXRpb25SZXF1ZXN0GiAuZG1pLkV2ZW50c0NvbmZpZ3VyYXRpb25SZXNwb25zZRI0CgxTdHJlYW1FdmVudHMSFi5nb29nbGUucHJvdG9idWYuRW1wdHkaCi5kbWkuRXZlbnQwAUI7WjlnaXRodWIuY29tL29wZW5jb3JkL2RldmljZS1tYW5hZ2VtZW50LWludGVyZmFjZS92My9nby9kbWlK9y8KBxIFAACvAQEKCAoBDBIDAAASCggKAQgSAwIAUAoJCgIICxIDAgBQCggKAQIS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bnNlEiMKBnN0YXR1cxgBIAEoDjILLmRtaS5TdGF0dXNSBnN0YXR1cxI9CgZyZWFzb24YAiABKA4yJS5kbWkuUGh5c2ljYWxJbnZlbnRvcnlSZXNwb25zZS5SZWFzb25SBnJlYXNvbhIrCglpbnZlbnRvcnkYAyABKAsyDS5kbWkuSGFyZHdhcmVSCWludmVudG9yeRIjCg1yZWFzb25fZGV0YWlsGAQgASgJUgxyZWFzb25EZXRhaWwiXgoGUmVhc29uEhQKEFVOREVGSU5FRF9SRUFTT04QABISCg5VTktOT1dOX0RFVklDRRABEhIKDklOVEVSTkFMX0VSUk9SEAISFgoSREVWSUNFX1VOUkVBQ0hBQkxFEAMioAEKGUhXQ29tcG9uZW50SW5mb0dldFJlcXVlc3QSKgoLZGV2aWNlX3V1aWQYASABKAsyCS5kbWkuVXVpZFIKZGV2aWNlVXVpZBIwCg5jb21wb25lbnRfdXVpZBgCIAEoCzIJLmRtaS5VdWlkUg1jb21wb25lbnRVdWlkEiUKDmNvbXBvbmVudF9uYW1lGAMgASgJUg1jb21wb25lbnROYW1lIssCChpIV0NvbXBvbmVudEluZm9HZXRSZXNwb25zZRIjCgZzdGF0dXMYASABKA4yCy5kbWkuU3RhdHVzUgZzdGF0dXMSPgoGcmVhc29uGAIgASgOMiYuZG1pLkhXQ29tcG9uZW50SW5mb0dldFJlc3BvbnNlLlJlYXNvblIGcmVhc29uEiwKCWNvbXBvbmVudBgDIAEoCzIOLmRtaS5Db21wb25lbnRSCWNvbXBvbmVudBIjCg1yZWFzb25fZGV0YWlsGAQgASgJUgxyZWFzb25EZXRhaWwidQoGUmVhc29uEhQKEFVOREVGSU5FRF9SRUFTT04QABISCg5VTktOT1dOX0RFVklDRRABEhUKEVVOS05PV05fQ09NUE9ORU5UEAISEgoOSU5URVJOQUxfRVJST1IQAxIWChJERVZJQ0VfVU5SRUFDSEFCTEUQBCLUAQoZSFdDb21wb25lbnRJbmZvU2V0UmVxdWVzdBIqCgtkZXZpY2VfdXVpZBgBIAEoCzIJLmRtaS5VdWlkUgpkZXZpY2VVdWlkEjAKDmNvbXBvbmVudF91dWlkGAIgASgLMgkuZG1pLlV1aWRSDWNvbXBvbmVudFV1aWQSJQoOY29tcG9uZW50X25hbWUYAyABKAlSDWNvbXBvbmVudE5hbWUSMgoHY2hhbmdlcxgEIAEoCzIYLmRtaS5Nb2RpZmlhYmxlQ29tcG9uZW50UgdjaGFuZ2VzIscCChpIV0NvbXBvbmVudEluZm9TZXRSZXNwb25zZRIjCgZzdGF0dXMYASABKA4yCy5kbWkuU3RhdHVzUgZzdGF0dXMSPgoGcmVhc29uGAIgASgOMiYuZG1pLkhXQ29tcG9uZW50SW5mb1NldFJlc3BvbnNlLlJlYXNvblIGcmVhc29uEiMKDXJlYXNvbl9kZXRhaWwYAyABKAlSDHJlYXNvbkRldGFpbCKeAQoGUmVhc29uEhQKEFVOREVGSU5FRF9SRUFTT04QABISCg5VTktOT1dOX0RFVklDRRABEhUKEVVOS05PV05fQ09NUE9ORU5UEAISEgoOSU5WQUxJRF9QQVJBTVMQAxISCg5JTlRFUk5BTF9FUlJPUhAEEhYKEkRFVklDRV9VTlJFQUNIQUJMRRAFEhMKD1NFVF9VTlNVUFBPUlRFRBAGIpEDChtTdGFydE1hbmFnaW5nRGV2aWNlUmVzcG9uc2USIwoGc3RhdHVzGAEgASgOMgsuZG1pLlN0YXR1c1IGc3RhdHVzEj8KBnJlYXNvbhgCIAEoDjInLmRtaS5TdGFydE1hbmFnaW5nRGV2aWNlUmVzcG9uc2UuUmVhc29uUgZyZWFzb24SKgoLZGV2aWNlX3V1aWQYAyABKAsyCS5kbWkuVXVpZFIKZGV2aWNlVXVpZBIjCg1yZWFzb25fZGV0YWlsGAQgASgJUgxyZWFzb25EZXRhaWwiugEKBlJlYXNvbhIUChBVTkRFRklORURfUkVBU09OEAASGgoWREVWSUNFX0FMUkVBRFlfTUFOQUdFRBABEiEKHU9QRVJBVElPTl9BTFJFQURZX0lOX1BST0dSRVNTEAISEgoOSU5WQUxJRF9QQVJBTVMQAxISCg5JTlRFUk5BTF9FUlJPUhAEEhoKFkFVVEhFTlRJQ0FUSU9OX0ZBSUxVUkUQBRIXChNJTkNPTVBBVElCTEVfREVWSUNFEAYiLwoZU3RvcE1hbmFnaW5nRGV2aWNlUmVxdWVzdBISCgRuYW1lGAEgASgJUgRuYW1lItoBChpTdG9wTWFuYWdpbmdEZXZpY2VSZXNwb25zZRIjCgZzdGF0dXMYASABKA4yCy5kbWkuU3RhdHVzUgZzdGF0dXMSPgoGcmVhc29uGAIgASgOMiYuZG1pLlN0b3BNYW5hZ2luZ0RldmljZVJlc3BvbnNlLlJlYXNvblIGcmVhc29uEiMKDXJlYXNvbl9kZXRhaWwYAyABKAlSDHJlYXNvbkRldGFpbCIyCgZSZWFzb24SFAoQVU5ERUZJTkVEX1JFQVNPThAAEhIKDlVOS05PV05fREVWSUNFEAEibQoRTWFuYWdlZERldmljZUluZm8SLAoEaW5mbxgBIAEoCzIYLmRtaS5Nb2RpZmlhYmxlQ29tcG9uZW50UgRpbmZvEioKC2RldmljZV91dWlkGAIgASgLMgkuZG1pLlV1aWRSCmRldmljZVV1aWQi3wEKFk1hbmFnZWREZXZpY2VzUmVzcG9uc2USIwoGc3RhdHVzGAEgASgOMgsuZG1pLlN0YXR1c1IGc3RhdHVzEjoKBnJlYXNvbhgCIAEoDjIiLmRtaS5NYW5hZ2VkRGV2aWNlc1Jlc3BvbnNlLlJlYXNvblIGcmVhc29uEjAKB2RldmljZXMYAyADKAsyFi5kbWkuTWFuYWdlZERldmljZUluZm9SB2RldmljZXMiMgoGUmVhc29uEhQKEFVOREVGSU5FRF9SRUFTT04QABISCg5JTlRFUk5BTF9FUlJPUhABIp0BChlTZXRMb2dnaW5nRW5kcG9pbnRSZXF1ZXN0EioKC2RldmljZV91dWlkGAEgASgLMgkuZG1pLlV1aWRSCmRldmljZVV1aWQSKQoQbG9nZ2luZ19lbmRwb2ludBgCIAEoCVIPbG9nZ2luZ0VuZHBvaW50EikKEGxvZ2dpbmdfcHJvdG9jb2wYAyABKAlSD2xvZ2dpbmdQcm90b2NvbCLhAgoZU2V0UmVtb3RlRW5kcG9pbnRSZXNwb25zZRIjCgZzdGF0dXMYASABKA4yCy5kbWkuU3RhdHVzUgZzdGF0dXMSPQoGcmVhc29uGAIgASgOMiUuZG1pLlNldFJlbW90ZUVuZHBvaW50UmVzcG9uc2UuUmVhc29uUgZyZWFzb24SIwoNcmVhc29uX2RldGFpbBgDIAEoCVIMcmVhc29uRGV0YWlsIroBCgZSZWFzb24SFAoQVU5ERUZJTkVEX1JFQVNPThAAEhIKDlVOS05PV05fREVWSUNFEAESEgoOSU5URVJOQUxfRVJST1IQAhIaChZMT0dHSU5HX0VORFBPSU5UX0VSUk9SEAMSIwofTE9HR0lOR19FTkRQT0lOVF9QUk9UT0NPTF9FUlJPUhAEEhkKFU1TR0JVU19FTkRQT0lOVF9FUlJPUhAFEhYKEkRFVklDRV9VTlJFQUNIQUJMRRAGItwCChpHZXRMb2dnaW5nRW5kcG9pbnRSZXNwb25zZRIjCgZzdGF0dXMYASABKA4yCy5kbWkuU3RhdHVzUgZzdGF0dXMSPgoGcmVhc29uGAIgASgOMiYuZG1pLkdldExvZ2dpbmdFbmRwb2ludFJlc3BvbnNlLlJlYXNvblIGcmVhc29uEikKEGxvZ2dpbmdfZW5kcG9pbnQYAyABKAlSD2xvZ2dpbmdFbmRwb2ludBIpChBsb2dnaW5nX3Byb3RvY29sGAQgASgJUg9sb2dnaW5nUHJvdG9jb2wSIwoNcmVhc29uX2RldGFpbBgFIAEoCVIMcmVhc29uRGV0YWlsIl4KBlJlYXNvbhIUChBVTkRFRklORURfUkVBU09OEAASEgoOVU5LTk9XTl9ERVZJQ0UQARISCg5JTlRFUk5BTF9FUlJPUhACEhYKEkRFVklDRV9VTlJFQUNIQUJMRRADIkMKGFNldE1zZ0J1c0VuZHBvaW50UmVxdWVzdBInCg9tc2didXNfZW5kcG9pbnQYASABKAlSDm1zZ2J1c0VuZHBvaW50IpkCChlHZXRNc2dCdXNFbmRwb2ludFJlc3BvbnNlEiMKBnN0YXR1cxgBIAEoDjILLmRtaS5TdGF0dXNSBnN0YXR1cxI9CgZyZWFzb24YAiABKA4yJS5kbWkuR2V0TXNnQnVzRW5kcG9pbnRSZXNwb25zZS5SZWFzb25SBnJlYXNvbhInCg9tc2didXNfZW5kcG9pbnQYAyABKAlSDm1zZ2J1c0VuZHBvaW50EiMKDXJlYXNvbl9kZXRhaWwYBCABKAlSDHJlYXNvbkRldGFpbCJKCgZSZWFzb24SFAoQVU5ERUZJTkVEX1JFQVNPThAAEhIKDklOVEVSTkFMX0VSUk9SEAESFgoSREVWSUNFX1VOUkVBQ0hBQkxFEAIiWQoQRW50aXRpZXNMb2dMZXZlbBIpCghsb2dMZXZlbBgBIAEoDjINLmRtaS5Mb2dMZXZlbFIIbG9nTGV2ZWwSGgoIZW50aXRpZXMYAiADKAlSCGVudGl0aWVzInUKElNldExvZ0xldmVsUmVxdWVzdBIqCgtkZXZpY2VfdXVpZBgBIAEoCzIJLmRtaS5VdWlkUgpkZXZpY2VVdWlkEjMKCWxvZ2xldmVscxgCIAMoCzIVLmRtaS5FbnRpdGllc0xvZ0xldmVsUglsb2dsZXZlbHMivAIKE1NldExvZ0xldmVsUmVzcG9uc2USKgoLZGV2aWNlX3V1aWQYASABKAsyCS5kbWkuVXVpZFIKZGV2aWNlVXVpZBIjCgZzdGF0dXMYAiABKA4yCy5kbWkuU3RhdHVzUgZzdGF0dXMSNwoGcmVhc29uGAMgASgOMh8uZG1pLlNldExvZ0xldmVsUmVzcG9uc2UuUmVhc29uUgZyZWFzb24SIwoNcmVhc29uX2RldGFpbBgEIAEoCVIMcmVhc29uRGV0YWlsInYKBlJlYXNvbhIUChBVTkRFRklORURfUkVBU09OEAASEgoOVU5LTk9XTl9ERVZJQ0UQARISCg5JTlRFUk5BTF9FUlJPUhACEhYKElVOS05PV05fTE9HX0VOVElUWRADEhYKEkRFVklDRV9VTlJFQUNIQUJMRRAEIlwKEkdldExvZ0xldmVsUmVxdWVzdBIqCgtkZXZpY2VfdXVpZBgBIAEoCzIJLmRtaS5VdWlkUgpkZXZpY2VVdWlkEhoKCGVudGl0aWVzGAIgAygJUghlbnRpdGllcyLxAgoTR2V0TG9nTGV2ZWxSZXNwb25zZRIqCgtkZXZpY2VfdXVpZBgBIAEoCzIJLmRtaS5VdWlkUgpkZXZpY2VVdWlkEjMKCWxvZ0xldmVscxgCIAMoCzIVLmRtaS5FbnRpdGllc0xvZ0xldmVsUglsb2dMZXZlbHMSIwoGc3RhdHVzGAMgASgOMgsuZG1pLlN0YXR1c1IGc3RhdHVzEjcKBnJlYXNvbhgEIAEoDjIfLmRtaS5HZXRMb2dMZXZlbFJlc3BvbnNlLlJlYXNvblIGcmVhc29uEiMKDXJlYXNvbl9kZXRhaWwYBSABKAlSDHJlYXNvbkRldGFpbCJ2CgZSZWFzb24SFAoQVU5ERUZJTkVEX1JFQVNPThAAEhIKDlVOS05PV05fREVWSUNFEAESEgoOSU5URVJOQUxfRVJST1IQAhIWChJVTktOT1dOX0xPR19FTlRJVFkQAxIWChJERVZJQ0VfVU5SRUFDSEFCTEUQBCJIChpHZXRMb2dnYWJsZUVudGl0aWVzUmVxdWVzdBIqCgtkZXZpY2VfdXVpZBgBIAEoCzIJLmRtaS5VdWlkUgpkZXZpY2VVdWlkIjwKCUhlYXJ0YmVhdBIvChNoZWFydGJlYXRfc2lnbmF0dXJlGAEgASgHUhJoZWFydGJlYXRTaWduYXR1cmUiQQoTUmVib290RGV2aWNlUmVxdWVzdBIqCgtkZXZpY2VfdXVpZBgBIAEoCzIJLmRtaS5VdWlkUgpkZXZpY2VVdWlkIvoBChRSZWJvb3REZXZpY2VSZXNwb25zZRIjCgZzdGF0dXMYAyABKA4yCy5kbWkuU3RhdHVzUgZzdGF0dXMSOAoGcmVhc29uGAQgASgOMiAuZG1pLlJlYm9vdERldmljZVJlc3BvbnNlLlJlYXNvblIGcmVhc29uEiMKDXJlYXNvbl9kZXRhaWwYBSABKAlSDHJlYXNvbkRldGFpbCJeCgZSZWFzb24SFAoQVU5ERUZJTkVEX1JFQVNPThAAEhIKDlVOS05PV05fREVWSUNFEAESEgoOSU5URVJOQUxfRVJST1IQAhIWChJERVZJQ0VfVU5SRUFDSEFCTEUQAzKuCQoZTmF0aXZlSFdNYW5hZ2VtZW50U2VydmljZRJTChNTdGFydE1hbmFnaW5nRGV2aWNlEhguZG1pLk1vZGlmaWFibGVDb21wb25lbnQaIC5kbWkuU3RhcnRNYW5hZ2luZ0RldmljZVJlc3BvbnNlMAESVQoSU3RvcE1hbmFnaW5nRGV2aWNlEh4uZG1pLlN0b3BNYW5hZ2luZ0RldmljZVJlcXVlc3QaHy5kbWkuU3RvcE1hbmFnaW5nRGV2aWNlUmVzcG9uc2USSAoRR2V0TWFuYWdlZERldmljZXMSFi5nb29nbGUucHJvdG9idWYuRW1wdHkaGy5kbWkuTWFuYWdlZERldmljZXNSZXNwb25zZRJXChRHZXRQaHlzaWNhbEludmVudG9yeRIdLmRtaS5QaHlzaWNhbEludmVudG9yeVJlcXVlc3QaHi5kbWkuUGh5c2ljYWxJbnZlbnRvcnlSZXNwb25zZTABElcKEkdldEhXQ29tcG9uZW50SW5mbxIeLmRtaS5IV0NvbXBvbmVudEluZm9HZXRSZXF1ZXN0Gh8uZG1pLkhXQ29tcG9uZW50SW5mb0dldFJlc3BvbnNlMAESVQoSU2V0SFdDb21wb25lbnRJbmZvEh4uZG1pLkhXQ29tcG9uZW50SW5mb1NldFJlcXVlc3QaHy5kbWkuSFdDb21wb25lbnRJbmZvU2V0UmVzcG9uc2USVAoSU2V0TG9nZ2luZ0VuZHBvaW50Eh4uZG1pLlNldExvZ2dpbmdFbmRwb2ludFJlcXVlc3QaHi5kbWkuU2V0UmVtb3RlRW5kcG9pbnRSZXNwb25zZRJGChJHZXRMb2dnaW5nRW5kcG9pbnQSDy5kbWkuSGFyZHdhcmVJRBofLmRtaS5HZXRMb2dnaW5nRW5kcG9pbnRSZXNwb25zZRJSChFTZXRNc2dCdXNFbmRwb2ludBIdLmRtaS5TZXRNc2dCdXNFbmRwb2ludFJlcXVlc3QaHi5kbWkuU2V0UmVtb3RlRW5kcG9pbnRSZXNwb25zZRJLChFHZXRNc2dCdXNFbmRwb2ludBIWLmdvb2dsZS5wcm90b2J1Zi5FbXB0eRoeLmRtaS5HZXRNc2dCdXNFbmRwb2ludFJlc3BvbnNlElAKE0dldExvZ2dhYmxlRW50aXRpZXMSHy5kbWkuR2V0TG9nZ2FibGVFbnRpdGllc1JlcXVlc3QaGC5kbWkuR2V0TG9nTGV2ZWxSZXNwb25zZRJACgtTZXRMb2dMZXZlbBIXLmRtaS5TZXRMb2dMZXZlbFJlcXVlc3QaGC5kbWkuU2V0TG9nTGV2ZWxSZXNwb25zZRJACgtHZXRMb2dMZXZlbBIXLmRtaS5HZXRMb2dMZXZlbFJlcXVlc3QaGC5kbWkuR2V0TG9nTGV2ZWxSZXNwb25zZRI4Cg5IZWFydGJlYXRDaGVjaxIWLmdvb2dsZS5wcm90b2J1Zi5FbXB0eRoOLmRtaS5IZWFydGJlYXQSQwoMUmVib290RGV2aWNlEhguZG1pLlJlYm9vdERldmljZVJlcXVlc3QaGS5kbWkuUmVib290RGV2aWNlUmVzcG9uc2VCO1o5Z2l0aHViLmNvbS9vcGVuY29yZC9kZXZpY2UtbWFuYWdlbWVudC1pbnRlcmZhY2UvdjMvZ28vZG1pSqxjCgcSBQAAswIBCggKAQwSAwAAEgoICgEIEgMCAFAK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BAACABIDSwgdCg4KBwQGBAACAAESA0sIGAoOCgcEBgQAAgACEgNLGxwKrgEKBgQGBAACARIDTggjGp4BIERFVklDRV9BTFJFQURZX01BTkFHRUQgaXMgcmV0dXJuZWQgd2hlbiBTdGFydE1hbmFnaW5nRGV2aWNlIGlzIGNhbGxlZCBhZ2FpbiBmb3IgdGhlIHNhbWUgbmFtZSBBRlRFUiBhIHByZXZpb3VzbHkNCiBzdWNjZXNzZnVsIFN0YXJ0TWFuYWdpbmdEZXZpY2Ugb3BlcmF0aW9uDQoKDgoHBAYEAAIBARIDTggeCg4KBwQGBAACAQISA04hIgq3AQoGBAYEAAICEgNRCCoapwEgT1BFUkFUSU9OX0FMUkVBRFlfSU5fUFJPR1JFU1MgaXMgcmV0dXJuZWQgd2hlbiBTdGFydE1hbmFnaW5nRGV2aWNlIGlzIGNhbGxlZCBhZ2FpbiBmb3IgdGhlIHNhbWUgbmFtZSBCRUZPUkUNCiBhIHByZXZpb3VzIFN0YXJ0TWFuYWdpbmdEZXZpY2Ugb3BlcmF0aW9uIGhhcyBjb21wbGV0ZWQNCgoOCgcEBgQAAgIBEgNRCCUKDgoHBAYEAAICAhIDUSgpCg0KBgQGBAACAxIDUggbCg4KBwQGBAACAwESA1IIFgoOCgcEBgQAAgMCEgNSGRoKDQoGBAYEAAIEEgNTCBsKDgoHBAYEAAIEARIDUwgWCg4KBwQGBAACBAISA1MZGgq3AQoGBAYEAAIFEgNWCCMapwEgQVVUSEVOVElDQVRJT05fRkFJTFVSRSBpcyByZXR1cm5lZCB3aGVuIHRoZSBkZXZpY2UgbWFuYWdlbWVudCBzb2Z0d2FyZS9zZXJ2ZXIgaXMgbm90IGFibGUgdG8gY29ubmVjdCB0byB0aGUgdW5kZXJseWluZw0KIGhhcmR3YXJlIGJlY2F1c2Ugb2YgYXV0aGVudGljYXRpb24gZmFpbHVyZXMNCgoOCgcEBgQAAgUBEgNWCB4KDgoHBAYEAAIFAhIDViEiCpcBCgYEBgQAAgYSA1kIIBqHASBJTkNPTVBBVElCTEVfREVWSUNFIGlzIHJldHVybmVkIHdoZW4gdGhlcmUgaXMgYSBtaXNtYXRjaCBiZXR3ZWVuIHRoZSBkZXZpY2UgbWFuYWdlbWVudCBzb2Z0d2FyZS9zZXJ2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AgRIGiQgUGVyZm9ybXMgdGhlIHJlYm9vdCBvZiB0aGUgZGV2aWNlDQoKDQoFBgACDgESBLICCBQKDQoFBgACDgISBLICFSgKDQoFBgACDgMSBLICMkZiBnByb3RvMwqDRQohZG1pL2h3X21ldHJpY3NfbWdtdF9zZXJ2aWNlLnByb3RvEgNkbWkaEWRtaS9jb21tb25zLnByb3RvGgxkbWkvaHcucHJvdG8aG2dvb2dsZS9wcm90b2J1Zi9lbXB0eS5wcm90byKHAQoMTWV0cmljQ29uZmlnEi0KCW1ldHJpY19pZBgBIAEoDjIQLmRtaS5NZXRyaWNOYW1lc1IIbWV0cmljSWQSIwoNaXNfY29uZmlndXJlZBgCIAEoCFIMaXNDb25maWd1cmVkEiMKDXBvbGxfaW50ZXJ2YWwYAyABKA1SDHBvbGxJbnRlcnZhbCI8Cg1NZXRyaWNzQ29uZmlnEisKB21ldHJpY3MYASADKAsyES5kbWkuTWV0cmljQ29uZmlnUgdtZXRyaWNzIqYCChNMaXN0TWV0cmljc1Jlc3BvbnNlEiMKBnN0YXR1cxgBIAEoDjILLmRtaS5TdGF0dXNSBnN0YXR1cxI3CgZyZWFzb24YAiABKA4yHy5kbWkuTGlzdE1ldHJpY3NSZXNwb25zZS5SZWFzb25SBnJlYXNvbhIsCgdtZXRyaWNzGAMgASgLMhIuZG1pLk1ldHJpY3NDb25maWdSB21ldHJpY3MSIwoNcmVhc29uX2RldGFpbBgEIAEoCVIMcmVhc29uRGV0YWlsIl4KBlJlYXNvbhIUChBVTkRFRklORURfUkVBU09OEAASEgoOVU5LTk9XTl9ERVZJQ0UQARISCg5JTlRFUk5BTF9FUlJPUhACEhYKEkRFVklDRV9VTlJFQUNIQUJMRRADIrIBChtNZXRyaWNzQ29uZmlndXJhdGlvblJlcXVlc3QSKgoLZGV2aWNlX3V1aWQYASABKAsyCS5kbWkuVXVpZFIKZGV2aWNlVXVpZBIuCgdjaGFuZ2VzGAIgASgLMhIuZG1pLk1ldHJpY3NDb25maWdIAFIHY2hhbmdlcxIqChByZXNldF90b19kZWZhdWx0GAMgASgISABSDnJlc2V0VG9EZWZhdWx0QgsKCW9wZXJhdGlvbiK+AgocTWV0cmljc0NvbmZpZ3VyYXRpb25SZXNwb25zZRIjCgZzdGF0dXMYASABKA4yCy5kbWkuU3RhdHVzUgZzdGF0dXMSQAoGcmVhc29uGAIgASgOMiguZG1pLk1ldHJpY3NDb25maWd1cmF0aW9uUmVzcG9uc2UuUmVhc29uUgZyZWFzb24SIwoNcmVhc29uX2RldGFpbBgDIAEoCVIMcmVhc29uRGV0YWlsIpEBCgZSZWFzb24SFAoQVU5ERUZJTkVEX1JFQVNPThAAEhIKDlVOS05PV05fREVWSUNFEAESEgoOSU5URVJOQUxfRVJST1IQAhIdChlQT0xMX0lOVEVSVkFMX1VOU1VQUE9SVEVEEAMSEgoOSU5WQUxJRF9NRVRSSUMQBBIWChJERVZJQ0VfVU5SRUFDSEFCTEUQBSKVAQoOTWV0cmljTWV0YURhdGESKgoLZGV2aWNlX3V1aWQYASABKAsyCS5kbWkuVXVpZFIKZGV2aWNlVXVpZBIwCg5jb21wb25lbnRfdXVpZBgCIAEoCzIJLmRtaS5VdWlkUg1jb21wb25lbnRVdWlkEiUKDmNvbXBvbmVudF9uYW1lGAMgASgJUg1jb21wb25lbnROYW1lIqUBCgZNZXRyaWMSLQoJbWV0cmljX2lkGAEgASgOMhAuZG1pLk1ldHJpY05hbWVzUghtZXRyaWNJZBI8Cg9tZXRyaWNfbWV0YWRhdGEYAiABKAsyEy5kbWkuTWV0cmljTWV0YURhdGFSDm1ldHJpY01ldGFkYXRhEi4KBXZhbHVlGAMgASgLMhguZG1pLkNvbXBvbmVudFNlbnNvckRhdGFSBXZhbHVlInMKEEdldE1ldHJpY1JlcXVlc3QSMAoJbWV0YV9kYXRhGAEgASgLMhMuZG1pLk1ldHJpY01ldGFEYXRhUghtZXRhRGF0YRItCgltZXRyaWNfaWQYAiABKA4yEC5kbWkuTWV0cmljTmFtZXNSCG1ldHJpY0lkIsUCChFHZXRNZXRyaWNSZXNwb25zZRIjCgZzdGF0dXMYASABKA4yCy5kbWkuU3RhdHVzUgZzdGF0dXMSNQoGcmVhc29uGAIgASgOMh0uZG1pLkdldE1ldHJpY1Jlc3BvbnNlLlJlYXNvblIGcmVhc29uEiMKBm1ldHJpYxgDIAEoCzILLmRtaS5NZXRyaWNSBm1ldHJpYxIjCg1yZWFzb25fZGV0YWlsGAQgASgJUgxyZWFzb25EZXRhaWwiiQEKBlJlYXNvbhIUChBVTkRFRklORURfUkVBU09OEAASEgoOVU5LTk9XTl9ERVZJQ0UQARIVChFVTktOT1dOX0NPTVBPTkVOVBACEhIKDklOVEVSTkFMX0VSUk9SEAMSEgoOSU5WQUxJRF9NRVRSSUMQBBIWChJERVZJQ0VfVU5SRUFDSEFCTEUQBSrZBQoLTWV0cmljTmFtZXMSGQoVTUVUUklDX05BTUVfVU5ERUZJTkVEEAASFAoQTUVUUklDX0ZBTl9TUEVFRBABEhMKD01FVFJJQ19DUFVfVEVNUBBkEh8KG01FVFJJQ19DUFVfVVNBR0VfUEVSQ0VOVEFHRRBlEhwKF01FVFJJQ19UUkFOU0NFSVZFUl9URU1QEMgBEh8KGk1FVFJJQ19UUkFOU0NFSVZFUl9WT0xUQUdFEMkBEhwKF01FVFJJQ19UUkFOU0NFSVZFUl9CSUFTEMoBEiAKG01FVFJJQ19UUkFOU0NFSVZFUl9SWF9QT1dFUhDLARIgChtNRVRSSUNfVFJBTlNDRUlWRVJfVFhfUE9XRVIQzAESIgodTUVUUklDX1RSQU5TQ0VJVkVSX1dBVkVMRU5HVEgQzQESFQoQTUVUUklDX0RJU0tfVEVNUBCsAhIZChRNRVRSSUNfRElTS19DQVBBQ0lUWRCtAhIWChFNRVRSSUNfRElTS19VU0FHRRCuAhIhChxNRVRSSUNfRElTS19VU0FHRV9QRVJDRU5UQUdFEK8CEiYKIU1FVFJJQ19ESVNLX1JFQURfV1JJVEVfUEVSQ0VOVEFHRRCwAhIoCiNNRVRSSUNfRElTS19GQVVMVFlfQ0VMTFNfUEVSQ0VOVEFHRRCxAhIUCg9NRVRSSUNfUkFNX1RFTVAQkAMSGAoTTUVUUklDX1JBTV9DQVBBQ0lUWRCRAxIVChBNRVRSSUNfUkFNX1VTQUdFEJIDEiAKG01FVFJJQ19SQU1fVVNBR0VfUEVSQ0VOVEFHRRCTAxIVChBNRVRSSUNfUE9XRVJfTUFYEPQDEhcKEk1FVFJJQ19QT1dFUl9VU0FHRRD1AxIiCh1NRVRSSUNfUE9XRVJfVVNBR0VfUEVSQ0VOVEFHRRD2AxIiCh1NRVRSSUNfSU5ORVJfU1VSUk9VTkRJTkdfVEVNUBDYBDKxAgoeTmF0aXZlTWV0cmljc01hbmFnZW1lbnRTZXJ2aWNlEjgKC0xpc3RNZXRyaWNzEg8uZG1pLkhhcmR3YXJlSUQaGC5kbWkuTGlzdE1ldHJpY3NSZXNwb25zZRJhChpVcGRhdGVNZXRyaWNzQ29uZmlndXJhdGlvbhIgLmRtaS5NZXRyaWNzQ29uZmlndXJhdGlvblJlcXVlc3QaIS5kbWkuTWV0cmljc0NvbmZpZ3VyYXRpb25SZXNwb25zZRI6CglHZXRNZXRyaWMSFS5kbWkuR2V0TWV0cmljUmVxdWVzdBoWLmRtaS5HZXRNZXRyaWNSZXNwb25zZRI2Cg1TdHJlYW1NZXRyaWNzEhYuZ29vZ2xlLnByb3RvYnVmLkVtcHR5GgsuZG1pLk1ldHJpYzABQjtaOWdpdGh1Yi5jb20vb3BlbmNvcmQvZGV2aWNlLW1hbmFnZW1lbnQtaW50ZXJmYWNlL3YzL2dvL2RtaUrhLQoHEgUAAJ8BAQoICgEMEgMAABIKCAoBCBIDAgBQCgkKAggLEgMCAFAKCAoBAhIDAwAMCgkKAgMAEgMFABsKCQoCAwESAwYAFgoJCgIDAhIDBwAlCtgBCgIFABIEDgA1ATKOASBUaGUgbW9kZWwgdXNlZCB0byByZXByZXNlbnQgdGhlIGV2ZW50IGRhdGEgb24gdGhlIFNlbnNvckRhdGEgb2YgYSBjb21wb25lbnQgYXMgZGVzY3JpYmVkDQogaW4gUkZDODM0OCAoaHR0cHM6Ly90b29scy5pZXRmLm9yZy9odG1sL3JmYzgzNDgpDQoyOyBNYW5hZ2VtZW50IG9mIE1ldHJpY3MgYW5kIHByb3RvcyBmb3IgZW5jb2Rpbmcgb2YgTWV0cmljcw0KCgoKAwUAARIDDgUQCgsKBAUAAgASAw8EHgoMCgUFAAIAARIDDwQZCgwKBQUAAgACEgMPHB0KIwoEBQACARIDEgQZGhYgRkFOIHJlbGF0ZWQgbWV0cmljcw0KCgwKBQUAAgEBEgMSBBQKDAoFBQACAQISAxIXGAojCgQFAAICEgMVBBoaFiBDUFUgcmVsYXRlZCBtZXRyaWNzDQoKDAoFBQACAgESAxUEEwoMCgUFAAICAhIDFRYZCgsKBAUAAgMSAxYEJgoMCgUFAAIDARIDFgQfCgwKBQUAAgMCEgMWIiUKKwoEBQAC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bWFnZV9uYW1lGAEgASgJUglpbWFnZU5hbWUSGAoHdmVyc2lvbhgCIAEoCVIHdmVyc2lvbiKoAQoQSW1hZ2VJbmZvcm1hdGlvbhInCgVpbWFnZRgBIAEoCzIRLmRtaS5JbWFnZVZlcnNpb25SBWltYWdlEjAKFGltYWdlX2luc3RhbGxfc2NyaXB0GAIgASgJUhJpbWFnZUluc3RhbGxTY3JpcHQSGwoJaW1hZ2VfdXJsGAMgASgJUghpbWFnZVVybBIcCglzaGEyNTZzdW0YBSABKAlSCXNoYTI1NnN1bSKUBQoLSW1hZ2VTdGF0dXMSIwoGc3RhdHVzGAEgASgOMgsuZG1pLlN0YXR1c1IGc3RhdHVzEi8KBnJlYXNvbhgCIAEoDjIXLmRtaS5JbWFnZVN0YXR1cy5SZWFzb25SBnJlYXNvbhIxCgVzdGF0ZRgDIAEoDjIbLmRtaS5JbWFnZVN0YXR1cy5JbWFnZVN0YXRlUgVzdGF0ZRIgCgtkZXNjcmlwdGlvbhgEIAEoCVILZGVzY3JpcHRpb24SIwoNcmVhc29uX2RldGFpbBgFIAEoCVIMcmVhc29uRGV0YWlsItABCgpJbWFnZVN0YXRlEhMKD1VOREVGSU5FRF9TVEFURRAAEhEKDUNPUFlJTkdfSU1BR0UQARIUChBJTlNUQUxMSU5HX0lNQUdFEAISFAoQQ09NTUlUVElOR19JTUFHRRADEhQKEFJFQk9PVElOR19ERVZJQ0UQBBIUChBVUEdSQURFX0NPTVBMRVRFEAUSEgoOVVBHUkFERV9GQUlMRUQQBhIXChNBQ1RJVkFUSU9OX0NPTVBMRVRFEAcSFQoRQUNUSVZBVElPTl9GQUlMRUQQCCLhAQoGUmVhc29uEhQKEFVOREVGSU5FRF9SRUFTT04QABIUChBFUlJPUl9JTl9SRVFVRVNUEAESEgoOSU5URVJOQUxfRVJST1IQAhIZChVERVZJQ0VfSU5fV1JPTkdfU1RBVEUQAxIRCg1JTlZBTElEX0lNQUdFEAQSGAoUV1JPTkdfSU1BR0VfQ0hFQ0tTVU0QBRIhCh1PUEVSQVRJT05fQUxSRUFEWV9JTl9QUk9HUkVTUxAGEhIKDlVOS05PV05fREVWSUNFEAcSGAoUREVWSUNFX05PVF9SRUFDSEFCTEUQCEI7WjlnaXRodWIuY29t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CgoMCgUEAgIAARIDNgsRCgwKBQQCAgADEgM2FRYKCwoEBAICARIDNwQWCg0KBQQCAgEEEgQ3BDYXCgwKBQQCAgEGEgM3BAoKDAoFBAICAQESAzcLEQoMCgUEAgIBAxIDNxQVCgsKBAQCAgISAzgEGQoNCgUEAgICBBIEOAQ3FgoMCgUEAgICBhIDOAQOCgwKBQQCAgIBEgM4DxQKDAoFBAICAgMSAzgXGAp2CgQEAgIDEgM6BBsaaSBkZXNjcmlwdGlvbiBjb250YWlucyBtb3JlIGluZm9ybWF0aW9uIGFib3V0IHRoZSBjdXJyZW50IHN0YXRlIG9mIHRoZSBwcm9jZWR1cmUgYW5kIGlzIGRldmljZSBkZXBlbmRhbnQNCgoNCgUEAgIDBBIEOgQ4GQoMCgUEAgIDBRIDOgQKCgwKBQQCAgMBEgM6CxYKDAoFBAICAwMSAzoZGgoLCgQEAgIEEgM7BB0KDQoFBAICBAQSBDsEOhsKDAoFBAICBAUSAzsECgoMCgUEAgIEARIDOwsYCgwKBQQCAgQDEgM7GxxiBnByb3RvMwqsNAofZG1pL3N3X21hbmFnZW1lbnRfc2VydmljZS5wcm90bxIDZG1pGhFkbWkvY29tbW9ucy5wcm90bxoMZG1pL2h3LnByb3RvGhJkbWkvc3dfaW1hZ2UucHJvdG8ilgEKGlNvZnR3YXJlVmVyc2lvbkluZm9ybWF0aW9uEjoKD2FjdGl2ZV92ZXJzaW9ucxgBIAMoCzIRLmRtaS5JbWFnZVZlcnNpb25SDmFjdGl2ZVZlcnNpb25zEjwKEHN0YW5kYnlfdmVyc2lvbnMYAiADKAsyES5kbWkuSW1hZ2VWZXJzaW9uUg9zdGFuZGJ5VmVyc2lvbnMi0QIKJUdldFNvZnR3YXJlVmVyc2lvbkluZm9ybWF0aW9uUmVzcG9uc2USIwoGc3RhdHVzGAEgASgOMgsuZG1pLlN0YXR1c1IGc3RhdHVzEkkKBnJlYXNvbhgCIAEoDjIxLmRtaS5HZXRTb2Z0d2FyZVZlcnNpb25JbmZvcm1hdGlvblJlc3BvbnNlLlJlYXNvblIGcmVhc29uEjMKBGluZm8YAyABKAsyHy5kbWkuU29mdHdhcmVWZXJzaW9uSW5mb3JtYXRpb25SBGluZm8SIwoNcmVhc29uX2RldGFpbBgEIAEoCVIMcmVhc29uRGV0YWlsIl4KBlJlYXNvbhIUChBVTkRFRklORURfUkVBU09OEAASEgoOVU5LTk9XTl9ERVZJQ0UQARISCg5JTlRFUk5BTF9FUlJPUhACEhYKEkRFVklDRV9VTlJFQUNIQUJMRRADIngKFERvd25sb2FkSW1hZ2VSZXF1ZXN0EioKC2RldmljZV91dWlkGAEgASgLMgkuZG1pLlV1aWRSCmRldmljZVV1aWQSNAoKaW1hZ2VfaW5mbxgCIAEoCzIVLmRtaS5JbWFnZUluZm9ybWF0aW9uUglpbWFnZUluZm8iWgoNQ29uZmlnUmVxdWVzdBIqCgtkZXZpY2VfdXVpZBgBIAEoCzIJLmRtaS5VdWlkUgpkZXZpY2VVdWlkEh0KCmNvbmZpZ191cmwYAiABKAlSCWNvbmZpZ1VybCLBAgoOQ29uZmlnUmVzcG9uc2USIwoGc3RhdHVzGAEgASgOMgsuZG1pLlN0YXR1c1IGc3RhdHVzEjIKBnJlYXNvbhgCIAEoDjIaLmRtaS5Db25maWdSZXNwb25zZS5SZWFzb25SBnJlYXNvbhIjCg1yZWFzb25fZGV0YWlsGAMgASgJUgxyZWFzb25EZXRhaWwisAEKBlJlYXNvbhIUChBVTkRFRklORURfUkVBU09OEAASEgoOVU5LTk9XTl9ERVZJQ0UQARISCg5JTlRFUk5BTF9FUlJPUhACEhkKFUVSUk9SX0ZFVENISU5HX0NPTkZJRxADEhIKDklOVkFMSURfQ09ORklHEAQSIQodT1BFUkFUSU9OX0FMUkVBRFlfSU5fUFJPR1JFU1MQBRIWChJERVZJQ0VfVU5SRUFDSEFCTEUQBiJGChhTdGFydHVwQ29uZmlnSW5mb1JlcXVlc3QSKgoLZGV2aWNlX3V1aWQYASABKAsyCS5kbWkuVXVpZFIKZGV2aWNlVXVpZCK9AgoZU3RhcnR1cENvbmZpZ0luZm9SZXNwb25zZRIjCgZzdGF0dXMYASABKA4yCy5kbWkuU3RhdHVzUgZzdGF0dXMSPQoGcmVhc29uGAIgASgOMiUuZG1pLlN0YXJ0dXBDb25maWdJbmZvUmVzcG9uc2UuUmVhc29uUgZyZWFzb24SHQoKY29uZmlnX3VybBgDIAEoCVIJY29uZmlnVXJsEhgKB3ZlcnNpb24YBCABKAlSB3ZlcnNpb24SIwoNcmVhc29uX2RldGFpbBgFIAEoCVIMcmVhc29uRGV0YWlsIl4KBlJlYXNvbhIUChBVTkRFRklORURfUkVBU09OEAASEgoOVU5LTk9XTl9ERVZJQ0UQARISCg5JTlRFUk5BTF9FUlJPUhACEhYKEkRFVklDRV9VTlJFQUNIQUJMRRADMs4DCh9OYXRpdmVTb2Z0d2FyZU1hbmFnZW1lbnRTZXJ2aWNlElEKEkdldFNvZnR3YXJlVmVyc2lvbhIPLmRtaS5IYXJkd2FyZUlEGiouZG1pLkdldFNvZnR3YXJlVmVyc2lvbkluZm9ybWF0aW9uUmVzcG9uc2USPgoNRG93bmxvYWRJbWFnZRIZLmRtaS5Eb3dubG9hZEltYWdlUmVxdWVzdBoQLmRtaS5JbWFnZVN0YXR1czABEjQKDUFjdGl2YXRlSW1hZ2USDy5kbWkuSGFyZHdhcmVJRBoQLmRtaS5JbWFnZVN0YXR1czABEjsKFFJldmVydFRvU3RhbmRieUltYWdlEg8uZG1pLkhhcmR3YXJlSUQaEC5kbWkuSW1hZ2VTdGF0dXMwARJHChpVcGRhdGVTdGFydHVwQ29uZmlndXJhdGlvbhISLmRtaS5Db25maWdSZXF1ZXN0GhMuZG1pLkNvbmZpZ1Jlc3BvbnNlMAESXAobR2V0U3RhcnR1cENvbmZpZ3VyYXRpb25JbmZvEh0uZG1pLlN0YXJ0dXBDb25maWdJbmZvUmVxdWVzdBoeLmRtaS5TdGFydHVwQ29uZmlnSW5mb1Jlc3BvbnNlQjtaOWdpdGh1Yi5jb20vb3BlbmNvcmQvZGV2aWNlLW1hbmFnZW1lbnQtaW50ZXJmYWNlL3YzL2dvL2RtaUqpJAoGEgQAAGwBCggKAQwSAwAAEgoICgEIEgMCAFAKCQoCCAsSAwIAUAoICgECEgMDAAwKCQoCAwASAwUAGwoJCgIDARIDBgAWCgkKAgMCEgMHABwK7gEKAgQAEgQPABIBMqcBIFRoZSBzb2Z0d2FyZSBtYW5hZ2VtZW50IGNvbmNlcHQgZGVzY3JpYmVkIGhlcmUgaXMgYWxpZ25lZCB3aXRoIFdULTM4M2EzIChSZXZpc2lvbjogMDYgQXByaWwgMjAyMCkuDQogSW4gcGFydGljdWxhciBTZWN0aW9uIDExIFNvZnR3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