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QnVmZmVycyAtIEdvb2dsZSdzIGRhdGEgaW50ZXJjaGFuZ2UgZm9ybWF0CiBDb3B5cmlnaHQgMjAwOCBHb29nbGUgSW5jLiAgQWxsIHJpZ2h0cyByZXNlcnZlZC4KIGh0dHBzOi8vZGV2ZWxvcGVycy5nb29nbGUuY29tL3Byb3RvY29sLWJ1ZmZlcnMvCgogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlCiBtZXQ6CgogICAgICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KICAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUKIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIKIGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUKIGRpc3RyaWJ1dGlvbi4KICAgICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgR29vZ2xlIEluYy4gbm9yIHRoZSBuYW1lcyBvZiBpdHMKIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0byBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tCiB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLgoKIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMKICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UCiBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IKIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUCiBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwKIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QKIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLAogREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZCiBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCgoICgECEgMgABgKCAoBCBIDIgA7CgkKAgglEgMiADsKCAoBCBIDIwAfCgkKAggfEgMjAB8KCAoBCBIDJABCCgkKAggLEgMkAEIKCAoBCBIDJQAsCgkKAggBEgMlACwKCAoBCBIDJgAvCgkKAggIEgMmAC8KCAoBCBIDJwAiCgkKAggKEgMnACIKCAoBCBIDKAAhCgkKAggkEgMoACEK8RsKAgQAEgV8AIgBARrjGyBBIFRpbWVzdGFtcCByZXByZXNlbnRzIGEgcG9pbnQgaW4gdGltZSBpbmRlcGVuZGVudCBvZiBhbnkgdGltZSB6b25lIG9yIGxvY2FsCiBjYWxlbmRhciwgZW5jb2RlZCBhcyBhIGNvdW50IG9mIHNlY29uZHMgYW5kIGZyYWN0aW9ucyBvZiBzZWNvbmRzIGF0CiBuYW5vc2Vjb25kIHJlc29sdXRpb24uIFRoZSBjb3VudCBpcyByZWxhdGl2ZSB0byBhbiBlcG9jaCBhdCBVVEMgbWlkbmlnaHQgb24KIEphbnVhcnkgMSwgMTk3MCwgaW4gdGhlIHByb2xlcHRpYyBHcmVnb3JpYW4gY2FsZW5kYXIgd2hpY2ggZXh0ZW5kcyB0aGUKIEdyZWdvcmlhbiBjYWxlbmRhciBiYWNrd2FyZHMgdG8geWVhciBvbmUuCgogQWxsIG1pbnV0ZXMgYXJlIDYwIHNlY29uZHMgbG9uZy4gTGVhcCBzZWNvbmRzIGFyZSAic21lYXJlZCIgc28gdGhhdCBubyBsZWFwCiBzZWNvbmQgdGFibGUgaXMgbmVlZGVkIGZvciBpbnRlcnByZXRhdGlvbiwgdXNpbmcgYSBbMjQtaG91ciBsaW5lYXIKIHNtZWFyXShodHRwczovL2RldmVsb3BlcnMuZ29vZ2xlLmNvbS90aW1lL3NtZWFyKS4KCiBUaGUgcmFuZ2UgaXMgZnJvbSAwMDAxLTAxLTAxVDAwOjAwOjAwWiB0byA5OTk5LTEyLTMxVDIzOjU5OjU5Ljk5OTk5OTk5OVouIEJ5CiByZXN0cmljdGluZyB0byB0aGF0IHJhbmdlLCB3ZSBlbnN1cmUgdGhhdCB3ZSBjYW4gY29udmVydCB0byBhbmQgZnJvbSBbUkZDCiAzMzM5XShodHRwczovL3d3dy5pZXRmLm9yZy9yZmMvcmZjMzMzOS50eHQpIGRhdGUgc3RyaW5ncy4KCiAjIEV4YW1wbGVzCgogRXhhbXBsZSAxOiBDb21wdXRlIFRpbWVzdGFtcCBmcm9tIFBPU0lYIGB0aW1lKClgLgoKICAgICBUaW1lc3RhbXAgdGltZXN0YW1wOwogICAgIHRpbWVzdGFtcC5zZXRfc2Vjb25kcyh0aW1lKE5VTEwpKTsKICAgICB0aW1lc3RhbXAuc2V0X25hbm9zKDApOwoKIEV4YW1wbGUgMjogQ29tcHV0ZSBUaW1lc3RhbXAgZnJvbSBQT1NJWCBgZ2V0dGltZW9mZGF5KClgLgoKICAgICBzdHJ1Y3QgdGltZXZhbCB0djsKICAgICBnZXR0aW1lb2ZkYXkoJnR2LCBOVUxMKTsKCiAgICAgVGltZXN0YW1wIHRpbWVzdGFtcDsKICAgICB0aW1lc3RhbXAuc2V0X3NlY29uZHModHYudHZfc2VjKTsKICAgICB0aW1lc3RhbXAuc2V0X25hbm9zKHR2LnR2X3VzZWMgKiAxMDAwKTsKCiBFeGFtcGxlIDM6IENvbXB1dGUgVGltZXN0YW1wIGZyb20gV2luMzIgYEdldFN5c3RlbVRpbWVBc0ZpbGVUaW1lKClgLgoKICAgICBGSUxFVElNRSBmdDsKICAgICBHZXRTeXN0ZW1UaW1lQXNGaWxlVGltZSgmZnQpOwogICAgIFVJTlQ2NCB0aWNrcyA9ICgoKFVJTlQ2NClmdC5kd0hpZ2hEYXRlVGltZSkgPDwgMzIpIHwgZnQuZHdMb3dEYXRlVGltZTsKCiAgICAgLy8gQSBXaW5kb3dzIHRpY2sgaXMgMTAwIG5hbm9zZWNvbmRzLiBXaW5kb3dzIGVwb2NoIDE2MDEtMDEtMDFUMDA6MDA6MDBaCiAgICAgLy8gaXMgMTE2NDQ0NzM2MDAgc2Vjb25kcyBiZWZvcmUgVW5peCBlcG9jaCAxOTcwLTAxLTAxVDAwOjAwOjAwWi4KICAgICBUaW1lc3RhbXAgdGltZXN0YW1wOwogICAgIHRpbWVzdGFtcC5zZXRfc2Vjb25kcygoSU5UNjQpICgodGlja3MgLyAxMDAwMDAwMCkgLSAxMTY0NDQ3MzYwMExMKSk7CiAgICAgdGltZXN0YW1wLnNldF9uYW5vcygoSU5UMzIpICgodGlja3MgJSAxMDAwMDAwMCkgKiAxMDApKTsKCiBFeGFtcGxlIDQ6IENvbXB1dGUgVGltZXN0YW1wIGZyb20gSmF2YSBgU3lzdGVtLmN1cnJlbnRUaW1lTWlsbGlzKClgLgoKICAgICBsb25nIG1pbGxpcyA9IFN5c3RlbS5jdXJyZW50VGltZU1pbGxpcygpOwoKICAgICBUaW1lc3RhbXAgdGltZXN0YW1wID0gVGltZXN0YW1wLm5ld0J1aWxkZXIoKS5zZXRTZWNvbmRzKG1pbGxpcyAvIDEwMDApCiAgICAgICAgIC5zZXROYW5vcygoaW50KSAoKG1pbGxpcyAlIDEwMDApICogMTAwMDAwMCkpLmJ1aWxkKCk7CgoKIEV4YW1wbGUgNTogQ29tcHV0ZSBUaW1lc3RhbXAgZnJvbSBjdXJyZW50IHRpbWUgaW4gUHl0aG9uLgoKICAgICB0aW1lc3RhbXAgPSBUaW1lc3RhbXAoKQogICAgIHRpbWVzdGFtcC5HZXRDdXJyZW50VGltZSgpCgogIyBKU09OIE1hcHBpbmcKCiBJbiBKU09OIGZvcm1hdCwgdGhlIFRpbWVzdGFtcCB0eXBlIGlzIGVuY29kZWQgYXMgYSBzdHJpbmcgaW4gdGhlCiBbUkZDIDMzMzldKGh0dHBzOi8vd3d3LmlldGYub3JnL3JmYy9yZmMzMzM5LnR4dCkgZm9ybWF0LiBUaGF0IGlzLCB0aGUKIGZvcm1hdCBpcyAie3llYXJ9LXttb250aH0te2RheX1Ue2hvdXJ9OnttaW59OntzZWN9Wy57ZnJhY19zZWN9XVoiCiB3aGVyZSB7eWVhcn0gaXMgYWx3YXlzIGV4cHJlc3NlZCB1c2luZyBmb3VyIGRpZ2l0cyB3aGlsZSB7bW9udGh9LCB7ZGF5fSwKIHtob3VyfSwge21pbn0sIGFuZCB7c2VjfSBhcmUgemVyby1wYWRkZWQgdG8gdHdvIGRpZ2l0cyBlYWNoLiBUaGUgZnJhY3Rpb25hbAogc2Vjb25kcywgd2hpY2ggY2FuIGdvIHVwIHRvIDkgZGlnaXRzIChpLmUuIHVwIHRvIDEgbmFub3NlY29uZCByZXNvbHV0aW9uKSwKIGFyZSBvcHRpb25hbC4gVGhlICJaIiBzdWZmaXggaW5kaWNhdGVzIHRoZSB0aW1lem9uZSAoIlVUQyIpOyB0aGUgdGltZXpvbmUKIGlzIHJlcXVpcmVkLiBBIHByb3RvMyBKU09OIHNlcmlhbGl6ZXIgc2hvdWxkIGFsd2F5cyB1c2UgVVRDIChhcyBpbmRpY2F0ZWQgYnkKICJaIikgd2hlbiBwcmludGluZyB0aGUgVGltZXN0YW1wIHR5cGUgYW5kIGEgcHJvdG8zIEpTT04gcGFyc2VyIHNob3VsZCBiZQogYWJsZSB0byBhY2NlcHQgYm90aCBVVEMgYW5kIG90aGVyIHRpbWV6b25lcyAoYXMgaW5kaWNhdGVkIGJ5IGFuIG9mZnNldCkuCgogRm9yIGV4YW1wbGUsICIyMDE3LTAxLTE1VDAxOjMwOjE1LjAxWiIgZW5jb2RlcyAxNS4wMSBzZWNvbmRzIHBhc3QKIDAxOjMwIFVUQyBvbiBKYW51YXJ5IDE1LCAyMDE3LgoKIEluIEphdmFTY3JpcHQsIG9uZSBjYW4gY29udmVydCBhIERhdGUgb2JqZWN0IHRvIHRoaXMgZm9ybWF0IHVzaW5nIHRoZQogc3RhbmRhcmQgW3RvSVNPU3RyaW5nKCldKGh0dHBzOi8vZGV2ZWxvcGVyLm1vemlsbGEub3JnL2VuLVVTL2RvY3MvV2ViL0phdmFTY3JpcHQvUmVmZXJlbmNlL0dsb2JhbF9PYmplY3RzL0RhdGUvdG9JU09TdHJpbmcpCiBtZXRob2QuIEluIFB5dGhvbiwgYSBzdGFuZGFyZCBgZGF0ZXRpbWUuZGF0ZXRpbWVgIG9iamVjdCBjYW4gYmUgY29udmVydGVkCiB0byB0aGlzIGZvcm1hdCB1c2luZyBbYHN0cmZ0aW1lYF0oaHR0cHM6Ly9kb2NzLnB5dGhvbi5vcmcvMi9saWJyYXJ5L3RpbWUuaHRtbCN0aW1lLnN0cmZ0aW1lKQogd2l0aCB0aGUgdGltZSBmb3JtYXQgc3BlYyAnJVktJW0tJWRUJUg6JU06JVMuJWZaJy4gTGlrZXdpc2UsIGluIEphdmEsIG9uZQogY2FuIHVzZSB0aGUgSm9kYSBUaW1lJ3MgW2BJU09EYXRlVGltZUZvcm1hdC5kYXRlVGltZSgpYF0oCiBodHRwOi8vd3d3LmpvZGEub3JnL2pvZGEtdGltZS9hcGlkb2NzL29yZy9qb2RhL3RpbWUvZm9ybWF0L0lTT0RhdGVUaW1lRm9ybWF0Lmh0bWwjZGF0ZVRpbWUlMkQlMkQKICkgdG8gb2J0YWluIGEgZm9ybWF0dGVyIGNhcGFibGUgb2YgZ2VuZXJhdGluZyB0aW1lc3RhbXBzIGluIHRoaXMgZm9ybWF0LgoKCgoKCgMEAAESA3wIEQqdAQoEBAACABIEgQECFBqOASBSZXByZXNlbnRzIHNlY29uZHMgb2YgVVRDIHRpbWUgc2luY2UgVW5peCBlcG9jaAogMTk3MC0wMS0wMVQwMDowMDowMFouIE11c3QgYmUgZnJvbSAwMDAxLTAxLTAxVDAwOjAwOjAwWiB0bwogOTk5OS0xMi0zMVQyMzo1OTo1OVogaW5jbHVzaXZlLgoKDgoFBAACAAQSBYEBAnwTCg0KBQQAAgAFEgSBAQIHCg0KBQQAAgABEgSBAQgPCg0KBQQAAgADEgSBARITCuUBCgQEAAIBEgSHAQISGtYBIE5vbi1uZWdhdGl2ZSBmcmFjdGlvbnMgb2YgYSBzZWNvbmQgYXQgbmFub3NlY29uZCByZXNvbHV0aW9uLiBOZWdhdGl2ZQogc2Vjb25kIHZhbHVlcyB3aXRoIGZyYWN0aW9ucyBtdXN0IHN0aWxsIGhhdmUgbm9uLW5lZ2F0aXZlIG5hbm9zIHZhbHVlcwogdGhhdCBjb3VudCBmb3J3YXJkIGluIHRpbWUuIE11c3QgYmUgZnJvbSAwIHRvIDk5OSw5OTksOTk5CiBpbmNsdXNpdmUuCgoPCgUEAAIBBBIGhwECgQEUCg0KBQQAAgEFEgSHAQIHCg0KBQQAAgEBEgSHAQgNCg0KBQQAAgEDEgSHARARYgZwcm90bzMK3WQKDGRtaS9ody5wcm90bxIDZG1pGh9nb29nbGUvcHJvdG9idWYvdGltZXN0YW1wLnByb3RvIhoKBFV1aWQSEgoEdXVpZBgBIAEoCVIEdXVpZCIrCgpIYXJkd2FyZUlEEh0KBHV1aWQYASABKAsyCS5kbWkuVXVpZFIEdXVpZCIXCgNVcmkSEAoDdXJpGAEgASgJUgN1cmkihAMKDkNvbXBvbmVudFN0YXRlEkgKEnN0YXRlX2xhc3RfY2hhbmdlZBgBIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXBSEHN0YXRlTGFzdENoYW5nZWQSOQoLYWRtaW5fc3RhdGUYAiABKA4yGC5kbWkuQ29tcG9uZW50QWRtaW5TdGF0ZVIKYWRtaW5TdGF0ZRI2CgpvcGVyX3N0YXRlGAMgASgOMhcuZG1pLkNvbXBvbmVudE9wZXJTdGF0ZVIJb3BlclN0YXRlEjkKC3VzYWdlX3N0YXRlGAQgASgOMhguZG1pLkNvbXBvbmVudFVzYWdlU3RhdGVSCnVzYWdlU3RhdGUSOQoLYWxhcm1fc3RhdGUYBSABKA4yGC5kbWkuQ29tcG9uZW50QWxhcm1TdGF0ZVIKYWxhcm1TdGF0ZRI/Cg1zdGFuZGJ5X3N0YXRlGAYgASgOMhouZG1pLkNvbXBvbmVudFN0YW5kYnlTdGF0ZVIMc3RhbmRieVN0YXRlIvMCChNDb21wb25lbnRTZW5zb3JEYXRhEhQKBXZhbHVlGAEgASgFUgV2YWx1ZRIoCgR0eXBlGAIgASgOMhQuZG1pLlNlbnNvclZhbHVlVHlwZVIEdHlwZRIrCgVzY2FsZRgDIAEoDjIVLmRtaS5TZW5zb3JWYWx1ZVNjYWxlUgVzY2FsZRIcCglwcmVjaXNpb24YBCABKAVSCXByZWNpc2lvbhIpCgZzdGF0dXMYBSABKA4yES5kbWkuU2Vuc29yU3RhdHVzUgZzdGF0dXMSIwoNdW5pdHNfZGlzcGxheRgGIAEoCVIMdW5pdHNEaXNwbGF5EjgKCXRpbWVzdGFtcBgHIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXBSCXRpbWVzdGFtcBIqChF2YWx1ZV91cGRhdGVfcmF0ZRgIIAEoDVIPdmFsdWVVcGRhdGVSYXRlEhsKCWRhdGFfdHlwZRgJIAEoCVIIZGF0YVR5cGUitwUKCUNvbXBvbmVudBISCgRuYW1lGAEgASgJUgRuYW1lEigKBWNsYXNzGAIgASgOMhIuZG1pLkNvbXBvbmVudFR5cGVSBWNsYXNzEiAKC2Rlc2NyaXB0aW9uGAMgASgJUgtkZXNjcmlwdGlvbhIWCgZwYXJlbnQYBCABKAlSBnBhcmVudBIkCg5wYXJlbnRfcmVsX3BvcxgFIAEoBVIMcGFyZW50UmVsUG9zEioKCGNoaWxkcmVuGAYgAygLMg4uZG1pLkNvbXBvbmVudFIIY2hpbGRyZW4SIQoMaGFyZHdhcmVfcmV2GAcgASgJUgtoYXJkd2FyZVJldhIhCgxmaXJtd2FyZV9yZXYYCCABKAlSC2Zpcm13YXJlUmV2EiEKDHNvZnR3YXJlX3JldhgJIAEoCVILc29mdHdhcmVSZXYSHQoKc2VyaWFsX251bRgKIAEoCVIJc2VyaWFsTnVtEhkKCG1mZ19uYW1lGAsgASgJUgdtZmdOYW1lEh0KCm1vZGVsX25hbWUYDCABKAlSCW1vZGVsTmFtZRIUCgVhbGlhcxgNIAEoCVIFYWxpYXMSGQoIYXNzZXRfaWQYDiABKAlSB2Fzc2V0SWQSFQoGaXNfZnJ1GA8gASgIUgVpc0ZydRI1CghtZmdfZGF0ZRgQIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXBSB21mZ0RhdGUSGgoDdXJpGBEgASgLMgguZG1pLlVyaVIDdXJpEh0KBHV1aWQYEiABKAsyCS5kbWkuVXVpZFIEdXVpZBIpCgVzdGF0ZRgTIAEoCzITLmRtaS5Db21wb25lbnRTdGF0ZVIFc3RhdGUSOQoLc2Vuc29yX2RhdGEYFCADKAsyGC5kbWkuQ29tcG9uZW50U2Vuc29yRGF0YVIKc2Vuc29yRGF0YSJrCghIYXJkd2FyZRI7CgtsYXN0X2NoYW5nZRgBIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXBSCmxhc3RDaGFuZ2USIgoEcm9vdBgCIAEoCzIOLmRtaS5Db21wb25lbnRSBHJvb3QiqQIKE01vZGlmaWFibGVDb21wb25lbnQSEgoEbmFtZRgBIAEoCVIEbmFtZRIoCgVjbGFzcxgCIAEoDjISLmRtaS5Db21wb25lbnRUeXBlUgVjbGFzcxImCgZwYXJlbnQYAyABKAsyDi5kbWkuQ29tcG9uZW50UgZwYXJlbnQSJAoOcGFyZW50X3JlbF9wb3MYBCABKAVSDHBhcmVudFJlbFBvcxIUCgVhbGlhcxgFIAEoCVIFYWxpYXMSGQoIYXNzZXRfaWQYBiABKAlSB2Fzc2V0SWQSGgoDdXJpGAcgASgLMgguZG1pLlVyaVIDdXJpEjkKC2FkbWluX3N0YXRlGAggASgOMhguZG1pLkNvbXBvbmVudEFkbWluU3RhdGVSCmFkbWluU3RhdGUqgQQKDUNvbXBvbmVudFR5cGUSHAoYQ09NUE9ORU5UX1RZUEVfVU5ERUZJTkVEEAASGgoWQ09NUE9ORU5UX1RZUEVfVU5LTk9XThABEhoKFkNPTVBPTkVOVF9UWVBFX0NIQVNTSVMQAhIcChhDT01QT05FTlRfVFlQRV9CQUNLUExBTkUQAxIcChhDT01QT05FTlRfVFlQRV9DT05UQUlORVIQBBIfChtDT01QT05FTlRfVFlQRV9QT1dFUl9TVVBQTFkQBRIWChJDT01QT05FTlRfVFlQRV9GQU4QBhIZChVDT01QT05FTlRfVFlQRV9TRU5TT1IQBxIZChVDT01QT05FTlRfVFlQRV9NT0RVTEUQCBIXChNDT01QT05FTlRfVFlQRV9QT1JUEAkSFgoSQ09NUE9ORU5UX1RZUEVfQ1BVEAoSGgoWQ09NUE9ORU5UX1RZUEVfQkFUVEVSWRALEhoKFkNPTVBPTkVOVF9UWVBFX1NUT1JBR0UQDBIZChVDT01QT05FTlRfVFlQRV9NRU1PUlkQDRIeChpDT01QT05FTlRfVFlQRV9UUkFOU0NFSVZFUhAOEiMKH0NPTVBPTkVOVF9UWVBFX0dQT05fVFJBTlNDRUlWRVIQDxImCiJDT01QT05FTlRfVFlQRV9YR1NfUE9OX1RSQU5TQ0VJVkVSEBAqswEKE0NvbXBvbmVudEFkbWluU3RhdGUSHgoaQ09NUF9BRE1JTl9TVEFURV9VTkRFRklORUQQABIcChhDT01QX0FETUlOX1NUQVRFX1VOS05PV04QARIbChdDT01QX0FETUlOX1NUQVRFX0xPQ0tFRBACEiIKHkNPTVBfQURNSU5fU1RBVEVfU0hVVFRJTkdfRE9XThADEh0KGUNPTVBfQURNSU5fU1RBVEVfVU5MT0NLRUQQBCqoAQoSQ29tcG9uZW50T3BlclN0YXRlEh0KGUNPTVBfT1BFUl9TVEFURV9VTkRFRklORUQQABIbChdDT01QX09QRVJfU1RBVEVfVU5LTk9XThABEhwKGENPTVBfT1BFUl9TVEFURV9ESVNBQkxFRBACEhsKF0NPTVBfT1BFUl9TVEFURV9FTkFCTEVEEAMSGwoXQ09NUF9PUEVSX1NUQVRFX1RFU1RJTkcQBCqmAQoTQ29tcG9uZW50VXNhZ2VTdGF0ZRIeChpDT01QX1VTQUdFX1NUQVRFX1VOREVGSU5FRBAAEhwKGENPTVBfVVNBR0VfU1RBVEVfVU5LTk9XThABEhkKFUNPTVBfVVNBR0VfU1RBVEVfSURMRRACEhsKF0NPTVBfVVNBR0VfU1RBVEVfQUNUSVZFEAMSGQoVQ09NUF9VU0FHRV9TVEFURV9CVVNZEAQqjgIKE0NvbXBvbmVudEFsYXJtU3RhdGUSHgoaQ09NUF9BTEFSTV9TVEFURV9VTkRFRklORUQQABIcChhDT01QX0FMQVJNX1NUQVRFX1VOS05PV04QARIhCh1DT01QX0FMQVJNX1NUQVRFX1VOREVSX1JFUEFJUhACEh0KGUNPTVBfQUxBUk1fU1RBVEVfQ1JJVElDQUwQAxIaChZDT01QX0FMQVJNX1NUQVRFX01BSk9SEAQSGgoWQ09NUF9BTEFSTV9TVEFURV9NSU5PUhAFEhwKGENPTVBfQUxBUk1fU1RBVEVfV0FSTklORxAGEiEKHUNPTVBfQUxBUk1fU1RBVEVfSU5URVJNRURJQVRFEAcqvAEKFUNvbXBvbmVudFN0YW5kYnlTdGF0ZRIgChxDT01QX1NUQU5EQllfU1RBVEVfVU5ERUZJTkVEEAASHgoaQ09NUF9TVEFOREJZX1NUQVRFX1VOS05PV04QARIaChZDT01QX1NUQU5EQllfU1RBVEVfSE9UEAISGwoXQ09NUF9TVEFOREJZX1NUQVRFX0NPTEQQAxIoCiRDT01QX1NUQU5EQllfU1RBVEVfUFJPVklESU5HX1NFUlZJQ0UQBCqhAwoPU2Vuc29yVmFsdWVUeXBlEh8KG1NFTlNPUl9WQUxVRV9UWVBFX1VOREVGSU5FRBAAEhsKF1NFTlNPUl9WQUxVRV9UWVBFX09USEVSEAESHQoZU0VOU09SX1ZBTFVFX1RZUEVfVU5LTk9XThACEh4KGlNFTlNPUl9WQUxVRV9UWVBFX1ZPTFRTX0FDEAMSHgoaU0VOU09SX1ZBTFVFX1RZUEVfVk9MVFNfREMQBBIdChlTRU5TT1JfVkFMVUVfVFlQRV9BTVBFUkVTEAUSGwoXU0VOU09SX1ZBTFVFX1RZUEVfV0FUVFMQBhIbChdTRU5TT1JfVkFMVUVfVFlQRV9IRVJUWhAHEh0KGVNFTlNPUl9WQUxVRV9UWVBFX0NFTFNJVVMQCBIgChxTRU5TT1JfVkFMVUVfVFlQRV9QRVJDRU5UX1JIEAkSGQoVU0VOU09SX1ZBTFVFX1RZUEVfUlBNEAoSGQoVU0VOU09SX1ZBTFVFX1RZUEVfQ01NEAsSIQodU0VOU09SX1ZBTFVFX1RZUEVfVFJVVEhfVkFMVUUQDCqoBAoQU2Vuc29yVmFsdWVTY2FsZRIgChxTRU5TT1JfVkFMVUVfU0NBTEVfVU5ERUZJTkVEEAASHAoYU0VOU09SX1ZBTFVFX1NDQUxFX1lPQ1RPEAESHAoYU0VOU09SX1ZBTFVFX1NDQUxFX1pFUFRPEAISGwoXU0VOU09SX1ZBTFVFX1NDQUxFX0FUVE8QAxIcChhTRU5TT1JfVkFMVUVfU0NBTEVfRkVNVE8QBBIbChdTRU5TT1JfVkFMVUVfU0NBTEVfUElDTxAFEhsKF1NFTlNPUl9WQUxVRV9TQ0FMRV9OQU5PEAYSHAoYU0VOU09SX1ZBTFVFX1NDQUxFX01JQ1JPEAcSHAoYU0VOU09SX1ZBTFVFX1NDQUxFX01JTExJEAgSHAoYU0VOU09SX1ZBTFVFX1NDQUxFX1VOSVRTEAkSGwoXU0VOU09SX1ZBTFVFX1NDQUxFX0tJTE8QChIbChdTRU5TT1JfVkFMVUVfU0NBTEVfTUVHQRALEhsKF1NFTlNPUl9WQUxVRV9TQ0FMRV9HSUdBEAwSGwoXU0VOU09SX1ZBTFVFX1NDQUxFX1RFUkEQDRIbChdTRU5TT1JfVkFMVUVfU0NBTEVfUEVUQRAOEhoKFlNFTlNPUl9WQUxVRV9TQ0FMRV9FWEEQDxIcChhTRU5TT1JfVkFMVUVfU0NBTEVfWkVUVEEQEBIcChhTRU5TT1JfVkFMVUVfU0NBTEVfWU9UVEEQESqCAQoMU2Vuc29yU3RhdHVzEhsKF1NFTlNPUl9TVEFUVVNfVU5ERUZJTkVEEAASFAoQU0VOU09SX1NUQVRVU19PSxABEh0KGVNFTlNPUl9TVEFUVVNfVU5BVkFJTEFCTEUQAhIgChxTRU5TT1JfU1RBVFVTX05PTk9QRVJBVElPTkFMEANCO1o5Z2l0aHViLmNvbS9vcGVuY29yZC9kZXZpY2UtbWFuYWdlbWVudC1pbnRlcmZhY2UvdjMvZ28vZG1pSv0/CgcSBQAAxAEBCggKAQwSAwAAEgoICgEIEgMCAFAKCQoCCAsSAwIAUAoICgECEgMDAAwKCQoCAwASAwUAKQppCgIEABIECQALATJdIFRoZSBtb2RlbCB1c2VkIHRvIHJlcHJlc2VudCBhIEhXIGlzIGJhc2VkIG9uIFJGQzgzNDggKGh0dHBzOi8vdG9vbHMuaWV0Zi5vcmcvaHRtbC9yZmM4MzQ4KQ0KCgoKAwQAARIDCQgMCgsKBAQAAgASAwoEFAoNCgUEAAIABBIECgQJDgoMCgUEAAIABRIDCgQKCgwKBQQAAgABEgMKCw8KDAoFBAACAAMSAwoSEwoKCgIEARIEDQAPAQoKCgMEAQESAw0IEgoLCgQEAQIAEgMOBBIKDQoFBAECAAQSBA4EDRQKDAoFBAECAAYSAw4ECAoMCgUEAQIAARIDDgkNCgwKBQQBAgADEgMOEBEKCgoCBAISBBEAEwEKCgoDBAIBEgMRCAsKCwoEBAICABIDEgQTCg0KBQQCAgAEEgQSBBENCgwKBQQCAgAFEgMSBAoKDAoFBAICAAESAxILDgoMCgUEAgIAAxIDEhESCgoKAgUAEgQVACcBCgoKAwUAARIDFQUSCgsKBAUAAgASAxYEIQoMCgUFAAIAARIDFgQcCgwKBQUAAgACEgMWHyAKCwoEBQACARIDFwQfCgwKBQUAAgEBEgMXBBoKDAoFBQACAQISAxcdHgoLCgQFAAICEgMYBB8KDAoFBQACAgESAxgEGgoMCgUFAAICAhIDGB0eCgsKBAUAAgMSAxkEIQoMCgUFAAIDARIDGQQcCgwKBQUAAgMCEgMZHyAKCwoEBQACBBIDGgQhCgwKBQUAAgQBEgMaBBwKDAoFBQACBAISAxofIAoLCgQFAAIFEgMbBCQKDAoFBQACBQESAxsEHwoMCgUFAAIFAhIDGyIjCgsKBAUAAgYSAxwEGwoMCgUFAAIGARIDHAQWCgwKBQUAAgYCEgMcGRoKCwoEBQACBxIDHQQeCgwKBQUAAgcBEgMdBBkKDAoFBQACBwISAx0cHQoLCgQFAAIIEgMeBB4KDAoFBQACCAESAx4EGQoMCgUFAAIIAhIDHhwdCgsKBAUAAgkSAx8EHAoMCgUFAAIJARIDHwQXCgwKBQUAAgkCEgMfGhsKCwoEBQACChIDIAQcCgwKBQUAAgoBEgMgBBYKDAoFBQACCgISAyAZGwoLCgQFAAILEgMhBCAKDAoFBQACCwESAyEEGgoMCgUFAAILAhIDIR0fCgsKBAUAAgwSAyIEIAoMCgUFAAIMARIDIgQaCgwKBQUAAgwCEgMiHR8KCwoEBQACDRIDIwQfCgwKBQUAAg0BEgMjBBkKDAoFBQACDQISAyMcHgoLCgQFAAIOEgMkBCQKDAoFBQACDgESAyQEHgoMCgUFAAIOAhIDJCEjCgsKBAUAAg8SAyUEKQoMCgUFAAIPARIDJQQjCgwKBQUAAg8CEgMlJigKCwoEBQACEBIDJgQsCgwKBQUAAhABEgMmBCYKDAoFBQACEAISAyYpKwoKCgIFARIEKQAvAQoKCgMFAQESAykFGAoLCgQFAQIAEgMqBCMKDAoFBQECAAESAyoEHgoMCgUFAQIAAhIDKiEiCgsKBAUBAgESAysEIQoMCgUFAQIBARIDKwQcCgwKBQUBAgECEgMrHyAKCwoEBQECAhIDLAQgCgwKBQUBAgIBEgMsBBsKDAoFBQECAgISAyweHwoLCgQFAQIDEgMtBCcKDAoFBQECAwESAy0EIgoMCgUFAQIDAhIDLSUmCgsKBAUBAgQSAy4EIgoMCgUFAQIEARIDLgQdCgwKBQUBAgQCEgMuICEKCgoCBQISBDEANwEKCgoDBQIBEgMxBRcKCwoEBQICABIDMgQiCgwKBQUCAgABEgMyBB0KDAoFBQICAAISAzIgIQoLCgQFAgIBEgMzBCAKDAoFBQICAQESAzMEGwoMCgUFAgIBAhIDMx4fCgsKBAUCAgISAzQEIQoMCgUFAgICARIDNAQcCgwKBQUCAgICEgM0HyAKCwoEBQICAxIDNQQgCgwKBQUCAgMBEgM1BBsKDAoFBQICAwISAzUeHwoLCgQFAgIEEgM2BCAKDAoFBQICBAESAzYEGwoMCgUFAgIEAhIDNh4fCgoKAgUDEgQ5AD8BCgoKAwUDARIDOQUYCgsKBAUDAgASAzoEIwoMCgUFAwIAARIDOgQeCgwKBQUDAgACEgM6ISIKCwoEBQMCARIDOwQhCgwKBQUDAgEBEgM7BBwKDAoFBQMCAQISAzsfIAoLCgQFAwICEgM8BB4KDAoFBQMCAgESAzwEGQoMCgUFAwICAhIDPBwdCgsKBAUDAgMSAz0EIAoMCgUFAwIDARIDPQQbCgwKBQUDAgMCEgM9Hh8KCwoEBQMCBBIDPgQeCgwKBQUDAgQBEgM+BBkKDAoFBQMCBAISAz4cHQoKCgIFBBIEQQBKAQoKCgMFBAESA0EFGAoLCgQFBAIAEgNCBCMKDAoFBQQCAAESA0IEHgoMCgUFBAIAAhIDQiEiCgsKBAUEAgESA0MEIQoMCgUFBAIBARIDQwQcCgwKBQUEAgECEgNDHyAKCwoEBQQCAhIDRAQlCgwKBQUEAgIBEgNEBCEKDAoFBQQCAgISA0QjJAoLCgQFBAIDEgNFBCIKDAoFBQQCAwESA0UEHQoMCgUFBAIDAhIDRSAhCgsKBAUEAgQSA0YEHwoMCgUFBAIEARIDRgQaCgwKBQUEAgQCEgNGHR4KCwoEBQQCBRIDRwQfCgwKBQUEAgUBEgNHBBoKDAoFBQQCBQISA0cdHgoLCgQFBAIGEgNIBCEKDAoFBQQCBgESA0gEHAoMCgUFBAIGAhIDSB8gCgsKBAUEAgcSA0kEJgoMCgUFBAIHARIDSQQhCgwKBQUEAgcCEgNJJCUKCgoCBQUSBEwAUgEKCgoDBQUBEgNMBRoKCwoEBQUCABIDTQQlCgwKBQUFAgABEgNNBCAKDAoFBQUCAAISA00jJAoLCgQFBQIBEgNOBCMKDAoFBQUCAQESA04EHgoMCgUFBQIBAhIDTiEiCgsKBAUFAgISA08EHwoMCgUFBQICARIDTwQaCgwKBQUFAgICEgNPHR4KCwoEBQUCAxIDUAQgCgwKBQUFAgMBEgNQBBsKDAoFBQUCAwISA1AeHwoLCgQFBQIEEgNRBC0KDAoFBQUCBAESA1EEKAoMCgUFBQIEAhIDUSssCgoKAgQDEgRUAFsBCgoKAwQDARIDVAgWCgsKBAQDAgASA1UENQoNCgUEAwIABBIEVQRUGAoMCgUEAwIABhIDVQQdCgwKBQQDAgABEgNVHjAKDAoFBAMCAAMSA1UzNAoLCgQEAwIBEgNWBCgKDQoFBAMCAQQSBFYEVTUKDAoFBAMCAQYSA1YEFwoMCgUEAwIBARIDVhgjCgwKBQQDAgEDEgNWJicKCwoEBAMCAhIDVwQmCg0KBQQDAgIEEgRXBFYoCgwKBQQDAgIGEgNXBBYKDAoFBAMCAgESA1cXIQoMCgUEAwICAxIDVyQlCgsKBAQDAgMSA1gEKAoNCgUEAwIDBBIEWARXJgoMCgUEAwIDBhIDWAQXCgwKBQQDAgMBEgNYGCMKDAoFBAMCAwMSA1gmJwoLCgQEAwIEEgNZBCgKDQoFBAMCBAQSBFkEWCgKDAoFBAMCBAYSA1kEFwoMCgUEAwIEARIDWRgjCgwKBQQDAgQDEgNZJicKCwoEBAMCBRIDWgQsCg0KBQQDAgUEEgRaBFkoCgwKBQQDAgUGEgNaBBkKDAoFBAMCBQESA1oaJwoMCgUEAwIFAxIDWiorCgoKAgUGEgRdAGsBCgoKAwUGARIDXQUUCgsKBAUGAgASA14EJAoMCgUFBgIAARIDXgQfCgwKBQUGAgACEgNeIiMKCwoEBQYCARIDXwQgCgwKBQUGAgEBEgNfBBsKDAoFBQYCAQISA18eHwoLCgQFBgICEgNgBCIKDAoFBQYCAgESA2AEHQoMCgUFBgICAhIDYCAhCgsKBAUGAgMSA2EEIwoMCgUFBgIDARIDYQQeCgwKBQUGAgMCEgNhISIKCwoEBQYCBBIDYgQjCgwKBQUGAgQBEgNiBB4KDAoFBQYCBAISA2IhIgoLCgQFBgIFEgNjBCIKDAoFBQYCBQESA2MEHQoMCgUFBgIFAhIDYyAhCgsKBAUGAgYSA2QEIAoMCgUFBgIGARIDZAQbCgwKBQUGAgYCEgNkHh8KCwoEBQYCBxIDZQQgCgwKBQUGAgcBEgNlBBsKDAoFBQYCBwISA2UeHwoLCgQFBgIIEgNmBCIKDAoFBQYCCAESA2YEHQoMCgUFBgIIAhIDZiAhCgsKBAUGAgkSA2cEJQoMCgUFBgIJARIDZwQgCgwKBQUGAgkCEgNnIyQKCwoEBQYCChIDaAQfCgwKBQUGAgoBEgNoBBkKDAoFBQYCCgISA2gcHgoLCgQFBgILEgNpBB8KDAoFBQYCCwESA2kEGQoMCgUFBgILAhIDaRweCgsKBAUGAgwSA2oEJwoMCgUFBgIMARIDagQhCgwKBQUGAgwCEgNqJCYKCwoCBQcSBW0AgAEBCgoKAwUHARIDbQUVCgsKBAUHAgASA24EJQoMCgUFBwIAARIDbgQgCgwKBQUHAgACEgNuIyQKCwoEBQcCARIDbwQhCgwKBQUHAgEBEgNvBBwKDAoFBQcCAQISA28fIAoLCgQFBwICEgNwBCEKDAoFBQcCAgESA3AEHAoMCgUFBwICAhIDcB8gCgsKBAUHAgMSA3EEIAoMCgUFBwIDARIDcQQbCgwKBQUHAgMCEgNxHh8KCwoEBQcCBBIDcgQhCgwKBQUHAgQBEgNyBBwKDAoFBQcCBAISA3IfIAoLCgQFBwIFEgNzBCAKDAoFBQcCBQESA3MEGwoMCgUFBwIFAhIDcx4fCgsKBAUHAgYSA3QEIAoMCgUFBwIGARIDdAQbCgwKBQUHAgYCEgN0Hh8KCwoEBQcCBxIDdQQhCgwKBQUHAgcBEgN1BBwKDAoFBQcCBwISA3UfIAoLCgQFBwIIEgN2BCEKDAoFBQcCCAESA3YEHAoMCgUFBwIIAhIDdh8gCgsKBAUHAgkSA3cEIQoMCgUFBwIJARIDdwQcCgwKBQUHAgkCEgN3HyAKCwoEBQcCChIDeAQhCgwKBQUHAgoBEgN4BBsKDAoFBQcCCgISA3geIAoLCgQFBwILEgN5BCEKDAoFBQcCCwESA3kEGwoMCgUFBwILAhIDeR4gCgsKBAUHAgwSA3oEIQoMCgUFBwIMARIDegQbCgwKBQUHAgwCEgN6HiAKCwoEBQcCDRIDewQhCgwKBQUHAg0BEgN7BBsKDAoFBQcCDQISA3seIAoLCgQFBwIOEgN8BCEKDAoFBQcCDgESA3wEGwoMCgUFBwIOAhIDfB4gCgsKBAUHAg8SA30EIAoMCgUFBwIPARIDfQQaCgwKBQUHAg8CEgN9HR8KCwoEBQcCEBIDfgQiCgwKBQUHAhABEgN+BBwKDAoFBQcCEAISA34fIQoLCgQFBwIREgN/BCEKDAoFBQcCEQESA38EHAoMCgUFBwIRAhIDfx4gCgwKAgUIEgaCAQCHAQEKCwoDBQgBEgSCAQURCgwKBAUIAgASBIMBBCAKDQoFBQgCAAESBIMBBBsKDQoFBQgCAAISBIMBHh8KDAoEBQgCARIEhAEEGQoNCgUFCAIBARIEhAEEFAoNCgUFCAIBAhIEhAEXGAoMCgQFCAICEgSFAQQiCg0KBQUIAgIBEgSFAQQdCg0KBQUIAgICEgSFASAhCgwKBAUIAgMSBIYBBCUKDQoFBQgCAwESBIYBBCAKDQoFBQgCAwISBIYBIyQKDAoCBAQSBokBAJQBAQoLCgMEBAESBIkBCBsKDAoEBAQCABIEigEEFAoPCgUEBAIABBIGigEEiQEdCg0KBQQEAgAFEgSKAQQJCg0KBQQEAgABEgSKAQoPCg0KBQQEAgADEgSKARITCgwKBAQEAgESBIsBBB0KDwoFBAQCAQQSBosBBIoBFAoNCgUEBAIBBhIEiwEEEwoNCgUEBAIBARIEiwEUGAoNCgUEBAIBAxIEiwEbHAoMCgQEBAICEgSMAQQfCg8KBQQEAgIEEgaMAQSLAR0KDQoFBAQCAgYSBIwBBBQKDQoFBAQCAgESBIwBFRoKDQoFBAQCAgMSBIwBHR4KDAoEBAQCAxIEjQEEGAoPCgUEBAIDBBIGjQEEjAEfCg0KBQQEAgMFEgSNAQQJCg0KBQQEAgMBEgSNAQoTCg0KBQQEAgMDEgSNARYXCgwKBAQEAgQSBI4BBBwKDwoFBAQCBAQSBo4BBI0BGAoNCgUEBAIEBhIEjgEEEAoNCgUEBAIEARIEjgERFwoNCgUEBAIEAxIEjgEaGwoMCgQEBAIFEgSPAQQdCg8KBQQEAgUEEgaPAQSOARwKDQoFBAQCBQUSBI8BBAoKDQoFBAQCBQESBI8BCxgKDQoFBAQCBQMSBI8BGxwKDAoEBAQCBhIEkAEELAoPCgUEBAIGBBIGkAEEjwEdCg0KBQQEAgYGEgSQAQQdCg0KBQQEAgYBEgSQAR4nCg0KBQQEAgYDEgSQASorCgwKBAQEAgcSBJEBBCEKDwoFBAQCBwQSBpEBBJABLAoNCgUEBAIHBRIEkQEECgoNCgUEBAIHARIEkQELHAoNCgUEBAIHAxIEkQEfIApnCgQEBAIIEgSTAQQZGlkgZGF0YV90eXBlIGNhbiBiZSBvZiB0aGUgc3RyaW5nIHJlcHJlc2VudGF0aW9uIG9mIE1ldHJpY05hbWVzIG9yIHNvbWV0aGluZyBlbHNlIGFzIHdlbGwNCgoPCgUEBAIIBBIGkwEEkQEhCg0KBQQEAggFEgSTAQQKCg0KBQQEAggBEgSTAQsUCg0KBQQEAggDEgSTARcYCgwKAgQFEgaWAQCuAQEKCwoDBAUBEgSWAQgRCl0KBAQFAgASBJgBBBQaTyBUaGUgbmFtZSBvZiBhIGNvbXBvbmVudCB1bmlxdWVseSBpZGVudGlmaWVzIGFuIGNvbXBvbmVudCB3aXRoaW4gdGhlIEhhcmR3YXJlDQoKDwoFBAUCAAQSBpgBBJYBEwoNCgUEBQIABRIEmAEECgoNCgUEBQIAARIEmAELDwoNCgUEBQIAAxIEmAESEwoMCgQEBQIBEgSZAQQcCg8KBQQFAgEEEgaZAQSYARQKDQoFBAUCAQYSBJkBBBEKDQoFBAUCAQESBJkBEhcKDQoFBAUCAQMSBJkBGhsKDAoEBAUCAhIEmgEEGwoPCgUEBQICBBIGmgEEmQEcCg0KBQQFAgIFEgSaAQQKCg0KBQQFAgIBEgSaAQsWCg0KBQQFAgIDEgSaARkaCmEKBAQFAgMSBJwBBBYaUyBUaGUgbmFtZSBvZiB0aGUgcGFyZW50IG9mIHRoaXMgY29tcG9uZW50LCBlbXB0eSAiIiBpbiBjYXNlIG9mIHRoZSByb290IGNvbXBvbmVudA0KCg8KBQQFAgMEEgacAQSaARsKDQoFBAUCAwUSBJwBBAoKDQoFBAUCAwESBJwBCxEKDQoFBAUCAwMSBJwBFBUKDAoEBAUCBBIEnQEEHQoPCgUEBQIEBBIGnQEEnAEWCg0KBQQFAgQFEgSdAQQJCg0KBQQFAgQBEgSdAQoYCg0KBQQFAgQDEgSdARscCgwKBAQFAgUSBJ4BBCQKDQoFBAUCBQQSBJ4BBAwKDQoFBAUCBQYSBJ4BDRYKDQoFBAUCBQESBJ4BFx8KDQoFBAUCBQMSBJ4BIiMKDAoEBAUCBhIEnwEEHAoPCgUEBQIGBBIGnwEEngEkCg0KBQQFAgYFEgSfAQQKCg0KBQQFAgYBEgSfAQsXCg0KBQQFAgYDEgSfARobCgwKBAQFAgcSBKABBBwKDwoFBAUCBwQSBqABBJ8BHAoNCgUEBQIHBRIEoAEECgoNCgUEBQIHARIEoAELFwoNCgUEBQIHAxIEoAEaGwoMCgQEBQIIEgShAQQcCg8KBQQFAggEEgahAQSgARwKDQoFBAUCCAUSBKEBBAoKDQoFBAUCCAESBKEBCxcKDQoFBAUCCAMSBKEBGhsKDAoEBAUCCRIEogEEGwoPCgUEBQIJBBIGogEEoQEcCg0KBQQFAgkFEgSiAQQKCg0KBQQFAgkBEgSiAQsVCg0KBQQFAgkDEgSiARgaCgwKBAQFAgoSBKMBBBkKDwoFBAUCCgQSBqMBBKIBGwoNCgUEBQIKBRIEowEECgoNCgUEBQIKARIEowELEwoNCgUEBQIKAxIEowEWGAoMCgQEBQILEgSkAQQbCg8KBQQFAgsEEgakAQSjARkKDQoFBAUCCwUSBKQBBAoKDQoFBAUCCwESBKQBCxUKDQoFBAUCCwMSBKQBGBoKDAoEBAUCDBIEpQEEFgoPCgUEBQIMBBIGpQEEpAEbCg0KBQQFAgwFEgSlAQQKCg0KBQQFAgwBEgSlAQsQCg0KBQQFAgwDEgSlARMVCgwKBAQFAg0SBKYBBBkKDwoFBAUCDQQSBqYBBKUBFgoNCgUEBQINBRIEpgEECgoNCgUEBQINARIEpgELEwoNCgUEBQINAxIEpgEWGAoMCgQEBQIOEgSnAQQVCg8KBQQFAg4EEganAQSmARkKDQoFBAUCDgUSBKcBBAgKDQoFBAUCDgESBKcBCQ8KDQoFBAUCDgMSBKcBEhQKDAoEBAUCDxIEqAEELAoPCgUEBQIPBBIGqAEEpwEVCg0KBQQFAg8GEgSoAQQdCg0KBQQFAg8BEgSoAR4mCg0KBQQFAg8DEgSoASkrCgwKBAQFAhASBKkBBBEKDwoFBAUCEAQSBqkBBKgBLAoNCgUEBQIQBhIEqQEEBwoNCgUEBQIQARIEqQEICwoNCgUEBQIQAxIEqQEOEAplCgQEBQIREgSrAQQSGlcgVGhlIHV1aWQgb2YgdGhlIGNvbXBvbmVudCB1bmlxdWVseSBpZGVudGlmaWVzIHRoZSBjb21wb25lbnQgYWNyb3NzIHRoZSBlbnRpcmUgc3lzdGVtDQoKDwoFBAUCEQQSBqsBBKkBEQoNCgUEBQIRBhIEqwEECAoNCgUEBQIRARIEqwEJDQoNCgUEBQIRAxIEqwEPEQoMCgQEBQISEgSsAQQeCg8KBQQFAhIEEgasAQSrARIKDQoFBAUCEgYSBKwBBBIKDQoFBAUCEgESBKwBExgKDQoFBAUCEgMSBKwBGx0KDAoEBAUCExIErQEEMgoNCgUEBQITBBIErQEEDAoNCgUEBQITBhIErQENIAoNCgUEBQITARIErQEhLAoNCgUEBQITAxIErQEvMQoMCgIEBhIGsAEAtgEBCgsKAwQGARIEsAEIEAoMCgQEBgIAEgSxAQQuCg8KBQQGAgAEEgaxAQSwARIKDQoFBAYCAAYSBLEBBB0KDQoFBAYCAAESBLEBHikKDQoFBAYCAAMSBLEBLC0KsAEKBAQGAgESBLQBBBcaiAEgRWFjaCBIVyBoYXMgb25lIHBhcmVudC9yb290IGFuZCBhbGwgb3RoZXIgY29tcG9uZW50cyBhcmUgY2hpbGRyZW4gb2YgdGhpcw0KIFRoZSBjbGFzcyBvZiB0aGUgcm9vdCBjb21wb25lbnQgd291bGQgYmUgc2V0IGFzIFVOREVGSU5FRA0KIhcgVE9ETzogQXV0aGV0aWNhdGlvbj8NCgoPCgUEBgIBBBIGtAEEsQEuCg0KBQQGAgEGEgS0AQQNCg0KBQQGAgEBEgS0AQ4SCg0KBQQGAgEDEgS0ARUWClgKAgQHEga5AQDEAQEaSiBUaGUgYXR0cmlidXRlcyBvZiBhIGNvbXBvbmVudCB3aGljaCBhcmUgbW9kaWZpYWJsZSBmcm9tIHRoZSBjbGllbnQgc2lkZQ0KCgsKAwQHARIEuQEIGwqXAQoEBAcCABIEvAEEFBqIASBUaGUgbmFtZSBoYXMgdG8gYmUgdW5pcXVlIGZvciBlYWNoIGNvbXBvbmVudCB3aXRoaW4gdGhlIGhhcmR3YXJlIGFuZCBpbXBsZW1lbnRhdGlvbnMgbmVlZCB0bw0KIGFzY2VydGFpbiB0aGlzIHdoZW4gbW9kaWZ5aW5nIHRoZSBuYW1lDQoKDwoFBAcCAAQSBrwBBLkBHQoNCgUEBwIABRIEvAEECgoNCgUEBwIAARIEvAELDwoNCgUEBwIAAxIEvAESEwoMCgQEBwIBEgS9AQQcCg8KBQQHAgEEEga9AQS8ARQKDQoFBAcCAQYSBL0BBBEKDQoFBAcCAQESBL0BEhcKDQoFBAcCAQMSBL0BGhsKDAoEBAcCAhIEvgEEGQoPCgUEBwICBBIGvgEEvQEcCg0KBQQHAgIGEgS+AQQNCg0KBQQHAgIBEgS+AQ4UCg0KBQQHAgIDEgS+ARcYCgwKBAQHAgMSBL8BBB0KDwoFBAcCAwQSBr8BBL4BGQoNCgUEBwIDBRIEvwEECQoNCgUEBwIDARIEvwEKGAoNCgUEBwIDAxIEvwEbHAoMCgQEBwIEEgTAAQQVCg8KBQQHAgQEEgbAAQS/AR0KDQoFBAcCBAUSBMABBAoKDQoFBAcCBAESBMABCxAKDQoFBAcCBAMSBMABExQKDAoEBAcCBRIEwQEEGAoPCgUEBwIFBBIGwQEEwAEVCg0KBQQHAgUFEgTBAQQKCg0KBQQHAgUBEgTBAQsTCg0KBQQHAgUDEgTBARYXCgwKBAQHAgYSBMIBBBAKDwoFBAcCBgQSBsIBBMEBGAoNCgUEBwIGBhIEwgEEBwoNCgUEBwIGARIEwgEICwoNCgUEBwIGAxIEwgEODwoMCgQEBwIHEgTDAQQoCg8KBQQHAgcEEgbDAQTCARAKDQoFBAcCBwYSBMMBBBcKDQoFBAcCBwESBMMBGCMKDQoFBAcCBwMSBMMBJidiBnByb3RvMwqFRQogZG1pL2h3X2V2ZW50c19tZ210X3NlcnZpY2UucHJvdG8SA2RtaRoRZG1pL2NvbW1vbnMucHJvdG8aDGRtaS9ody5wcm90bxofZ29vZ2xlL3Byb3RvYnVmL3RpbWVzdGFtcC5wcm90byJpCglWYWx1ZVR5cGUSGQoHaW50X3ZhbBgBIAEoA0gAUgZpbnRWYWwSGwoIdWludF92YWwYAiABKARIAFIHdWludFZhbBIdCglmbG9hdF92YWwYAyABKAJIAFIIZmxvYXRWYWxCBQoDdmFsIlIKCldhdGVyTWFya3MSIgoEaGlnaBgBIAEoCzIOLmRtaS5WYWx1ZVR5cGVSBGhpZ2gSIAoDbG93GAIgASgLMg4uZG1pLlZhbHVlVHlwZVIDbG93ImsKClRocmVzaG9sZHMSJwoFdXBwZXIYASABKAsyDy5kbWkuV2F0ZXJNYXJrc0gAUgV1cHBlchInCgVsb3dlchgCIAEoCzIPLmRtaS5XYXRlck1hcmtzSABSBWxvd2VyQgsKCXRocmVzaG9sZCJ+ChRUaHJlc2hvbGRJbmZvcm1hdGlvbhI1Cg5vYnNlcnZlZF92YWx1ZRgBIAEoCzIOLmRtaS5WYWx1ZVR5cGVSDW9ic2VydmVkVmFsdWUSLwoKdGhyZXNob2xkcxgCIAEoCzIPLmRtaS5UaHJlc2hvbGRzUgp0aHJlc2hvbGRzIooBCghFdmVudENmZxIoCghldmVudF9pZBgBIAEoDjINLmRtaS5FdmVudElkc1IHZXZlbnRJZBIjCg1pc19jb25maWd1cmVkGAIgASgIUgxpc0NvbmZpZ3VyZWQSLwoKdGhyZXNob2xkcxgDIAEoCzIPLmRtaS5UaHJlc2hvbGRzUgp0aHJlc2hvbGRzIjAKCUV2ZW50c0NmZxIjCgVpdGVtcxgBIAMoCzINLmRtaS5FdmVudENmZ1IFaXRlbXMihgEKEkxpc3RFdmVudHNSZXNwb25zZRIjCgZzdGF0dXMYASABKA4yCy5kbWkuU3RhdHVzUgZzdGF0dXMSIwoGcmVhc29uGAIgASgOMgsuZG1pLlJlYXNvblIGcmVhc29uEiYKBmV2ZW50cxgDIAEoCzIOLmRtaS5FdmVudHNDZmdSBmV2ZW50cyKtAQoaRXZlbnRzQ29uZmlndXJhdGlvblJlcXVlc3QSKgoLZGV2aWNlX3V1aWQYASABKAsyCS5kbWkuVXVpZFIKZGV2aWNlVXVpZBIqCgdjaGFuZ2VzGAIgASgLMg4uZG1pLkV2ZW50c0NmZ0gAUgdjaGFuZ2VzEioKEHJlc2V0X3RvX2RlZmF1bHQYAyABKAhIAFIOcmVzZXRUb0RlZmF1bHRCCwoJb3BlcmF0aW9uImcKG0V2ZW50c0NvbmZpZ3VyYXRpb25SZXNwb25zZRIjCgZzdGF0dXMYASABKA4yCy5kbWkuU3RhdHVzUgZzdGF0dXMSIwoGcmVhc29uGAIgASgOMgsuZG1pLlJlYXNvblIGcmVhc29uIpQBCg1FdmVudE1ldGFEYXRhEioKC2RldmljZV91dWlkGAEgASgLMgkuZG1pLlV1aWRSCmRldmljZVV1aWQSMAoOY29tcG9uZW50X3V1aWQYAiABKAsyCS5kbWkuVXVpZFINY29tcG9uZW50VXVpZBIlCg5jb21wb25lbnRfbmFtZRgDIAEoCVINY29tcG9uZW50TmFtZSKCAgoFRXZlbnQSOQoOZXZlbnRfbWV0YWRhdGEYASABKAsyEi5kbWkuRXZlbnRNZXRhRGF0YVINZXZlbnRNZXRhZGF0YRIoCghldmVudF9pZBgCIAEoDjINLmRtaS5FdmVudElkc1IHZXZlbnRJZBI3CglyYWlzZWRfdHMYAyABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wUghyYWlzZWRUcxJACg50aHJlc2hvbGRfaW5mbxgEIAEoCzIZLmRtaS5UaHJlc2hvbGRJbmZvcm1hdGlvblINdGhyZXNob2xkSW5mbxIZCghhZGRfaW5mbxgFIAEoCVIHYWRkSW5mbyrRDgoIRXZlbnRJZHMSGAoURVZFTlRfTkFNRV9VTkRFRklORUQQABIeChpFVkVOVF9UUkFOU0NFSVZFUl9QTFVHX09VVBBkEh0KGUVWRU5UX1RSQU5TQ0VJVkVSX1BMVUdfSU4QZRItCilFVkVOVF9UUkFOU0NFSVZFUl9WT0xUQUdFX0FCT1ZFX1RIUkVTSE9MRBBmEi0KKUVWRU5UX1RSQU5TQ0VJVkVSX1ZPTFRBR0VfQkVMT1dfVEhSRVNIT0xEEGcSMQotRVZFTlRfVFJBTlNDRUlWRVJfVEVNUEVSQVRVUkVfQUJPVkVfVEhSRVNIT0xEEGgSMQotRVZFTlRfVFJBTlNDRUlWRVJfVEVNUEVSQVRVUkVfQkVMT1dfVEhSRVNIT0xEEGkSLQopRVZFTlRfVFJBTlNDRUlWRVJfQ1VSUkVOVF9BQk9WRV9USFJFU0hPTEQQahItCilFVkVOVF9UUkFOU0NFSVZFUl9DVVJSRU5UX0JFTE9XX1RIUkVTSE9MRBBrEi4KKkVWRU5UX1RSQU5TQ0VJVkVSX1JYX1BPV0VSX0FCT1ZFX1RIUkVTSE9MRBBsEi4KKkVWRU5UX1RSQU5TQ0VJVkVSX1JYX1BPV0VSX0JFTE9XX1RIUkVTSE9MRBBtEi4KKkVWRU5UX1RSQU5TQ0VJVkVSX1RYX1BPV0VSX0FCT1ZFX1RIUkVTSE9MRBBuEi4KKkVWRU5UX1RSQU5TQ0VJVkVSX1RYX1BPV0VSX0JFTE9XX1RIUkVTSE9MRBBvEh0KGUVWRU5UX1RSQU5TQ0VJVkVSX0ZBSUxVUkUQcBI3CjNFVkVOVF9UUkFOU0NFSVZFUl9WT0xUQUdFX0FCT1ZFX1RIUkVTSE9MRF9SRUNPVkVSRUQQcRI3CjNFVkVOVF9UUkFOU0NFSVZFUl9WT0xUQUdFX0JFTE9XX1RIUkVTSE9MRF9SRUNPVkVSRUQQchI7CjdFVkVOVF9UUkFOU0NFSVZFUl9URU1QRVJBVFVSRV9BQk9WRV9USFJFU0hPTERfUkVDT1ZFUkVEEHMSOwo3RVZFTlRfVFJBTlNDRUlWRVJfVEVNUEVSQVRVUkVfQkVMT1dfVEhSRVNIT0xEX1JFQ09WRVJFRBB0EjcKM0VWRU5UX1RSQU5TQ0VJVkVSX0NVUlJFTlRfQUJPVkVfVEhSRVNIT0xEX1JFQ09WRVJFRBB1EjcKM0VWRU5UX1RSQU5TQ0VJVkVSX0NVUlJFTlRfQkVMT1dfVEhSRVNIT0xEX1JFQ09WRVJFRBB2EjgKNEVWRU5UX1RSQU5TQ0VJVkVSX1JYX1BPV0VSX0FCT1ZFX1RIUkVTSE9MRF9SRUNPVkVSRUQQdxI4CjRFVkVOVF9UUkFOU0NFSVZFUl9SWF9QT1dFUl9CRUxPV19USFJFU0hPTERfUkVDT1ZFUkVEEHgSOAo0RVZFTlRfVFJBTlNDRUlWRVJfVFhfUE9XRVJfQUJPVkVfVEhSRVNIT0xEX1JFQ09WRVJFRBB5EjgKNEVWRU5UX1RSQU5TQ0VJVkVSX1RYX1BPV0VSX0JFTE9XX1RIUkVTSE9MRF9SRUNPVkVSRUQQehInCiNFVkVOVF9UUkFOU0NFSVZFUl9GQUlMVVJFX1JFQ09WRVJFRBB7EhcKEkVWRU5UX1BTVV9QTFVHX09VVBDIARIWChFFVkVOVF9QU1VfUExVR19JThDJARIWChFFVkVOVF9QU1VfRkFJTFVSRRDKARIgChtFVkVOVF9QU1VfRkFJTFVSRV9SRUNPVkVSRUQQywESFgoRRVZFTlRfRkFOX0ZBSUxVUkUQrAISFwoSRVZFTlRfRkFOX1BMVUdfT1VUEK0CEhYKEUVWRU5UX0ZBTl9QTFVHX0lOEK4CEiAKG0VWRU5UX0ZBTl9GQUlMVVJFX1JFQ09WRVJFRBCvAhIpCiRFVkVOVF9DUFVfVEVNUEVSQVRVUkVfQUJPVkVfQ1JJVElDQUwQkAMSJgohRVZFTlRfQ1BVX1RFTVBFUkFUVVJFX0FCT1ZFX0ZBVEFMEJEDEjMKLkVWRU5UX0NQVV9URU1QRVJBVFVSRV9BQk9WRV9DUklUSUNBTF9SRUNPVkVSRUQQkgMSMAorRVZFTlRfQ1BVX1RFTVBFUkFUVVJFX0FCT1ZFX0ZBVEFMX1JFQ09WRVJFRBCTAxIaChVFVkVOVF9IV19ERVZJQ0VfUkVTRVQQ9AMSLwoqRVZFTlRfSFdfREVWSUNFX1RFTVBFUkFUVVJFX0FCT1ZFX0NSSVRJQ0FMEPUDEiwKJ0VWRU5UX0hXX0RFVklDRV9URU1QRVJBVFVSRV9BQk9WRV9GQVRBTBD2AxI5CjRFVkVOVF9IV19ERVZJQ0VfVEVNUEVSQVRVUkVfQUJPVkVfQ1JJVElDQUxfUkVDT1ZFUkVEEPcDEjYKMUVWRU5UX0hXX0RFVklDRV9URU1QRVJBVFVSRV9BQk9WRV9GQVRBTF9SRUNPVkVSRUQQ+AMytwEKHU5hdGl2ZUV2ZW50c01hbmFnZW1lbnRTZXJ2aWNlEjYKCkxpc3RFdmVudHMSDy5kbWkuSGFyZHdhcmVJRBoXLmRtaS5MaXN0RXZlbnRzUmVzcG9uc2USXgoZVXBkYXRlRXZlbnRzQ29uZmlndXJhdGlvbhIfLmRtaS5FdmVudHNDb25maWd1cmF0aW9uUmVxdWVzdBogLmRtaS5FdmVudHNDb25maWd1cmF0aW9uUmVzcG9uc2VCO1o5Z2l0aHViLmNvbS9vcGVuY29yZC9kZXZpY2UtbWFuYWdlbWVudC1pbnRlcmZhY2UvdjMvZ28vZG1pSp0oCgcSBQAAmQEBCggKAQwSAwAAEgoICgEIEgMCAFAKCQoCCAsSAwIAUAoICgECEgMDAAwKCQoCAwASAwUAGwoJCgID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dHBzOi8vZGV2ZWxvcGVycy5nb29nbGUuY29tL3Byb3RvY29sLWJ1ZmZlcnMvCgogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlCiBtZXQ6CgogICAgICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KICAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUKIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIKIGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUKIGRpc3RyaWJ1dGlvbi4KICAgICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgR29vZ2xlIEluYy4gbm9yIHRoZSBuYW1lcyBvZiBpdHMKIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0byBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tCiB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLgoKIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMKICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UCiBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IKIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUCiBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwKIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QKIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLAogREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZCiBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCgoICgECEgMgABgKCAoBCBIDIgA7CgkKAgglEgMiADsKCAoBCBIDIwA+CgkKAggLEgMjAD4KCAoBCBIDJAAsCgkKAggBEgMkACwKCAoBCBIDJQArCgkKAggIEgMlACsKCAoBCBIDJgAiCgkKAggKEgMmACIKCAoBCBIDJwAhCgkKAggkEgMnACEKCAoBCBIDKAAfCgkKAggfEgMoAB8K+wIKAgQAEgMzABAa7wIgQSBnZW5lcmljIGVtcHR5IG1lc3NhZ2UgdGhhdCB5b3UgY2FuIHJlLXVzZSB0byBhdm9pZCBkZWZpbmluZyBkdXBsaWNhdGVkCiBlbXB0eSBtZXNzYWdlcyBpbiB5b3VyIEFQSXMuIEEgdHlwaWNhbCBleGFtcGxlIGlzIHRvIHVzZSBpdCBhcyB0aGUgcmVxdWVzdAogb3IgdGhlIHJlc3BvbnNlIHR5cGUgb2YgYW4gQVBJIG1ldGhvZC4gRm9yIGluc3RhbmNlOgoKICAgICBzZXJ2aWNlIEZvbyB7CiAgICAgICBycGMgQmFyKGdvb2dsZS5wcm90b2J1Zi5FbXB0eSkgcmV0dXJucyAoZ29vZ2xlLnByb3RvYnVmLkVtcHR5KTsKICAgICB9CgogVGhlIEpTT04gcmVwcmVzZW50YXRpb24gZm9yIGBFbXB0eWAgaXMgZW1wdHkgSlNPTiBvYmplY3QgYHt9YC4KCgoKAwQAARIDMwgNYgZwcm90bzMK1lIKH2RtaS9od19tYW5hZ2VtZW50X3NlcnZpY2UucHJvdG8SA2RtaRoRZG1pL2NvbW1vbnMucHJvdG8aDGRtaS9ody5wcm90bxobZ29vZ2xlL3Byb3RvYnVmL2VtcHR5LnByb3RvIkYKGFBoeXNpY2FsSW52ZW50b3J5UmVxdWVzdBIqCgtkZXZpY2VfdXVpZBgBIAEoCzIJLmRtaS5VdWlkUgpkZXZpY2VVdWlkIpIBChlQaHlzaWNhbEludmVudG9yeVJlc3BvbnNlEiMKBnN0YXR1cxgBIAEoDjILLmRtaS5TdGF0dXNSBnN0YXR1cxIjCgZyZWFzb24YAiABKA4yCy5kbWkuUmVhc29uUgZyZWFzb24SKwoJaW52ZW50b3J5GAMgASgLMg0uZG1pLkhhcmR3YXJlUglpbnZlbnRvcnkioAEKGUhXQ29tcG9uZW50SW5mb0dldFJlcXVlc3QSKgoLZGV2aWNlX3V1aWQYASABKAsyCS5kbWkuVXVpZFIKZGV2aWNlVXVpZBIwCg5jb21wb25lbnRfdXVpZBgCIAEoCzIJLmRtaS5VdWlkUg1jb21wb25lbnRVdWlkEiUKDmNvbXBvbmVudF9uYW1lGAMgASgJUg1jb21wb25lbnROYW1lIpQBChpIV0NvbXBvbmVudEluZm9HZXRSZXNwb25zZRIjCgZzdGF0dXMYASABKA4yCy5kbWkuU3RhdHVzUgZzdGF0dXMSIwoGcmVhc29uGAIgASgOMgsuZG1pLlJlYXNvblIGcmVhc29uEiwKCWNvbXBvbmVudBgDIAEoCzIOLmRtaS5Db21wb25lbnRSCWNvbXBvbmVudCLUAQoZSFdDb21wb25lbnRJbmZvU2V0UmVxdWVzdBIqCgtkZXZpY2VfdXVpZBgBIAEoCzIJLmRtaS5VdWlkUgpkZXZpY2VVdWlkEjAKDmNvbXBvbmVudF91dWlkGAIgASgLMgkuZG1pLlV1aWRSDWNvbXBvbmVudFV1aWQSJQoOY29tcG9uZW50X25hbWUYAyABKAlSDWNvbXBvbmVudE5hbWUSMgoHY2hhbmdlcxgEIAEoCzIYLmRtaS5Nb2RpZmlhYmxlQ29tcG9uZW50UgdjaGFuZ2VzImYKGkhXQ29tcG9uZW50SW5mb1NldFJlc3BvbnNlEiMKBnN0YXR1cxgBIAEoDjILLmRtaS5TdGF0dXNSBnN0YXR1cxIjCgZyZWFzb24YAiABKA4yCy5kbWkuUmVhc29uUgZyZWFzb24ikwEKG1N0YXJ0TWFuYWdpbmdEZXZpY2VSZXNwb25zZRIjCgZzdGF0dXMYASABKA4yCy5kbWkuU3RhdHVzUgZzdGF0dXMSIwoGcmVhc29uGAIgASgOMgsuZG1pLlJlYXNvblIGcmVhc29uEioKC2RldmljZV91dWlkGAMgASgLMgkuZG1pLlV1aWRSCmRldmljZVV1aWQiLwoZU3RvcE1hbmFnaW5nRGV2aWNlUmVxdWVzdBISCgRuYW1lGAEgASgJUgRuYW1lImYKGlN0b3BNYW5hZ2luZ0RldmljZVJlc3BvbnNlEiMKBnN0YXR1cxgBIAEoDjILLmRtaS5TdGF0dXNSBnN0YXR1cxIjCgZyZWFzb24YAiABKA4yCy5kbWkuUmVhc29uUgZyZWFzb24iTAoWTWFuYWdlZERldmljZXNSZXNwb25zZRIyCgdkZXZpY2VzGAEgAygLMhguZG1pLk1vZGlmaWFibGVDb21wb25lbnRSB2RldmljZXMinQEKGVNldExvZ2dpbmdFbmRwb2ludFJlcXVlc3QSKgoLZGV2aWNlX3V1aWQYASABKAsyCS5kbWkuVXVpZFIKZGV2aWNlVXVpZBIpChBsb2dnaW5nX2VuZHBvaW50GAIgASgJUg9sb2dnaW5nRW5kcG9pbnQSKQoQbG9nZ2luZ19wcm90b2NvbBgDIAEoCVIPbG9nZ2luZ1Byb3RvY29sImUKGVNldFJlbW90ZUVuZHBvaW50UmVzcG9uc2USIwoGc3RhdHVzGAEgASgOMgsuZG1pLlN0YXR1c1IGc3RhdHVzEiMKBnJlYXNvbhgCIAEoDjILLmRtaS5SZWFzb25SBnJlYXNvbiK8AQoaR2V0TG9nZ2luZ0VuZHBvaW50UmVzcG9uc2USIwoGc3RhdHVzGAEgASgOMgsuZG1pLlN0YXR1c1IGc3RhdHVzEiMKBnJlYXNvbhgCIAEoDjILLmRtaS5SZWFzb25SBnJlYXNvbhIpChBsb2dnaW5nX2VuZHBvaW50GAMgASgJUg9sb2dnaW5nRW5kcG9pbnQSKQoQbG9nZ2luZ19wcm90b2NvbBgEIAEoCVIPbG9nZ2luZ1Byb3RvY29sIkMKGFNldE1zZ0J1c0VuZHBvaW50UmVxdWVzdBInCg9tc2didXNfZW5kcG9pbnQYASABKAlSDm1zZ2J1c0VuZHBvaW50Io4BChlHZXRNc2dCdXNFbmRwb2ludFJlc3BvbnNlEiMKBnN0YXR1cxgBIAEoDjILLmRtaS5TdGF0dXNSBnN0YXR1cxIjCgZyZWFzb24YAiABKA4yCy5kbWkuUmVhc29uUgZyZWFzb24SJwoPbXNnYnVzX2VuZHBvaW50GAMgASgJUg5tc2didXNFbmRwb2ludCJZChBFbnRpdGllc0xvZ0xldmVsEikKCGxvZ0xldmVsGAEgASgOMg0uZG1pLkxvZ0xldmVsUghsb2dMZXZlbBIaCghlbnRpdGllcxgCIAMoCVIIZW50aXRpZXMidQoSU2V0TG9nTGV2ZWxSZXF1ZXN0EioKC2RldmljZV91dWlkGAEgASgLMgkuZG1pLlV1aWRSCmRldmljZVV1aWQSMwoJbG9nbGV2ZWxzGAIgAygLMhUuZG1pLkVudGl0aWVzTG9nTGV2ZWxSCWxvZ2xldmVscyKLAQoTU2V0TG9nTGV2ZWxSZXNwb25zZRIqCgtkZXZpY2VfdXVpZBgBIAEoCzIJLmRtaS5VdWlkUgpkZXZpY2VVdWlkEiMKBnN0YXR1cxgCIAEoDjILLmRtaS5TdGF0dXNSBnN0YXR1cxIjCgZyZWFzb24YAyABKA4yCy5kbWkuUmVhc29uUgZyZWFzb24iXAoSR2V0TG9nTGV2ZWxSZXF1ZXN0EioKC2RldmljZV91dWlkGAEgASgLMgkuZG1pLlV1aWRSCmRldmljZVV1aWQSGgoIZW50aXRpZXMYAiADKAlSCGVudGl0aWVzIsABChNHZXRMb2dMZXZlbFJlc3BvbnNlEioKC2RldmljZV91dWlkGAEgASgLMgkuZG1pLlV1aWRSCmRldmljZVV1aWQSMwoJbG9nTGV2ZWxzGAIgAygLMhUuZG1pLkVudGl0aWVzTG9nTGV2ZWxSCWxvZ0xldmVscxIjCgZzdGF0dXMYAyABKA4yCy5kbWkuU3RhdHVzUgZzdGF0dXMSIwoGcmVhc29uGAQgASgOMgsuZG1pLlJlYXNvblIGcmVhc29uIkgKGkdldExvZ2dhYmxlRW50aXRpZXNSZXF1ZXN0EioKC2RldmljZV91dWlkGAEgASgLMgkuZG1pLlV1aWRSCmRldmljZVV1aWQyrwgKGU5hdGl2ZUhXTWFuYWdlbWVudFNlcnZpY2USUwoTU3RhcnRNYW5hZ2luZ0RldmljZRIYLmRtaS5Nb2RpZmlhYmxlQ29tcG9uZW50GiAuZG1pLlN0YXJ0TWFuYWdpbmdEZXZpY2VSZXNwb25zZTABElUKElN0b3BNYW5hZ2luZ0RldmljZRIeLmRtaS5TdG9wTWFuYWdpbmdEZXZpY2VSZXF1ZXN0Gh8uZG1pLlN0b3BNYW5hZ2luZ0RldmljZVJlc3BvbnNlEkgKEUdldE1hbmFnZWREZXZpY2VzEhYuZ29vZ2xlLnByb3RvYnVmLkVtcHR5GhsuZG1pLk1hbmFnZWREZXZpY2VzUmVzcG9uc2USVwoUR2V0UGh5c2ljYWxJbnZlbnRvcnkSHS5kbWkuUGh5c2ljYWxJbnZlbnRvcnlSZXF1ZXN0Gh4uZG1pLlBoeXNpY2FsSW52ZW50b3J5UmVzcG9uc2UwARJXChJHZXRIV0NvbXBvbmVudEluZm8SHi5kbWkuSFdDb21wb25lbnRJbmZvR2V0UmVxdWVzdBofLmRtaS5IV0NvbXBvbmVudEluZm9HZXRSZXNwb25zZTABElUKElNldEhXQ29tcG9uZW50SW5mbxIeLmRtaS5IV0NvbXBvbmVudEluZm9TZXRSZXF1ZXN0Gh8uZG1pLkhXQ29tcG9uZW50SW5mb1NldFJlc3BvbnNlElQKElNldExvZ2dpbmdFbmRwb2ludBIeLmRtaS5TZXRMb2dnaW5nRW5kcG9pbnRSZXF1ZXN0Gh4uZG1pLlNldFJlbW90ZUVuZHBvaW50UmVzcG9uc2USRgoSR2V0TG9nZ2luZ0VuZHBvaW50Eg8uZG1pLkhhcmR3YXJlSUQaHy5kbWkuR2V0TG9nZ2luZ0VuZHBvaW50UmVzcG9uc2USUgoRU2V0TXNnQnVzRW5kcG9pbnQSHS5kbWkuU2V0TXNnQnVzRW5kcG9pbnRSZXF1ZXN0Gh4uZG1pLlNldFJlbW90ZUVuZHBvaW50UmVzcG9uc2USSwoRR2V0TXNnQnVzRW5kcG9pbnQSFi5nb29nbGUucHJvdG9idWYuRW1wdHkaHi5kbWkuR2V0TXNnQnVzRW5kcG9pbnRSZXNwb25zZRJQChNHZXRMb2dnYWJsZUVudGl0aWVzEh8uZG1pLkdldExvZ2dhYmxlRW50aXRpZXNSZXF1ZXN0GhguZG1pLkdldExvZ0xldmVsUmVzcG9uc2USQAoLU2V0TG9nTGV2ZWwSFy5kbWkuU2V0TG9nTGV2ZWxSZXF1ZXN0GhguZG1pLlNldExvZ0xldmVsUmVzcG9uc2USQAoLR2V0TG9nTGV2ZWwSFy5kbWkuR2V0TG9nTGV2ZWxSZXF1ZXN0GhguZG1pLkdldExvZ0xldmVsUmVzcG9uc2VCO1o5Z2l0aHViLmNvbS9vcGVuY29yZC9kZXZpY2UtbWFuYWdlbWVudC1pbnRlcmZhY2UvdjMvZ28vZG1pSr40CgcSBQAAsgEBCggKAQwSAwAAEgoICgEIEgMCAFAKCQoCCAsSAwIAUAoICgECEgMDAAwKCQoCAwASAwUAGwoJCgIDARIDBgAWCgkKAgMCEgMHACUKSgoCBAASBAsADQEyPiBQcm90b3MgZm9yIHRoZSBtYW5hZ2VtZW50IG9mIGEgaGFyZHdhcmUgYW5kIGl0J3MgY29tcG9uZW50cw0KCgoKAwQAARIDCwggCgsKBAQAAgASAwwEGQoNCgUEAAIABBIEDAQLIgoMCgUEAAIABhIDDAQICgwKBQQAAgABEgMMCRQKDAoFBAACAAMSAwwXGAoKCgIEARIEDwATAQoKCgMEAQESAw8IIQoLCgQEAQIAEgMQBBYKDQoFBAECAAQSBBAEDyMKDAoFBAECAAYSAxAECgoMCgUEAQIAARIDEAsRCgwKBQQBAgADEgMQFBUKCwoEBAECARIDEQQWCg0KBQQBAgEEEgQRBBAWCgwKBQQBAgEGEgMRBAoKDAoFBAECAQES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EwoNCgUGAAIMAhIEsQEUJgoNCgUGAAIMAxIEsQEwQ2IGcHJvdG8zCoQ2CiFkbWkvaHdfbWV0cmljc19tZ210X3NlcnZpY2UucHJvdG8SA2RtaRoRZG1pL2NvbW1vbnMucHJvdG8aDGRtaS9ody5wcm90byKHAQoMTWV0cmljQ29uZmlnEi0KCW1ldHJpY19pZBgBIAEoDjIQLmRtaS5NZXRyaWNOYW1lc1IIbWV0cmljSWQSIwoNaXNfY29uZmlndXJlZBgCIAEoCFIMaXNDb25maWd1cmVkEiMKDXBvbGxfaW50ZXJ2YWwYAyABKA1SDHBvbGxJbnRlcnZhbCI8Cg1NZXRyaWNzQ29uZmlnEisKB21ldHJpY3MYASADKAsyES5kbWkuTWV0cmljQ29uZmlnUgdtZXRyaWNzIo0BChNMaXN0TWV0cmljc1Jlc3BvbnNlEiMKBnN0YXR1cxgBIAEoDjILLmRtaS5TdGF0dXNSBnN0YXR1cxIjCgZyZWFzb24YAiABKA4yCy5kbWkuUmVhc29uUgZyZWFzb24SLAoHbWV0cmljcxgDIAEoCzISLmRtaS5NZXRyaWNzQ29uZmlnUgdtZXRyaWNzIrIBChtNZXRyaWNzQ29uZmlndXJhdGlvblJlcXVlc3QSKgoLZGV2aWNlX3V1aWQYASABKAsyCS5kbWkuVXVpZFIKZGV2aWNlVXVpZBIuCgdjaGFuZ2VzGAIgASgLMhIuZG1pLk1ldHJpY3NDb25maWdIAFIHY2hhbmdlcxIqChByZXNldF90b19kZWZhdWx0GAMgASgISABSDnJlc2V0VG9EZWZhdWx0QgsKCW9wZXJhdGlvbiJoChxNZXRyaWNzQ29uZmlndXJhdGlvblJlc3BvbnNlEiMKBnN0YXR1cxgBIAEoDjILLmRtaS5TdGF0dXNSBnN0YXR1cxIjCgZyZWFzb24YAiABKA4yCy5kbWkuUmVhc29uUgZyZWFzb24ilQEKDk1ldHJpY01ldGFEYXRhEioKC2RldmljZV91dWlkGAEgASgLMgkuZG1pLlV1aWRSCmRldmljZVV1aWQSMAoOY29tcG9uZW50X3V1aWQYAiABKAsyCS5kbWkuVXVpZFINY29tcG9uZW50VXVpZBIlCg5jb21wb25lbnRfbmFtZRgDIAEoCVINY29tcG9uZW50TmFtZSKlAQoGTWV0cmljEi0KCW1ldHJpY19pZBgBIAEoDjIQLmRtaS5NZXRyaWNOYW1lc1IIbWV0cmljSWQSPAoPbWV0cmljX21ldGFkYXRhGAIgASgLMhMuZG1pLk1ldHJpY01ldGFEYXRhUg5tZXRyaWNNZXRhZGF0YRIuCgV2YWx1ZRgDIAEoCzIYLmRtaS5Db21wb25lbnRTZW5zb3JEYXRhUgV2YWx1ZSJzChBHZXRNZXRyaWNSZXF1ZXN0EjAKCW1ldGFfZGF0YRgBIAEoCzITLmRtaS5NZXRyaWNNZXRhRGF0YVIIbWV0YURhdGESLQoJbWV0cmljX2lkGAIgASgOMhAuZG1pLk1ldHJpY05hbWVzUghtZXRyaWNJZCKCAQoRR2V0TWV0cmljUmVzcG9uc2USIwoGc3RhdHVzGAEgASgOMgsuZG1pLlN0YXR1c1IGc3RhdHVzEiMKBnJlYXNvbhgCIAEoDjILLmRtaS5SZWFzb25SBnJlYXNvbhIjCgZtZXRyaWMYAyABKAsyCy5kbWkuTWV0cmljUgZtZXRyaWMq2QUKC01ldHJpY05hbWVzEhkKFU1FVFJJQ19OQU1FX1VOREVGSU5FRBAAEhQKEE1FVFJJQ19GQU5fU1BFRUQQARITCg9NRVRSSUNfQ1BVX1RFTVAQZBIfChtNRVRSSUNfQ1BVX1VTQUdFX1BFUkNFTlRBR0UQZRIcChdNRVRSSUNfVFJBTlNDRUlWRVJfVEVNUBDIARIfChpNRVRSSUNfVFJBTlNDRUlWRVJfVk9MVEFHRRDJARIcChdNRVRSSUNfVFJBTlNDRUlWRVJfQklBUxDKARIgChtNRVRSSUNfVFJBTlNDRUlWRVJfUlhfUE9XRVIQywESIAobTUVUUklDX1RSQU5TQ0VJVkVSX1RYX1BPV0VSEMwBEiIKHU1FVFJJQ19UUkFOU0NFSVZFUl9XQVZFTEVOR1RIEM0BEhUKEE1FVFJJQ19ESVNLX1RFTVAQrAISGQoUTUVUUklDX0RJU0tfQ0FQQUNJVFkQrQISFgoRTUVUUklDX0RJU0tfVVNBR0UQrgISIQocTUVUUklDX0RJU0tfVVNBR0VfUEVSQ0VOVEFHRRCvAhImCiFNRVRSSUNfRElTS19SRUFEX1dSSVRFX1BFUkNFTlRBR0UQsAISKAojTUVUUklDX0RJU0tfRkFVTFRZX0NFTExTX1BFUkNFTlRBR0UQsQISFAoPTUVUUklDX1JBTV9URU1QEJADEhgKE01FVFJJQ19SQU1fQ0FQQUNJVFkQkQMSFQoQTUVUUklDX1JBTV9VU0FHRRCSAxIgChtNRVRSSUNfUkFNX1VTQUdFX1BFUkNFTlRBR0UQkwMSFQoQTUVUUklDX1BPV0VSX01BWBD0AxIXChJNRVRSSUNfUE9XRVJfVVNBR0UQ9QMSIgodTUVUUklDX1BPV0VSX1VTQUdFX1BFUkNFTlRBR0UQ9gMSIgodTUVUUklDX0lOTkVSX1NVUlJPVU5ESU5HX1RFTVAQ2AQy+QEKHk5hdGl2ZU1ldHJpY3NNYW5hZ2VtZW50U2VydmljZRI4CgtMaXN0TWV0cmljcxIPLmRtaS5IYXJkd2FyZUlEGhguZG1pLkxpc3RNZXRyaWNzUmVzcG9uc2USYQoaVXBkYXRlTWV0cmljc0NvbmZpZ3VyYXRpb24SIC5kbWkuTWV0cmljc0NvbmZpZ3VyYXRpb25SZXF1ZXN0GiEuZG1pLk1ldHJpY3NDb25maWd1cmF0aW9uUmVzcG9uc2USOgoJR2V0TWV0cmljEhUuZG1pLkdldE1ldHJpY1JlcXVlc3QaFi5kbWkuR2V0TWV0cmljUmVzcG9uc2VCO1o5Z2l0aHViLmNvbS9vcGVuY29yZC9kZXZpY2UtbWFuYWdlbWVudC1pbnRlcmZhY2UvdjMvZ28vZG1pSuojCgcSBQAAggEBCggKAQwSAwAAEgoICgEIEgMCAFAKCQoCCAsSAwIAUAoICgECEgMDAAwKCQoCAwASAwUAGwoJCgIDARIDBgAWCtgBCgIFABIEDQA0ATKOASBUaGUgbW9kZWwgdXNlZCB0byByZXByZXNlbnQgdGhlIGV2ZW50IGRhdGEgb24gdGhlIFNlbnNvckRhdGEgb2YgYSBjb21wb25lbnQgYXMgZGVzY3JpYmVkDQogaW4gUkZDODM0OCAoaHR0cHM6Ly90b29scy5pZXRmLm9yZy9odG1sL3JmYzgzNDgpDQoyOyBNYW5hZ2VtZW50IG9mIE1ldHJpY3MgYW5kIHByb3RvcyBmb3IgZW5jb2Rpbmcgb2YgTWV0cmljcw0KCgoKAwUAARIDDQUQCgsKBAUAAgASAw4EHgoMCgUFAAIAARIDDgQZCgwKBQUA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YWxsIHRoYXQgeW91IG1ha2UgdG8ga25vdyBhYm91dCB0aGUgbWV0cmljcyB0aGF0IGEgcGFydGljdWxhciBkZXZpY2Ugc3VwcG9ydHMgYW5kDQogdGhlbiB1c2UgdGhlIFVwZGF0ZU1ldHJpY3NDb25maWd1cmF0aW9uIEFQSSB0byBtb25pdG9yIG9ubHkgdGhlIHJlcXVpcmVkIG1ldHJpY3MuDQoKDAoFBgACAAESA3cIEwoMCgUGAAIAAhIDdxQeCgwKBQYAAgADEgN3KDsKpgIKBAYAAgESA34EZhqYAiBVcGRhdGVzIHRoZSBjb25maWd1cmF0aW9uIG9mIHRoZSBsaXN0IG9mIG1ldHJpY3MgaW4gdGhlIHJlcXVlc3QNCiBBY3RzIHVwb24gc2luZ2xlIG1ldHJpYyBjb25maWd1cmF0aW9uLCBjb2xsZWN0aW9uIG9mIGEgc2luZ2xlIG1ldHJpYyBjYW4gYmUgc3RhcnRlZC9zdG9wcGVkDQogYnkgY2hhbmdpbmcgaXRzIGNvbmZpZ3VyYXRpb24uDQoNCiBUaGlzIGNvbmZpZ3VyYXRpb24gaXMgcGVyc2lzdGVkIGFjcm9zcyByZXN0YXJ0IG9mIHRoZSBkZXZpY2Ugb3IgdGhlIGRldmljZSBtYW5hZ2VyDQoKDAoFBgACAQESA34IIgoMCgUGAAIBAhIDfiM+CgwKBQYAAgEDEgN+SGQKNwoEBgACAhIEgQEEPxopIEdldCB0aGUgaW5zdGFudGVub3VzIHZhbHVlIG9mIGEgbWV0cmljDQoKDQoFBgACAgESBIEBCBEKDQoFBgACAgISBIEBEiIKDQoFBgACAgMSBIEBLD1iBnByb3RvMwrTGAoSZG1pL3N3X2ltYWdlLnByb3RvEgNkbWkaEWRtaS9jb21tb25zLnByb3RvIkcKDEltYWdlVmVyc2lvbhIdCgppbWFnZV9uYW1lGAEgASgJUglpbWFnZU5hbWUSGAoHdmVyc2lvbhgCIAEoCVIHdmVyc2lvbiKoAQoQSW1hZ2VJbmZvcm1hdGlvbhInCgVpbWFnZRgBIAEoCzIRLmRtaS5JbWFnZVZlcnNpb25SBWltYWdlEjAKFGltYWdlX2luc3RhbGxfc2NyaXB0GAIgASgJUhJpbWFnZUluc3RhbGxTY3JpcHQSGwoJaW1hZ2VfdXJsGAMgASgJUghpbWFnZVVybBIcCglzaGEyNTZzdW0YBSABKAlSCXNoYTI1NnN1bSKeBAoLSW1hZ2VTdGF0dXMSIwoGc3RhdHVzGAEgASgOMgsuZG1pLlN0YXR1c1IGc3RhdHVzEi8KBnJlYXNvbhgCIAEoDjIXLmRtaS5JbWFnZVN0YXR1cy5SZWFzb25SBnJlYXNvbhIxCgVzdGF0ZRgDIAEoDjIbLmRtaS5JbWFnZVN0YXR1cy5JbWFnZVN0YXRlUgVzdGF0ZRIgCgtkZXNjcmlwdGlvbhgEIAEoCVILZGVzY3JpcHRpb24i0AEKCkltYWdlU3RhdGUSEwoPVU5ERUZJTkVEX1NUQVRFEAASEQoNQ09QWUlOR19JTUFHRRABEhQKEElOU1RBTExJTkdfSU1BR0UQAhIUChBDT01NSVRUSU5HX0lNQUdFEAMSFAoQUkVCT09USU5HX0RFVklDRRAEEhQKEFVQR1JBREVfQ09NUExFVEUQBRISCg5VUEdSQURFX0ZBSUxFRBAGEhcKE0FDVElWQVRJT05fQ09NUExFVEUQBxIVChFBQ1RJVkFUSU9OX0ZBSUxFRBAIIpABCgZSZWFzb24SFAoQVU5ERUZJTkVEX1JFQVNPThAAEhQKEEVSUk9SX0lOX1JFUVVFU1QQARISCg5JTlRFUk5BTF9FUlJPUhACEhkKFURFVklDRV9JTl9XUk9OR19TVEFURRADEhEKDUlOVkFMSURfSU1BR0UQBBIYChRXUk9OR19JTUFHRV9DSEVDS1NVTRAFQjtaOWdpdGh1Yi5jb20vb3BlbmNvcmQvZGV2aWNlLW1hbmFnZW1lbnQtaW50ZXJmYWNlL3YzL2dvL2RtaUrKEQoGEgQAADYBCggKAQwSAwAAEgoICgEIEgMCAFAKCQoCCAsSAwIAUAoICgECEgMDAAwKCQoCAwASAwUAGwpDCgIEABIECQAMATI3IFByb3RvcyBmb3IgbW9kZWxpbmcgYSBzb2Z0d2FyZSBpbWFnZSBhbmQgaXQncyBzdGF0dXMNCgoKCgMEAAESAwkIFAoLCgQEAAIAEgMKBBoKDQoFBAACAAQSBAoECRYKDAoFBAACAAUSAwoECgoMCgUEAAIAARIDCgsVCgwKBQQAAgADEgMKGBkKCwoEBAACARIDCwQXCg0KBQQAAgEEEgQLBAoaCgwKBQQAAgEFEgMLBAoKDAoFBAACAQESAwsLEgoMCgUEAAIBAxIDCxUWCgoKAgQBEgQOABkBCgoKAwQBARIDDggYCgsKBAQBAgASAw8EGwoNCgUEAQIABBIEDwQOGgoMCgUEAQIABhIDDwQQCgwKBQQBAgABEgMPERYKDAoFBAECAAMSAw8ZGgqYAQoEBAECARIDEgQkGooBIFNjcmlwdCB1c2VkIGJ5IHRoZSBkZXZpY2Ugc3BlY2lmaWMgbWFuYWdlcnMgdG8gaW5zdGFsbCB0aGUgaW1hZ2UuDQogU2NyaXB0IG11c3QgYmUgaW5jbHVkZWQgaW4gdGhlIG9iamVjdCBkb3dubG9hZGVkIGZyb20gdGhlIGltYWdlX3VybA0KCg0KBQQBAgEEEgQSBA8bCgwKBQQBAgEFEgMSBAoKDAoFBAECAQESAxILHwoMCgUEAQIBAxIDEiIjCrcCCgQEAQICEgMWBBkaqQIgTG9jYXRpb24gb2YgdGhlIGltYWdlIGFuZCBpbnN0YWxsYXRpb24gc2NyaXB0LCBhdXRoZW50aWNhdGlvbiAodXNlci9wYXNzKSBpZiBhbnkgc2hvdWxkIGJlIGluIHRoZSB1cmwgc3RyaW5nDQogVGhlIGltYWdlX3VybCB3b3VsZCBjb250YWluIHRoZSBwcm90b2NvbCwgY3JlZGVudGlhbHMsIHRoZSBJUCBhZGRyZXNzL0ROUyBvZiB0aGUgc2VydmVyIGFuZCB0aGUgcGF0aCBvZiB0aGUgZmlsZQ0KIGUuZy4gc2Z0cDovL2Rvd25sb2FkX3VzZXI6ZG93bmxvYWRfcGFzc0AxOTIuMTY4LjAuMToyMi9pbWFnZXMvaW1hZ2UxDQoKDQoFBAECAgQSBBYEEiQKDAoFBAECAgUSAxYECgoMCgUEAQICARIDFgsUCgwKBQQBAgIDEgMWFxgKPQoEBAECAxIDGAQZGjAgU0hBLTI1NiBzdW0gb2YgdGhlIGltYWdlIChzaGEyNTZzdW0gb24gTGludXgpDQoKDQoFBAECAwQSBBgEFhkKDAoFBAECAwUSAxgECgoMCgUEAQIDARIDGAsUCgwKBQQBAgMDEgMYFxgKCgoCBAISBBsANgEKCgoDBAIBEgMbCBMKDAoEBAIEABIEHAQmBQoMCgUEAgQAARIDHAkTCg0KBgQCBAACABIDHQgcCg4KBwQCBAACAAESAx0IFwoOCgcEAgQAAgACEgMdGhsKDQoGBAIEAAIBEgMeCBoKDgoHBAIEAAIBARIDHggVCg4KBwQCBAACAQISAx4YGQoNCgYEAgQAAgISAx8IHQoOCgcEAgQAAgIBEgMfCBgKDgoHBAIEAAICAhIDHxscCg0KBgQCBAACAxIDIAgdCg4KBwQCBAACAwESAyAIGAoOCgcEAgQAAgMCEgMgGxwKDQoGBAIEAAIEEgMhCB0KDgoHBAIEAAIEARIDIQgYCg4KBwQCBAACBAISAyEbHAoNCgYEAgQAAgUSAyIIHQoOCgcEAgQAAgUBEgMiCBgKDgoHBAIEAAIFAhIDIhscCg0KBgQCBAACBhIDIwgbCg4KBwQCBAACBgESAyMIFgoOCgcEAgQAAgYCEgMjGRoKDQoGBAIEAAIHEgMkCCAKDgoHBAIEAAIHARIDJAgbCg4KBwQCBAACBwISAyQeHwoNCgYEAgQAAggSAyUIHgoOCgcEAgQAAggBEgMlCBkKDgoHBAIEAAIIAhIDJRwdCgwKBAQCBAESBCgELwUKDAoFBAIEAQESAygJDwoNCgYEAgQBAgASAykIHQoOCgcEAgQBAgABEgMpCBgKDgoHBAIEAQIAAhIDKRscCg0KBgQCBAECARIDKggdCg4KBwQCBAECAQESAyoIGAoOCgcEAgQBAgECEgMqGxwKDQoGBAIEAQICEgMrCBsKDgoHBAIEAQICARIDKwgWCg4KBwQCBAECAgISAysZGgoNCgYEAgQBAgMSAywIIgoOCgcEAgQBAgMBEgMsCB0KDgoHBAIEAQIDAhIDLCAhCg0KBgQCBAECBBIDLQgaCg4KBwQCBAECBAESAy0IFQoOCgcEAgQBAgQCEgMtGBkKDQoGBAIEAQIFEgMuCCEKDgoHBAIEAQIFARIDLggcCg4KBwQCBAECBQISAy4fIAoLCgQEAgIAEgMxBBcKDQoFBAICAAQSBDEELwUKDAoFBAICAAYSAzEECgoMCgUEAgIAARIDMQsRCgwKBQQCAgADEgMxFRYKCwoEBAICARIDMgQWCg0KBQQCAgEEEgQyBDEXCgwKBQQCAgEGEgMyBAoKDAoFBAICAQESAzILEQoMCgUEAgIBAxIDMhQVCgsKBAQCAgISAzMEGQoNCgUEAgICBBIEMwQyFgoMCgUEAgICBhIDMwQOCgwKBQQCAgIBEgMzDxQKDAoFBAICAgMSAzMXGAp2CgQEAgIDEgM1BBsaaSBkZXNjcmlwdGlvbiBjb250YWlucyBtb3JlIGluZm9ybWF0aW9uIGFib3V0IHRoZSBjdXJyZW50IHN0YXRlIG9mIHRoZSBwcm9jZWR1cmUgYW5kIGlzIGRldmljZSBkZXBlbmRhbnQNCgoNCgUEAgIDBBIENQQzGQoMCgUEAgIDBRIDNQQKCgwKBQQCAgMBEgM1CxYKDAoFBAICAwMSAzUZGmIGcHJvdG8zCvAdCh9kbWkvc3dfbWFuYWdlbWVudF9zZXJ2aWNlLnByb3RvEgNkbWkaEWRtaS9jb21tb25zLnByb3RvGgxkbWkvaHcucHJvdG8aEmRtaS9zd19pbWFnZS5wcm90byKWAQoaU29mdHdhcmVWZXJzaW9uSW5mb3JtYXRpb24SOgoPYWN0aXZlX3ZlcnNpb25zGAEgAygLMhEuZG1pLkltYWdlVmVyc2lvblIOYWN0aXZlVmVyc2lvbnMSPAoQc3RhbmRieV92ZXJzaW9ucxgCIAMoCzIRLmRtaS5JbWFnZVZlcnNpb25SD3N0YW5kYnlWZXJzaW9ucyKmAQolR2V0U29mdHdhcmVWZXJzaW9uSW5mb3JtYXRpb25SZXNwb25zZRIjCgZzdGF0dXMYASABKA4yCy5kbWkuU3RhdHVzUgZzdGF0dXMSIwoGcmVhc29uGAIgASgOMgsuZG1pLlJlYXNvblIGcmVhc29uEjMKBGluZm8YAyABKAsyHy5kbWkuU29mdHdhcmVWZXJzaW9uSW5mb3JtYXRpb25SBGluZm8ieAoURG93bmxvYWRJbWFnZVJlcXVlc3QSKgoLZGV2aWNlX3V1aWQYASABKAsyCS5kbWkuVXVpZFIKZGV2aWNlVXVpZBI0CgppbWFnZV9pbmZvGAIgASgLMhUuZG1pLkltYWdlSW5mb3JtYXRpb25SCWltYWdlSW5mbyJaCg1Db25maWdSZXF1ZXN0EioKC2RldmljZV91dWlkGAEgASgLMgkuZG1pLlV1aWRSCmRldmljZVV1aWQSHQoKY29uZmlnX3VybBgCIAEoCVIJY29uZmlnVXJsIloKDkNvbmZpZ1Jlc3BvbnNlEiMKBnN0YXR1cxgBIAEoDjILLmRtaS5TdGF0dXNSBnN0YXR1cxIjCgZyZWFzb24YAiABKA4yCy5kbWkuUmVhc29uUgZyZWFzb24y8AIKH05hdGl2ZVNvZnR3YXJlTWFuYWdlbWVudFNlcnZpY2USUQoSR2V0U29mdHdhcmVWZXJzaW9uEg8uZG1pLkhhcmR3YXJlSUQaKi5kbWkuR2V0U29mdHdhcmVWZXJzaW9uSW5mb3JtYXRpb25SZXNwb25zZRI+Cg1Eb3dubG9hZEltYWdlEhkuZG1pLkRvd25sb2FkSW1hZ2VSZXF1ZXN0GhAuZG1pLkltYWdlU3RhdHVzMAESNAoNQWN0aXZhdGVJbWFnZRIPLmRtaS5IYXJkd2FyZUlEGhAuZG1pLkltYWdlU3RhdHVzMAESOwoUUmV2ZXJ0VG9TdGFuZGJ5SW1hZ2USDy5kbWkuSGFyZHdhcmVJRBoQLmRtaS5JbWFnZVN0YXR1czABEkcKGlVwZGF0ZVN0YXJ0dXBDb25maWd1cmF0aW9uEhIuZG1pLkNvbmZpZ1JlcXVlc3QaEy5kbWkuQ29uZmlnUmVzcG9uc2UwAUI7WjlnaXRodWIuY29tL29wZW5jb3JkL2RldmljZS1tYW5hZ2VtZW50LWludGVyZmFjZS92My9nby9kbWlK5hQKBhIEAABBAQoICgEMEgMAABIKCAoBCBIDAgBQCgkKAggLEgMCAFAKCAoBAhIDAwAMCgkKAgMAEgMFABsKCQoCAwESAwYAFgoJCgIDAhIDBwAcCu4BCgIEABIEDwASATKnASBUaGUgc29mdHdhcmUgbWFuYWdlbWVudCBjb25jZXB0IGRlc2NyaWJlZCBoZXJlIGlzIGFsaWduZWQgd2l0aCBXVC0zODNhMyAoUmV2aXNpb246IDA2IEFwcmlsIDIwMjApLg0KIEluIHBhcnRpY3VsYXIgU2VjdGlvbiAxMSBTb2Z0d2FyZSBtYW5hZ2VtZW50DQogVE9ETyBjaGVjayBtb2RlbA0KMjggUHJvdG9zIGZvciBtYW5hZ2luZyB0aGUgc29mdHdhcmUgb24gYSBoYXJkd2FyZSBkZXZpY2UNCgoKCgMEAAESAw8IIgoLCgQEAAIAEgMQBC4KDAoFBAACAAQSAxAEDAoMCgUEAAIABhIDEA0ZCgwKBQQAAgABEgMQGikKDAoFBAACAAMSAxAsLQoLCgQEAAIBEgMRBC8KDAoFBAACAQQSAxEEDAoMCgUEAAIBBhIDEQ0ZCgwKBQQAAgEBEgMRGioKDAoFBAACAQMSAxEtLgoKCgIEARIEFAAYAQoKCgMEAQESAxQILQoLCgQEAQIAEgMVBBYKDQoFBAECAAQSBBUEFC8KDAoFBAECAAYSAxUECgoMCgUEAQIAARIDFQsRCgwKBQQBAgADEgMVFBUKCwoEBAECARIDFgQWCg0KBQQBAgEEEgQWBBUWCgwKBQQBAgEGEgMWBAoKDAoFBAECAQESAxYLEQoMCgUEAQIBAxIDFhQVCgsKBAQBAgISAxcEKAoNCgUEAQICBBIEFwQWFgoMCgUEAQICBhIDFwQeCgwKBQQBAgIBEgMXHyMKDAoFBAECAgMSAxcmJwoKCgIEAhIEGgAdAQoKCgMEAgESAxoIHAoLCgQEAgIAEgMbBBkKDQoFBAICAAQSBBsEGh4KDAoFBAICAAYSAxsECAoMCgUEAgIAARIDGwkUCgwKBQQCAgADEgMbFxgKCwoEBAICARIDHAQkCg0KBQQCAgEEEgQcBBsZCgwKBQQCAgEGEgMcBBQKDAoFBAICAQESAxwVHwoMCgUEAgIBAxIDHCIjCgoKAgQDEgQfACUBCgoKAwQDARIDHwgVCgsKBAQDAgASAyAEGQoNCgUEAwIABBIEIAQfFwoMCgUEAwIABhIDIAQICgwKBQQDAgABEgMgCRQKDAoFBAMCAAMSAyAXGAq9AgoEBAMCARIDJAQaGq8CIExvY2F0aW9uIG9mIHRoZSBjb25maWd1cmF0aW9uIGZpbGUsIGF1dGhlbnRpY2F0aW9uICh1c2VyL3Bhc3MpIGlmIGFueSBzaG91bGQgYmUgaW4gdGhlIHVybCBzdHJpbmcNCiBUaGUgY29uZmlnX3VybCB3b3VsZCBjb250YWluIHRoZSBwcm90b2NvbCwgY3JlZGVudGlhbHMsIHRoZSBJUCBhZGRyZXNzL0ROUyBvZiB0aGUgc2VydmVyIGFuZCB0aGUgcGF0aCBvZiB0aGUgZmlsZQ0KIGUuZy4gc2Z0cDovL2Rvd25sb2FkX3VzZXI6ZG93bmxvYWRfcGFzc0AxOTIuMTY4LjAuMToyMi9PTFQtY29uZmlncy9jb25maWctdjEuMi4zLnhtbA0KCg0KBQQDAgEEEgQkBCAZCgwKBQQDAgEFEgMkBAoKDAoFBAMCAQESAyQLFQoMCgUEAwIBAxIDJBgZCgoKAgQEEgQnACoBCgoKAwQEARIDJwgWCgsKBAQEAgASAygEFgoNCgUEBAIABBIEKAQnGAoMCgUEBAIABhIDKAQKCgwKBQQEAgABEgMoCxEKDAoFBAQCAAMSAygUFQoLCgQEBAIBEgMpBBYKDQoFBAQCAQQSBCkEKBYKDAoFBAQCAQYSAykECgoMCgUEBAIBARIDKQsRCgwKBQQEAgEDEgMpFBUKCgoCBgASBCwAQQEKCgoDBgABEgMsCCcKVQoEBgACABIDLgRWGkggR2V0IHRoZSBzb2Z0d2FyZSB2ZXJzaW9uIGluZm9ybWF0aW9uIG9mIHRoZSBBY3RpdmUgYW5kIFN0YW5kYnkgaW1hZ2VzDQoKDAoFBgACAAESAy4IGgoMCgUGAAIAAhIDLhslCgwKBQYAAgADEgMuL1QKdQoEBgACARIDMQRIGmggRG93bmxvYWRzIGFuZCBpbnN0YWxscyB0aGUgaW1hZ2UgaW4gdGhlIHN0YW5kYnkgcGFydGl0aW9uLCByZXR1cm5zIHRoZSBzdGF0dXMvcHJvZ3Jlc3Mgb2YgdGhlIEluc3RhbGwNCgoMCgUGAAIBARIDMQgVCgwKBQYAAgECEgMxFioKDAoFBgACAQYSAzE0OgoMCgUGAAIBAxIDMTtGCrcCCgQGAAICEgM2BD4aqQIgQWN0aXZhdGVzIGFuZCBydW5zIHRoZSBPTFQgd2l0aCB0aGUgaW1hZ2UgaW4gdGhlIHN0YW5kYnkgcGFydGl0aW9uLiBJZiB0aGluZ3MgYXJlIGZpbmUgdGhpcyBpbWFnZSB3aWxsDQogaGVuY2Vmb3J0aCBiZSBtYXJrZWQgYXMgdGhlIEFjdGl2ZSBQYXJ0aXRpb24uIFRoZSBvbGQgd29ya2luZyBpbWFnZSB3b3VsZCByZW1haW4gb24gdGhlIFN0YW5kYnkgcGFydGl0aW9uLg0KIEFueSBwb3NzaWJseSByZXF1aXJlZCAoc3ViLSlzdGVwcyBsaWtlICJjb21taXQiIGFyZSBsZWZ0IHRvIHRoZSAiRGV2aWNlIE1hbmFnZXIiDQoKDAoFBgACAgESAzYIFQoMCgUGAAICAhIDNhYgCgwKBQYAAgIGEgM2KjAKDAoFBgACAgMSAzYxPArbAQoEBgACAxIDOgRFGs0BIE1hcmtzIHRoZSBpbWFnZSBpbiB0aGUgU3RhbmRieSBhcyBBY3RpdmUgYW5kIHJlYm9vdHMgdGhlIGRldmljZSwgc28gdGhhdCBpdCBib290cyBmcm9tIHRoYXQgaW1hZ2Ugd2hpY2ggd2FzIGluIHRoZSBzdGFuZGJ5Lg0KIFRoaXMgQVBJIGlzIHRvIGJlIHVzZWQgaWYgb3BlcmF0b3Igd2FudHMgdG8gZ28gYmFjayB0byB0aGUgcHJldmlvdXMgc29mdHdhcmUNCgoMCgUGAAIDARIDOggcCgwKBQYAAgMCEgM6HScKDAoFBgACAwYSAzoxNwoMCgUGAAIDAxIDOjhDCnoKBAYAAgQSAz0EURptIFRoaXMgQVBJIGNhbiBiZSB1c2VkIHRvIGxldCB0aGUgZGV2aWNlcyBwaWNrdXAgdGhlaXIgcHJvcGVyaXRhcnkgY29uZmlndXJhdGlvbiB3aGljaCB0aGV5IG5lZWQgYXQgc3RhcnR1cC4NCgoMCgUGAAIEARIDPQgiCgwKBQYAAgQCEgM9IzAKDAoFBgACBAYSAz06QAoMCgUGAAIEAxIDPUFPYgZwcm90bzM=