CuEsChlnb29nbGUvcHJvdG9idWYvYW55LnByb3RvEg9nb29nbGUucHJvdG9idWYiNgoDQW55EhkKCHR5cGVfdXJsGAEgASgJUgd0eXBlVXJsEhQKBXZhbHVlGAIgASgMUgV2YWx1ZUJvChNjb20uZ29vZ2xlLnByb3RvYnVmQghBbnlQcm90b1ABWiVnaXRodWIuY29tL2dvbGFuZy9wcm90b2J1Zi9wdHlwZXMvYW55ogIDR1BCqgIeR29vZ2xlLlByb3RvYnVmLldlbGxLbm93blR5cGVzSoErCgcSBR4AmgEBCswMCgEMEgMeABIywQwgUHJvdG9jb2wgQnVmZmVycyAtIEdvb2dsZSdzIGRhdGEgaW50ZXJjaGFuZ2UgZm9ybWF0CiBDb3B5cmlnaHQgMjAwOCBHb29nbGUgSW5jLiAgQWxsIHJpZ2h0cyByZXNlcnZlZC4KIGh0dHBzOi8vZGV2ZWxvcGVycy5nb29nbGUuY29tL3Byb3RvY29sLWJ1ZmZlcnMvCgogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlCiBtZXQ6CgogICAgICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KICAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUKIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIKIGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUKIGRpc3RyaWJ1dGlvbi4KICAgICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgR29vZ2xlIEluYy4gbm9yIHRoZSBuYW1lcyBvZiBpdHMKIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0byBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tCiB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLgoKIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMKICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UCiBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IKIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUCiBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwKIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QKIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLAogREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZCiBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCgoICgECEgMgABgKCAoBCBIDIgA7CgkKAgglEgMiADsKCAoBCBIDIwA8CgkKAggLEgMjADwKCAoBCBIDJAAsCgkKAggBEgMkACwKCAoBCBIDJQApCgkKAggIEgMlACkKCAoBCBIDJgAiCgkKAggKEgMmACIKCAoBCBIDJwAhCgkKAggkEgMnACEK5BAKAgQAEgV5AJoBARrWECBgQW55YCBjb250YWlucyBhbiBhcmJpdHJhcnkgc2VyaWFsaXplZCBwcm90b2NvbCBidWZmZXIgbWVzc2FnZSBhbG9uZyB3aXRoIGEKIFVSTCB0aGF0IGRlc2NyaWJlcyB0aGUgdHlwZSBvZiB0aGUgc2VyaWFsaXplZCBtZXNzYWdlLgoKIFByb3RvYnVmIGxpYnJhcnkgcHJvdmlkZXMgc3VwcG9ydCB0byBwYWNrL3VucGFjayBBbnkgdmFsdWVzIGluIHRoZSBmb3JtCiBvZiB1dGlsaXR5IGZ1bmN0aW9ucyBvciBhZGRpdGlvbmFsIGdlbmVyYXRlZCBtZXRob2RzIG9mIHRoZSBBbnkgdHlwZS4KCiBFeGFtcGxlIDE6IFBhY2sgYW5kIHVucGFjayBhIG1lc3NhZ2UgaW4gQysrLgoKICAgICBGb28gZm9vID0gLi4uOwogICAgIEFueSBhbnk7CiAgICAgYW55LlBhY2tGcm9tKGZvbyk7CiAgICAgLi4uCiAgICAgaWYgKGFueS5VbnBhY2tUbygmZm9vKSkgewogICAgICAgLi4uCiAgICAgfQoKIEV4YW1wbGUgMjogUGFjayBhbmQgdW5wYWNrIGEgbWVzc2FnZSBpbiBKYXZhLgoKICAgICBGb28gZm9vID0gLi4uOwogICAgIEFueSBhbnkgPSBBbnkucGFjayhmb28pOwogICAgIC4uLgogICAgIGlmIChhbnkuaXMoRm9vLmNsYXNzKSkgewogICAgICAgZm9vID0gYW55LnVucGFjayhGb28uY2xhc3MpOwogICAgIH0KCiAgRXhhbXBsZSAzOiBQYWNrIGFuZCB1bnBhY2sgYSBtZXNzYWdlIGluIFB5dGhvbi4KCiAgICAgZm9vID0gRm9vKC4uLikKICAgICBhbnkgPSBBbnkoKQogICAgIGFueS5QYWNrKGZvbykKICAgICAuLi4KICAgICBpZiBhbnkuSXMoRm9vLkRFU0NSSVBUT1IpOgogICAgICAgYW55LlVucGFjayhmb28pCiAgICAgICAuLi4KCiAgRXhhbXBsZSA0OiBQYWNrIGFuZCB1bnBhY2sgYSBtZXNzYWdlIGluIEdvCgogICAgICBmb28gOj0gJnBiLkZvb3suLi59CiAgICAgIGFueSwgZXJyIDo9IHB0eXBlcy5NYXJzaGFsQW55KGZvbykKICAgICAgLi4uCiAgICAgIGZvbyA6PSAmcGIuRm9ve30KICAgICAgaWYgZXJyIDo9IHB0eXBlcy5Vbm1hcnNoYWxBbnkoYW55LCBmb28pOyBlcnIgIT0gbmlsIHsKICAgICAgICAuLi4KICAgICAgfQoKIFRoZSBwYWNrIG1ldGhvZHMgcHJvdmlkZWQgYnkgcHJvdG9idWYgbGlicmFyeSB3aWxsIGJ5IGRlZmF1bHQgdXNlCiAndHlwZS5nb29nbGVhcGlzLmNvbS9mdWxsLnR5cGUubmFtZScgYXMgdGhlIHR5cGUgVVJMIGFuZCB0aGUgdW5wYWNrCiBtZXRob2RzIG9ubHkgdXNlIHRoZSBmdWxseSBxdWFsaWZpZWQgdHlwZSBuYW1lIGFmdGVyIHRoZSBsYXN0ICcvJwogaW4gdGhlIHR5cGUgVVJMLCBmb3IgZXhhbXBsZSAiZm9vLmJhci5jb20veC95LnoiIHdpbGwgeWllbGQgdHlwZQogbmFtZSAieS56Ii4KCgogSlNPTgogPT09PQogVGhlIEpTT04gcmVwcmVzZW50YXRpb24gb2YgYW4gYEFueWAgdmFsdWUgdXNlcyB0aGUgcmVndWxhcgogcmVwcmVzZW50YXRpb24gb2YgdGhlIGRlc2VyaWFsaXplZCwgZW1iZWRkZWQgbWVzc2FnZSwgd2l0aCBhbgogYWRkaXRpb25hbCBmaWVsZCBgQHR5cGVgIHdoaWNoIGNvbnRhaW5zIHRoZSB0eXBlIFVSTC4gRXhhbXBsZToKCiAgICAgcGFja2FnZSBnb29nbGUucHJvZmlsZTsKICAgICBtZXNzYWdlIFBlcnNvbiB7CiAgICAgICBzdHJpbmcgZmlyc3RfbmFtZSA9IDE7CiAgICAgICBzdHJpbmcgbGFzdF9uYW1lID0gMjsKICAgICB9CgogICAgIHsKICAgICAgICJAdHlwZSI6ICJ0eXBlLmdvb2dsZWFwaXMuY29tL2dvb2dsZS5wcm9maWxlLlBlcnNvbiIsCiAgICAgICAiZmlyc3ROYW1lIjogPHN0cmluZz4sCiAgICAgICAibGFzdE5hbWUiOiA8c3RyaW5nPgogICAgIH0KCiBJZiB0aGUgZW1iZWRkZWQgbWVzc2FnZSB0eXBlIGlzIHdlbGwta25vd24gYW5kIGhhcyBhIGN1c3RvbSBKU09OCiByZXByZXNlbnRhdGlvbiwgdGhhdCByZXByZXNlbnRhdGlvbiB3aWxsIGJlIGVtYmVkZGVkIGFkZGluZyBhIGZpZWxkCiBgdmFsdWVgIHdoaWNoIGhvbGRzIHRoZSBjdXN0b20gSlNPTiBpbiBhZGRpdGlvbiB0byB0aGUgYEB0eXBlYAogZmllbGQuIEV4YW1wbGUgKGZvciBtZXNzYWdlIFtnb29nbGUucHJvdG9idWYuRHVyYXRpb25dW10pOgoKICAgICB7CiAgICAgICAiQHR5cGUiOiAidHlwZS5nb29nbGVhcGlzLmNvbS9nb29nbGUucHJvdG9idWYuRHVyYXRpb24iLAogICAgICAgInZhbHVlIjogIjEuMjEycyIKICAgICB9CgoKCgoDBAABEgN5CAsK1woKBAQAAgASBJYBAhYayAogQSBVUkwvcmVzb3VyY2UgbmFtZSB0aGF0IHVuaXF1ZWx5IGlkZW50aWZpZXMgdGhlIHR5cGUgb2YgdGhlIHNlcmlhbGl6ZWQKIHByb3RvY29sIGJ1ZmZlciBtZXNzYWdlLiBUaGlzIHN0cmluZyBtdXN0IGNvbnRhaW4gYXQgbGVhc3QKIG9uZSAiLyIgY2hhcmFjdGVyLiBUaGUgbGFzdCBzZWdtZW50IG9mIHRoZSBVUkwncyBwYXRoIG11c3QgcmVwcmVzZW50CiB0aGUgZnVsbHkgcXVhbGlmaWVkIG5hbWUgb2YgdGhlIHR5cGUgKGFzIGluCiBgcGF0aC9nb29nbGUucHJvdG9idWYuRHVyYXRpb25gKS4gVGhlIG5hbWUgc2hvdWxkIGJlIGluIGEgY2Fub25pY2FsIGZvcm0KIChlLmcuLCBsZWFkaW5nICIuIiBpcyBub3QgYWNjZXB0ZWQpLgoKIEluIHByYWN0aWNlLCB0ZWFtcyB1c3VhbGx5IHByZWNvbXBpbGUgaW50byB0aGUgYmluYXJ5IGFsbCB0eXBlcyB0aGF0IHRoZXkKIGV4cGVjdCBpdCB0byB1c2UgaW4gdGhlIGNvbnRleHQgb2YgQW55LiBIb3dldmVyLCBmb3IgVVJMcyB3aGljaCB1c2UgdGhlCiBzY2hlbWUgYGh0dHBgLCBgaHR0cHNgLCBvciBubyBzY2hlbWUsIG9uZSBjYW4gb3B0aW9uYWxseSBzZXQgdXAgYSB0eXBlCiBzZXJ2ZXIgdGhhdCBtYXBzIHR5cGUgVVJMcyB0byBtZXNzYWdlIGRlZmluaXRpb25zIGFzIGZvbGxvd3M6CgogKiBJZiBubyBzY2hlbWUgaXMgcHJvdmlkZWQsIGBodHRwc2AgaXMgYXNzdW1lZC4KICogQW4gSFRUUCBHRVQgb24gdGhlIFVSTCBtdXN0IHlpZWxkIGEgW2dvb2dsZS5wcm90b2J1Zi5UeXBlXVtdCiAgIHZhbHVlIGluIGJpbmFyeSBmb3JtYXQsIG9yIHByb2R1Y2UgYW4gZXJyb3IuCiAqIEFwcGxpY2F0aW9ucyBhcmUgYWxsb3dlZCB0byBjYWNoZSBsb29rdXAgcmVzdWx0cyBiYXNlZCBvbiB0aGUKICAgVVJMLCBvciBoYXZlIHRoZW0gcHJlY29tcGlsZWQgaW50byBhIGJpbmFyeSB0byBhdm9pZCBhbnkKICAgbG9va3VwLiBUaGVyZWZvcmUsIGJpbmFyeSBjb21wYXRpYmlsaXR5IG5lZWRzIHRvIGJlIHByZXNlcnZlZAogICBvbiBjaGFuZ2VzIHRvIHR5cGVzLiAoVXNlIHZlcnNpb25lZCB0eXBlIG5hbWVzIHRvIG1hbmFnZQogICBicmVha2luZyBjaGFuZ2VzLikKCiBOb3RlOiB0aGlzIGZ1bmN0aW9uYWxpdHkgaXMgbm90IGN1cnJlbnRseSBhdmFpbGFibGUgaW4gdGhlIG9mZmljaWFsCiBwcm90b2J1ZiByZWxlYXNlLCBhbmQgaXQgaXMgbm90IHVzZWQgZm9yIHR5cGUgVVJMcyBiZWdpbm5pbmcgd2l0aAogdHlwZS5nb29nbGVhcGlzLmNvbS4KCiBTY2hlbWVzIG90aGVyIHRoYW4gYGh0dHBgLCBgaHR0cHNgIChvciB0aGUgZW1wdHkgc2NoZW1lKSBtaWdodCBiZQogdXNlZCB3aXRoIGltcGxlbWVudGF0aW9uIHNwZWNpZmljIHNlbWFudGljcy4KCgoOCgUEAAIABBIFlgECeQ0KDQoFBAACAAUSBJYBAggKDQoFBAACAAESBJYBCREKDQoFBAACAAMSBJYBFBUKVwoEBAACARIEmQECEhpJIE11c3QgYmUgYSB2YWxpZCBzZXJpYWxpemVkIHByb3RvY29sIGJ1ZmZlciBvZiB0aGUgYWJvdmUgc3BlY2lmaWVkIHR5cGUuCgoPCgUEAAIBBBIGmQEClgEWCg0KBQQAAgEFEgSZAQIHCg0KBQQAAgEBEgSZAQgNCg0KBQQAAgEDEgSZARARYgZwcm90bzMKxBEKG3ZvbHRoYV9wcm90b3MvYWRhcHRlci5wcm90bxIHYWRhcHRlchoZZ29vZ2xlL3Byb3RvYnVmL2FueS5wcm90byJSCg1BZGFwdGVyQ29uZmlnEkEKEWFkZGl0aW9uYWxfY29uZmlnGEAgASgLMhQuZ29vZ2xlLnByb3RvYnVmLkFueVIQYWRkaXRpb25hbENvbmZpZyKjAwoHQWRhcHRlchIOCgJpZBgBIAEoCVICaWQSFgoGdmVuZG9yGAIgASgJUgZ2ZW5kb3ISGAoHdmVyc2lvbhgDIAEoCVIHdmVyc2lvbhIuCgZjb25maWcYECABKAsyFi5hZGFwdGVyLkFkYXB0ZXJDb25maWdSBmNvbmZpZxJLChZhZGRpdGlvbmFsX2Rlc2NyaXB0aW9uGEAgASgLMhQuZ29vZ2xlLnByb3RvYnVmLkFueVIVYWRkaXRpb25hbERlc2NyaXB0aW9uEiwKEmxvZ2ljYWxfZGV2aWNlX2lkcxgEIAMoCVIQbG9naWNhbERldmljZUlkcxItChJsYXN0X2NvbW11bmljYXRpb24YBSABKANSEWxhc3RDb21tdW5pY2F0aW9uEiYKDmN1cnJlbnRSZXBsaWNhGAYgASgFUg5jdXJyZW50UmVwbGljYRIkCg10b3RhbFJlcGxpY2FzGAcgASgFUg10b3RhbFJlcGxpY2FzEhoKCGVuZHBvaW50GAggASgJUghlbmRwb2ludBISCgR0eXBlGAkgASgJ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dWYvcHR5cGVzL2VtcHR5+AEBogIDR1BCqgIeR29vZ2xlLlByb3RvYnVmLldlbGxLbm93blR5cGVzSv4QCgYSBB4AMxAKzAwKAQwSAx4AEjLBDCBQcm90b2NvbCBCdWZmZXJzIC0gR29vZ2xlJ3MgZGF0YSBpbnRlcmNoYW5nZSBmb3JtYXQKIENvcHlyaWdodCAyMDA4IEdvb2dsZSBJbmMuICBBbGwgcmlnaHRzIHJlc2VydmVkLgogaHR0cHM6Ly9kZXZlbG9wZXJzLmdvb2dsZS5jb20vcHJvdG9jb2wtYnVmZmVycy8KCiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUKIG1ldDoKCiAgICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAogbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgogICAgICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZQogY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lcgogaW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZQogZGlzdHJpYnV0aW9uLgogICAgICogTmVpdGhlciB0aGUgbmFtZSBvZiBHb29nbGUgSW5jLiBub3IgdGhlIG5hbWVzIG9mIGl0cwogY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20KIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uCgogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUwogIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QKIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUgogQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQKIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLAogU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVAogTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsCiBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkKIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KCggKAQISAyAAGAoICgEIEgMiADsKCQoCCCUSAyIAOwoICgEIEgMjAD4KCQoCCAsSAyMAPgoICgEIEgMkACwKCQoCCAESAyQALAoICgEIEgMlACsKCQoCCAgSAyUAKwoICgEIEgMmACIKCQoCCAoSAyYAIgoICgEIEgMnACEKCQoCCCQSAycAIQoICgEIEgMoAB8KCQoCCB8SAygAHwr7AgoCBAASAzMAEBrvAiBBIGdlbmVyaWMgZW1wdHkgbWVzc2FnZSB0aGF0IHlvdSBjYW4gcmUtdXNlIHRvIGF2b2lkIGRlZmluaW5nIGR1cGxpY2F0ZWQKIGVtcHR5IG1lc3NhZ2VzIGluIHlvdXIgQVBJcy4gQSB0eXBpY2FsIGV4YW1wbGUgaXMgdG8gdXNlIGl0IGFzIHRoZSByZXF1ZXN0CiBvciB0aGUgcmVzcG9uc2UgdHlwZSBvZiBhbiBBUEkgbWV0aG9kLiBGb3IgaW5zdGFuY2U6CgogICAgIHNlcnZpY2UgRm9vIHsKICAgICAgIHJwYyBCYXIoZ29vZ2xlLnByb3RvYnVmLkVtcHR5KSByZXR1cm5zIChnb29nbGUucHJvdG9idWYuRW1wdHkpOwogICAgIH0KCiBUaGUgSlNPTiByZXByZXNlbnRhdGlvbiBmb3IgYEVtcHR5YCBpcyBlbXB0eSBKU09OIG9iamVjdCBge31gLgoKCgoDBAABEgMzCA1iBnByb3RvMwqeIQoadm9sdGhhX3Byb3Rvcy9jb21tb24ucHJvdG8SBmNvbW1vbiIXCgNLZXkSEAoDa2V5GAEgASgJUgNrZXkiFAoCSUQSDgoCaWQYASABKAlSAmlkIicKA0lEcxIgCgVpdGVtcxgBIAMoCzIKLmNvbW1vbi5JRFIFaXRlbXMiegoKQ29ubmVjdGlvbhIaCghlbmRwb2ludBgBIAEoCVIIZW5kcG9pbnQSIAoLY29udGV4dEluZm8YAiABKAlSC2NvbnRleHRJbmZvEi4KE2tlZXBfYWxpdmVfaW50ZXJ2YWwYAyABKANSEWtlZXBBbGl2ZUludGVydmFsImgKCkFkbWluU3RhdGUiWgoFVHlwZXMSCwoHVU5LTk9XThAAEhIKDlBSRVBST1ZJU0lPTkVEEAESCwoHRU5BQkxFRBACEgwKCERJU0FCTEVEEAMSFQoRRE9XTkxPQURJTkdfSU1BR0UQBCKfAQoKT3BlclN0YXR1cyKQAQoFVHlwZXMSCwoHVU5LTk9XThAAEg4KCkRJU0NPVkVSRUQQARIOCgpBQ1RJVkFUSU5HEAISCwoHVEVTVElORxADEgoKBkFDVElWRRAEEgoKBkZB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HQoOCgcEBwQAAgMCEgNyICEKGgoEBAcCABIDdQQhGg0gUmV0dXJuIGNvZGUKCg0KBQQHAgAEEgR1BHMFCgwKBQQHAgAGEgN1BBcKDAoFBAcCAAESA3UYHAoMCgUEBwIAAxIDdR8gCh4KBAQHAgESA3gEHxoRIEFkZGl0aW9uYWwgSW5mbwoKDQoFBAcCAQQSBHgEdSEKDAoFBAcCAQUSA3gECgoMCgUEBwIBARIDeAsaCgwKBQQHAgEDEgN4HR5iBnByb3RvMwrGeQoVZ29vZ2xlL2FwaS9odHRwLnByb3RvEgpnb29nbGUuYXBpInkKBEh0dHASKgoFcnVsZXMYASADKAsyFC5nb29nbGUuYXBpLkh0dHBSdWxlUgVydWxlcxJFCh9mdWxseV9kZWNvZGVfcmVzZXJ2ZWRfZXhwYW5zaW9uGAIgASgIUhxmdWxseURlY29kZVJlc2VydmVkRXhwYW5zaW9uItoCCghIdHRwUnVsZRIaCghzZWxlY3RvchgBIAEoCVIIc2VsZWN0b3ISEgoDZ2V0GAIgASgJSABSA2dldBISCgNwdXQYAyABKAlIAFIDcHV0EhQKBHBvc3QYBCABKAlIAFIEcG9zdBIYCgZkZWxldGUYBSABKAlIAFIGZGVsZXRlEhYKBXBhdGNoGAYgASgJSABSBXBhdGNoEjcKBmN1c3RvbRgIIAEoCzIdLmdvb2dsZS5hcGkuQ3VzdG9tSHR0cFBhdHRlcm5IAFIGY3VzdG9tEhIKBGJvZHkYByABKAlSBGJvZHkSIwoNcmVzcG9uc2VfYm9keRgMIAEoCVIMcmVzcG9uc2VCb2R5EkUKE2FkZGl0aW9uYWxfYmluZGluZ3MYCyADKAsyFC5nb29nbGUuYXBpLkh0dHBSdWxlUhJhZGRpdGlvbmFsQmluZGluZ3NCCQoHcGF0dGVybiI7ChFDdXN0b21IdHRwUGF0dGVybhISCgRraW5kGAEgASgJUgRraW5kEhIKBHBhdGgYAiABKAlSBHBhdGhCagoOY29tLmdvb2dsZS5hcGlCCUh0dHBQcm90b1ABWkFnb29nbGUuZ29sYW5nLm9yZy9nZW5wcm90by9nb29nbGVhcGlzL2FwaS9hbm5vdGF0aW9uczthbm5vdGF0aW9uc/gBAaICBEdBUElKl3QKBxIFDwD7AgEKvgQKAQwSAw8AEjKzBCBDb3B5cmlnaHQgMjAxOCBHb29nbGUgTExDLgoKIExpY2Vuc2VkIHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAgKHRoZSAiTGljZW5zZSIpOwogeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLgogWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0CgogICAgIGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMAoKIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmUKIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuICJBUyBJUyIgQkFTSVMsCiBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC4KIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmQKIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgoKCggKAQISAxEAEwoICgEIEgMTAB8KCQoCCB8SAxMAHwoICgEIEgMUAFgKCQoCCAsSAxQAWAoICgEIEgMVACIKCQoCCAoSAxUAIgoICgEIEgMWACoKCQoCCAgSAxYAKgoICgEIEgMXACcKCQoCCAESAxcAJwoICgEIEgMYACIKCQoCCCQSAxgAIgrNAQoCBAASBB0AKgEawAEgRGVmaW5lcyB0aGUgSFRUUCBjb25maWd1cmF0aW9uIGZvciBhbiBBUEkgc2VydmljZS4gSXQgY29udGFpbnMgYSBsaXN0IG9mCiBbSHR0cFJ1bGVdW2dvb2dsZS5hcGkuSHR0cFJ1bGVdLCBlYWNoIHNwZWNpZnlpbmcgdGhlIG1hcHBpbmcgb2YgYW4gUlBDIG1ldGhvZAogdG8gb25lIG9yIG1vcmUgSFRUUCBSRVNUIEFQSSBtZXRob2RzLgoKCgoDBAABEgMdCAwKogEKBAQAAgASAyECHhqUASBBIGxpc3Qgb2YgSFRUUCBjb25maWd1cmF0aW9uIHJ1bGVzIHRoYXQgYXBwbHkgdG8gaW5kaXZpZHVhbCBBUEkgbWV0aG9kcy4KCiAqKk5PVEU6KiogQWxsIHNlcnZpY2UgY29uZmlndXJhdGlvbiBydWxlcyBmb2xsb3cgImxhc3Qgb25lIHdpbnMiIG9yZGVyLgoKDAoFBAACAAQSAyECCgoMCgUEAAIABhIDIQsTCgwKBQQAAgABEgMhFBkKDAoFBAACAAMSAyEcHQqTAgoEBAACARIDKQIrGoUCIFdoZW4gc2V0IHRvIHRydWUsIFVSTCBwYXRoIHBhcm1ldGVycyB3aWxsIGJlIGZ1bGx5IFVSSS1kZWNvZGVkIGV4Y2VwdCBpbgogY2FzZXMgb2Ygc2luZ2xlIHNlZ21lbnQgbWF0Y2hlcyBpbiByZXNlcnZlZCBleHBhbnNpb24sIHdoZXJlICIlMkYiIHdpbGwgYmUKIGxlZnQgZW5jb2RlZC4KCiBUaGUgZGVmYXVsdCBiZWhhdmlvciBpcyB0byBub3QgZGVjb2RlIFJGQyA2NTcwIHJlc2VydmVkIGNoYXJhY3RlcnMgaW4gbXVsdGkKIHNlZ21lbnQgbWF0Y2hlcy4KCg0KBQQAAgEEEgQpAiEeCgwKBQQAAgEFEgMpAgYKDAoFBAACAQESAykHJgoMCgUEAAIBAxIDKSkqCrtTCgIEARIGvAIA8gIBGqxTICMgZ1JQQyBUcmFuc2NvZGluZwoKIGdSUEMgVHJhbnNjb2RpbmcgaXMgYSBmZWF0dXJlIGZvciBtYXBwaW5nIGJldHdlZW4gYSBnUlBDIG1ldGhvZCBhbmQgb25lIG9yCiBtb3JlIEhUVFAgUkVTVCBlbmRwb2ludHMuIEl0IGFsbG93cyBkZXZlbG9wZXJzIHRvIGJ1aWxkIGEgc2luZ2xlIEFQSSBzZXJ2aWNlCiB0aGF0IHN1cHBvcnRzIGJvdGggZ1JQQyBBUElzIGFuZCBSRVNUIEFQSXMuIE1hbnkgc3lzdGVtcywgaW5jbHVkaW5nIFtHb29nbGUKIEFQSXNdKGh0dHBzOi8vZ2l0aHViLmNvbS9nb29nbGVhcGlzL2dvb2dsZWFwaXMpLAogW0Nsb3VkIEVuZHBvaW50c10oaHR0cHM6Ly9jbG91ZC5nb29nbGUuY29tL2VuZHBvaW50cyksIFtnUlBDCiBHYXRld2F5XShodHRwczovL2dpdGh1Yi5jb20vZ3JwYy1lY29zeXN0ZW0vZ3JwYy1nYXRld2F5KSwKIGFuZCBbRW52b3ldKGh0dHBzOi8vZ2l0aHViLmNvbS9lbnZveXByb3h5L2Vudm95KSBwcm94eSBzdXBwb3J0IHRoaXMgZmVhdHVyZQogYW5kIHVzZSBpdCBmb3IgbGFyZ2Ugc2NhbGUgcHJvZHVjdGlvbiBzZXJ2aWNlcy4KCiBgSHR0cFJ1bGVgIGRlZmluZXMgdGhlIHNjaGVtYSBvZiB0aGUgZ1JQQy9SRVNUIG1hcHBpbmcuIFRoZSBtYXBwaW5nIHNwZWNpZmllcwogaG93IGRpZmZlcmVudCBwb3J0aW9ucyBvZiB0aGUgZ1JQQyByZXF1ZXN0IG1lc3NhZ2UgYXJlIG1hcHBlZCB0byB0aGUgVVJMCiBwYXRoLCBVUkwgcXVlcnkgcGFyYW1ldGVycywgYW5kIEhUVFAgcmVxdWVzdCBib2R5LiBJdCBhbHNvIGNvbnRyb2xzIGhvdyB0aGUKIGdSUEMgcmVzcG9uc2UgbWVzc2FnZSBpcyBtYXBwZWQgdG8gdGhlIEhUVFAgcmVzcG9uc2UgYm9keS4gYEh0dHBSdWxlYCBpcwogdHlwaWNhbGx5IHNwZWNpZmllZCBhcyBhbiBgZ29vZ2xlLmFwaS5odHRwYCBhbm5vdGF0aW9uIG9uIHRoZSBnUlBDIG1ldGhvZC4KCiBFYWNoIG1hcHBpbmcgc3BlY2lmaWVzIGEgVVJMIHBhdGggdGVtcGxhdGUgYW5kIGFuIEhUVFAgbWV0aG9kLiBUaGUgcGF0aAogdGVtcGxhdGUgbWF5IHJlZmVyIHRvIG9uZSBvciBtb3JlIGZpZWxkcyBpbiB0aGUgZ1JQQyByZXF1ZXN0IG1lc3NhZ2UsIGFzIGxvbmcKIGFzIGVhY2ggZmllbGQgaXMgYSBub24tcmVwZWF0ZWQgZmllbGQgd2l0aCBhIHByaW1pdGl2ZSAobm9uLW1lc3NhZ2UpIHR5cGUuCiBUaGUgcGF0aCB0ZW1wbGF0ZSBjb250cm9scyBob3cgZmllbGRzIG9mIHRoZSByZXF1ZXN0IG1lc3NhZ2UgYXJlIG1hcHBlZCB0bwogdGhlIFVSTCBwYXRoLgoKIEV4YW1wbGU6CgogICAgIHNlcnZpY2UgTWVzc2FnaW5nIHsKICAgICAgIHJwYyBHZXRNZXNzYWdlKEdldE1lc3NhZ2VSZXF1ZXN0KSByZXR1cm5zIChNZXNzYWdlKSB7CiAgICAgICAgIG9wdGlvbiAoZ29vZ2xlLmFwaS5odHRwKSA9IHsKICAgICAgICAgICAgIGdldDogIi92MS97bmFtZT1tZXNzYWdlcy8qfSIKICAgICAgICAgfTsKICAgICAgIH0KICAgICB9CiAgICAgbWVzc2FnZSBHZXRNZXNzYWdlUmVxdWVzdCB7CiAgICAgICBzdHJpbmcgbmFtZSA9IDE7IC8vIE1hcHBlZCB0byBVUkwgcGF0aC4KICAgICB9CiAgICAgbWVzc2FnZSBNZXNzYWdlIHsKICAgICAgIHN0cmluZyB0ZXh0ID0gMTsgLy8gVGhlIHJlc291cmNlIGNvbnRlbnQuCiAgICAgfQoKIFRoaXMgZW5hYmxlcyBhbiBIVFRQIFJFU1QgdG8gZ1JQQyBtYXBwaW5nIGFzIGJlbG93OgoKIEhUVFAgfCBnUlBDCiAtLS0tLXwtLS0tLQogYEdFVCAvdjEvbWVzc2FnZXMvMTIzNDU2YCAgfCBgR2V0TWVzc2FnZShuYW1lOiAibWVzc2FnZXMvMTIzNDU2IilgCgogQW55IGZpZWxkcyBpbiB0aGUgcmVxdWVzdCBtZXNzYWdlIHdoaWNoIGFyZSBub3QgYm91bmQgYnkgdGhlIHBhdGggdGVtcGxhdGUKIGF1dG9tYXRpY2FsbHkgYmVjb21lIEhUVFAgcXVlcnkgcGFyYW1ldGVycyBpZiB0aGVyZSBpcyBubyBIVFRQIHJlcXVlc3QgYm9keS4KIEZvciBleGFtcGxlOgoKICAgICBzZXJ2aWNlIE1lc3NhZ2luZyB7CiAgICAgICBycGMgR2V0TWVzc2FnZShHZXRNZXNzYWdlUmVxdWVzdCkgcmV0dXJucyAoTWVzc2FnZSkgewogICAgICAgICBvcHRpb24gKGdvb2dsZS5hcGkuaHR0cCkgPSB7CiAgICAgICAgICAgICBnZXQ6Ii92MS9tZXNzYWdlcy97bWVzc2FnZV9pZH0iCiAgICAgICAgIH07CiAgICAgICB9CiAgICAgfQogICAgIG1lc3NhZ2UgR2V0TWVzc2FnZVJlcXVlc3QgewogICAgICAgbWVzc2FnZSBTdWJNZXNzYWdlIHsKICAgICAgICAgc3RyaW5nIHN1YmZpZWxkID0gMTsKICAgICAgIH0KICAgICAgIHN0cmluZyBtZXNzYWdlX2lkID0gMTsgLy8gTWFwcGVkIHRvIFVSTCBwYXRoLgogICAgICAgaW50NjQgcmV2aXNpb24gPSAyOyAgICAvLyBNYXBwZWQgdG8gVVJMIHF1ZXJ5IHBhcmFtZXRlciBgcmV2aXNpb25gLgogICAgICAgU3ViTWVzc2FnZSBzdWIgPSAzOyAgICAvLyBNYXBwZWQgdG8gVVJMIHF1ZXJ5IHBhcmFtZXRlciBgc3ViLnN1YmZpZWxkYC4KICAgICB9CgogVGhpcyBlbmFibGVzIGEgSFRUUCBKU09OIHRvIFJQQyBtYXBwaW5nIGFzIGJlbG93OgoKIEhUVFAgfCBnUlBDCiAtLS0tLXwtLS0tLQogYEdFVCAvdjEvbWVzc2FnZXMvMTIzNDU2P3JldmlzaW9uPTImc3ViLnN1YmZpZWxkPWZvb2AgfAogYEdldE1lc3NhZ2UobWVzc2FnZV9pZDogIjEyMzQ1NiIgcmV2aXNpb246IDIgc3ViOiBTdWJNZXNzYWdlKHN1YmZpZWxkOgogImZvbyIpKWAKCiBOb3RlIHRoYXQgZmllbGRzIHdoaWNoIGFyZSBtYXBwZWQgdG8gVVJMIHF1ZXJ5IHBhcmFtZXRlcnMgbXVzdCBoYXZlIGEKIHByaW1pdGl2ZSB0eXBlIG9yIGEgcmVwZWF0ZWQgcHJpbWl0aXZlIHR5cGUgb3IgYSBub24tcmVwZWF0ZWQgbWVzc2FnZSB0eXBlLgogSW4gdGhlIGNhc2Ugb2YgYSByZXBlYXRlZCB0eXBlLCB0aGUgcGFyYW1ldGVyIGNhbiBiZSByZXBlYXRlZCBpbiB0aGUgVVJMCiBhcyBgLi4uP3BhcmFtPUEmcGFyYW09QmAuIEluIHRoZSBjYXNlIG9mIGEgbWVzc2FnZSB0eXBlLCBlYWNoIGZpZWxkIG9mIHRoZQogbWVzc2FnZSBpcyBtYXBwZWQgdG8gYSBzZXBhcmF0ZSBwYXJhbWV0ZXIsIHN1Y2ggYXMKIGAuLi4/Zm9vLmE9QSZmb28uYj1CJmZvby5jPUNgLgoKIEZvciBIVFRQIG1ldGhvZHMgdGhhdCBhbGxvdyBhIHJlcXVlc3QgYm9keSwgdGhlIGBib2R5YCBmaWVsZAogc3BlY2lmaWVzIHRoZSBtYXBwaW5nLiBDb25zaWRlciBhIFJFU1QgdXBkYXRlIG1ldGhvZCBvbiB0aGUKIG1lc3NhZ2UgcmVzb3VyY2UgY29sbGVjdGlvbjoKCiAgICAgc2VydmljZSBNZXNzYWdpbmcgewogICAgICAgcnBjIFVwZGF0ZU1lc3NhZ2UoVXBkYXRlTWVzc2FnZVJlcXVlc3QpIHJldHVybnMgKE1lc3NhZ2UpIHsKICAgICAgICAgb3B0aW9uIChnb29nbGUuYXBpLmh0dHApID0gewogICAgICAgICAgIHBhdGNoOiAiL3YxL21lc3NhZ2VzL3ttZXNzYWdlX2lkfSIKICAgICAgICAgICBib2R5OiAibWVzc2FnZSIKICAgICAgICAgfTsKICAgICAgIH0KICAgICB9CiAgICAgbWVzc2FnZSBVcGRhdGVNZXNzYWdlUmVxdWVzdCB7CiAgICAgICBzdHJpbmcgbWVzc2FnZV9pZCA9IDE7IC8vIG1hcHBlZCB0byB0aGUgVVJMCiAgICAgICBNZXNzYWdlIG1lc3NhZ2UgPSAyOyAgIC8vIG1hcHBlZCB0byB0aGUgYm9keQogICAgIH0KCiBUaGUgZm9sbG93aW5nIEhUVFAgSlNPTiB0byBSUEMgbWFwcGluZyBpcyBlbmFibGVkLCB3aGVyZSB0aGUKIHJlcHJlc2VudGF0aW9uIG9mIHRoZSBKU09OIGluIHRoZSByZXF1ZXN0IGJvZHkgaXMgZGV0ZXJtaW5lZCBieQogcHJvdG9zIEpTT04gZW5jb2Rpbmc6CgogSFRUUCB8IGdSUEMKIC0tLS0tfC0tLS0tCiBgUEFUQ0ggL3YxL21lc3NhZ2VzLzEyMzQ1NiB7ICJ0ZXh0IjogIkhpISIgfWAgfCBgVXBkYXRlTWVzc2FnZShtZXNzYWdlX2lkOgogIjEyMzQ1NiIgbWVzc2FnZSB7IHRleHQ6ICJIaSEiIH0pYAoKIFRoZSBzcGVjaWFsIG5hbWUgYCpgIGNhbiBiZSB1c2VkIGluIHRoZSBib2R5IG1hcHBpbmcgdG8gZGVmaW5lIHRoYXQKIGV2ZXJ5IGZpZWxkIG5vdCBib3VuZCBieSB0aGUgcGF0aCB0ZW1wbGF0ZSBzaG91bGQgYmUgbWFwcGVkIHRvIHRoZQogcmVxdWVzdCBib2R5LiAgVGhpcyBlbmFibGVzIHRoZSBmb2xsb3dpbmcgYWx0ZXJuYXRpdmUgZGVmaW5pdGlvbiBvZgogdGhlIHVwZGF0ZSBtZXRob2Q6CgogICAgIHNlcnZpY2UgTWVzc2FnaW5nIHsKICAgICAgIHJwYyBVcGRhdGVNZXNzYWdlKE1lc3NhZ2UpIHJldHVybnMgKE1lc3NhZ2UpIHsKICAgICAgICAgb3B0aW9uIChnb29nbGUuYXBpLmh0dHApID0gewogICAgICAgICAgIHBhdGNoOiAiL3YxL21lc3NhZ2VzL3ttZXNzYWdlX2lkfSIKICAgICAgICAgICBib2R5OiAiKiIKICAgICAgICAgfTsKICAgICAgIH0KICAgICB9CiAgICAgbWVzc2FnZSBNZXNzYWdlIHsKICAgICAgIHN0cmluZyBtZXNzYWdlX2lkID0gMTsKICAgICAgIHN0cmluZyB0ZXh0ID0gMjsKICAgICB9CgoKIFRoZSBmb2xsb3dpbmcgSFRUUCBKU09OIHRvIFJQQyBtYXBwaW5nIGlzIGVuYWJsZWQ6CgogSFRUUCB8IGdSUEMKIC0tLS0tfC0tLS0tCiBgUEFUQ0ggL3YxL21lc3NhZ2VzLzEyMzQ1NiB7ICJ0ZXh0IjogIkhpISIgfWAgfCBgVXBkYXRlTWVzc2FnZShtZXNzYWdlX2lkOgogIjEyMzQ1NiIgdGV4dDogIkhpISIpYAoKIE5vdGUgdGhhdCB3aGVuIHVzaW5nIGAqYCBpbiB0aGUgYm9keSBtYXBwaW5nLCBpdCBpcyBub3QgcG9zc2libGUgdG8KIGhhdmUgSFRUUCBwYXJhbWV0ZXJzLCBhcyBhbGwgZmllbGRzIG5vdCBib3VuZCBieSB0aGUgcGF0aCBlbmQgaW4KIHRoZSBib2R5LiBUaGlzIG1ha2VzIHRoaXMgb3B0aW9uIG1vcmUgcmFyZWx5IHVzZWQgaW4gcHJhY3RpY2Ugd2hlbgogZGVmaW5pbmcgUkVTVCBBUElzLiBUaGUgY29tbW9uIHVzYWdlIG9mIGAqYCBpcyBpbiBjdXN0b20gbWV0aG9kcwogd2hpY2ggZG9uJ3QgdXNlIHRoZSBVUkwgYXQgYWxsIGZvciB0cmFuc2ZlcnJpbmcgZGF0YS4KCiBJdCBpcyBwb3NzaWJsZSB0byBkZWZpbmUgbXVsdGlwbGUgSFRUUCBtZXRob2RzIGZvciBvbmUgUlBDIGJ5IHVzaW5nCiB0aGUgYGFkZGl0aW9uYWxfYmluZGluZ3NgIG9wdGlvbi4gRXhhbXBsZToKCiAgICAgc2VydmljZSBNZXNzYWdpbmcgewogICAgICAgcnBjIEdldE1lc3NhZ2UoR2V0TWVzc2FnZVJlcXVlc3QpIHJldHVybnMgKE1lc3NhZ2UpIHsKICAgICAgICAgb3B0aW9uIChnb29nbGUuYXBpLmh0dHApID0gewogICAgICAgICAgIGdldDogIi92MS9tZXNzYWdlcy97bWVzc2FnZV9pZH0iCiAgICAgICAgICAgYWRkaXRpb25hbF9iaW5kaW5ncyB7CiAgICAgICAgICAgICBnZXQ6ICIvdjEvdXNlcnMve3VzZXJfaWR9L21lc3NhZ2VzL3ttZXNzYWdlX2lkfSIKICAgICAgICAgICB9CiAgICAgICAgIH07CiAgICAgICB9CiAgICAgfQogICAgIG1lc3NhZ2UgR2V0TWVzc2FnZVJlcXVlc3QgewogICAgICAgc3RyaW5nIG1lc3NhZ2VfaWQgPSAxOwogICAgICAgc3RyaW5nIHVzZXJfaWQgPSAyOwogICAgIH0KCiBUaGlzIGVuYWJsZXMgdGhlIGZvbGxvd2luZyB0d28gYWx0ZXJuYXRpdmUgSFRUUCBKU09OIHRvIFJQQyBtYXBwaW5nczoKCiBIVFRQIHwgZ1JQQwogLS0tLS18LS0tLS0KIGBHRVQgL3YxL21lc3NhZ2VzLzEyMzQ1NmAgfCBgR2V0TWVzc2FnZShtZXNzYWdlX2lkOiAiMTIzNDU2IilgCiBgR0VUIC92MS91c2Vycy9tZS9tZXNzYWdlcy8xMjM0NTZgIHwgYEdldE1lc3NhZ2UodXNlcl9pZDogIm1lIiBtZXNzYWdlX2lkOgogIjEyMzQ1NiIpYAoKICMjIFJ1bGVzIGZvciBIVFRQIG1hcHBpbmcKCiAxLiBMZWFmIHJlcXVlc3QgZmllbGRzIChyZWN1cnNpdmUgZXhwYW5zaW9uIG5lc3RlZCBtZXNzYWdlcyBpbiB0aGUgcmVxdWVzdAogICAgbWVzc2FnZSkgYXJlIGNsYXNzaWZpZWQgaW50byB0aHJlZSBjYXRlZ29yaWVzOgogICAgLSBGaWVsZHMgcmVmZXJyZWQgYnkgdGhlIHBhdGggdGVtcGxhdGUuIFRoZXkgYXJlIHBhc3NlZCB2aWEgdGhlIFVSTCBwYXRoLgogICAgLSBGaWVsZHMgcmVmZXJyZWQgYnkgdGhlIFtIdHRwUnVsZS5ib2R5XVtnb29nbGUuYXBpLkh0dHBSdWxlLmJvZHldLiBUaGV5CiAgICBhcmUgcGFzc2VkIHZpYSB0aGUgSFRUUAogICAgICByZXF1ZXN0IGJvZHkuCiAgICAtIEFsbCBvdGhlciBmaWVsZHMgYXJlIHBhc3NlZCB2aWEgdGhlIFVSTCBxdWVyeSBwYXJhbWV0ZXJzLCBhbmQgdGhlCiAgICAgIHBhcmFtZXRlciBuYW1lIGlzIHRoZSBmaWVsZCBwYXRoIGluIHRoZSByZXF1ZXN0IG1lc3NhZ2UuIEEgcmVwZWF0ZWQKICAgICAgZmllbGQgY2FuIGJlIHJlcHJlc2VudGVkIGFzIG11bHRpcGxlIHF1ZXJ5IHBhcmFtZXRlcnMgdW5kZXIgdGhlIHNhbWUKICAgICAgbmFtZS4KICAyLiBJZiBbSHR0cFJ1bGUuYm9keV1bZ29vZ2xlLmFwaS5IdHRwUnVsZS5ib2R5XSBpcyAiKiIsIHRoZXJlIGlzIG5vIFVSTAogIHF1ZXJ5IHBhcmFtZXRlciwgYWxsIGZpZWxkcwogICAgIGFyZSBwYXNzZWQgdmlhIFVSTCBwYXRoIGFuZCBIVFRQIHJlcXVlc3QgYm9keS4KICAzLiBJZiBbSHR0cFJ1bGUuYm9keV1bZ29vZ2xlLmFwaS5IdHRwUnVsZS5ib2R5XSBpcyBvbWl0dGVkLCB0aGVyZSBpcyBubyBIVFRQCiAgcmVxdWVzdCBib2R5LCBhbGwKICAgICBmaWVsZHMgYXJlIHBhc3NlZCB2aWEgVVJMIHBhdGggYW5kIFVSTCBxdWVyeSBwYXJhbWV0ZXJzLgoKICMjIyBQYXRoIHRlbXBsYXRlIHN5bnRheAoKICAgICBUZW1wbGF0ZSA9ICIvIiBTZWdtZW50cyBbIFZlcmIgXSA7CiAgICAgU2VnbWVudHMgPSBTZWdtZW50IHsgIi8iIFNlZ21lbnQgfSA7CiAgICAgU2VnbWVudCAgPSAiKiIgfCAiKioiIHwgTElURVJBTCB8IFZhcmlhYmxlIDsKICAgICBWYXJpYWJsZSA9ICJ7IiBGaWVsZFBhdGggWyAiPSIgU2VnbWVudHMgXSAifSIgOwogICAgIEZpZWxkUGF0aCA9IElERU5UIHsgIi4iIElERU5UIH0gOwogICAgIFZlcmIgICAgID0gIjoiIExJVEVSQUwgOwoKIFRoZSBzeW50YXggYCpgIG1hdGNoZXMgYSBzaW5nbGUgVVJMIHBhdGggc2VnbWVudC4gVGhlIHN5bnRheCBgKipgIG1hdGNoZXMKIHplcm8gb3IgbW9yZSBVUkwgcGF0aCBzZWdtZW50cywgd2hpY2ggbXVzdCBiZSB0aGUgbGFzdCBwYXJ0IG9mIHRoZSBVUkwgcGF0aAogZXhjZXB0IHRoZSBgVmVyYmAuCgogVGhlIHN5bnRheCBgVmFyaWFibGVgIG1hdGNoZXMgcGFydCBvZiB0aGUgVVJMIHBhdGggYXMgc3BlY2lmaWVkIGJ5IGl0cwogdGVtcGxhdGUuIEEgdmFyaWFibGUgdGVtcGxhdGUgbXVzdCBub3QgY29udGFpbiBvdGhlciB2YXJpYWJsZXMuIElmIGEgdmFyaWFibGUKIG1hdGNoZXMgYSBzaW5nbGUgcGF0aCBzZWdtZW50LCBpdHMgdGVtcGxhdGUgbWF5IGJlIG9taXR0ZWQsIGUuZy4gYHt2YXJ9YAogaXMgZXF1aXZhbGVudCB0byBge3Zhcj0qfWAuCgogVGhlIHN5bnRheCBgTElURVJBTGAgbWF0Y2hlcyBsaXRlcmFsIHRleHQgaW4gdGhlIFVSTCBwYXRoLiBJZiB0aGUgYExJVEVSQUxgCiBjb250YWlucyBhbnkgcmVzZXJ2ZWQgY2hhcmFjdGVyLCBzdWNoIGNoYXJhY3RlcnMgc2hvdWxkIGJlIHBlcmNlbnQtZW5jb2RlZAogYmVmb3JlIHRoZSBtYXRjaGluZy4KCiBJZiBhIHZhcmlhYmxlIGNvbnRhaW5zIGV4YWN0bHkgb25lIHBhdGggc2VnbWVudCwgc3VjaCBhcyBgInt2YXJ9ImAgb3IKIGAie3Zhcj0qfSJgLCB3aGVuIHN1Y2ggYSB2YXJpYWJsZSBpcyBleHBhbmRlZCBpbnRvIGEgVVJMIHBhdGggb24gdGhlIGNsaWVudAogc2lkZSwgYWxsIGNoYXJhY3RlcnMgZXhjZXB0IGBbLV8ufjAtOWEtekEtWl1gIGFyZSBwZXJjZW50LWVuY29kZWQuIFRoZQogc2VydmVyIHNpZGUgZG9lcyB0aGUgcmV2ZXJzZSBkZWNvZGluZy4gU3VjaCB2YXJpYWJsZXMgc2hvdyB1cCBpbiB0aGUKIFtEaXNjb3ZlcnkKIERvY3VtZW50XShodHRwczovL2RldmVsb3BlcnMuZ29vZ2xlLmNvbS9kaXNjb3ZlcnkvdjEvcmVmZXJlbmNlL2FwaXMpIGFzCiBge3Zhcn1gLgoKIElmIGEgdmFyaWFibGUgY29udGFpbnMgbXVsdGlwbGUgcGF0aCBzZWdtZW50cywgc3VjaCBhcyBgInt2YXI9Zm9vLyp9ImAKIG9yIGAie3Zhcj0qKn0iYCwgd2hlbiBzdWNoIGEgdmFyaWFibGUgaXMgZXhwYW5kZWQgaW50byBhIFVSTCBwYXRoIG9uIHRoZQogY2xpZW50IHNpZGUsIGFsbCBjaGFyYWN0ZXJzIGV4Y2VwdCBgWy1fLn4vMC05YS16QS1aXWAgYXJlIHBlcmNlbnQtZW5jb2RlZC4KIFRoZSBzZXJ2ZXIgc2lkZSBkb2VzIHRoZSByZXZlcnNlIGRlY29kaW5nLCBleGNlcHQgIiUyRiIgYW5kICIlMmYiIGFyZSBsZWZ0CiB1bmNoYW5nZWQuIFN1Y2ggdmFyaWFibGVzIHNob3cgdXAgaW4gdGhlCiBbRGlzY292ZXJ5CiBEb2N1bWVudF0oaHR0cHM6Ly9kZXZlbG9wZXJzLmdvb2dsZS5jb20vZGlzY292ZXJ5L3YxL3JlZmVyZW5jZS9hcGlzKSBhcwogYHsrdmFyfWAuCgogIyMgVXNpbmcgZ1JQQyBBUEkgU2VydmljZSBDb25maWd1cmF0aW9uCgogZ1JQQyBBUEkgU2VydmljZSBDb25maWd1cmF0aW9uIChzZXJ2aWNlIGNvbmZpZykgaXMgYSBjb25maWd1cmF0aW9uIGxhbmd1YWdlCiBmb3IgY29uZmlndXJpbmcgYSBnUlBDIHNlcnZpY2UgdG8gYmVjb21lIGEgdXNlci1mYWNpbmcgcHJvZHVjdC4gVGhlCiBzZXJ2aWNlIGNvbmZpZyBpcyBzaW1wbHkgdGhlIFlBTUwgcmVwcmVzZW50YXRpb24gb2YgdGhlIGBnb29nbGUuYXBpLlNlcnZpY2VgCiBwcm90byBtZXNzYWdlLgoKIEFzIGFuIGFsdGVybmF0aXZlIHRvIGFubm90YXRpbmcgeW91ciBwcm90byBmaWxlLCB5b3UgY2FuIGNvbmZpZ3VyZSBnUlBDCiB0cmFuc2NvZGluZyBpbiB5b3VyIHNlcnZpY2UgY29uZmlnIFlBTUwgZmlsZXMuIFlvdSBkbyB0aGlzIGJ5IHNwZWNpZnlpbmcgYQogYEh0dHBSdWxlYCB0aGF0IG1hcHMgdGhlIGdSUEMgbWV0aG9kIHRvIGEgUkVTVCBlbmRwb2ludCwgYWNoaWV2aW5nIHRoZSBzYW1lCiBlZmZlY3QgYXMgdGhlIHByb3RvIGFubm90YXRpb24uIFRoaXMgY2FuIGJlIHBhcnRpY3VsYXJseSB1c2VmdWwgaWYgeW91CiBoYXZlIGEgcHJvdG8gdGhhdCBpcyByZXVzZWQgaW4gbXVsdGlwbGUgc2VydmljZXMuIE5vdGUgdGhhdCBhbnkgdHJhbnNjb2RpbmcKIHNwZWNpZmllZCBpbiB0aGUgc2VydmljZSBjb25maWcgd2lsbCBvdmVycmlkZSBhbnkgbWF0Y2hpbmcgdHJhbnNjb2RpbmcKIGNvbmZpZ3VyYXRpb24gaW4gdGhlIHByb3RvLgoKIEV4YW1wbGU6CgogICAgIGh0dHA6CiAgICAgICBydWxlczoKICAgICAgICAgIyBTZWxlY3RzIGEgZ1JQQyBtZXRob2QgYW5kIGFwcGxpZXMgSHR0cFJ1bGUgdG8gaXQuCiAgICAgICAgIC0gc2VsZWN0b3I6IGV4YW1wbGUudjEuTWVzc2FnaW5nLkdldE1lc3NhZ2UKICAgICAgICAgICBnZXQ6IC92MS9tZXNzYWdlcy97bWVzc2FnZV9pZH0ve3N1Yi5zdWJmaWVsZH0KCiAjIyBTcGVjaWFsIG5vdGVzCgogV2hlbiBnUlBDIFRyYW5zY29kaW5nIGlzIHVzZWQgdG8gbWFwIGEgZ1JQQyB0byBKU09OIFJFU1QgZW5kcG9pbnRzLCB0aGUKIHByb3RvIHRvIEpTT04gY29udmVyc2lvbiBtdXN0IGZvbGxvdyB0aGUgW3Byb3RvMwogc3BlY2lmaWNhdGlvbl0oaHR0cHM6Ly9kZXZlbG9wZXJzLmdvb2dsZS5jb20vcHJvdG9jb2wtYnVmZmVycy9kb2NzL3Byb3RvMyNqc29uKS4KCiBXaGlsZSB0aGUgc2luZ2xlIHNlZ21lbnQgdmFyaWFibGUgZm9sbG93cyB0aGUgc2VtYW50aWNzIG9mCiBbUkZDIDY1NzBdKGh0dHBzOi8vdG9vbHMuaWV0Zi5vcmcvaHRtbC9yZmM2NTcwKSBTZWN0aW9uIDMuMi4yIFNpbXBsZSBTdHJpbmcKIEV4cGFuc2lvbiwgdGhlIG11bHRpIHNlZ21lbnQgdmFyaWFibGUgKipkb2VzIG5vdCoqIGZvbGxvdyBSRkMgNjU3MCBTZWN0aW9uCiAzLjIuMyBSZXNlcnZlZCBFeHBhbnNpb24uIFRoZSByZWFzb24gaXMgdGhhdCB0aGUgUmVzZXJ2ZWQgRXhwYW5zaW9uCiBkb2VzIG5vdCBleHBhbmQgc3BlY2lhbCBjaGFyYWN0ZXJzIGxpa2UgYD9gIGFuZCBgI2AsIHdoaWNoIHdvdWxkIGxlYWQKIHRvIGludmFsaWQgVVJMcy4gQXMgdGhlIHJlc3VsdCwgZ1JQQyBUcmFuc2NvZGluZyB1c2VzIGEgY3VzdG9tIGVuY29kaW5nCiBmb3IgbXVsdGkgc2VnbWVudCB2YXJpYWJsZXMuCgogVGhlIHBhdGggdmFyaWFibGVzICoqbXVzdCBub3QqKiByZWZlciB0byBhbnkgcmVwZWF0ZWQgb3IgbWFwcGVkIGZpZWxkLAogYmVjYXVzZSBjbGllbnQgbGlicmFyaWVzIGFyZSBub3QgY2FwYWJsZSBvZiBoYW5kbGluZyBzdWNoIHZhcmlhYmxlIGV4cGFuc2lvbi4KCiBUaGUgcGF0aCB2YXJpYWJsZXMgKiptdXN0IG5vdCoqIGNhcHR1cmUgdGhlIGxlYWRpbmcgIi8iIGNoYXJhY3Rlci4gVGhlIHJlYXNvbgogaXMgdGhhdCB0aGUgbW9zdCBjb21tb24gdXNlIGNhc2UgInt2YXJ9IiBkb2VzIG5vdCBjYXB0dXJlIHRoZSBsZWFkaW5nICIvIgogY2hhcmFjdGVyLiBGb3IgY29uc2lzdGVuY3ksIGFsbCBwYXRoIHZhcmlhYmxlcyBtdXN0IHNoYXJlIHRoZSBzYW1lIGJlaGF2aW9yLgoKIFJlcGVhdGVkIG1lc3NhZ2UgZmllbGRzIG11c3Qgbm90IGJlIG1hcHBlZCB0byBVUkwgcXVlcnkgcGFyYW1ldGVycywgYmVjYXVzZQogbm8gY2xpZW50IGxpYnJhcnkgY2FuIHN1cHBvcnQgc3VjaCBjb21wbGljYXRlZCBtYXBwaW5nLgoKIElmIGFuIEFQSSBuZWVkcyB0byB1c2UgYSBKU09OIGFycmF5IGZvciByZXF1ZXN0IG9yIHJlc3BvbnNlIGJvZHksIGl0IGNhbiBtYXAKIHRoZSByZXF1ZXN0IG9yIHJlc3BvbnNlIGJvZHkgdG8gYSByZXBlYXRlZCBmaWVsZC4gSG93ZXZlciwgc29tZSBnUlBDCiBUcmFuc2NvZGluZyBpbXBsZW1lbnRhdGlvbnMgbWF5IG5vdCBzdXBwb3J0IHRoaXMgZmVhdHVyZS4KCgsKAwQBARIEvAIIEAqPAQoEBAECABIEwQICFhqAASBTZWxlY3RzIGEgbWV0aG9kIHRvIHdoaWNoIHRoaXMgcnVsZSBhcHBsaWVzLgoKIFJlZmVyIHRvIFtzZWxlY3Rvcl1bZ29vZ2xlLmFwaS5Eb2N1bWVudGF0aW9uUnVsZS5zZWxlY3Rvcl0gZm9yIHN5bnRheAogZGV0YWlscy4KCg8KBQQBAgAEEgbBAgK8AhIKDQoFBAECAAUSBMECAggKDQoFBAECAAESBMECCREKDQoFBAECAAMSBMECFBUK0AEKBAQBCAASBsYCAtwCAxq/ASBEZXRlcm1pbmVzIHRoZSBVUkwgcGF0dGVybiBpcyBtYXRjaGVkIGJ5IHRoaXMgcnVsZXMuIFRoaXMgcGF0dGVybiBjYW4gYmUKIHVzZWQgd2l0aCBhbnkgb2YgdGhlIHtnZXR8cHV0fHBvc3R8ZGVsZXRlfHBhdGNofSBtZXRob2RzLiBBIGN1c3RvbSBtZXRob2QKIGNhbiBiZSBkZWZpbmVkIHVzaW5nIHRoZSAnY3VzdG9tJyBmaWVsZC4KCg0K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aW5nc2AgZmllbGQgdGhlbXNlbHZlcyAodGhhdCBpcywKIHRoZSBuZXN0aW5nIG1heSBvbmx5IGJlIG9uZSBsZXZlbCBkZWVwKS4KCg0KBQQBAgkEEgTxAgIKCg0KBQQBAgkGEgTxAgsTCg0KBQQBAgkBEgTxAhQnCg0KBQQBAgkDEgTxAiosCkcKAgQCEgb1AgD7AgEaOSBBIGN1c3RvbSBwYXR0ZXJuIGlzIHVzZWQgZm9yIGRlZmluaW5nIGN1c3RvbSBIVFRQIHZlcmIuCgoLCgMEAgESBPUCCBkKMgoEBAICABIE9wICEhokIFRoZSBuYW1lIG9mIHRoaXMgY3VzdG9tIEhUVFAgdmVyYi4KCg8KBQQCAgAEEgb3AgL1AhsKDQoFBAICAAUSBPcCAggKDQoFBAICAAESBPcCCQ0KDQoFBAICAAMSBPcCEBEKNQoEBAICARIE+gICEhonIFRoZSBwYXRoIG1hdGNoZWQgYnkgdGhpcyBjdXN0b20gdmVyYi4KCg8KBQQCAgEEEgb6AgL3AhIKDQoFBAICAQUSBPoCAggKDQoFBAICAQESBPoCCQ0KDQoFBAICAQMSBPoCEBFiBnByb3RvMwrL+QIKIGdvb2dsZS9wcm90b2J1Zi9kZXNjcmlwdG9yLnByb3RvEg9nb29nbGUucHJvdG9idWYiTQoRRmlsZURlc2NyaXB0b3JTZXQSOAoEZmlsZRgBIAMoCzIkLmdvb2dsZS5wcm90b2J1Zi5GaWxlRGVzY3JpcHRvclByb3RvUgRmaWxlIuQEChNGaWxlRGVzY3JpcHRvclByb3RvEhIKBG5hbWUYASABKAlSBG5hbWUSGAoHcGFja2FnZRgCIAEoCVIHcGFja2FnZRIeCgpkZXBlbmRlbmN5GAMgAygJUgpkZXBlbmRlbmN5EisKEXB1YmxpY19kZXBlbmRlbmN5GAogAygFUhBwdWJsaWNEZXBlbmRlbmN5EicKD3dlYWtfZGVwZW5kZW5jeRgLIAMoBVIOd2Vha0RlcGVuZGVuY3kSQwoMbWVzc2FnZV90eXBlGAQgAygLMiAuZ29vZ2xlLnByb3RvYnVmLkRlc2NyaXB0b3JQcm90b1ILbWVzc2FnZVR5cGUSQQoJZW51bV90eXBlGAUgAygLMiQuZ29vZ2xlLnByb3RvYnVmLkVudW1EZXNjcmlwdG9yUHJvdG9SCGVudW1UeXBlEkEKB3NlcnZpY2UYBiADKAsyJy5nb29nbGUucHJvdG9idWYuU2VydmljZURlc2NyaXB0b3JQcm90b1IHc2VydmljZRJDCglleHRlbnNpb24YByADKAsyJS5nb29nbGUucHJvdG9idWYuRmllbGREZXNjcmlwdG9yUHJvdG9SCWV4dGVuc2lvbhI2CgdvcHRpb25zGAggASgLMhwuZ29vZ2xlLnByb3RvYnVmLkZpbGVPcHRpb25zUgdvcHRpb25zEkkKEHNvdXJjZV9jb2RlX2luZm8YCSABKAsyHy5nb29nbGUucHJvdG9idWYuU291cmNlQ29kZUluZm9SDnNvdXJjZUNvZGVJbmZvEhYKBnN5bnRheBgMIAEoCVIGc3ludGF4IrkGCg9EZXNjcmlwdG9yUHJvdG8SEgoEbmFtZRgBIAEoCVIEbmFtZRI7CgVmaWVsZBgCIAMoCzIlLmdvb2dsZS5wcm90b2J1Zi5GaWVsZERlc2NyaXB0b3JQcm90b1IFZmllbGQSQwoJZXh0ZW5zaW9uGAYgAygLMiUuZ29vZ2xlLnByb3RvYnVmLkZpZWxkRGVzY3JpcHRvclByb3RvUglleHRlbnNpb24SQQoLbmVzdGVkX3R5cGUYAyADKAsyIC5nb29nbGUucHJvdG9idWYuRGVzY3JpcHRvclByb3RvUgpuZXN0ZWRUeXBlEkEKCWVudW1fdHlwZRgEIAMoCzIkLmdvb2dsZS5wcm90b2J1Zi5FbnVtRGVzY3JpcHRvclByb3RvUghlbnVtVHlwZRJYCg9leHRlbnNpb25fcmFuZ2UYBSADKAsyLy5nb29nbGUucHJvdG9idWYuRGVzY3JpcHRvclByb3RvLkV4dGVuc2lvblJhbmdlUg5leHRlbnNpb25SYW5nZRJECgpvbmVvZl9kZWNsGAggAygLMiUuZ29vZ2xlLnByb3RvYnVmLk9uZW9mRGVzY3JpcHRvclByb3RvUglvbmVvZkRlY2wSOQoHb3B0aW9ucxgHIAEoCzIfLmdvb2dsZS5wcm90b2J1Zi5NZXNzYWdlT3B0aW9uc1IHb3B0aW9ucxJVCg5yZXNlcnZlZF9yYW5nZRgJIAMoCzIuLmdvb2dsZS5wcm90b2J1Zi5EZXNjcmlwdG9yUHJvdG8uUmVzZXJ2ZWRSYW5nZVINcmVzZXJ2ZWRSYW5nZRIjCg1yZXNlcnZlZF9uYW1lGAogAygJUgxyZXNlcnZlZE5hbWUaegoORXh0ZW5zaW9uUmFuZ2USFAoFc3RhcnQYASABKAVSBXN0YXJ0EhAKA2VuZBgCIAEoBVIDZW5kEkAKB29wdGlvbnMYAyABKAsyJi5nb29nbGUucHJvdG9idWYuRXh0ZW5zaW9uUmFuZ2VPcHRpb25zUgdvcHRpb25zGjcKDVJlc2VydmVkUmFuZ2USFAoFc3RhcnQYASABKAVSBXN0YXJ0EhAKA2VuZBgCIAEoBVIDZW5kInwKFUV4dGVuc2lvblJhbmdlT3B0aW9ucxJYChR1bmludGVycHJldGVkX29wdGlvbhjnByADKAsyJC5nb29nbGUucHJvdG9idWYuVW5pbnRlcnByZXRlZE9wdGlvblITdW5pbnRlcnByZXRlZE9wdGlvbioJCOgHEICAgIACIpgGChRGaWVsZERlc2NyaXB0b3JQcm90bxISCgRuYW1lGAEgASgJUgRuYW1lEhYKBm51bWJlchgDIAEoBVIGbnVtYmVyEkEKBWxhYmVsGAQgASgOMisuZ29vZ2xlLnByb3RvYnVmLkZpZWxkRGVzY3JpcHRvclByb3RvLkxhYmVsUgVsYWJlbBI+CgR0eXBlGAUgASgOMiouZ29vZ2xlLnByb3RvYnVmLkZpZWxkRGVzY3JpcHRvclByb3RvLlR5cGVSBHR5cGUSGwoJdHlwZV9uYW1lGAYgASgJUgh0eXBlTmFtZRIaCghleHRlbmRlZRgCIAEoCVIIZXh0ZW5kZWUSIwoNZGVmYXVsdF92YWx1ZRgHIAEoCVIMZGVmYXVsdFZhbHVlEh8KC29uZW9mX2luZGV4GAkgASgFUgpvbmVvZkluZGV4EhsKCWpzb25fbmFtZRgKIAEoCVIIanNvbk5hbWUSNwoHb3B0aW9ucxgIIAEoCzIdLmdvb2dsZS5wcm90b2J1Zi5GaWVsZE9wdGlvbnNSB29wdGlvbnMitgIKBFR5cGUSDwoLVFlQRV9ET1VCTEUQARIOCgpUWVBFX0ZMT0FUEAISDgoKVFlQRV9JTlQ2NBADEg8KC1RZUEVfVUlOVDY0EAQSDgoKVFlQRV9JTlQzMhAFEhAKDFRZUEVfRklYRUQ2NBAGEhAKDFRZUEVfRklYRUQzMhAHEg0KCVRZUEVfQk9PTBAIEg8KC1RZUEVfU1RSSU5HEAkSDgoKVFlQRV9HUk9VUBAKEhAKDFRZUEVfTUVTU0FHRRALEg4KClRZUEVfQllURVMQDBIPCgtUWVBFX1VJTlQzMhANEg0KCVRZUEVfRU5VTRAOEhEKDVRZUEVfU0ZJWEVEMzIQDxIRCg1UWVBFX1NGSVhFRDY0EBASDwoLVFlQRV9TSU5UMzIQERIPCgtUWVBFX1NJTlQ2NBASIkMKBUxhYmVsEhIKDkxBQkVMX09QVElPTkFMEAESEgoOTEFCRUxfUkVRVUlSRUQQAhISCg5MQUJFTF9SRVBFQVRFRBADImMKFE9uZW9mRGVzY3JpcHRvclByb3RvEhIKBG5hbWUYASABKAlSBG5hbWUSNwoHb3B0aW9ucxgCIAEoCzIdLmdvb2dsZS5wcm90b2J1Zi5PbmVvZk9wdGlvbnNSB29wdGlvbnMi4wIKE0VudW1EZXNjcmlwdG9yUHJvdG8SEgoEbmFtZRgBIAEoCVIEbmFtZRI/CgV2YWx1ZRgCIAMoCzIpLmdvb2dsZS5wcm90b2J1Zi5FbnVtVmFsdWVEZXNjcmlwdG9yUHJvdG9SBXZhbHVlEjYKB29wdGlvbnMYAyABKAsyHC5nb29nbGUucHJvdG9idWYuRW51bU9wdGlvbnNSB29wdGlvbnMSXQoOcmVzZXJ2ZWRfcmFuZ2UYBCADKAsyNi5nb29nbGUucHJvdG9idWYuRW51bURlc2NyaXB0b3JQcm90by5FbnVtUmVzZXJ2ZWRSYW5nZVINcmVzZXJ2ZWRSYW5nZRIjCg1yZXNlcnZlZF9uYW1lGAUgAygJUgxyZXNlcnZlZE5hbWUaOwoRRW51bVJlc2VydmVkUmFuZ2USFAoFc3RhcnQYASABKAVSBXN0YXJ0EhAKA2VuZBgCIAEoBVIDZW5kIoMBChhFbnVtVmFsdWVEZXNjcmlwdG9yUHJvdG8SEgoEbmFtZRgBIAEoCVIEbmFtZRIWCgZudW1iZXIYAiABKAVSBm51bWJlchI7CgdvcHRpb25zGAMgASgLMiEuZ29vZ2xlLnByb3RvYnVmLkVudW1WYWx1ZU9wdGlvbnNSB29wdGlvbnMipwEKFlNlcnZpY2VEZXNjcmlwdG9yUHJvdG8SEgoEbmFtZRgBIAEoCVIEbmFtZRI+CgZtZXRob2QYAiADKAsyJi5nb29nbGUucHJvdG9idWYuTWV0aG9kRGVzY3JpcHRvclByb3RvUgZtZXRob2QSOQoHb3B0aW9ucxgDIAEoCzIfLmdvb2dsZS5wcm90b2J1Zi5TZXJ2aWNlT3B0aW9uc1IHb3B0aW9ucyKJAgoVTWV0aG9kRGVzY3JpcHRvclByb3RvEhIKBG5hbWUYASABKAlSBG5hbWUSHQoKaW5wdXRfdHlwZRgCIAEoCVIJaW5wdXRUeXBlEh8KC291dHB1dF90eXBlGAMgASgJUgpvdXRwdXRUeXBlEjgKB29wdGlvbnMYBCABKAsyHi5nb29nbGUucHJvdG9idWYuTWV0aG9kT3B0aW9uc1IHb3B0aW9ucxIwChBjbGllbnRfc3RyZWFtaW5nGAUgASgIOgVmYWxzZVIPY2xpZW50U3RyZWFtaW5nEjAKEHNlcnZlcl9zdHJlYW1pbmcYBiABKAg6BWZhbHNlUg9zZXJ2ZXJTdHJlYW1pbmcikgkKC0ZpbGVPcHRpb25zEiEKDGphdmFfcGFja2FnZRgBIAEoCVILamF2YVBhY2thZ2USMAoUamF2YV9vdXRlcl9jbGFzc25hbWUYCCABKAlSEmphdmFPdXRlckNsYXNzbmFtZRI1ChNqYXZhX211bHRpcGxlX2ZpbGVzGAogASgIOgVmYWxzZVIRamF2YU11bHRpcGxlRmlsZXMSRAodamF2YV9nZW5lcmF0ZV9lcXVhbHNfYW5kX2hhc2gYFCABKAhCAhgBUhlqYXZhR2VuZXJhdGVFcXVhbHNBbmRIYXNoEjoKFmphdmFfc3RyaW5nX2NoZWNrX3V0ZjgYGyABKAg6BWZhbHNlUhNqYXZhU3RyaW5nQ2hlY2tVdGY4ElMKDG9wdGltaXplX2ZvchgJIAEoDjIpLmdvb2dsZS5wcm90b2J1Zi5GaWxlT3B0aW9ucy5PcHRpbWl6ZU1vZGU6BVNQRUVEUgtvcHRpbWl6ZUZvchIdCgpnb19wYWNrYWdlGAsgASgJUglnb1BhY2thZ2USNQoTY2NfZ2VuZXJpY19zZXJ2aWNlcxgQIAEoCDoFZmFsc2VSEWNjR2VuZXJpY1NlcnZpY2VzEjkKFWphdmFfZ2VuZXJpY19zZXJ2aWNlcxgRIAEoCDoFZmFsc2VSE2phdmFHZW5lcmljU2VydmljZXMSNQoTcHlfZ2VuZXJpY19zZXJ2aWNlcxgSIAEoCDoFZmFsc2VSEXB5R2VuZXJpY1NlcnZpY2VzEjcKFHBocF9nZW5lcmljX3NlcnZpY2VzGCogASgIOgVmYWxzZVIScGhwR2VuZXJpY1NlcnZpY2VzEiUKCmRlcHJlY2F0ZWQYFyABKAg6BWZhbHNlUgpkZXByZWNhdGVkEi8KEGNjX2VuYWJsZV9hcmVuYXMYHyABKAg6BWZhbHNlUg5jY0VuYWJsZUFyZW5hcxIqChFvYmpjX2NsYXNzX3ByZWZpeBgkIAEoCVIPb2JqY0NsYXNzUHJlZml4EikKEGNzaGFycF9uYW1lc3BhY2UYJSABKAlSD2NzaGFycE5hbWVzcGFjZRIhCgxzd2lmdF9wcmVmaXgYJyABKAlSC3N3aWZ0UHJlZml4EigKEHBocF9jbGFzc19wcmVmaXgYKCABKAlSDnBocENsYXNzUHJlZml4EiMKDXBocF9uYW1lc3BhY2UYKSABKAlSDHBocE5hbWVzcGFjZRI0ChZwaHBfbWV0YWRhdGFfbmFtZXNwYWNlGCwgASgJUhRwaHBNZXRhZGF0YU5hbWVzcGFjZRIhCgxydWJ5X3BhY2thZ2UYLSABKAlSC3J1YnlQYWNrYWdlElgKFHVuaW50ZXJwcmV0ZWRfb3B0aW9uGOcHIAMoCzIkLmdvb2dsZS5wcm90b2J1Zi5VbmludGVycHJldGVkT3B0aW9uUhN1bmludGVycHJldGVkT3B0aW9uIjoKDE9wdGltaXplTW9kZRIJCgVTUEVFRBABEg0KCUNPREVfU0laRRACEhAKDExJVEVfUlVOVElNRRADKgkI6AcQgICAgAJKBAgmECci0QIKDk1lc3NhZ2VPcHRpb25zEjwKF21lc3NhZ2Vfc2V0X3dpcmVfZm9ybWF0GAEgASgIOgVmYWxzZVIUbWVzc2FnZVNldFdpcmVGb3JtYXQSTAofbm9fc3RhbmRhcmRfZGVzY3JpcHRvcl9hY2Nlc3NvchgCIAEoCDoFZmFsc2VSHG5vU3RhbmRhcmREZXNjcmlwdG9yQWNjZXNzb3ISJQoKZGVwcmVjYXRlZBgDIAEoCDoFZmFsc2VSCmRlcHJlY2F0ZWQSGwoJbWFwX2VudHJ5GAcgASgIUghtYXBFbnRyeRJYChR1bmludGVycHJldGVkX29wdGlvbhjnByADKAsyJC5nb29nbGUucHJvdG9idWYuVW5pbnRlcnByZXRlZE9wdGlvblITdW5pbnRlcnByZXRlZE9wdGlvbioJCOgHEICAgIACSgQICBAJSgQICRAKIuIDCgxGaWVsZE9wdGlvbnMSQQoFY3R5cGUYASABKA4yIy5nb29nbGUucHJvdG9idWYuRmllbGRPcHRpb25zLkNUeXBlOgZTVFJJTkdSBWN0eXBlEhYKBnBhY2tlZBgCIAEoCFIGcGFja2VkEkcKBmpzdHlwZRgGIAEoDjIkLmdvb2dsZS5wcm90b2J1Zi5GaWVsZE9wdGlvbnMuSlNUeXBlOglKU19OT1JNQUxSBmpzdHlwZRIZCgRsYXp5GAUgASgIOgVmYWxzZVIEbGF6eRIlCgpkZXByZWNhdGVkGAMgASgIOgVmYWxzZVIKZGVwcmVjYXRlZBIZCgR3ZWFrGAogASgIOgVmYWxzZVIEd2VhaxJYChR1bmludGVycHJldGVkX29wdGlvbhjnByADKAsyJC5nb29nbGUucHJvdG9idWYuVW5pbnRlcnByZXRlZE9wdGlvblITdW5pbnRlcnByZXRlZE9wdGlvbiIvCgVDVHlwZRIKCgZTVFJJTkcQABIICgRDT1JEEAESEAoMU1RSSU5HX1BJRUNFEAIiNQoGSlNUeXBlEg0KCUpTX05PUk1BTBAAEg0KCUpTX1NUUklORxABEg0KCUpTX05VTUJFUhACKgkI6AcQgICAgAJKBAgEEAUicwoMT25lb2ZPcHRpb25zElgKFHVuaW50ZXJwcmV0ZWRfb3B0aW9uGOcHIAMoCzIkLmdvb2dsZS5wcm90b2J1Zi5VbmludGVycHJldGVkT3B0aW9uUhN1bmludGVycHJldGVkT3B0aW9uKgkI6AcQgICAgAIiwAEKC0VudW1PcHRpb25zEh8KC2FsbG93X2FsaWFzGAIgASgIUgphbGxvd0FsaWFzEiUKCmRlcHJlY2F0ZWQYAyABKAg6BWZhbHNlUgpkZXByZWNhdGVkElgKFHVuaW50ZXJwcmV0ZWRfb3B0aW9uGOcHIAMoCzIkLmdvb2dsZS5wcm90b2J1Zi5VbmludGVycHJldGVkT3B0aW9uUhN1bmludGVycHJldGVkT3B0aW9uKgkI6AcQgICAgAJKBAgFEAYingEKEEVudW1WYWx1ZU9wdGlvbnMSJQoKZGVwcmVjYXRlZBgBIAEoCDoFZmFsc2VSCmRlcHJlY2F0ZWQSWAoUdW5pbnRlcnByZXRlZF9vcHRpb24Y5wcgAygLMiQuZ29vZ2xlLnByb3RvYnVmLlVuaW50ZXJwcmV0ZWRPcHRpb25SE3VuaW50ZXJwcmV0ZWRPcHRpb24qCQjoBxCAgICAAiKcAQoOU2VydmljZU9wdGlvbnMSJQoKZGVwcmVjYXRlZBghIAEoCDoFZmFsc2VSCmRlcHJlY2F0ZWQSWAoUdW5pbnRlcnByZXRlZF9vcHRpb24Y5wcgAygLMiQuZ29vZ2xlLnByb3RvYnVmLlVuaW50ZXJwcmV0ZWRPcHRpb25SE3VuaW50ZXJwcmV0ZWRPcHRpb24qCQjoBxCAgICAAiLgAgoNTWV0aG9kT3B0aW9ucxIlCgpkZXByZWNhdGVkGCEgASgIOgVmYWxzZVIKZGVwcmVjYXRlZBJxChFpZGVtcG90ZW5jeV9sZXZlbBgiIAEoDjIvLmdvb2dsZS5wcm90b2J1Zi5NZXRob2RPcHRpb25zLklkZW1wb3RlbmN5TGV2ZWw6E0lERU1QT1RFTkNZX1VOS05PV05SEGlkZW1wb3RlbmN5TGV2ZWwSWAoUdW5pbnRlcnByZXRlZF9vcHRpb24Y5wcgAygLMiQuZ29vZ2xlLnByb3RvYnVmLlVuaW50ZXJwcmV0ZWRPcHRpb25SE3VuaW50ZXJwcmV0ZWRPcHRpb24iUAoQSWRlbXBvdGVuY3lMZXZlbBIXChNJREVNUE9URU5DWV9VTktOT1dOEAASEwoPTk9fU0lERV9FRkZFQ1RTEAESDgoKSURFTVBPVEVOVBACKgkI6AcQgICAgAIimgMKE1VuaW50ZXJwcmV0ZWRPcHRpb24SQQoEbmFtZRgCIAMoCzItLmdvb2dsZS5wcm90b2J1Zi5VbmludGVycHJldGVkT3B0aW9uLk5hbWVQYXJ0UgRuYW1lEikKEGlkZW50aWZpZXJfdmFsdWUYAyABKAlSD2lkZW50aWZpZXJWYWx1ZRIsChJwb3NpdGl2ZV9pbnRfdmFsdWUYBCABKARSEHBvc2l0aXZlSW50VmFsdWUSLAoSbmVnYXRpdmVfaW50X3ZhbHVlGAUgASgDUhBuZWdhdGl2ZUludFZhbHVlEiEKDGRvdWJsZV92YWx1ZRgGIAEoAVILZG91YmxlVmFsdWUSIQoMc3RyaW5nX3ZhbHVlGAcgASgMUgtzdHJpbmdWYWx1ZRInCg9hZ2dyZWdhdGVfdmFsdWUYCCABKAlSDmFnZ3JlZ2F0ZVZhbHVlGkoKCE5hbWVQYXJ0EhsKCW5hbWVfcGFydBgBIAIoCVIIbmFtZVBhcnQSIQoMaXNfZXh0ZW5zaW9uGAIgAigIUgtpc0V4dGVuc2lvbiKnAgoOU291cmNlQ29kZUluZm8SRAoIbG9jYXRpb24YASADKAsyKC5nb29nbGUucHJvdG9idWYuU291cmNlQ29kZUluZm8uTG9jYXRpb25SCGxvY2F0aW9uGs4BCghMb2NhdGlvbhIWCgRwYXRoGAEgAygFQgIQAVIEcGF0aBIWCgRzcGFuGAIgAygFQgIQAVIEc3BhbhIpChBsZWFkaW5nX2NvbW1lbnRzGAMgASgJUg9sZWFkaW5nQ29tbWVudHMSKwoRdHJhaWxpbmdfY29tbWVudHMYBCABKAlSEHRyYWlsaW5nQ29tbWVudHMSOgoZbGVhZGluZ19kZXRhY2hlZF9jb21tZW50cxgGIAMoCVIXbGVhZGluZ0RldGFjaGVkQ29tbWVudHMi0QEKEUdlbmVyYXRlZENvZGVJbmZvEk0KCmFubm90YXRpb24YASADKAsyLS5nb29nbGUucHJvdG9idWYuR2VuZXJhdGVkQ29kZUluZm8uQW5ub3RhdGlvblIKYW5ub3RhdGlvbhptCgpBbm5vdGF0aW9uEhYKBHBhdGgYASADKAVCAhABUgRwYXRoEh8KC3NvdXJjZV9maWxlGAIgASgJUgpzb3VyY2VGaWxlEhQKBWJlZ2luGAMgASgFUgViZWdpbhIQCgNlbmQYBCABKAVSA2VuZEKPAQoTY29tLmdvb2dsZS5wcm90b2J1ZkIQRGVzY3JpcHRvclByb3Rvc0gBWj5naXRodWIuY29tL2dvbGFuZy9wcm90b2J1Zi9wcm90b2MtZ2VuLWdvL2Rlc2NyaXB0b3I7ZGVzY3JpcHRvcvgBAaICA0dQQqoCGkdvb2dsZS5Qcm90b2J1Zi5SZWZsZWN0aW9uSqy+AgoHEgUnAPIGAQqqDwoBDBIDJwASMsEMIFByb3RvY29sIEJ1ZmZlcnMgLSBHb29nbGUncyBkYXRhIGludGVyY2hhbmdlIGZvcm1hdAogQ29weXJpZ2h0IDIwMDggR29vZ2xlIEluYy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiBodHRwczovL2RldmVsb3BlcnMuZ29vZ2xlLmNvbS9wcm90b2NvbC1idWZmZXJzLwoKIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZQogbWV0OgoKICAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CiBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCiAgICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlCiBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyCiBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlCiBkaXN0cmlidXRpb24uCiAgICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9mIEdvb2dsZSBJbmMuIG5vciB0aGUgbmFtZXMgb2YgaXRzCiBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8gZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbQogdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4KCiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTCiAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVAogTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SCiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVAogT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsCiBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UCiBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwKIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWQogVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgoy2wIgQXV0aG9yOiBrZW50b25AZ29vZ2xlLmNvbSAoS2VudG9uIFZhcmRhKQogIEJhc2VkIG9uIG9yaWdpbmFsIFByb3RvY29sIEJ1ZmZlcnMgZGVzaWduIGJ5CiAgU2FuamF5IEdoZW1hd2F0LCBKZWZmIERlYW4sIGFuZCBvdGhlcnMuCgogVGhlIG1lc3NhZ2VzIGluIHRoaXMgZmlsZSBkZXNjcmliZSB0aGUgZGVmaW5pdGlvbnMgZm91bmQgaW4gLnByb3RvIGZpbGVzLgogQSB2YWxpZCAucHJvdG8gZmls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IG9wdGlvbnMgYXMgZXh0ZW5zaW9ucyBvZiB0aGUgKk9wdGlvbnMgbWVzc2FnZXMuCiBUaGVzZSBleHRlbnNpb25zIG1heSBub3QgeWV0IGJlIGtub3duIGF0IHBhcnNpbmcgdGltZSwgc28gdGhlIHBhcnNlciBjYW5ub3QKIHN0b3JlIHRoZSB2YWx1ZXMgaW4gdGhlbS4gIEluc3RlYWQgaXQgc3RvcmVzIHRoZW0gaW4gYSBmaWVsZCBpbiB0aGUgKk9wdGlvbnMKIG1lc3NhZ2UgY2FsbGVkIHVuaW50ZXJwcmV0ZWRfb3B0aW9uLiBUaGlzIGZpZWxkIG11c3QgaGF2ZSB0aGUgc2FtZSBuYW1lCiBhY3Jvc3MgYWxsICpPcHRpb25zIG1lc3NhZ2VzLiBXZSB0aGVuIHVzZSB0aGlzIGZpZWxkIHRvIHBvcHVsYXRlIHRoZQogZXh0ZW5zaW9ucyB3aGVuIHdlIGJ1aWxkIGEgZGVzY3JpcHRvciwgYXQgd2hpY2ggcG9pbnQgYWxsIHByb3RvcyBoYXZlIGJlZW4KIHBhcnNlZCBhbmQgc28gYWxsIGV4dGVuc2lvbnMgYXJlIGtub3duLgoKIEV4dGVuc2lvbiBudW1iZXJzIGZvciBjdXN0b20gb3B0aW9ucyBtYXkgYmUgY2hvc2VuIGFzIGZvbGxvd3M6CiAqIEZvciBvcHRpb25zIHdoaWNoIHdpbGwgb25seSBiZSB1c2VkIHdpdGhpbiBhIHNpbmdsZSBhcHBsaWNhdGlvbiBvcgogICBvcmdhbml6YXRpb24sIG9yIGZvciBleHBlcmltZW50YWwgb3B0aW9ucywgdXNlIGZpZWxkIG51bWJlcnMgNTAwMDAKICAgdGhyb3VnaCA5OTk5OS4gIEl0IGlzIHVwIHRvIHlvdSB0byBlbnN1cmUgdGhhdCB5b3UgZG8gbm90IHVzZSB0aGUKICAgc2FtZSBudW1iZXIgZm9yIG11bHRpcGxlIG9wdGlvbnMuCiAqIEZvciBvcHRpb25zIHdoaWNoIHdpbGwgYmUgcHVibGlzaGVkIGFuZCB1c2VkIHB1YmxpY2x5IGJ5IG11bHRpcGxlCiAgIGluZGVwZW5kZW50IGVudGl0aWVzLCBlLW1haWwgcHJvdG9idWYtZ2xvYmFsLWV4dGVuc2lvbi1yZWdpc3RyeUBnb29nbGUuY29tCiAgIHRvIHJlc2VydmUgZXh0ZW5zaW9uIG51bWJlcnMuIFNpbXBseSBwcm92aWRlIHlvdXIgcHJvamVjdCBuYW1lIChlLmcuCiAgIE9iamVjdGl2ZS1DIHBsdWdpbikgYW5kIHlvdXIgcHJvamVjdCB3ZWJzaXRlIChpZiBhdmFpbGFibGUpIC0tIHRoZXJlJ3Mgbm8KICAgbmVlZCB0byBleHBsYWluIGhvdyB5b3UgaW50ZW5kIHRvIHVzZSB0aGVtLiBVc3VhbGx5IHlvdSBvbmx5IG5lZWQgb25lCiAgIGV4dGVuc2lvbiBudW1iZXIuIFlvdSBjYW4gZGVjbGFyZSBtdWx0aXBsZSBvcHRpb25zIHdpdGggb25seSBvbmUgZXh0ZW5zaW9uCiAgIG51bWJlciBieSBwdXR0aW5nIHRoZW0gaW4gYSBzdWItbWVzc2FnZS4gU2VlIHRoZSBDdXN0b20gT3B0aW9ucyBzZWN0aW9uIG9mCiAgIHRoZSBkb2NzIGZvciBleGFtcGxlczoKICAgaHR0cHM6Ly9kZXZlbG9wZXJzLmdvb2dsZS5jb20vcHJvdG9jb2wtYnVmZmVycy9kb2NzL3Byb3RvI29wdGlvbnMKICAgSWYgdGhpcyB0dXJucyBvdXQgdG8gYmUgcG9wdWxhciwgYSB3ZWIgc2VydmljZSB3aWxsIGJlIHNldCB1cAogICB0byBhdXRvbWF0aWNhbGx5IGFzc2lnbiBvcHRpb24gbnVtYmVycy4KCgsKAwQKARIEvQIIEwr0AQoEBAoCABIEwwICIxrlASBTZXRzIHRoZSBKYXZhIHBhY2thZ2Ugd2hlcmUgY2xhc3NlcyBnZW5lcmF0ZWQgZnJvbSB0aGlzIC5wcm90byB3aWxsIGJlCiBwbGFjZWQuICBCeSBkZWZhdWx0LCB0aGUgcHJvdG8gcGFja2FnZSBpcyB1c2VkLCBidXQgdGhpcyBpcyBvZnRlbgogaW5hcHByb3ByaWF0ZSBiZWNhdXNlIHByb3RvIHBhY2thZ2VzIGRvIG5vdCBub3JtYWxseSBzdGFydCB3aXRoIGJhY2t3YXJkcwogZG9tYWluIG5hbWVzLgoKDQoFBAoCAAQSBMMCAgoKDQoFBAoCAAUSBMMCCxEKDQoFBAoC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ICBJdCdzIGxlc3MKIGVmZmljaWVudCwgaGFzIGZld2VyIGZlYXR1cmVzLCBhbmQgaXMgbW9yZSBjb21wbGljYXRlZC4KCiBUaGUgbWVzc2FnZSBtdXN0IGJlIGRlZmluZWQgZXhhY3RseSBhcyBmb2xsb3dzOgogICBtZXNzYWdlIEZvbyB7CiAgICAgb3B0aW9uIG1lc3NhZ2Vfc2V0X3dpcmVfZm9ybWF0ID0gdHJ1ZTsKICAgICBleHRlbnNpb25zIDQgdG8gbWF4OwogICB9CiBOb3RlIHRoYXQgdGhlIG1lc3NhZ2UgY2Fubm90IGhhdmUgYW55IGRlZmluZWQgZmllbGRzOyBNZXNzYWdlU2V0cyBvbmx5CiBoYXZlIGV4dGVuc2lvbnMuCgogQWxsIGV4dGVuc2lvbnMgb2YgeW91ciB0eXBlIG11c3QgYmUgc2luZ3VsYXIgbWVzc2FnZXM7IGUuZy4gdGhleSBjYW5ub3QKIGJlIGludDMycywgZW51bXMsIG9yIHJlcGVhdGVkIG1lc3NhZ2VzLgoKIEJlY2F1c2UgdGhpcyBpcyBhbiBvcHRpb24sIHRoZSBhYm92ZSB0d28gcmVzdHJpY3Rpb25zIGFyZSBub3QgZW5mb3JjZWQgYnkKIHRoZSBwcm90b2NvbCBjb21waWxlci4KCg0KBQQLAgAEEgTMAwIKCg0KBQQLAgAFEgTMAwsPCg0KBQQLAgABEgTMAxAnCg0KBQQLAgADEgTMAyorCg0KBQQLAgAIEgTMAyw7Cg0KBQQLAgAHEgTMAzU6CusBCgQECwIBEgTRAwJEGtwBIERpc2FibGVzIHRoZSBnZW5lcmF0aW9uIG9mIHRoZSBzdGFuZGFyZCAiZGVzY3JpcHRvcigpIiBhY2Nlc3Nvciwgd2hpY2ggY2FuCiBjb25mbGljdCB3aXRoIGEgZmllbGQgb2YgdGhlIHNhbWUgbmFtZS4gIFRoaXMgaXMgbWVhbnQgdG8gbWFrZSBtaWdyYXRpb24KIGZyb20gcHJvdG8xIGVhc2llcjsgbmV3IGNvZGUgc2hvdWxkIGF2b2lkIGZpZWxkcyBuYW1lZCAiZGVzY3JpcHRvciIuCgoNCgUECwIBBBIE0QMCCgoNCgUECwIBBRIE0QMLDwoNCgUECwIBARIE0QMQLwoNCgUECwIBAxIE0QMyMwoNCgUECwIBCBIE0QM0QwoNCgUECwIBBxIE0QM9QgruAQoEBAsCAhIE1wMCLxrfASBJcyB0aGlzIG1lc3NhZ2UgZGVwcmVjYXRlZD8KIERlcGVuZGluZyBvbiB0aGUgdGFyZ2V0IHBsYXRmb3JtLCB0aGlzIGNhbiBlbWl0IERlcHJlY2F0ZWQgYW5ub3RhdGlvbnMKIGZvciB0aGUgbWVzc2FnZSwgb3IgaXQgd2lsbCBiZSBjb21wbGV0ZWx5IGlnbm9yZWQ7IGluIHRoZSB2ZXJ5IGxlYXN0LAogdGhpcyBpcyBhIGZvcm1hbGl6YXRpb24gZm9yIGRlcHJlY2F0aW5nIG1lc3NhZ2VzLgoKDQoFBAsCAgQSBNcDAgoKDQoFBAsCAgUSBNcDCw8KDQoFBAsCAgESBNcDEBoKDQoFBAsCAgMSBNcDHR4KDQoFBAsCAggSBNcDHy4KDQoFBAsCAgcSBNcDKC0KngYKBAQLAgMSBO4DAh4ajwYgV2hldGhlciB0aGUgbWVzc2FnZSBpcyBhbiBhdXRvbWF0aWNhbGx5IGdlbmVyYXRlZCBtYXAgZW50cnkgdHlwZSBmb3IgdGhlCiBtYXBzIGZpZWxkLgoKIEZvciBtYXBzIGZpZWxkczoKICAgICBtYXA8S2V5VHlwZSwgVmFsdWVUeXBlPiBtYXBfZmllbGQgPSAxOwogVGhlIHBhcnNlZCBkZXNjcmlwdG9yIGxvb2tzIGxpa2U6CiAgICAgbWVzc2FnZSBNYXBGaWVsZEVudHJ5IHsKICAgICAgICAgb3B0aW9uIG1hcF9lbnRyeSA9IHRydWU7CiAgICAgICAgIG9wdGlvbmFsIEtleVR5cGUga2V5ID0gMTsKICAgICAgICAgb3B0aW9uYWwgVmFsdWVUeXBlIHZhbHVlID0gMjsKICAgICB9CiAgICAgcmVwZWF0ZWQgTWFwRmllbGRFbnRyeSBtYXBfZmllbGQgPSAxOwoKIEltcGxlbWVudGF0aW9ucyBtYXkgY2hvb3NlIG5vdCB0byBnZW5lcmF0ZSB0aGUgbWFwX2VudHJ5PXRydWUgbWVzc2FnZSwgYnV0CiB1c2UgYSBuYXRpdmUgbWFwIGluIHRoZSB0YXJnZXQgbGFuZ3VhZ2UgdG8gaG9sZCB0aGUga2V5cyBhbmQgdmFsdWVz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aGUganN0eXBlIG9wdGlvbiBkZXRlcm1pbmVzIHRoZSBKYXZhU2NyaXB0IHR5cGUgdXNlZCBmb3IgdmFsdWVzIG9mIHRoZQogZmllbGQuICBUaGUgb3B0aW9uIGlzIHBlcm1pdHRlZCBvbmx5IGZvciA2NCBiaXQgaW50ZWdyYWwgYW5kIGZpeGVkIHR5cGVzCiAoaW50NjQsIHVpbnQ2NCwgc2ludDY0LCBmaXhlZDY0LCBzZml4ZWQ2NCkuICBBIGZpZWxkIHdpdGgganN0eXBlIEpTX1NUUklORwogaXMgcmVwcmVzZW50ZWQgYXMgSmF2YVNjcmlwdCBzdHJpbmcsIHdoaWNoIGF2b2lkcyBsb3NzIG9mIHByZWNpc2lvbiB0aGF0CiBjYW4gaGFwcGVuIHdoZW4gYSBsYXJnZSB2YWx1ZSBpcyBjb252ZXJ0ZWQgdG8gYSBmbG9hdGluZyBwb2ludCBKYXZhU2NyaXB0LgogU3BlY2lmeWluZyBKU19OVU1CRVIgZm9yIHRoZSBqc3R5cGUgY2F1c2VzIHRoZSBnZW5lcmF0ZWQgSmF2YVNjcmlwdCBjb2RlIHRvCiB1c2UgdGhlIEphdmFTY3JpcHQgIm51bWJlciIgdHlwZS4gIFRoZSBiZWhhdmlvciBvZiB0aGUgZGVmYXVsdCBvcHRpb24KIEpTX05PUk1BTCBpcyBpbXBsZW1lbnRhdGlvbiBkZXBlbmRlbnQuCgogVGhpcyBvcHRpb24gaXMgYW4gZW51bSB0byBwZXJtaXQgYWRkaXRpb25hbCB0eXBlcyB0byBiZSBhZGRlZCwgZS5nLgogZ29vZy5tYXRoLkludGVnZXIuCgoNCgUEDAICBBIEmgQCCgoNCgUEDAICBhIEmgQLEQoNCgUEDAICARIEmgQSGAoNCgUEDAICAxIEmgQbHAoNCgUEDAICCBIEmgQdMgoNCgUEDAICBxIEmgQoMQoOCgQEDAQBEgabBAKkBAMKDQoFBAwEAQESBJsEBw0KJwoGBAwEAQIAEgSdBAQSGhcgVXNlIHRoZSBkZWZhdWx0IHR5cGUuCgoPCgcEDAQBAgABEgSdBAQNCg8KBwQMBAECAAISBJ0EEBEKKQoGBAwEAQIBEgSgBAQSGhkgVXNlIEphdmFTY3JpcHQgc3RyaW5ncy4KCg8KBwQMBAECAQESBKAEBA0KDwoHBAwEAQIBAhIEoAQQEQopCgYEDAQBAgISBKMEBBIaGSBVc2UgSmF2YVNjcmlwdCBudW1iZXJzLgoKDwoHBAwEAQICARIEowQEDQoPCgcEDAQBAgICEgSjBBARCu8MCgQEDAIDEgTCBAIpGuAMIFNob3VsZCB0aGlzIGZpZWxkIGJlIHBhcnNlZCBsYXppbHk/ICBMYXp5IGFwcGxpZXMgb25seSB0byBtZXNzYWdlLXR5cGUKIGZpZWxkcy4gIEl0IG1lYW5zIHRoYXQgd2hlbiB0aGUgb3V0ZXIgbWVzc2FnZSBpcyBpbml0aWFsbHkgcGFyc2VkLCB0aGUKIGlubmVyIG1lc3NhZ2UncyBjb250ZW50cyB3aWxsIG5vdCBiZSBwYXJzZWQgYnV0IGluc3RlYWQgc3RvcmVkIGluIGVuY29kZWQKIGZvcm0uICBUaGUgaW5uZXIgbWVzc2FnZSB3aWxsIGFjdHVhbGx5IGJlIHBhcnNlZCB3aGVuIGl0IGlzIGZpcnN0IGFjY2Vzc2VkLgoKIFRoaXMgaXMgb25seSBhIGhpbnQuICBJbXBsZW1lbnRhdGlvbnMgYXJlIGZyZWUgdG8gY2hvb3NlIHdoZXRoZXIgdG8gdXNlCiBlYWdlciBvciBsYXp5IHBhcnNpbmcgcmVnYXJkbGVzcyBvZiB0aGUgdmFsdWUgb2YgdGhpcyBvcHRpb24uICBIb3dldmVyLAogc2V0dGluZyB0aGlzIG9wdGlvbiB0cnVlIHN1Z2dlc3RzIHRoYXQgdGhlIHByb3RvY29sIGF1dGhvciBiZWxpZXZlcyB0aGF0CiB1c2luZyBsYXp5IHBhcnNpbmcgb24gdGhpcyBmaWVsZCBpcyB3b3J0aCB0aGUgYWRkaXRpb25hbCBib29ra2VlcGluZwogb3ZlcmhlYWQgdHlwaWNhbGx5IG5lZWRlZCB0byBpbXBsZW1lbnQgaXQuCgogVGhpcyBvcHRpb24gZG9lcyBub3QgYWZmZWN0IHRoZSBwdWJsaWMgaW50ZXJmYWNlIG9mIGFueSBnZW5lcmF0ZWQgY29kZTsKIGFsbCBtZXRob2Qgc2lnbmF0dXJlcyByZW1haW4gdGhlIHNhbWUuICBGdXJ0aGVybW9yZSwgdGhyZWFkLXNhZmV0eSBvZiB0aGUKIGludGVyZmFjZSBpcyBub3QgYWZmZWN0ZWQgYnkgdGhpcyBvcHRpb247IGNvbnN0IG1ldGhvZHMgcmVtYWluIHNhZmUgdG8KIGNhbGwgZnJvbSBtdWx0aXBsZSB0aHJlYWRzIGNvbmN1cnJlbnRseSwgd2hpbGUgbm9uLWNvbnN0IG1ldGhvZHMgY29udGludWUKIHRvIHJlcXVpcmUgZXhjbHVzaXZlIGFjY2Vzcy4KCgogTm90ZSB0aGF0IGltcGxlbWVudGF0aW9ucyBtYXkgY2hvb3NlIG5vdCB0byBjaGVjayByZXF1aXJlZCBmaWVsZHMgd2l0aGluCiBhIGxhenkgc3ViLW1lc3NhZ2UuICBUaGF0IGlzLCBjYWxsaW5nIElzSW5pdGlhbGl6ZWQoKSBvbiB0aGUgb3V0ZXIgbWVzc2FnZQogbWF5IHJldHVybiB0cnVlIGV2ZW4gaWYgdGhlIGlubmVyIG1lc3NhZ2UgaGFzIG1pc3NpbmcgcmVxdWlyZWQgZmllbGRzLgogVGhpcyBpcyBuZWNlc3NhcnkgYmVjYXVzZSBvdGhlcndpc2UgdGhlIGlubmVyIG1lc3NhZ2Ugd291bGQgaGF2ZSB0byBiZQogcGFyc2VkIGluIG9yZGVyIHRvIHBlcmZvcm0gdGhlIGNoZWNrLCBkZWZlYXRpbmcgdGhlIHB1cnBvc2Ugb2YgbGF6eQogcGFyc2luZy4gIEFuIGltcGxlbWVudGF0aW9uIHdoaWNoIGNob29zZXMgbm90IHRvIGNoZWNrIHJlcXVpcmVkIGZpZWxkcwogbXVzdCBiZSBjb25zaXN0ZW50IGFib3V0IGl0LiAgVGhhdCBpcywgZm9yIGFueSBwYXJ0aWN1bGFyIHN1Yi1tZXNzYWdlLCB0aGUKIGltcGxlbWVudGF0aW9uIG11c3QgZWl0aGVyICphbHdheXMqIGNoZWNrIGl0cyByZXF1aXJlZCBmaWVsZHMsIG9yICpuZXZlcioKIGNoZWNrIGl0cyByZXF1aXJlZCBmaWVsZHMsIHJlZ2FyZGxlc3Mgb2Ygd2hldGhlciBvciBub3QgdGhlIG1lc3NhZ2UgaGFzCiBiZWVuIHBhcnNlZC4KCg0KBQQMAgMEEgTCBAIKCg0KBQQMAgMFEgTCBAsPCg0KBQQMAgMBEgTCBBAUCg0KBQQM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aXMgbWV0aG9kIGRlcHJlY2F0ZWQ/CiBEZXBlbmRpbmcgb24gdGhlIHRhcmdldCBwbGF0Zm9ybSwgdGhpcyBjYW4gZW1pdCBEZXByZWNhdGVkIGFubm90YXRpb25zCiBmb3IgdGhlIG1ldGhvZCwgb3IgaXQgd2lsbCBiZSBjb21wbGV0ZWx5IGlnbm9yZWQ7IGluIHRoZSB2ZXJ5IGxlYXN0LAogdGhpcyBpcyBhIGZvcm1hbGl6YXRpb24gZm9yIGRlcHJlY2F0aW5nIG1ldGhvZHMuCjLoASBOb3RlOiAgRmllbGQgbnVtYmVycyAxIHRocm91Z2ggMzIgYXJlIHJlc2VydmVkIGZvciBHb29nbGUncyBpbnRlcm5hbCBSUEMKICAgZnJhbWV3b3JrLiAgV2UgYXBvbG9naXplIGZvciBob2FyZGluZyB0aGVzZSBudW1iZXJzIHRvIG91cnNlbHZlcywgYnV0CiAgIHdlIHdlcmUgYWxyZWFkeSB1c2luZyB0aGVtIGxvbmcgYmVmb3JlIHdlIGRlY2lkZWQgdG8gcmVsZWFzZSBQcm90b2NvbAogICBCdWZmZXJzLgoKDQoFBBECAAQSBKEFAgoKDQoFBBECAAUSBKEFCw8KDQoFBBECAAESBKEFEBoKDQoFBBECAAMSBKEFHR8KDQoFBBECAAgSBKEFIC8KDQoFBBECAAcSBKEFKS4K8AEKBAQRBAASBqYFAqoFAxrfASBJcyB0aGlzIG1ldGhvZCBzaWRlLWVmZmVjdC1mcmVlIChvciBzYWZlIGluIEhUVFAgcGFybGFuY2UpLCBvciBpZGVtcG90ZW50LAogb3IgbmVpdGhlcj8gSFRUUCBiYXNlZCBSUEMgaW1wbGVtZW50YXRpb24gbWF5IGNob29zZSBHRVQgdmVyYiBmb3Igc2FmZQogbWV0aG9kcywgYW5kIFBVVCB2ZXJiIGZvciBpZGVtcG90ZW50IG1ldGhvZHMgaW5zdGVhZCBvZiB0aGUgZGVmYXVsdCBQT1NULgoKDQoFBBEEAAESBKYFBxcKDgoGBBEEAAIAEgSnBQQcCg8KBwQRBAACAAESBKcFBBcKDwoHBBEEAAIAAhIEpwUaGwokCgYEEQQAAgESBKgFBBwiFCBpbXBsaWVzIGlkZW1wb3RlbnQKCg8KBwQRBAACAQESBKgF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aW9uYWwgc3RyaW5nIGZvbyA9IDE7CiAgIF4gICAgICAgXl4gICAgIF5eICBeICBeXl4KICAgYSAgICAgICBiYyAgICAgZGUgIGYgIGdoaQogV2UgaGF2ZSB0aGUgZm9sbG93aW5nIGxvY2F0aW9uczoKICAgc3BhbiAgIHBhdGggICAgICAgICAgICAgICByZXByZXNlbnRzCiAgIFthLGkpICBbIDQsIDAsIDIsIDAgXSAgICAgVGhlIHdob2xlIGZpZWxkIGRlZmluaXRpb24uCiAgIFthLGIpICBbIDQsIDAsIDIsIDAsIDQgXSAgVGhlIGxhYmVsIChvcHRpb25hbCkuCiAgIFtjLGQpICBbIDQsIDAsIDIsIDAsIDUgXSAgVGhlIHR5cGUgKHN0cmluZykuCiAgIFtlLGYpICBbIDQsIDAsIDIsIDAsIDEgXSAgVGhlIG5hbWUgKGZvbykuCiAgIFtnLGgpICBbIDQsIDAsIDIsIDAsIDMgXSAgVGhlIG51bWJlciAoMSkuCgogTm90ZXM6CiAtIEEgbG9jYXRpb24gbWF5IHJlZmVyIHRvIGEgcmVwZWF0ZWQgZmllbGQgaXRzZWxmIChpLmUuIG5vdCB0byBhbnkKICAgcGFydGljdWxhciBpbmRleCB3aXRoaW4gaXQpLiAgVGhpcyBpcyB1c2VkIHdoZW5ldmVyIGEgc2V0IG9mIGVsZW1lbnRzIGFyZQogICBsb2dpY2FsbHkgZW5jbG9zZWQgaW4gYSBzaW5nbGUgY29kZSBzZWdtZW50LiAgRm9yIGV4YW1wbGUsIGFuIGVudGlyZQogICBleHRlbmQgYmxvY2sgKHBvc3NpYmx5IGNvbnRhaW5pbmcgbXVsdGlwbGUgZXh0ZW5zaW9uIGRlZmluaXRpb25zKSB3aWxsCiAgIGhhdmUgYW4gb3V0ZXIgbG9jYXRpb24gd2hvc2UgcGF0aCByZWZlcnMgdG8gdGhlICJleHRlbnNpb25zIiByZXBlYXRlZAogICBmaWVsZCB3aXRob3V0IGFuIGluZGV4LgogLSBNdWx0aXBsZSBsb2NhdGlvbnMgbWF5IGhhdmUgdGhlIHNhbWUgcGF0aC4gIFRoaXMgaGFwcGVucyB3aGVuIGEgc2luZ2xlCiAgIGxvZ2ljYWwgZGVjbGFyYXRpb24gaXMgc3ByZWFkIG91dCBhY3Jvc3MgbXVsdGlwbGUgcGxhY2VzLiAgVGhlIG1vc3QKICAgb2J2aW91cyBleGFtcGxlIGlzIHRoZSAiZXh0ZW5kIiBibG9jayBhZ2FpbiAtLSB0aGVyZSBtYXkgYmUgbXVsdGlwbGUKICAgZXh0ZW5kIGJsb2NrcyBpbiB0aGUgc2FtZSBzY29wZSwgZWFjaCBvZiB3aGljaCB3aWxsIGhhdmUgdGhlIHNhbWUgcGF0aC4KIC0gQSBsb2NhdGlvbidzIHNwYW4gaXMgbm90IGFsd2F5cyBhIHN1YnNldCBvZiBpdHMgcGFyZW50J3Mgc3Bhbi4gIEZvcgogICBleGFtcGxlLCB0aGUgImV4dGVuZGVlIiBvZiBhbiBleHRlbnNpb24gZGVjbGFyYXRpb24gYXBwZWFycyBhdCB0aGUKICAgYmVnaW5uaW5nIG9mIHRoZSAiZXh0ZW5kIiBibG9jayBhbmQgaXMgc2hhcmVkIGJ5IGFsbCBleHRlbnNpb25zIHdpdGhpbgogICB0aGUgYmxvY2suCiAtIEp1c3QgYmVjYXVzZSBhIGxvY2F0aW9uJ3Mgc3BhbiBpcyBhIHN1YnNldCBvZiBzb21lIG90aGVyIGxvY2F0aW9uJ3Mgc3BhbgogICBkb2VzIG5vdCBtZWFuIHRoYXQgaXQgaXMgYSBkZXNjZW5kZW50LiAgRm9yIGV4YW1wbGUsIGEgImdyb3VwIiBkZWZpbmVzCiAgIGJvdGggYSB0eXBlIGFuZCBhIGZpZWxkIGluIGEgc2luZ2xlIGRlY2xhcmF0aW9uLiAgVGh1cywgdGhlIGxvY2F0aW9ucwogICBjb3JyZXNwb25kaW5nIHRvIHRoZSB0eXBlIGFuZCBmaWVsZCBhbmQgdGhlaXIgY29tcG9uZW50cyB3aWxsIG92ZXJsYXAuCiAtIENvZGUgd2hpY2ggdHJpZXMgdG8gaW50ZXJwcmV0IGxvY2F0aW9ucyBzaG91bGQgcHJvYmFibHkgYmUgZGVzaWduZWQgdG8KICAgaWdub3JlIHRob3NlIHRoYXQgaXQgZG9lc24ndCB1bmRlcnN0YW5kLCBhcyBtb3JlIHR5cGVzIG9mIGxvY2F0aW9ucyBjb3VsZAogICBiZSByZWNvcmRlZCBpbiB0aGUgZnV0dXJlLgoKDQoFBBMCAAQSBIMGAgoKDQoFBBMCAAYSBIMGCxMKDQoFBBMCAAESBIMGFBwKDQoFBBMCAAMSBIMGHyAKDgoEBBMDABIGhAYC1wYDCg0KBQQTAwABEgSEBgoSCoMHCgYEEwMAAgASBJwGBCoa8gYgSWRlbnRpZmllcyB3aGljaCBwYXJ0IG9mIHRoZSBGaWxlRGVzY3JpcHRvclByb3RvIHdhcyBkZWZpbmVkIGF0IHRoaXMKIGxvY2F0aW9uLgoKIEVhY2ggZWxlbWVudCBpcyBhIGZpZWxkIG51bWJlciBvciBhbiBpbmRleC4gIFRoZXkgZm9ybSBhIHBhdGggZnJvbQogdGhlIHJvb3QgRmlsZURlc2NyaXB0b3JQcm90byB0byB0aGUgcGxhY2Ugd2hlcmUgdGhlIGRlZmluaXRpb24uICBGb3IKIGV4YW1wbGUsIHRoaXMgcGF0aDoKICAgWyA0LCAzLCAyLCA3LCAxIF0KIHJlZmVycyB0bzoKICAgZmlsZS5tZXNzYWdlX3R5cGUoMykgIC8vIDQsIDMKICAgICAgIC5maWVsZCg3KSAgICAgICAgIC8vIDIsIDcKICAgICAgIC5uYW1lKCkgICAgICAgICAgIC8vIDEKIFRoaXMgaXMgYmVjYXVzZSBGaWxlRGVzY3JpcHRvclByb3RvLm1lc3NhZ2VfdHlwZSBoYXMgZmllbGQgbnVtYmVyIDQ6CiAgIHJlcGVhdGVkIERlc2NyaXB0b3JQcm90byBtZXNzYWdlX3R5cGUgPSA0OwogYW5kIERlc2NyaXB0b3JQcm90by5maWVsZCBoYXMgZmllbGQgbnVtYmVyIDI6CiAgIHJlcGVhdGVkIEZpZWxkRGVzY3JpcHRvclByb3RvIGZpZWxkID0gMjsKIGFuZCBGaWVsZERlc2NyaXB0b3JQcm90by5uYW1lIGhhcyBmaWVsZCBudW1iZXIgMToKICAgb3B0aW9uYWwgc3RyaW5nIG5hbWUgPSAxOwoKIFRodXMsIHRoZSBhYm92ZSBwYXRoIGdpdmVzIHRoZSBsb2NhdGlvbiBvZiBhIGZpZWxkIG5hbWUuICBJZiB3ZSByZW1vdmVkCiB0aGUgbGFzdCBlbGVtZW50OgogICBbIDQsIDMsIDIsIDcgXQogdGhpcyBwYXRoIHJlZmVycyB0byB0aGUgd2hvbGUgZmllbGQgZGVjbGFyYXRpb24gKGZyb20gdGhlIGJlZ2lubmluZwogb2YgdGhlIGxhYmVsIHRvIHRoZSB0ZXJtaW5hdGluZyBzZW1pY29sb24pLgoKDwoHBBMDAAIABBIEnAYEDAoPCgcEEwMAAgAFEgScBg0SCg8KBwQTAwACAAESBJwGExcKDwoHBBMDAAIAAxIEnAYaGwoPCgcEEwMAAgAIEgScBhwpChAKCAQTAwACAAgCEgScBh0oCtICCgYEEwMAAgESBKMGBCoawQIgQWx3YXlzIGhhcyBleGFjdGx5IHRocmVlIG9yIGZvdXIgZWxlbWVudHM6IHN0YXJ0IGxpbmUsIHN0YXJ0IGNvbHVtbiwKIGVuZCBsaW5lIChvcHRpb25hbCwgb3RoZXJ3aXNlIGFzc3VtZWQgc2FtZSBhcyBzdGFydCBsaW5lKSwgZW5kIGNvbHVtbi4KIFRoZXNlIGFyZSBwYWNrZWQgaW50byBhIHNpbmdsZSBmaWVsZCBmb3IgZWZmaWNpZW5jeS4gIE5vdGUgdGhhdCBsaW5lCiBhbmQgY29sdW1uIG51bWJlcnMgYXJlIHplcm8tYmFzZWQgLS0gdHlwaWNhbGx5IHlvdSB3aWxsIHdhbnQgdG8gYWRkCiAxIHRvIGVhY2ggYmVmb3JlIGRpc3BsYXlpbmcgdG8gYSB1c2VyLgoKDwoHBBMDAAIBBBIEowYEDAoPCgcEEwMAAgEFEgSjBg0SCg8KBwQTAwACAQESBKMGExcKDwoHBBMDAAIBAxIEowYaGwoPCgcEEwMAAgEIEgSjBhwpChAKCAQTAwACAQgCEgSjBh0oCqUMCgYEEwMAAgISBNQGBCkalAwgSWYgdGhpcyBTb3VyY2VDb2RlSW5mbyByZXByZXNlbnRzIGEgY29tcGxldGUgZGVjbGFyYXRpb24sIHRoZXNlIGFyZSBhbnkKIGNvbW1lbnRzIGFwcGVhcmluZyBiZWZvcmUgYW5kIGFmdGVyIHRoZSBkZWNsYXJhdGlvbiB3aGljaCBhcHBlYXIgdG8gYmUKIGF0dGFjaGVkIHRvIHRoZSBkZWNsYXJhdGlvbi4KCiBBIHNlcmllcyBvZiBsaW5lIGNvbW1lbnRzIGFwcGVhcmluZyBvbiBjb25zZWN1dGl2ZSBsaW5lcywgd2l0aCBubyBvdGhlcgogdG9rZW5zIGFwcGVhcmluZyBvbiB0aG9zZSBsaW5lcywgd2lsbCBiZSB0cmVhdGVkIGFzIGEgc2luZ2xlIGNvbW1lbnQuCgogbGVhZGluZ19kZXRhY2hlZF9jb21tZW50cyB3aWxsIGtlZXAgcGFyYWdyYXBocyBvZiBjb21tZW50cyB0aGF0IGFwcGVhcgogYmVmb3JlIChidXQgbm90IGNvbm5lY3RlZCB0bykgdGhlIGN1cnJlbnQgZWxlbWVudC4gRWFjaCBwYXJhZ3JhcGgsCiBzZXBhcmF0ZWQgYnkgZW1wdHkgbGluZXMsIHdpbGwgYmUgb25lIGNvbW1lbnQgZWxlbWVudCBpbiB0aGUgcmVwZWF0ZWQKIGZpZWxkLgoKIE9ubHkgdGhlIGNvbW1lbnQgY29udGVudCBpcyBwcm92aWRlZDsgY29tbWVudCBtYXJrZXJzIChlLmcuIC8vKSBhcmUKIHN0cmlwcGVkIG91dC4gIEZvciBibG9jayBjb21tZW50cywgbGVhZGluZyB3aGl0ZXNwYWNlIGFuZCBhbiBhc3Rlcmlzawogd2lsbCBiZSBzdHJpcHBlZCBmcm9tIHRoZSBiZWdpbm5pbmcgb2YgZWFjaCBsaW5lIG90aGVyIHRoYW4gdGhlIGZpcnN0LgogTmV3bGluZXMgYXJlIGluY2x1ZGVkIGluIHRoZSBvdXRwdXQuCgogRXhhbXBsZXM6CgogICBvcHRpb25hbCBpbnQzMiBmb28gPSAxOyAgLy8gQ29tbWVudCBhdHRhY2hlZCB0byBmb28uCiAgIC8vIENvbW1lbnQgYXR0YWNoZWQgdG8gYmFyLgogICBvcHRpb25hbCBpbnQzMiBiYXIgPSAyOwoKICAgb3B0aW9uYWwgc3RyaW5nIGJheiA9IDM7CiAgIC8vIENvbW1lbnQgYXR0YWNoZWQgdG8gYmF6LgogICAvLyBBbm90aGVyIGxpbmUgYXR0YWNoZWQgdG8gYmF6LgoKICAgLy8gQ29tbWVudCBhdHRhY2hlZCB0byBxdXguCiAgIC8vCiAgIC8vIEFub3RoZXIgbGluZSBhdHRhY2hlZCB0byBxdXguCiAgIG9wdGlvbmFsIGRvdWJsZSBxdXggPSA0OwoKICAgLy8gRGV0YWNoZWQgY29tbWVudCBm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dG8gdGhlIGlkZW50aWZpZWQgb2Zmc2V0LiBUaGUgZW5kIG9mZnNldCBzaG91bGQgYmUgb25lIHBhc3QKIHRoZSBsYXN0IHJlbGV2YW50IGJ5dGUgKHNvIHRoZSBsZW5ndGggb2YgdGhlIHRleHQgPSBlbmQgLSBiZWdpbikuCgoPCgcEFAMAAgMEEgTwBgQMCg8KBwQUAwACAwUSBPAGDRIKDwoHBBQDAAIDARIE8AYTFgoPCgcEFAMAAgMDEgTwBhkaCucIChxnb29nbGUvYXBpL2Fubm90YXRpb25zLnByb3RvEgpnb29nbGUuYXBpGhVnb29nbGUvYXBpL2h0dHAucHJvdG8aIGdvb2dsZS9wcm90b2J1Zi9kZXNjcmlwdG9yLnByb3RvOksKBGh0dHASHi5nb29nbGUucHJvdG9idWYuTWV0aG9kT3B0aW9ucxiwyrwiIAEoCzIULmdvb2dsZS5hcGkuSHR0cFJ1bGVSBGh0dHBCbgoOY29tLmdvb2dsZS5hcGlCEEFubm90YXRpb25zUHJvdG9QAVpBZ29vZ2xlLmdvbGFuZy5vcmcvZ2VucHJvdG8vZ29vZ2xlYXBpcy9hcGkvYW5ub3RhdGlvbnM7YW5ub3RhdGlvbnOiAgRHQVBJSrwGCgYSBA4AHgEKwgQKAQwSAw4AEjK3BCBDb3B5cmlnaHQgKGMpIDIwMTUsIEdvb2dsZSBJbmMuCgogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIik7CiB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuCiBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXQKCiAgICAgaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wCgogVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZQogZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gIkFTIElTIiBCQVNJUywKIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLgogU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZAogbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuCgoICgECEgMQABMKCQoCAwASAxIAHwoJCgIDARIDEwAqCggKAQgSAxUAWAoJCgIICxIDFQBYCggKAQgSAxYAIgoJCgIIChIDFgAiCggKAQgSAxcAMQoJCgIICBIDFwAxCggKAQgSAxgAJwoJCgIIARIDGAAnCggKAQgSAxkAIgoJCgIIJBIDGQAiCgkKAQcSBBsAHgEKHAoCBwASAx0CGxoRIFNlZSBgSHR0cFJ1bGVgLgoKCgoDBwACEgMbByQKCwoDBwAEEgQdAhsmCgoKAwcABhIDHQIKCgoKAwcAARIDHQsPCgoKAwcAAxIDHRIaYgZwcm90bzMKuAkKGnZvbHRoYV9wcm90b3MvaGVhbHRoLnByb3RvEgZoZWFsdGgaHGdvb2dsZS9hcGkvYW5ub3RhdGlvbnMucHJvdG8aG2dvb2dsZS9wcm90b2J1Zi9lbXB0eS5wcm90byJ9CgxIZWFsdGhTdGF0dXMSNgoFc3RhdGUYASABKA4yIC5oZWFsdGguSGVhbHRoU3RhdHVzLkhlYWx0aFN0YXRlUgVzdGF0ZSI1CgtIZWFsdGhTdGF0ZRILCgdIRUFMVEhZEAASDgoKT1ZFUkxPQURFRBABEgkKBURZSU5HEAIyYQoNSGVhbHRoU2VydmljZRJQCg9HZXRIZWFsdGhTdGF0dXMSFi5nb29nbGUucHJvdG9idWYuRW1wdHkaFC5oZWFsdGguSGVhbHRoU3RhdHVzIg+C0+STAgkSBy9oZWFsdGhCTAoab3JnLm9wZW5jb3JkLnZvbHRoYS5oZWFsdGhaLmdpdGh1Yi5jb20vb3BlbmNvcmQvdm9sdGhhLXByb3Rvcy92NS9nby9oZWFsdGhKngYKBhIEAAAiAQoICgEMEgMAABIKCAoBCBIDAgBFCgkKAggLEgMCAEUKCAoBCBIDAwAzCgkKAggBEgMDADMKCAoBAhIDBQAPCgkKAgMAEgMHACYKCQoCAwESAwgAJQo3CgIEABIECwAWARorIEVuY29kZSBoZWFsdGggc3RhdHVzIG9mIGEgVm9sdGhhIGluc3RhbmNlCgoKCgMEAAESAwsIFAodCgQEAAQAEgQOBBIFGg8gSGVhbHRoIHN0YXRlcwoKDAoFBAAEAAESAw4JFAooCgYEAAQAAgASAw8IFCIZIFRoZSBpbnN0YW5jZSBpcyBoZWFsdGh5CgoOCgcEAAQAAgABEgMPCA8KDgoHBAAEAAIAAhIDDxITCkAKBgQABAACARIDEAgXIjEgVGhlIGluc3RhbmNlIGlzIG92ZXJsb2FkZWQsIGRlY3JlYXNlIHF1ZXJ5IHJhdGUKCg4KBwQABAACAQESAxAIEgoOCgcEAAQAAgECEgMQFRYKRwoGBAAEAAICEgMRCBIiOCBUaGUgaW5zdGFuY2UgaXMgaW4gYSBjcml0aWNhbCBjb25kaXRpb24sIGRvIG5vdCB1c2UgaXQKCg4KBwQABAACAgESAxEIDQoOCgcEAAQAAgICEgMREBEKPgoEBAACABIDFQQbGjEgQ3VycmVudCBzdGF0ZSBvZiBoZWFsdGggb2YgdGhpcyBWb2x0aGEgaW5zdGFuY2UKCg0KBQQAAgAEEgQVBBIFCgwKBQQAAgAGEgMVBA8KDAoFBAACAAESAxUQFQoMCgUEAAIAAxIDFRgZCiUKAgYAEgQZACIBGhkgSGVhbHRoIHJlbGF0ZWQgc2VydmljZXMKCgoKAwYAARIDGQgVCkEKBAYAAgASBBwEIAUaMyBSZXR1cm4gY3VycmVudCBoZWFsdGggc3RhdHVzIG9mIGEgVm9sdGhhIGluc3RhbmNlCgoMCgUGAAIAARIDHAgXCgwKBQYAAgACEgMcGC0KDAoFBgACAAMSAxw4RAoNCgUGAAIABBIEHQgfCgoRCgkGAAIABLDKvCISBB0IHwpiBnByb3RvMwrwiQgKH3ZvbHRoYV9wcm90b3Mvb3BlbmZsb3dfMTMucHJvdG8SC29wZW5mbG93XzEzGhxnb29nbGUvYXBpL2Fubm90YXRpb25zLnByb3RvImMKCm9mcF9oZWFkZXISGAoHdmVyc2lvbhgBIAEoDVIHdmVyc2lvbhIpCgR0eXBlGAIgASgOMhUub3BlbmZsb3dfMTMub2ZwX3R5cGVSBHR5cGUSEAoDeGlkGAMgASgNUgN4aWQiqwEKFW9mcF9oZWxsb19lbGVtX2hlYWRlchI0CgR0eXBlGAEgASgOMiAub3BlbmZsb3dfMTMub2ZwX2hlbGxvX2VsZW1fdHlwZVIEdHlwZRJRCg12ZXJzaW9uYml0bWFwGAIgASgLMikub3BlbmZsb3dfMTMub2ZwX2hlbGxvX2VsZW1fdmVyc2lvbmJpdG1hcEgAUg12ZXJzaW9uYml0bWFwQgkKB2VsZW1lbnQiOAocb2ZwX2hlbGxvX2VsZW1fdmVyc2lvbmJpdG1hcBIYCgdiaXRtYXBzGAIgAygNUgdiaXRtYXBzIksKCW9mcF9oZWxsbxI+CghlbGVtZW50cxgBIAMoCzIiLm9wZW5mbG93XzEzLm9mcF9oZWxsb19lbGVtX2hlYWRlclIIZWxlbWVudHMiTQoRb2ZwX3N3aXRjaF9jb25maWcSFAoFZmxhZ3MYASABKA1SBWZsYWdzEiIKDW1pc3Nfc2VuZF9sZW4YAiABKA1SC21pc3NTZW5kTGVuIkIKDW9mcF90YWJsZV9tb2QSGQoIdGFibGVfaWQYASABKA1SB3RhYmxlSWQSFgoGY29uZmlnGAIgASgNUgZjb25maWcioAIKCG9mcF9wb3J0EhcKB3BvcnRfbm8YASABKA1SBnBvcnRObxIXCgdod19hZGRyGAIgAygNUgZod0FkZHISEgoEbmFtZRgDIAEoCVIEbmFtZRIWCgZjb25maWcYBCABKA1SBmNvbmZpZxIUCgVzdGF0ZRgFIAEoDVIFc3RhdGUSEgoEY3VychgGIAEoDVIEY3VychIeCgphZHZlcnRpc2VkGAcgASgNUgphZHZlcnRpc2VkEhwKCXN1cHBvcnRlZBgIIAEoDVIJc3VwcG9ydGVkEhIKBHBlZXIYCSABKA1SBHBlZXISHQoKY3Vycl9zcGVlZBgKIAEoDVIJY3VyclNwZWVkEhsKCW1heF9zcGVlZBgLIAEoDVIIbWF4U3BlZWQitQEKE29mcF9zd2l0Y2hfZmVhdHVyZXMSHwoLZGF0YXBhdGhfaWQYASABKARSCmRhdGFwYXRoSWQSGwoJbl9idWZmZXJzGAIgASgNUghuQnVmZmVycxIZCghuX3RhYmxlcxgDIAEoDVIHblRhYmxlcxIhCgxhdXhpbGlhcnlfaWQYBCABKA1SC2F1eGlsaWFyeUlkEiIKDGNhcGFiaWxpdGllcxgFIAEoDVIMY2FwYWJpbGl0aWVzInIKD29mcF9wb3J0X3N0YXR1cxI0CgZyZWFzb24YASABKA4yHC5vcGVuZmxvd18xMy5vZnBfcG9ydF9yZWFzb25SBnJlYXNvbhIpCgRkZXNjGAIgASgLMhUub3BlbmZsb3dfMTMub2ZwX3BvcnRSBGRlc2MiTwoRb2ZwX2RldmljZV9zdGF0dXMSOgoGc3RhdHVzGAEgASgOMiIub3BlbmZsb3dfMTMub2ZwX2RldmljZV9jb25uZWN0aW9uUgZzdGF0dXMiigEKDG9mcF9wb3J0X21vZBIXCgdwb3J0X25vGAEgASgNUgZwb3J0Tm8SFwoHaHdfYWRkchgCIAMoDVIGaHdBZGRyEhYKBmNvbmZpZxgDIAEoDVIGY29uZmlnEhIKBG1hc2sYBCABKA1SBG1hc2sSHAoJYWR2ZXJ0aXNlGAUgASgNUglhZHZlcnRpc2UidwoJb2ZwX21hdGNoEi8KBHR5cGUYASABKA4yGy5vcGVuZmxvd18xMy5vZnBfbWF0Y2hfdHlwZVIEdHlwZRI5CgpveG1fZmllbGRzGAIgAygLMhoub3BlbmZsb3dfMTMub2ZwX294bV9maWVsZFIJb3htRmllbGRzIuoBCg1vZnBfb3htX2ZpZWxkEjcKCW94bV9jbGFzcxgBIAEoDjIaLm9wZW5mbG93XzEzLm9mcF9veG1fY2xhc3NSCG94bUNsYXNzEj0KCW9mYl9maWVsZBgEIAEoCzIeLm9wZW5mbG93XzEzLm9mcF9veG1fb2ZiX2ZpZWxkSABSCG9mYkZpZWxkElgKEmV4cGVyaW1lbnRlcl9maWVsZBgFIAEoCzInLm9wZW5mbG93XzEzLm9mcF9veG1fZXhwZXJpbWVudGVyX2ZpZWxkSABSEWV4cGVyaW1lbnRlckZpZWxkQgcKBWZpZWxkItcOChFvZnBfb3htX29mYl9maWVsZBI0CgR0eXBlGAEgASgOMiAub3BlbmZsb3dfMTMub3htX29mYl9maWVsZF90eXBlc1IEdHlwZRIZCghoYXNfbWFzaxgCIAEoCFIHaGFzTWFzaxIUCgRwb3J0GAMgASgNSABSBHBvcnQSJQoNcGh5c2ljYWxfcG9ydBgEIAEoDUgAUgxwaHlzaWNhbFBvcnQSJwoOdGFibGVfbWV0YWRhdGEYBSABKARIAFINdGFibGVNZXRhZGF0YRIZCgdldGhfZHN0GAYgASgMSABSBmV0aERzdBIZCgdldGhfc3JjGAcgASgMSABSBmV0aFNyYxIbCghldGhfdHlwZRgIIAEoDUgAUgdldGhUeXBlEhsKCHZsYW5fdmlkGAkgASgNSABSB3ZsYW5WaWQSGwoIdmxhbl9wY3AYCiABKA1IAFIHdmxhblBjcBIZCgdpcF9kc2NwGAsgASgNSABSBmlwRHNjcBIXCgZpcF9lY24YDCABKA1IAFIFaXBFY24SGwoIaXBfcHJvdG8YDSABKA1IAFIHaXBQcm90bxIbCghpcHY0X3NyYxgOIAEoDUgAUgdpcHY0U3JjEhsKCGlwdjRfZHN0GA8gASgNSABSB2lwdjREc3QSGQoHdGNwX3NyYxgQIAEoDUgAUgZ0Y3BTcmMSGQoHdGNwX2RzdBgRIAEoDUgAUgZ0Y3BEc3QSGQoHdWRwX3NyYxgSIAEoDUgAUgZ1ZHBTcmMSGQoHdWRwX2RzdBgTIAEoDUgAUgZ1ZHBEc3QSGwoIc2N0cF9zcmMYFCABKA1IAFIHc2N0cFNyYxIbCghzY3RwX2RzdBgVIAEoDUgAUgdzY3RwRHN0EiEKC2ljbXB2NF90eXBlGBYgASgNSABSCmljbXB2NFR5cGUSIQoLaWNtcHY0X2NvZGUYFyABKA1IAFIKaWNtcHY0Q29kZRIXCgZhcnBfb3AYGCABKA1IAFIFYXJwT3ASGQoHYXJwX3NwYRgZIAEoDUgAUgZhcnBTcGESGQoHYXJwX3RwYRgaIAEoDUgAUgZhcnBUcGESGQoHYXJwX3NoYRgbIAEoDEgAUgZhcnBTaGESGQoHYXJwX3RoYRgcIAEoDEgAUgZhcnBUaGESGwoIaXB2Nl9zcmMYHSABKAxIAFIHaXB2NlNyYxIbCghpcHY2X2RzdBgeIAEoDEgAUgdpcHY2RHN0EiEKC2lwdjZfZmxhYmVsGB8gASgNSABSCmlwdjZGbGFiZWwSIQoLaWNtcHY2X3R5cGUYICABKA1IAFIKaWNtcHY2VHlwZRIhCgtpY21wdjZfY29kZRghIAEoDUgAUgppY21wdjZDb2RlEiYKDmlwdjZfbmRfdGFyZ2V0GCIgASgMSABSDGlwdjZOZFRhcmdldBIgCgtpcHY2X25kX3NzbBgjIAEoDEgAUglpcHY2TmRTc2wSIAoLaXB2Nl9uZF90bGwYJCABKAxIAFIJaXB2Nk5kVGxsEh8KCm1wbHNfbGFiZWwYJSABKA1IAFIJbXBsc0xhYmVsEhkKB21wbHNfdGMYJiABKA1IAFIGbXBsc1RjEhsKCG1wbHNfYm9zGCcgASgNSABSB21wbHNCb3MSGwoIcGJiX2lzaWQYKCABKA1IAFIHcGJiSXNpZBIdCgl0dW5uZWxfaWQYKSABKARIAFIIdHVubmVsSWQSIQoLaXB2Nl9leHRoZHIYKiABKA1IAFIKaXB2NkV4dGhkchIwChN0YWJsZV9tZXRhZGF0YV9tYXNrGGkgASgESAFSEXRhYmxlTWV0YWRhdGFNYXNrEiIKDGV0aF9kc3RfbWFzaxhqIAEoDEgBUgpldGhEc3RNYXNrEiIKDGV0aF9zcmNfbWFzaxhrIAEoDEgBUgpldGhTcmNNYXNrEiQKDXZsYW5fdmlkX21hc2sYbSABKA1IAVILdmxhblZpZE1hc2sSJAoNaXB2NF9zcmNfbWFzaxhyIAEoDUgBUgtpcHY0U3JjTWFzaxIkCg1pcHY0X2RzdF9tYXNrGHMgASgNSAFSC2lwdjREc3RNYXNrEiIKDGFycF9zcGFfbWFzaxh9IAEoDUgBUgphcnBTcGFNYXNrEiIKDGFycF90cGFfbWFzaxh+IAEoDUgBUgphcnBUcGFNYXNrEiUKDWlwdjZfc3JjX21hc2sYgQEgASgMSAFSC2lwdjZTcmNNYXNrEiUKDWlwdjZfZHN0X21hc2sYggEgASgMSAFSC2lwdjZEc3RNYXNrEisKEGlwdjZfZmxhYmVsX21hc2sYgwEgASgNSAFSDmlwdjZGbGFiZWxNYXNrEiUKDXBiYl9pc2lkX21hc2sYjAEgASgNSAFSC3BiYklzaWRNYXNrEicKDnR1bm5lbF9pZF9tYXNrGI0BIAEoBEgBUgx0dW5uZWxJZE1hc2sSKwoQaXB2Nl9leHRoZHJfbWFzaxiOASABKA1IAVIOaXB2NkV4dGhkck1hc2tCBwoFdmFsdWVCBgoEbWFzayJfChpvZnBfb3htX2V4cGVyaW1lbnRlcl9maWVsZBIdCgpveG1faGVhZGVyGAEgASgNUglveG1IZWFkZXISIgoMZXhwZXJpbWVudGVyGAIgASgNUgxleHBlcmltZW50ZXIisgQKCm9mcF9hY3Rpb24SMAoEdHlwZRgBIAEoDjIcLm9wZW5mbG93XzEzLm9mcF9hY3Rpb25fdHlwZVIEdHlwZRI4CgZvdXRwdXQYAiABKAsyHi5vcGVuZmxvd18xMy5vZnBfYWN0aW9uX291dHB1dEgAUgZvdXRwdXQSPQoIbXBsc190dGwYAyABKAsyIC5vcGVuZmxvd18xMy5vZnBfYWN0aW9uX21wbHNfdHRsSABSB21wbHNUdGwSMgoEcHVzaBgEIAEoCzIcLm9wZW5mbG93XzEzLm9mcF9hY3Rpb25fcHVzaEgAUgRwdXNoEj0KCHBvcF9tcGxzGAUgASgLMiAub3BlbmZsb3dfMTMub2ZwX2FjdGlvbl9wb3BfbXBsc0gAUgdwb3BNcGxzEjUKBWdyb3VwGAYgASgLMh0ub3BlbmZsb3dfMTMub2ZwX2FjdGlvbl9ncm91cEgAUgVncm91cBI3CgZud190dGwYByABKAsyHi5vcGVuZmxvd18xMy5vZnBfYWN0aW9uX253X3R0bEgAUgVud1R0bBJACglzZXRfZmllbGQYCCABKAsyIS5vcGVuZmxvd18xMy5vZnBfYWN0aW9uX3NldF9maWVsZEgAUghzZXRGaWVsZBJKCgxleHBlcmltZW50ZXIYCSABKAsyJC5vcGVuZmxvd18xMy5vZnBfYWN0aW9uX2V4cGVyaW1lbnRlckgAUgxleHBlcmltZW50ZXJCCAoGYWN0aW9uIkAKEW9mcF9hY3Rpb25fb3V0cHV0EhIKBHBvcnQYASABKA1SBHBvcnQSFwoHbWF4X2xlbhgCIAEoDVIGbWF4TGVuIjAKE29mcF9hY3Rpb25fbXBsc190dGwSGQoIbXBsc190dGwYASABKA1SB21wbHNUdGwiLwoPb2ZwX2FjdGlvbl9wdXNoEhwKCWV0aGVydHlwZRgBIAEoDVIJZXRoZXJ0eXBlIjMKE29mcF9hY3Rpb25fcG9wX21wbHMSHAoJZXRoZXJ0eXBlGAEgASgNUglldGhlcnR5cGUiLQoQb2ZwX2FjdGlvbl9ncm91cBIZCghncm91cF9pZBgBIAEoDVIHZ3JvdXBJZCIqChFvZnBfYWN0aW9uX253X3R0bBIVCgZud190dGwYASABKA1SBW53VHRsIkgKFG9mcF9hY3Rpb25fc2V0X2ZpZWxkEjAKBWZpZWxkGAEgASgLMhoub3BlbmZsb3dfMTMub2ZwX294bV9maWVsZFIFZmllbGQiUQoXb2ZwX2FjdGlvbl9leHBlcmltZW50ZXISIgoMZXhwZXJpbWVudGVyGAEgASgNUgxleHBlcmltZW50ZXISEgoEZGF0YRgCIAEoDFIEZGF0YSKcAwoPb2ZwX2luc3RydWN0aW9uEhIKBHR5cGUYASABKA1SBHR5cGUSSAoKZ290b190YWJsZRgCIAEoCzInLm9wZW5mbG93XzEzLm9mcF9pbnN0cnVjdGlvbl9nb3RvX3RhYmxlSABSCWdvdG9UYWJsZRJUCg53cml0ZV9tZXRhZGF0YRgDIAEoCzIrLm9wZW5mbG93XzEzLm9mcF9pbnN0cnVjdGlvbl93cml0ZV9tZXRhZGF0YUgAUg13cml0ZU1ldGFkYXRhEkAKB2FjdGlvbnMYBCABKAsyJC5vcGVuZmxvd18xMy5vZnBfaW5zdHJ1Y3Rpb25fYWN0aW9uc0gAUgdhY3Rpb25zEjoKBW1ldGVyGAUgASgLMiIub3BlbmZsb3dfMTMub2ZwX2luc3RydWN0aW9uX21ldGVySABSBW1ldGVyEk8KDGV4cGVyaW1lbnRlchgGIAEoCzIpLm9wZW5mbG93XzEzLm9mcF9pbnN0cnVjdGlvbl9leHBlcmltZW50ZXJIAFIMZXhwZXJpbWVudGVyQgYKBGRhdGEiNwoab2ZwX2luc3RydWN0aW9uX2dvdG9fdGFibGUSGQoIdGFibGVfaWQYASABKA1SB3RhYmxlSWQiYQoeb2ZwX2luc3RydWN0aW9uX3dyaXRlX21ldGFkYXRhEhoKCG1ldGFkYXRhGAEgASgEUghtZXRhZGF0YRIjCg1tZXRhZGF0YV9tYXNrGAIgASgEUgxtZXRhZGF0YU1hc2siTAoXb2ZwX2luc3RydWN0aW9uX2FjdGlvbnMSMQoHYWN0aW9ucxgBIAMoCzIXLm9wZW5mbG93XzEzLm9mcF9hY3Rpb25SB2FjdGlvbnMiMgoVb2ZwX2luc3RydWN0aW9uX21ldGVyEhkKCG1ldGVyX2lkGAEgASgNUgdtZXRlcklkIlYKHG9mcF9pbnN0cnVjdGlvbl9leHBlcmltZW50ZXISIgoMZXhwZXJpbWVudGVyGAEgASgNUgxleHBlcmltZW50ZXISEgoEZGF0YRgCIAEoDFIEZGF0YSLcAwoMb2ZwX2Zsb3dfbW9kEhYKBmNvb2tpZRgBIAEoBFIGY29va2llEh8KC2Nvb2tpZV9tYXNrGAIgASgEUgpjb29raWVNYXNrEhkKCHRhYmxlX2lkGAMgASgNUgd0YWJsZUlkEjsKB2NvbW1hbmQYBCABKA4yIS5vcGVuZmxvd18xMy5vZnBfZmxvd19tb2RfY29tbWFuZFIHY29tbWFuZBIhCgxpZGxlX3RpbWVvdXQYBSABKA1SC2lkbGVUaW1lb3V0EiEKDGhhcmRfdGltZW91dBgGIAEoDVILaGFyZFRpbWVvdXQSGgoIcHJpb3JpdHkYByABKA1SCHByaW9yaXR5EhsKCWJ1ZmZlcl9pZBgIIAEoDVIIYnVmZmVySWQSGQoIb3V0X3BvcnQYCSABKA1SB291dFBvcnQSGwoJb3V0X2dyb3VwGAogASgNUghvdXRHcm91cBIUCgVmbGFncxgLIAEoDVIFZmxhZ3MSLAoFbWF0Y2gYDCABKAsyFi5vcGVuZmxvd18xMy5vZnBfbWF0Y2hSBW1hdGNoEkAKDGluc3RydWN0aW9ucxgNIAMoCzIcLm9wZW5mbG93XzEzLm9mcF9pbnN0cnVjdGlvblIMaW5zdHJ1Y3Rpb25zIpcBCgpvZnBfYnVja2V0EhYKBndlaWdodBgBIAEoDVIGd2VpZ2h0Eh0KCndhdGNoX3BvcnQYAiABKA1SCXdhdGNoUG9ydBIfCgt3YXRjaF9ncm91cBgDIAEoDVIKd2F0Y2hHcm91cBIxCgdhY3Rpb25zGAQgAygLMhcub3BlbmZsb3dfMTMub2ZwX2FjdGlvblIHYWN0aW9ucyLMAQoNb2ZwX2dyb3VwX21vZBI8Cgdjb21tYW5kGAEgASgOMiIub3BlbmZsb3dfMTMub2ZwX2dyb3VwX21vZF9jb21tYW5kUgdjb21tYW5kEi8KBHR5cGUYAiABKA4yGy5vcGVuZmxvd18xMy5vZnBfZ3JvdXBfdHlwZVIEdHlwZRIZCghncm91cF9pZBgDIAEoDVIHZ3JvdXBJZBIxCgdidWNrZXRzGAQgAygLMhcub3BlbmZsb3dfMTMub2ZwX2J1Y2tldFIHYnVja2V0cyKNAQoOb2ZwX3BhY2tldF9vdXQSGwoJYnVmZmVyX2lkGAEgASgNUghidWZmZXJJZBIXCgdpbl9wb3J0GAIgASgNUgZpblBvcnQSMQoHYWN0aW9ucxgDIAMoCzIXLm9wZW5mbG93XzEzLm9mcF9hY3Rpb25SB2FjdGlvbnMSEgoEZGF0YRgEIAEoDFIEZGF0YSLcAQoNb2ZwX3BhY2tldF9pbhIbCglidWZmZXJfaWQYASABKA1SCGJ1ZmZlcklkEjkKBnJlYXNvbhgCIAEoDjIhLm9wZW5mbG93XzEzLm9mcF9wYWNrZXRfaW5fcmVhc29uUgZyZWFzb24SGQoIdGFibGVfaWQYAyABKA1SB3RhYmxlSWQSFgoGY29va2llGAQgASgEUgZjb29raWUSLAoFbWF0Y2gYBSABKAsyFi5vcGVuZmxvd18xMy5vZnBfbWF0Y2hSBW1hdGNoEhIKBGRhdGEYBiABKAxSBGRhdGEinQMKEG9mcF9mbG93X3JlbW92ZWQSFgoGY29va2llGAEgASgEUgZjb29raWUSGgoIcHJpb3JpdHkYAiABKA1SCHByaW9yaXR5EjwKBnJlYXNvbhgDIAEoDjIkLm9wZW5mbG93XzEzLm9mcF9mbG93X3JlbW92ZWRfcmVhc29uUgZyZWFzb24SGQoIdGFibGVfaWQYBCABKA1SB3RhYmxlSWQSIQoMZHVyYXRpb25fc2VjGAUgASgNUgtkdXJhdGlvblNlYxIjCg1kdXJhdGlvbl9uc2VjGAYgASgNUgxkdXJhdGlvbk5zZWMSIQoMaWRsZV90aW1lb3V0GAcgASgNUgtpZGxlVGltZW91dBIhCgxoYXJkX3RpbWVvdXQYCCABKA1SC2hhcmRUaW1lb3V0EiEKDHBhY2tldF9jb3VudBgJIAEoBFILcGFja2V0Q291bnQSHQoKYnl0ZV9jb3VudBgKIAEoBFIJYnl0ZUNvdW50EiwKBW1hdGNoGHkgASgLMhYub3BlbmZsb3dfMTMub2ZwX21hdGNoUgVtYXRjaCLcAgoVb2ZwX21ldGVyX2JhbmRfaGVhZGVyEjQKBHR5cGUYASABKA4yIC5vcGVuZmxvd18xMy5vZnBfbWV0ZXJfYmFuZF90eXBlUgR0eXBlEhIKBHJhdGUYAiABKA1SBHJhdGUSHQoKYnVyc3Rfc2l6ZRgDIAEoDVIJYnVyc3RTaXplEjYKBGRyb3AYBCABKAsyIC5vcGVuZmxvd18xMy5vZnBfbWV0ZXJfYmFuZF9kcm9wSABSBGRyb3ASSgoLZHNjcF9yZW1hcmsYBSABKAsyJy5vcGVuZmxvd18xMy5vZnBfbWV0ZXJfYmFuZF9kc2NwX3JlbWFya0gAUgpkc2NwUmVtYXJrEk4KDGV4cGVyaW1lbnRlchgGIAEoCzIoLm9wZW5mbG93XzEzLm9mcF9tZXRlcl9iYW5kX2V4cGVyaW1lbnRlckgAUgxleHBlcmltZW50ZXJCBgoEZGF0YSIVChNvZnBfbWV0ZXJfYmFuZF9kcm9wIjsKGm9mcF9tZXRlcl9iYW5kX2RzY3BfcmVtYXJrEh0KCnByZWNfbGV2ZWwYASABKA1SCXByZWNMZXZlbCJBChtvZnBfbWV0ZXJfYmFuZF9leHBlcmltZW50ZXISIgoMZXhwZXJpbWVudGVyGAEgASgNUgxleHBlcmltZW50ZXIiuAEKDW9mcF9tZXRlcl9tb2QSPAoHY29tbWFuZBgBIAEoDjIiLm9wZW5mbG93XzEzLm9mcF9tZXRlcl9tb2RfY29tbWFuZFIHY29tbWFuZBIUCgVmbGFncxgCIAEoDVIFZmxhZ3MSGQoIbWV0ZXJfaWQYAyABKA1SB21ldGVySWQSOAoFYmFuZHMYBCADKAsyIi5vcGVuZmxvd18xMy5vZnBfbWV0ZXJfYmFuZF9oZWFkZXJSBWJhbmRzInwKDW9mcF9lcnJvcl9tc2cSLwoGaGVhZGVyGAEgASgLMhcub3BlbmZsb3dfMTMub2ZwX2hlYWRlclIGaGVhZGVyEhIKBHR5cGUYAiABKA1SBHR5cGUSEgoEY29kZRgDIAEoDVIEY29kZRISCgRkYXRhGAQgASgMUgRkYXRhIoMBChpvZnBfZXJyb3JfZXhwZXJpbWVudGVyX21zZxISCgR0eXBlGAEgASgNUgR0eXBlEhkKCGV4cF90eXBlGAIgASgNUgdleHBUeXBlEiIKDGV4cGVyaW1lbnRlchgDIAEoDVIMZXhwZXJpbWVudGVyEhIKBGRhdGEYBCABKAxSBGRhdGEidgoVb2ZwX211bHRpcGFydF9yZXF1ZXN0EjMKBHR5cGUYASABKA4yHy5vcGVuZmxvd18xMy5vZnBfbXVsdGlwYXJ0X3R5cGVSBHR5cGUSFAoFZmxhZ3MYAiABKA1SBWZsYWdzEhIKBGJvZHkYAyABKAxSBGJvZHkidAoTb2ZwX211bHRpcGFydF9yZXBseRIzCgR0eXBlGAEgASgOMh8ub3BlbmZsb3dfMTMub2ZwX211bHRpcGFydF90eXBlUgR0eXBlEhQKBWZsYWdzGAIgASgNUgVmbGFncxISCgRib2R5GAMgASgMUgRib2R5Io8BCghvZnBfZGVzYxIZCghtZnJfZGVzYxgBIAEoCVIHbWZyRGVzYxIXCgdod19kZXNjGAIgASgJUgZod0Rlc2MSFwoHc3dfZGVzYxgDIAEoCVIGc3dEZXNjEh0KCnNlcmlhbF9udW0YBCABKAlSCXNlcmlhbE51bRIXCgdkcF9kZXNjGAUgASgJUgZkcERlc2Mi0gEKFm9mcF9mbG93X3N0YXRzX3JlcXVlc3QSGQoIdGFibGVfaWQYASABKA1SB3RhYmxlSWQSGQoIb3V0X3BvcnQYAiABKA1SB291dFBvcnQSGwoJb3V0X2dyb3VwGAMgASgNUghvdXRHcm91cBIWCgZjb29raWUYBCABKARSBmNvb2tpZRIfCgtjb29raWVfbWFzaxgFIAEoBFIKY29va2llTWFzaxIsCgVtYXRjaBgGIAEoCzIWLm9wZW5mbG93XzEzLm9mcF9tYXRjaFIFbWF0Y2gixQMKDm9mcF9mbG93X3N0YXRzEg4KAmlkGA4gASgEUgJpZBIZCgh0YWJsZV9pZBgBIAEoDVIHdGFibGVJZBIhCgxkdXJhdGlvbl9zZWMYAiABKA1SC2R1cmF0aW9uU2VjEiMKDWR1cmF0aW9uX25zZWMYAyABKA1SDGR1cmF0aW9uTnNlYxIaCghwcmlvcml0eRgEIAEoDVIIcHJpb3JpdHkSIQoMaWRsZV90aW1lb3V0GAUgASgNUgtpZGxlVGltZW91dBIhCgxoYXJkX3RpbWVvdXQYBiABKA1SC2hhcmRUaW1lb3V0EhQKBWZsYWdzGAcgASgNUgVmbGFncxIWCgZjb29raWUYCCABKARSBmNvb2tpZRIhCgxwYWNrZXRfY291bnQYCSABKARSC3BhY2tldENvdW50Eh0KCmJ5dGVfY291bnQYCiABKARSCWJ5dGVDb3VudBIsCgVtYXRjaBgMIAEoCzIWLm9wZW5mbG93XzEzLm9mcF9tYXRjaFIFbWF0Y2gSQAoMaW5zdHJ1Y3Rpb25zGA0gAygLMhwub3BlbmZsb3dfMTMub2ZwX2luc3RydWN0aW9uUgxpbnN0cnVjdGlvbnMi1wEKG29mcF9hZ2dyZWdhdGVfc3RhdHNfcmVxdWVzdBIZCgh0YWJsZV9pZBgBIAEoDVIHdGFibGVJZBIZCghvdXRfcG9ydBgCIAEoDVIHb3V0UG9ydBIbCglvdXRfZ3JvdXAYAyABKA1SCG91dEdyb3VwEhYKBmNvb2tpZRgEIAEoBFIGY29va2llEh8KC2Nvb2tpZV9tYXNrGAUgASgEUgpjb29raWVNYXNrEiwKBW1hdGNoGAYgASgLMhYub3BlbmZsb3dfMTMub2ZwX21hdGNoUgVtYXRjaCJ8ChlvZnBfYWdncmVnYXRlX3N0YXRzX3JlcGx5EiEKDHBhY2tldF9jb3VudBgBIAEoBFILcGFja2V0Q291bnQSHQoKYnl0ZV9jb3VudBgCIAEoBFIJYnl0ZUNvdW50Eh0KCmZsb3dfY291bnQYAyABKA1SCWZsb3dDb3VudCLtAwoab2ZwX3RhYmxlX2ZlYXR1cmVfcHJvcGVydHkSPAoEdHlwZRgBIAEoDjIoLm9wZW5mbG93XzEzLm9mcF90YWJsZV9mZWF0dXJlX3Byb3BfdHlwZVIEdHlwZRJWCgxpbnN0cnVjdGlvbnMYAiABKAsyMC5vcGVuZmxvd18xMy5vZnBfdGFibGVfZmVhdHVyZV9wcm9wX2luc3RydWN0aW9uc0gAUgxpbnN0cnVjdGlvbnMSUgoLbmV4dF90YWJsZXMYAyABKAsyLy5vcGVuZmxvd18xMy5vZnBfdGFibGVfZmVhdHVyZV9wcm9wX25leHRfdGFibGVzSABSCm5leHRUYWJsZXMSRwoHYWN0aW9ucxgEIAEoCzIrLm9wZW5mbG93XzEzLm9mcF90YWJsZV9mZWF0dXJlX3Byb3BfYWN0aW9uc0gAUgdhY3Rpb25zEjsKA294bRgFIAEoCzInLm9wZW5mbG93XzEzLm9mcF90YWJsZV9mZWF0dXJlX3Byb3Bfb3htSABSA294bRJWCgxleHBlcmltZW50ZXIYBiABKAsyMC5vcGVuZmxvd18xMy5vZnBfdGFibGVfZmVhdHVyZV9wcm9wX2V4cGVyaW1lbnRlckgAUgxleHBlcmltZW50ZXJCBwoFdmFsdWUiZwojb2ZwX3RhYmxlX2ZlYXR1cmVfcHJvcF9pbnN0cnVjdGlvbnMSQAoMaW5zdHJ1Y3Rpb25zGAEgAygLMhwub3BlbmZsb3dfMTMub2ZwX2luc3RydWN0aW9uUgxpbnN0cnVjdGlvbnMiSgoib2ZwX3RhYmxlX2ZlYXR1cmVfcHJvcF9uZXh0X3RhYmxlcxIkCg5uZXh0X3RhYmxlX2lkcxgBIAMoDVIMbmV4dFRhYmxlSWRzIlMKHm9mcF90YWJsZV9mZWF0dXJlX3Byb3BfYWN0aW9ucxIxCgdhY3Rpb25zGAEgAygLMhcub3BlbmZsb3dfMTMub2ZwX2FjdGlvblIHYWN0aW9ucyI1ChpvZnBfdGFibGVfZmVhdHVyZV9wcm9wX294bRIXCgdveG1faWRzGAMgAygNUgZveG1JZHMikQEKI29mcF90YWJsZV9mZWF0dXJlX3Byb3BfZXhwZXJpbWVudGVyEiIKDGV4cGVyaW1lbnRlchgCIAEoDVIMZXhwZXJpbWVudGVyEhkKCGV4cF90eXBlGAMgASgNUgdleHBUeXBlEisKEWV4cGVyaW1lbnRlcl9kYXRhGAQgAygNUhBleHBlcmltZW50ZXJEYXRhIpMCChJvZnBfdGFibGVfZmVhdHVyZXMSGQoIdGFibGVfaWQYASABKA1SB3RhYmxlSWQSEgoEbmFtZRgCIAEoCVIEbmFtZRIlCg5tZXRhZGF0YV9tYXRjaBgDIAEoBFINbWV0YWRhdGFNYXRjaBIlCg5tZXRhZGF0YV93cml0ZRgEIAEoBFINbWV0YWRhdGFXcml0ZRIWCgZjb25maWcYBSABKA1SBmNvbmZpZxIfCgttYXhfZW50cmllcxgGIAEoDVIKbWF4RW50cmllcxJHCgpwcm9wZXJ0aWVzGAcgAygLMicub3BlbmZsb3dfMTMub2ZwX3RhYmxlX2ZlYXR1cmVfcHJvcGVydHlSCnByb3BlcnRpZXMilwEKD29mcF90YWJsZV9zdGF0cxIZCgh0YWJsZV9pZBgBIAEoDVIHdGFibGVJZBIhCgxhY3RpdmVfY291bnQYAiABKA1SC2FjdGl2ZUNvdW50EiEKDGxvb2t1cF9jb3VudBgDIAEoBFILbG9va3VwQ291bnQSIwoNbWF0Y2hlZF9jb3VudBgEIAEoBFIMbWF0Y2hlZENvdW50IjEKFm9mcF9wb3J0X3N0YXRzX3JlcXVlc3QSFwoHcG9ydF9ubxgBIAEoDVIGcG9ydE5vIt0DCg5vZnBfcG9ydF9zdGF0cxIXCgdwb3J0X25vGAEgASgNUgZwb3J0Tm8SHQoKcnhfcGFja2V0cxgCIAEoBFIJcnhQYWNrZXRzEh0KCnR4X3BhY2tldHMYAyABKARSCXR4UGFja2V0cxIZCghyeF9ieXRlcxgEIAEoBFIHcnhCeXRlcxIZCgh0eF9ieXRlcxgFIAEoBFIHdHhCeXRlcxIdCgpyeF9kcm9wcGVkGAYgASgEUglyeERyb3BwZWQSHQoKdHhfZHJvcHBlZBgHIAEoBFIJdHhEcm9wcGVkEhsKCXJ4X2Vycm9ycxgIIAEoBFIIcnhFcnJvcnMSGwoJdHhfZXJyb3JzGAkgASgEUgh0eEVycm9ycxIgCgxyeF9mcmFtZV9lcnIYCiABKARSCnJ4RnJhbWVFcnISHgoLcnhfb3Zlcl9lcnIYCyABKARSCXJ4T3ZlckVychIcCgpyeF9jcmNfZXJyGAwgASgEUghyeENyY0VychIeCgpjb2xsaXNpb25zGA0gASgEUgpjb2xsaXNpb25zEiEKDGR1cmF0aW9uX3NlYxgOIAEoDVILZHVyYXRpb25TZWMSIwoNZHVyYXRpb25fbnNlYxgPIAEoDVIMZHVyYXRpb25Oc2VjIjQKF29mcF9ncm91cF9zdGF0c19yZXF1ZXN0EhkKCGdyb3VwX2lkGAEgASgNUgdncm91cElkIlYKEm9mcF9idWNrZXRfY291bnRlchIhCgxwYWNrZXRfY291bnQYASABKARSC3BhY2tldENvdW50Eh0KCmJ5dGVfY291bnQYAiABKARSCWJ5dGVDb3VudCKXAgoPb2ZwX2dyb3VwX3N0YXRzEhkKCGdyb3VwX2lkGAEgASgNUgdncm91cElkEhsKCXJlZl9jb3VudBgCIAEoDVIIcmVmQ291bnQSIQoMcGFja2V0X2NvdW50GAMgASgEUgtwYWNrZXRDb3VudBIdCgpieXRlX2NvdW50GAQgASgEUglieXRlQ291bnQSIQoMZHVyYXRpb25fc2VjGAUgASgNUgtkdXJhdGlvblNlYxIjCg1kdXJhdGlvbl9uc2VjGAYgASgNUgxkdXJhdGlvbk5zZWMSQgoMYnVja2V0X3N0YXRzGAcgAygLMh8ub3BlbmZsb3dfMTMub2ZwX2J1Y2tldF9jb3VudGVyUgtidWNrZXRTdGF0cyKPAQoOb2ZwX2dyb3VwX2Rlc2MSLwoEdHlwZRgBIAEoDjIbLm9wZW5mbG93XzEzLm9mcF9ncm91cF90eXBlUgR0eXBlEhkKCGdyb3VwX2lkGAIgASgNUgdncm91cElkEjEKB2J1Y2tldHMYAyADKAsyFy5vcGVuZmxvd18xMy5vZnBfYnVja2V0UgdidWNrZXRzInYKD29mcF9ncm91cF9lbnRyeRIvCgRkZXNjGAEgASgLMhsub3BlbmZsb3dfMTMub2ZwX2dyb3VwX2Rlc2NSBGRlc2MSMgoFc3RhdHMYAiABKAsyHC5vcGVuZmxvd18xMy5vZnBfZ3JvdXBfc3RhdHNSBXN0YXRzIocBChJvZnBfZ3JvdXBfZmVhdHVyZXMSFAoFdHlwZXMYASABKA1SBXR5cGVzEiIKDGNhcGFiaWxpdGllcxgCIAEoDVIMY2FwYWJpbGl0aWVzEh0KCm1heF9ncm91cHMYAyADKA1SCW1heEdyb3VwcxIYCgdhY3Rpb25zGAQgAygNUgdhY3Rpb25zIjgKG29mcF9tZXRlcl9tdWx0aXBhcnRfcmVxdWVzdBIZCghtZXRlcl9pZBgBIAEoDVIHbWV0ZXJJZCJqChRvZnBfbWV0ZXJfYmFuZF9zdGF0cxIqChFwYWNrZXRfYmFuZF9jb3VudBgBIAEoBFIPcGFja2V0QmFuZENvdW50EiYKD2J5dGVfYmFuZF9jb3VudBgCIAEoBFINYnl0ZUJhbmRDb3VudCKhAgoPb2ZwX21ldGVyX3N0YXRzEhkKCG1ldGVyX2lkGAEgASgNUgdtZXRlcklkEh0KCmZsb3dfY291bnQYAiABKA1SCWZsb3dDb3VudBImCg9wYWNrZXRfaW5fY291bnQYAyABKARSDXBhY2tldEluQ291bnQSIgoNYnl0ZV9pbl9jb3VudBgEIAEoBFILYnl0ZUluQ291bnQSIQoMZHVyYXRpb25fc2VjGAUgASgNUgtkdXJhdGlvblNlYxIjCg1kdXJhdGlvbl9uc2VjGAYgASgNUgxkdXJhdGlvbk5zZWMSQAoKYmFuZF9zdGF0cxgHIAMoCzIhLm9wZW5mbG93XzEzLm9mcF9tZXRlcl9iYW5kX3N0YXRzUgliYW5kU3RhdHMifQoQb2ZwX21ldGVyX2NvbmZpZxIUCgVmbGFncxgBIAEoDVIFZmxhZ3MSGQoIbWV0ZXJfaWQYAiABKA1SB21ldGVySWQSOAoFYmFuZHMYAyADKAsyIi5vcGVuZmxvd18xMy5vZnBfbWV0ZXJfYmFuZF9oZWFkZXJSBWJhbmRzIq4BChJvZnBfbWV0ZXJfZmVhdHVyZXMSGwoJbWF4X21ldGVyGAEgASgNUghtYXhNZXRlchIdCgpiYW5kX3R5cGVzGAIgASgNUgliYW5kVHlwZXMSIgoMY2FwYWJpbGl0aWVzGAMgASgNUgxjYXBhYmlsaXRpZXMSGwoJbWF4X2JhbmRzGAQgASgNUghtYXhCYW5kcxIbCgltYXhfY29sb3IYBSABKA1SCG1heENvbG9yInwKD29mcF9tZXRlcl9lbnRyeRI1CgZjb25maWcYASABKAsyHS5vcGVuZmxvd18xMy5vZnBfbWV0ZXJfY29uZmlnUgZjb25maWcSMgoFc3RhdHMYAiABKAsyHC5vcGVuZmxvd18xMy5vZnBfbWV0ZXJfc3RhdHNSBXN0YXRzInYKIW9mcF9leHBlcmltZW50ZXJfbXVsdGlwYXJ0X2hlYWRlchIiCgxleHBlcmltZW50ZXIYASABKA1SDGV4cGVyaW1lbnRlchIZCghleHBfdHlwZRgCIAEoDVIHZXhwVHlwZRISCgRkYXRhGAMgASgMUgRkYXRhImwKF29mcF9leHBlcmltZW50ZXJfaGVhZGVyEiIKDGV4cGVyaW1lbnRlchgBIAEoDVIMZXhwZXJpbWVudGVyEhkKCGV4cF90eXBlGAIgASgNUgdleHBUeXBlEhIKBGRhdGEYAyABKAxSBGRhdGEiRQoVb2ZwX3F1ZXVlX3Byb3BfaGVhZGVyEhoKCHByb3BlcnR5GAEgASgNUghwcm9wZXJ0eRIQCgNsZW4YAiABKA1SA2xlbiJyChdvZnBfcXVldWVfcHJvcF9taW5fcmF0ZRJDCgtwcm9wX2hlYWRlchgBIAEoCzIiLm9wZW5mbG93XzEzLm9mcF9xdWV1ZV9wcm9wX2hlYWRlclIKcHJvcEhlYWRlchISCgRyYXRlGAIgASgNUgRyYXRlInIKF29mcF9xdWV1ZV9wcm9wX21heF9yYXRlEkMKC3Byb3BfaGVhZGVyGAEgASgLMiIub3BlbmZsb3dfMTMub2ZwX3F1ZXVlX3Byb3BfaGVhZGVyUgpwcm9wSGVhZGVyEhIKBHJhdGUYAiABKA1SBHJhdGUimgEKG29mcF9xdWV1ZV9wcm9wX2V4cGVyaW1lbnRlchJDCgtwcm9wX2hlYWRlchgBIAEoCzIiLm9wZW5mbG93XzEzLm9mcF9xdWV1ZV9wcm9wX2hlYWRlclIKcHJvcEhlYWRlchIiCgxleHBlcmltZW50ZXIYAiABKA1SDGV4cGVyaW1lbnRlchISCgRkYXRhGAMgASgMUgRkYXRhIoUBChBvZnBfcGFja2V0X3F1ZXVlEhkKCHF1ZXVlX2lkGAEgASgNUgdxdWV1ZUlkEhIKBHBvcnQYAiABKA1SBHBvcnQSQgoKcHJvcGVydGllcxgEIAMoCzIiLm9wZW5mbG93XzEzLm9mcF9xdWV1ZV9wcm9wX2hlYWRlclIKcHJvcGVydGllcyIyChxvZnBfcXVldWVfZ2V0X2NvbmZpZ19yZXF1ZXN0EhIKBHBvcnQYASABKA1SBHBvcnQiZwoab2ZwX3F1ZXVlX2dldF9jb25maWdfcmVwbHkSEgoEcG9ydBgBIAEoDVIEcG9ydBI1CgZxdWV1ZXMYAiADKAsyHS5vcGVuZmxvd18xMy5vZnBfcGFja2V0X3F1ZXVlUgZxdWV1ZXMiRQoUb2ZwX2FjdGlvbl9zZXRfcXVldWUSEgoEdHlwZRgBIAEoDVIEdHlwZRIZCghxdWV1ZV9pZBgDIAEoDVIHcXVldWVJZCJNChdvZnBfcXVldWVfc3RhdHNfcmVxdWVzdBIXCgdwb3J0X25vGAEgASgNUgZwb3J0Tm8SGQoIcXVldWVfaWQYAiABKA1SB3F1ZXVlSWQi5AEKD29mcF9xdWV1ZV9zdGF0cxIXCgdwb3J0X25vGAEgASgNUgZwb3J0Tm8SGQoIcXVldWVfaWQYAiABKA1SB3F1ZXVlSWQSGQoIdHhfYnl0ZXMYAyABKARSB3R4Qnl0ZXMSHQoKdHhfcGFja2V0cxgEIAEoBFIJdHhQYWNrZXRzEhsKCXR4X2Vycm9ycxgFIAEoBFIIdHhFcnJvcnMSIQoMZHVyYXRpb25fc2VjGAYgASgNUgtkdXJhdGlvblNlYxIjCg1kdXJhdGlvbl9uc2VjGAcgASgNUgxkdXJhdGlvbk5zZWMibQoQb2ZwX3JvbGVfcmVxdWVzdBI0CgRyb2xlGAEgASgOMiAub3BlbmZsb3dfMTMub2ZwX2NvbnRyb2xsZXJfcm9sZVIEcm9sZRIjCg1nZW5lcmF0aW9uX2lkGAIgASgEUgxnZW5lcmF0aW9uSWQijgEKEG9mcF9hc3luY19jb25maWcSJAoOcGFja2V0X2luX21hc2sYASADKA1SDHBhY2tldEluTWFzaxIoChBwb3J0X3N0YXR1c19tYXNrGAIgAygNUg5wb3J0U3RhdHVzTWFzaxIqChFmbG93X3JlbW92ZWRfbWFzaxgDIAMoDVIPZmxvd1JlbW92ZWRNYXNrImsKDk1ldGVyTW9kVXBkYXRlEg4KAmlkGAEgASgJUgJpZBI3CgltZXRlcl9tb2QYAiABKAsyGi5vcGVuZmxvd18xMy5vZnBfbWV0ZXJfbW9kUghtZXRlck1vZBIQCgN4aWQYAyABKA1SA3hpZCJQCg9NZXRlclN0YXRzUmVwbHkSPQoLbWV0ZXJfc3RhdHMYASADKAsyHC5vcGVuZmxvd18xMy5vZnBfbWV0ZXJfc3RhdHNSCm1ldGVyU3RhdHMiaQoPRmxvd1RhYmxlVXBkYXRlEg4KAmlkGAEgASgJUgJpZBI0CghmbG93X21vZBgCIAEoCzIZLm9wZW5mbG93XzEzLm9mcF9mbG93X21vZFIHZmxvd01vZBIQCgN4aWQYAyABKA1SA3hpZCJxChRGbG93R3JvdXBUYWJsZVVwZGF0ZRIOCgJpZBgBIAEoCVICaWQSNwoJZ3JvdXBfbW9kGAIgASgLMhoub3BlbmZsb3dfMTMub2ZwX2dyb3VwX21vZFIIZ3JvdXBNb2QSEAoDeGlkGAMgASgNUgN4aWQiOgoFRmxvd3MSMQoFaXRlbXMYASADKAsyGy5vcGVuZmxvd18xMy5vZnBfZmxvd19zdGF0c1IFaXRlbXMiPAoGTWV0ZXJzEjIKBWl0ZW1zGAEgAygLMhwub3BlbmZsb3dfMTMub2ZwX21ldGVyX2VudHJ5UgVpdGVtcyJACgpGbG93R3JvdXBzEjIKBWl0ZW1zGAEgAygLMhwub3BlbmZsb3dfMTMub2ZwX2dyb3VwX2VudHJ5UgVpdGVtcyJpCgtGbG93Q2hhbmdlcxIpCgZ0b19hZGQYASABKAsyEi5vcGVuZmxvd18xMy5GbG93c1IFdG9BZGQSLwoJdG9fcmVtb3ZlGAIgASgLMhIub3BlbmZsb3dfMTMuRmxvd3NSCHRvUmVtb3ZlIq4BChBGbG93R3JvdXBDaGFuZ2VzEi4KBnRvX2FkZBgBIAEoCzIXLm9wZW5mbG93XzEzLkZsb3dHcm91cHNSBXRvQWRkEjQKCXRvX3JlbW92ZRgCIAEoCzIXLm9wZW5mbG93XzEzLkZsb3dHcm91cHNSCHRvUmVtb3ZlEjQKCXRvX3VwZGF0ZRgDIAEoCzIXLm9wZW5mbG93XzEzLkZsb3dHcm91cHNSCHRvVXBkYXRlIlMKCFBhY2tldEluEg4KAmlkGAEgASgJUgJpZBI3CglwYWNrZXRfaW4YAiABKAsyGi5vcGVuZmxvd18xMy5vZnBfcGFja2V0X2luUghwYWNrZXRJbiJXCglQYWNrZXRPdXQSDgoCaWQYASABKAlSAmlkEjoKCnBhY2tldF9vdXQYAiABKAsyGy5vcGVuZmxvd18xMy5vZnBfcGFja2V0X291dFIJcGFja2V0T3V0IuIBCgtDaGFuZ2VFdmVudBIOCgJpZBgBIAEoCVICaWQSPwoLcG9ydF9zdGF0dXMYAiABKAsyHC5vcGVuZmxvd18xMy5vZnBfcG9ydF9zdGF0dXNIAFIKcG9ydFN0YXR1cxIyCgVlcnJvchgDIAEoCzIaLm9wZW5mbG93XzEzLm9mcF9lcnJvcl9tc2dIAFIFZXJyb3ISRQoNZGV2aWNlX3N0YXR1cxgEIAEoCzIeLm9wZW5mbG93XzEzLm9mcF9kZXZpY2Vfc3RhdHVzSABSDGRldmljZVN0YXR1c0IHCgVldmVudCJFCgxGbG93TWV0YWRhdGESNQoGbWV0ZXJzGAEgAygLMh0ub3BlbmZsb3dfMTMub2ZwX21ldGVyX2NvbmZpZ1IGbWV0ZXJzKtUBCgtvZnBfcG9ydF9ubxIQCgxPRlBQX0lOVkFMSUQQABIQCghPRlBQX01BWBCA/v//BxIUCgxPRlBQX0lOX1BPUlQQ+P///wcSEgoKT0ZQUF9UQUJMRRD5////BxITCgtPRlBQX05PUk1BTBD6////BxISCgpPRlBQX0ZMT09EEPv///8HEhAKCE9GUFBfQUxMEPz///8HEhcKD09GUFBfQ09OVFJPTExFUhD9////BxISCgpPRlBQX0xPQ0FMEP7///8HEhAKCE9GUFBfQU5ZEP////8HKsgFCghvZnBfdHlwZRIOCgpPRlBUX0hFTExPEAASDgoKT0ZQVF9FUlJPUhABEhUKEU9GUFRfRUNIT19SRVFVRVNUEAISEwoPT0ZQVF9FQ0hPX1JFUExZEAMSFQoRT0ZQVF9FWFBFUklNRU5URVIQBBIZChVPRlBUX0ZFQVRVUkVTX1JFUVVFU1QQBRIXChNPRlBUX0ZFQVRVUkVTX1JFUExZEAYSGwoXT0ZQVF9HRVRfQ09ORklHX1JFUVVFU1QQBxIZChVPRlBUX0dFVF9DT05GSUdfUkVQTFkQCBITCg9PRlBUX1NFVF9DT05GSUcQCRISCg5PRlBUX1BBQ0tFVF9JThAKEhUKEU9GUFRfRkxPV19SRU1PVkVEEAsSFAoQT0ZQVF9QT1JUX1NUQVRVUxAMEhMKD09GUFRfUEFDS0VUX09VVBANEhEKDU9GUFRfRkxPV19NT0QQDhISCg5PRlBUX0dST1VQX01PRBAPEhEKDU9GUFRfUE9SVF9NT0QQEBISCg5PRlBUX1RBQkxFX01PRBAREhoKFk9GUFRfTVVMVElQQVJUX1JFUVVFU1QQEhIYChRPRlBUX01VTFRJUEFSVF9SRVBMWRATEhgKFE9GUFRfQkFSUklFUl9SRVFVRVNUEBQSFgoST0ZQVF9CQVJSSUVSX1JFUExZEBUSIQodT0ZQVF9RVUVVRV9HRVRfQ09ORklHX1JFUVVFU1QQFhIfChtPRlBUX1FVRVVFX0dFVF9DT05GSUdfUkVQTFkQFxIVChFPRlBUX1JPTEVfUkVRVUVTVBAYEhMKD09GUFRfUk9MRV9SRVBMWRAZEhoKFk9GUFRfR0VUX0FTWU5DX1JFUVVFU1QQGhIYChRPRlBUX0dFVF9BU1lOQ19SRVBMWRAbEhIKDk9GUFRfU0VUX0FTWU5DEBwSEgoOT0ZQVF9NRVRFUl9NT0QQHSpDChNvZnBfaGVsbG9fZWxlbV90eXBlEhIKDk9GUEhFVF9JTlZBTElEEAASGAoUT0ZQSEVUX1ZFUlNJT05CSVRNQVAQASplChBvZnBfY29uZmlnX2ZsYWdzEhQKEE9GUENfRlJBR19OT1JNQUwQABISCg5PRlBDX0ZSQUdfRFJPUBABEhMKD09GUENfRlJBR19SRUFTTRACEhIKDk9GUENfRlJBR19NQVNLEAMqQAoQb2ZwX3RhYmxlX2NvbmZpZxIRCg1PRlBUQ19JTlZBTElEEAASGQoVT0ZQVENfREVQUkVDQVRFRF9NQVNLEAMqPgoJb2ZwX3RhYmxlEhEKDU9GUFRUX0lOVkFMSUQQABIOCglPRlBUVF9NQVgQ/gESDgoJT0ZQVFRfQUxMEP8BKrsBChBvZnBfY2FwYWJpbGl0aWVzEhAKDE9GUENfSU5WQUxJRBAAEhMKD09GUENfRkxPV19TVEFUUxABEhQKEE9GUENfVEFCTEVfU1RBVFMQAhITCg9PRlBDX1BPUlRfU1RBVFMQBBIUChBPRlBDX0dST1VQX1NUQVRTEAgSEQoNT0ZQQ19JUF9SRUFTTRAgEhQKEE9GUENfUVVFVUVfU1RBVFMQQBIWChFPRlBDX1BPUlRfQkxPQ0tFRBCAAip2Cg9vZnBfcG9ydF9jb25maWcSEQoNT0ZQUENfSU5WQUxJRBAAEhMKD09GUFBDX1BPUlRfRE9XThABEhEKDU9GUFBDX05PX1JFQ1YQBBIQCgxPRlBQQ19OT19GV0QQIBIWChJPRlBQQ19OT19QQUNLRVRfSU4QQCpbCg5vZnBfcG9ydF9zdGF0ZRIRCg1PRlBQU19JTlZBTElEEAASEwoPT0ZQUFNfTElOS19ET1dOEAESEQoNT0ZQUFNfQkxPQ0tFRBACEg4KCk9GUFBTX0xJVkUQBCrdAgoRb2ZwX3BvcnRfZmVhdHVyZXMSEQoNT0ZQUEZfSU5WQUxJRBAAEhEKDU9GUFBGXzEwTUJfSEQQARIRCg1PRlBQRl8xME1CX0ZEEAISEgoOT0ZQUEZfMTAwTUJfSEQQBBISCg5PRlBQRl8xMDBNQl9GRBAIEhAKDE9GUFBGXzFHQl9IRBAQEhAKDE9GUFBGXzFHQl9GRBAgEhEKDU9GUFBGXzEwR0JfRkQQQBISCg1PRlBQRl80MEdCX0ZEEIABEhMKDk9GUFBGXzEwMEdCX0ZEEIACEhEKDE9GUFBGXzFUQl9GRBCABBIQCgtPRlBQRl9PVEhFUhCACBIRCgxPRlBQRl9DT1BQRVIQgBASEAoLT0ZQUEZfRklCRVIQgCASEgoNT0ZQUEZfQVVUT05FRxCAQBIRCgtPRlBQRl9QQVVTRRCAgAESFgoQT0ZQUEZfUEFVU0VfQVNZTRCAgAIqRAoPb2ZwX3BvcnRfcmVhc29uEg0KCU9GUFBSX0FERBAAEhAKDE9GUFBSX0RFTEVURRABEhAKDE9GUFBSX01PRElGWRACKkYKFW9mcF9kZXZpY2VfY29ubmVjdGlvbhIUChBPRlBERVZfQ09OTkVDVEVEEAASFwoTT0ZQREVWX0RJU0NPTk5FQ1RFRBABKjMKDm9mcF9tYXRjaF90eXBlEhIKDk9GUE1UX1NUQU5EQVJEEAASDQoJT0ZQTVRfT1hNEAEqawoNb2ZwX294bV9jbGFzcxIQCgxPRlBYTUNfTlhNXzAQABIQCgxPRlBYTUNfTlhNXzEQARIbChVPRlBYTUNfT1BFTkZMT1dfQkFTSUMQgIACEhkKE09GUFhNQ19FWFBFUklNRU5URVIQ//8DKpAIChNveG1fb2ZiX2ZpZWxkX3R5cGVzEhYKEk9GUFhNVF9PRkJfSU5fUE9SVBAAEhoKFk9GUFhNVF9PRkJfSU5fUEhZX1BPUlQQARIXChNPRlBYTVRfT0ZCX01FVEFEQVRBEAISFgoST0ZQWE1UX09GQl9FVEhfRFNUEAMSFgoST0ZQWE1UX09GQl9FVEhfU1JDEAQSFwoTT0ZQWE1UX09GQl9FVEhfVFlQRRAFEhcKE09GUFhNVF9PRkJfVkxBTl9WSUQQBhIXChNPRlBYTVRfT0ZCX1ZMQU5fUENQEAcSFgoST0ZQWE1UX09GQl9JUF9EU0NQEAgSFQoRT0ZQWE1UX09GQl9JUF9FQ04QCRIXChNPRlBYTVRfT0ZCX0lQX1BST1RPEAoSFwoTT0ZQWE1UX09GQl9JUFY0X1NSQxALEhcKE09GUFhNVF9PRkJfSVBWNF9EU1QQDBIWChJPRlBYTVRfT0ZCX1RDUF9TUkMQDRIWChJPRlBYTVRfT0ZCX1RDUF9EU1QQDhIWChJPRlBYTVRfT0ZCX1VEUF9TUkMQDxIWChJPRlBYTVRfT0ZCX1VEUF9EU1QQEBIXChNPRlBYTVRfT0ZCX1NDVFBfU1JDEBESFwoTT0ZQWE1UX09GQl9TQ1RQX0RTVBASEhoKFk9GUFhNVF9PRkJfSUNNUFY0X1RZUEUQExIaChZPRlBYTVRfT0ZCX0lDTVBWNF9DT0RFEBQSFQoRT0ZQWE1UX09GQl9BUlBfT1AQFRIWChJPRlBYTVRfT0ZCX0FSUF9TUEEQFhIWChJPRlBYTVRfT0ZCX0FSUF9UUEEQFxIWChJPRlBYTVRfT0ZCX0FSUF9TSEEQGBIWChJPRlBYTVRfT0ZCX0FSUF9USEEQGRIXChNPRlBYTVRfT0ZCX0lQVjZfU1JDEBoSFwoTT0ZQWE1UX09GQl9JUFY2X0RTVBAbEhoKFk9GUFhNVF9PRkJfSVBWNl9GTEFCRUwQHBIaChZPRlBYTVRfT0ZCX0lDTVBWNl9UWVBFEB0SGgoWT0ZQWE1UX09GQl9JQ01QVjZfQ09ERRAeEh0KGU9GUFhNVF9PRkJfSVBWNl9ORF9UQVJHRVQQHxIaChZPRlBYTVRfT0ZCX0lQVjZfTkRfU0xMECASGgoWT0ZQWE1UX09GQl9JUFY2X05EX1RMTBAhEhkKFU9GUFhNVF9PRkJfTVBMU19MQUJFTBAiEhYKEk9GUFhNVF9PRkJfTVBMU19UQxAjEhcKE09GUFhNVF9PRkJfTVBMU19CT1MQJBIXChNPRlBYTVRfT0ZCX1BCQl9JU0lEECUSGAoUT0ZQWE1UX09GQl9UVU5ORUxfSUQQJhIaChZPRlBYTVRfT0ZCX0lQVjZfRVhUSERSECcqMwoLb2ZwX3ZsYW5faWQSDwoLT0ZQVklEX05PTkUQABITCg5PRlBWSURfUFJFU0VOVBCAICrJAQoUb2ZwX2lwdjZleHRoZHJfZmxhZ3MSEgoOT0ZQSUVIX0lOVkFMSUQQABIRCg1PRlBJRUhfTk9ORVhUEAESDgoKT0ZQSUVIX0VTUBACEg8KC09GUElFSF9BVVRIEAQSDwoLT0ZQSUVIX0RFU1QQCBIPCgtPRlBJRUhfRlJBRxAQEhEKDU9GUElFSF9ST1VURVIQIBIOCgpPRlBJRUhfSE9QEEASEQoMT0ZQSUVIX1VOUkVQEIABEhEKDE9GUElFSF9VTlNFURCAAir8AgoPb2ZwX2FjdGlvbl90eXBlEhAKDE9GUEFUX09VVFBVVBAAEhYKEk9GUEFUX0NPUFlfVFRMX09VVBALEhUKEU9GUEFUX0NPUFlfVFRMX0lOEAwSFgoST0ZQQVRfU0VUX01QTFNfVFRMEA8SFgoST0ZQQVRfREVDX01QTFNfVFRMEBASEwoPT0ZQQVRfUFVTSF9WTEFOEBESEgoOT0ZQQVRfUE9QX1ZMQU4QEhITCg9PRlBBVF9QVVNIX01QTFMQExISCg5PRlBBVF9QT1BfTVBMUxAUEhMKD09GUEFUX1NFVF9RVUVVRRAVEg8KC09GUEFUX0dST1VQEBYSFAoQT0ZQQVRfU0VUX05XX1RUTBAXEhQKEE9GUEFUX0RFQ19OV19UVEwQGBITCg9PRlBBVF9TRVRfRklFTEQQGRISCg5PRlBBVF9QVVNIX1BCQhAaEhEKDU9GUEFUX1BPUF9QQkIQGxIYChJPRlBBVF9FWFBFUklNRU5URVIQ//8DKlYKFm9mcF9jb250cm9sbGVyX21heF9sZW4SEgoOT0ZQQ01MX0lOVkFMSUQQABIQCgpPRlBDTUxfTUFYEOX/AxIWChBPRlBDTUxfTk9fQlVGRkVSEP//AyrPAQoUb2ZwX2luc3RydWN0aW9uX3R5cGUSEQoNT0ZQSVRfSU5WQUxJRBAAEhQKEE9GUElUX0dPVE9fVEFCTEUQARIYChRPRlBJVF9XUklURV9NRVRBREFUQRACEhcKE09GUElUX1dSSVRFX0FDVElPTlMQAxIXChNPRlBJVF9BUFBMWV9BQ1RJT05TEAQSFwoTT0ZQSVRfQ0xFQVJfQUNUSU9OUxAFEg8KC09GUElUX01FVEVSEAYSGAoST0ZQSVRfRVhQRVJJTUVOVEVSEP//Ayp7ChRvZnBfZmxvd19tb2RfY29tbWFuZBINCglPRlBGQ19BREQQABIQCgxPRlBGQ19NT0RJRlkQARIXChNPRlBGQ19NT0RJRllfU1RSSUNUEAISEAoMT0ZQRkNfREVMRVRFEAMSFwoTT0ZQRkNfREVMRVRFX1NUUklDVBAEKqMBChJvZnBfZmxvd19tb2RfZmxhZ3MSEQoNT0ZQRkZfSU5WQUxJRBAAEhcKE09GUEZGX1NFTkRfRkxPV19SRU0QARIXChNPRlBGRl9DSEVDS19PVkVSTEFQEAISFgoST0ZQRkZfUkVTRVRfQ09VTlRTEAQSFwoTT0ZQRkZfTk9fUEtUX0NPVU5UUxAIEhcKE09GUEZGX05PX0JZVF9DT1VOVFMQECpTCglvZnBfZ3JvdXASEAoMT0ZQR19JTlZBTElEEAASEAoIT0ZQR19NQVgQgP7//wcSEAoIT0ZQR19BTEwQ/P///wcSEAoIT0ZQR19BTlkQ/////wcqSgoVb2ZwX2dyb3VwX21vZF9jb21tYW5kEg0KCU9GUEdDX0FERBAAEhAKDE9GUEdDX01PRElGWRABEhAKDE9GUEdDX0RFTEVURRACKlMKDm9mcF9ncm91cF90eXBlEg0KCU9GUEdUX0FMTBAAEhAKDE9GUEdUX1NFTEVDVBABEhIKDk9GUEdUX0lORElSRUNUEAISDAoIT0ZQR1RfRkYQAypQChRvZnBfcGFja2V0X2luX3JlYXNvbhIRCg1PRlBSX05PX01BVENIEAASDwoLT0ZQUl9BQ1RJT04QARIUChBPRlBSX0lOVkFMSURfVFRMEAIqiwEKF29mcF9mbG93X3JlbW92ZWRfcmVhc29uEhYKEk9GUFJSX0lETEVfVElNRU9VVBAAEhYKEk9GUFJSX0hBUkRfVElNRU9VVBABEhAKDE9GUFJSX0RFTEVURRACEhYKEk9GUFJSX0dST1VQX0RFTEVURRADEhYKEk9GUFJSX01FVEVSX0RFTEVURRAEKm4KCW9mcF9tZXRlchINCglPRlBNX1pFUk8QABIQCghPRlBNX01BWBCAgPz/BxIVCg1PRlBNX1NMT1dQQVRIEP3///8HEhcKD09GUE1fQ09OVFJPTExFUhD+////BxIQCghPRlBNX0FMTBD/////ByptChNvZnBfbWV0ZXJfYmFuZF90eXBlEhIKDk9GUE1CVF9JTlZBTElEEAASDwoLT0ZQTUJUX0RST1AQARIWChJPRlBNQlRfRFNDUF9SRU1BUksQAhIZChNPRlBNQlRfRVhQRVJJTUVOVEVSEP//AypKChVvZnBfbWV0ZXJfbW9kX2NvbW1hbmQSDQoJT0ZQTUNfQUREEAASEAoMT0ZQTUNfTU9ESUZZEAESEAoMT0ZQTUNfREVMRVRFEAIqZwoPb2ZwX21ldGVyX2ZsYWdzEhEKDU9GUE1GX0lOVkFMSUQQABIOCgpPRlBNRl9LQlBTEAESDwoLT0ZQTUZfUEtUUFMQAhIPCgtPRlBNRl9CVVJTVBAEEg8KC09GUE1GX1NUQVRTEAgqpAMKDm9mcF9lcnJvcl90eXBlEhYKEk9GUEVUX0hFTExPX0ZBSUxFRBAAEhUKEU9GUEVUX0JBRF9SRVFVRVNUEAESFAoQT0ZQRVRfQkFEX0FDVElPThACEhkKFU9GUEVUX0JBRF9JTlNUUlVDVElPThADEhMKD09GUEVUX0JBRF9NQVRDSBAEEhkKFU9GUEVUX0ZMT1dfTU9EX0ZBSUxFRBAFEhoKFk9GUEVUX0dST1VQX01PRF9GQUlMRUQQBhIZChVPRlBFVF9QT1JUX01PRF9GQUlMRUQQBxIaChZPRlBFVF9UQUJMRV9NT0RfRkFJTEVEEAgSGQoVT0ZQRVRfUVVFVUVfT1BfRkFJTEVEEAkSHgoaT0ZQRVRfU1dJVENIX0NPTkZJR19GQUlMRUQQChIdChlPRlBFVF9ST0xFX1JFUVVFU1RfRkFJTEVEEAsSGgoWT0ZQRVRfTUVURVJfTU9EX0ZBSUxFRBAMEh8KG09GUEVUX1RBQkxFX0ZFQVRVUkVTX0ZBSUxFRBANEhgKEk9GUEVUX0VYUEVSSU1FTlRFUhD//wMqQgoVb2ZwX2hlbGxvX2ZhaWxlZF9jb2RlEhcKE09GUEhGQ19JTkNPTVBBVElCTEUQABIQCgxPRlBIRkNfRVBFUk0QASrtAgoUb2ZwX2JhZF9yZXF1ZXN0X2NvZGUSFgoST0ZQQlJDX0JBRF9WRVJTSU9OEAASEwoPT0ZQQlJDX0JBRF9UWVBFEAESGAoUT0ZQQlJDX0JBRF9NVUxUSVBBUlQQAhIbChdPRlBCUkNfQkFEX0VYUEVSSU1FTlRFUhADEhcKE09GUEJSQ19CQURfRVhQX1RZUEUQBBIQCgxPRlBCUkNfRVBFUk0QBRISCg5PRlBCUkNfQkFEX0xFThAGEhcKE09GUEJSQ19CVUZGRVJfRU1QVFkQBxIZChVPRlBCUkNfQlVGRkVSX1VOS05PV04QCBIXChNPRlBCUkNfQkFEX1RBQkxFX0lEEAkSEwoPT0ZQQlJDX0lTX1NMQVZFEAoSEwoPT0ZQQlJDX0JBRF9QT1JUEAsSFQoRT0ZQQlJDX0JBRF9QQUNLRVQQDBIkCiBPRlBCUkNfTVVMVElQQVJUX0JVRkZFUl9PVkVSRkxPVxANKpwDChNvZnBfYmFkX2FjdGlvbl9jb2RlEhMKD09GUEJBQ19CQURfVFlQRRAAEhIKDk9GUEJBQ19CQURfTEVOEAESGwoXT0ZQQkFDX0JBRF9FWFBFUklNRU5URVIQAhIXChNPRlBCQUNfQkFEX0VYUF9UWVBFEAMSFwoTT0ZQQkFDX0JBRF9PVVRfUE9SVBAEEhcKE09GUEJBQ19CQURfQVJHVU1FTlQQBRIQCgxPRlBCQUNfRVBFUk0QBhITCg9PRlBCQUNfVE9PX01BTlkQBxIUChBPRlBCQUNfQkFEX1FVRVVFEAgSGAoUT0ZQQkFDX0JBRF9PVVRfR1JPVVAQCRIdChlPRlBCQUNfTUFUQ0hfSU5DT05TSVNURU5UEAoSHAoYT0ZQQkFDX1VOU1VQUE9SVEVEX09SREVSEAsSEgoOT0ZQQkFDX0JBRF9UQUcQDBIXChNPRlBCQUNfQkFEX1NFVF9UWVBFEA0SFgoST0ZQQkFDX0JBRF9TRVRfTEVOEA4SGwoXT0ZQQkFDX0JBRF9TRVRfQVJHVU1FTlQQDyr6AQoYb2ZwX2JhZF9pbnN0cnVjdGlvbl9jb2RlEhcKE09GUEJJQ19VTktOT1dOX0lOU1QQABIVChFPRlBCSUNfVU5TVVBfSU5TVBABEhcKE09GUEJJQ19CQURfVEFCTEVfSUQQAhIZChVPRlBCSUNfVU5TVVBfTUVUQURBVEEQAxIeChpPRlBCSUNfVU5TVVBfTUVUQURBVEFfTUFTSxAEEhsKF09GUEJJQ19CQURfRVhQRVJJTUVOVEVSEAUSFwoTT0ZQQklDX0JBRF9FWFBfVFlQRRAGEhIKDk9GUEJJQ19CQURfTEVOEAcSEAoMT0ZQQklDX0VQRVJNEAgqpQIKEm9mcF9iYWRfbWF0Y2hfY29kZRITCg9PRlBCTUNfQkFEX1RZUEUQABISCg5PRlBCTUNfQkFEX0xFThABEhIKDk9GUEJNQ19CQURfVEFHEAISGwoXT0ZQQk1DX0JBRF9ETF9BRERSX01BU0sQAxIbChdPRlBCTUNfQkFEX05XX0FERFJfTUFTSxAEEhgKFE9GUEJNQ19CQURfV0lMRENBUkRTEAUSFAoQT0ZQQk1DX0JBRF9GSUVMRBAGEhQKEE9GUEJNQ19CQURfVkFMVUUQBxITCg9PRlBCTUNfQkFEX01BU0sQCBIVChFPRlBCTUNfQkFEX1BSRVJFURAJEhQKEE9GUEJNQ19EVVBfRklFTEQQChIQCgxPRlBCTUNfRVBFUk0QCyrSAQoYb2ZwX2Zsb3dfbW9kX2ZhaWxlZF9jb2RlEhMKD09GUEZNRkNfVU5LTk9XThAAEhYKEk9GUEZNRkNfVEFCTEVfRlVMTBABEhgKFE9GUEZNRkNfQkFEX1RBQkxFX0lEEAISEwoPT0ZQRk1GQ19PVkVSTEFQEAMSEQoNT0ZQRk1GQ19FUEVSTRAEEhcKE09GUEZNRkNfQkFEX1RJTUVPVVQQBRIXChNPRlBGTUZDX0JBRF9DT01NQU5EEAYSFQoRT0ZQRk1GQ19CQURfRkxBR1MQByqhAwoZb2ZwX2dyb3VwX21vZF9mYWlsZWRfY29kZRIYChRPRlBHTUZDX0dST1VQX0VYSVNUUxAAEhkKFU9GUEdNRkNfSU5WQUxJRF9HUk9VUBABEh4KGk9GUEdNRkNfV0VJR0hUX1VOU1VQUE9SVEVEEAISGQoVT0ZQR01GQ19PVVRfT0ZfR1JPVVBTEAMSGgoWT0ZQR01GQ19PVVRfT0ZfQlVDS0VUUxAEEiAKHE9GUEdNRkNfQ0hBSU5JTkdfVU5TVVBQT1JURUQQBRIdChlPRlBHTUZDX1dBVENIX1VOU1VQUE9SVEVEEAYSEAoMT0ZQR01GQ19MT09QEAcSGQoVT0ZQR01GQ19VTktOT1dOX0dST1VQEAgSGQoVT0ZQR01GQ19DSEFJTkVEX0dST1VQEAkSFAoQT0ZQR01GQ19CQURfVFlQRRAKEhcKE09GUEdNRkNfQkFEX0NPTU1BTkQQCxIWChJPRlBHTUZDX0JBRF9CVUNLRVQQDBIVChFPRlBHTUZDX0JBRF9XQVRDSBANEhEKDU9GUEdNRkNfRVBFUk0QDiqPAQoYb2ZwX3BvcnRfbW9kX2ZhaWxlZF9jb2RlEhQKEE9GUFBNRkNfQkFEX1BPUlQQABIXChNPRlBQTUZDX0JBRF9IV19BRERSEAESFgoST0ZQUE1GQ19CQURfQ09ORklHEAISGQoVT0ZQUE1GQ19CQURfQURWRVJUSVNFEAMSEQoNT0ZQUE1GQ19FUEVSTRAEKl0KGW9mcF90YWJsZV9tb2RfZmFpbGVkX2NvZGUSFQoRT0ZQVE1GQ19CQURfVEFCTEUQABIWChJPRlBUTUZDX0JBRF9DT05GSUcQARIRCg1PRlBUTUZDX0VQRVJNEAIqWgoYb2ZwX3F1ZXVlX29wX2ZhaWxlZF9jb2RlEhQKEE9GUFFPRkNfQkFEX1BPUlQQABIVChFPRlBRT0ZDX0JBRF9RVUVVRRABEhEKDU9GUFFPRkNfRVBFUk0QAipeCh1vZnBfc3dpdGNoX2NvbmZpZ19mYWlsZWRfY29kZRIVChFPRlBTQ0ZDX0JBRF9GTEFHUxAAEhMKD09GUFNDRkNfQkFEX0xFThABEhEKDU9GUFNDRkNfRVBFUk0QAipaChxvZnBfcm9sZV9yZXF1ZXN0X2ZhaWxlZF9jb2RlEhEKDU9GUFJSRkNfU1RBTEUQABIRCg1PRlBSUkZDX1VOU1VQEAESFAoQT0ZQUlJGQ19CQURfUk9MRRACKsUCChlvZnBfbWV0ZXJfbW9kX2ZhaWxlZF9jb2RlEhMKD09GUE1NRkNfVU5LTk9XThAAEhgKFE9GUE1NRkNfTUVURVJfRVhJU1RTEAESGQoVT0ZQTU1GQ19JTlZBTElEX01FVEVSEAISGQoVT0ZQTU1GQ19VTktOT1dOX01FVEVSEAMSFwoTT0ZQTU1GQ19CQURfQ09NTUFORBAEEhUKEU9GUE1NRkNfQkFEX0ZMQUdTEAUSFAoQT0ZQTU1GQ19CQURfUkFURRAGEhUKEU9GUE1NRkNfQkFEX0JVUlNUEAcSFAoQT0ZQTU1GQ19CQURfQkFORBAIEhsKF09GUE1NRkNfQkFEX0JBTkRfREVUQUlMEAkSGQoVT0ZQTU1GQ19PVVRfT0ZfTUVURVJTEAoSGAoUT0ZQTU1GQ19PVVRfT0ZfQkFORFMQCyqpAQoeb2ZwX3RhYmxlX2ZlYXR1cmVzX2ZhaWxlZF9jb2RlEhUKEU9GUFRGRkNfQkFEX1RBQkxFEAASGAoUT0ZQVEZGQ19CQURfTUVUQURBVEEQARIUChBPRlBURkZDX0JBRF9UWVBFEAISEwoPT0ZQVEZGQ19CQURfTEVOEAMSGAoUT0ZQVEZGQ19CQURfQVJHVU1FTlQQBBIRCg1PRlBURkZDX0VQRVJNEAUqzgIKEm9mcF9tdWx0aXBhcnRfdHlwZRIOCgpPRlBNUF9ERVNDEAASDgoKT0ZQTVBfRkxPVxABEhMKD09GUE1QX0FHR1JFR0FURRACEg8KC09GUE1QX1RBQkxFEAMSFAoQT0ZQTVBfUE9SVF9TVEFUUxAEEg8KC09GUE1QX1FVRVVFEAUSDwoLT0ZQTVBfR1JPVVAQBhIUChBPRlBNUF9HUk9VUF9ERVNDEAcSGAoUT0ZQTVBfR1JPVVBfRkVBVFVSRVMQCBIPCgtPRlBNUF9NRVRFUhAJEhYKEk9GUE1QX01FVEVSX0NPTkZJRxAKEhgKFE9GUE1QX01FVEVSX0ZFQVRVUkVTEAsSGAoUT0ZQTVBfVEFCTEVfRkVBVFVSRVMQDBITCg9PRlBNUF9QT1JUX0RFU0MQDRIYChJPRlBNUF9FWFBFUklNRU5URVIQ//8DKkoKG29mcF9tdWx0aXBhcnRfcmVxdWVzdF9mbGFncxIWChJPRlBNUEZfUkVRX0lOVkFMSUQQABITCg9PRlBNUEZfUkVRX01PUkUQASpMChlvZnBfbXVsdGlwYXJ0X3JlcGx5X2ZsYWdzEhgKFE9GUE1QRl9SRVBMWV9JTlZBTElEEAASFQoRT0ZQTVBGX1JFUExZX01PUkUQASrkAwobb2ZwX3RhYmxlX2ZlYXR1cmVfcHJvcF90eXBlEhgKFE9GUFRGUFRfSU5TVFJVQ1RJT05TEAASHQoZT0ZQVEZQVF9JTlNUUlVDVElPTlNfTUlTUxABEhcKE09GUFRGUFRfTkVYVF9UQUJMRVMQAhIcChhPRlBURlBUX05FWFRfVEFCTEVTX01JU1MQAxIZChVPRlBURlBUX1dSSVRFX0FDVElPTlMQBBIeChpPRlBURlBUX1dSSVRFX0FDVElPTlNfTUlTUxAFEhkKFU9GUFRGUFRfQVBQTFlfQUNUSU9OUxAGEh4KGk9GUFRGUFRfQVBQTFlfQUNUSU9OU19NSVNTEAcSEQoNT0ZQVEZQVF9NQVRDSBAIEhUKEU9GUFRGUFRfV0lMRENBUkRTEAoSGgoWT0ZQVEZQVF9XUklURV9TRVRGSUVMRBAMEh8KG09GUFRGUFRfV1JJVEVfU0VURklFTERfTUlTUxANEhoKFk9GUFRGUFRfQVBQTFlfU0VURklFTEQQDhIfChtPRlBURlBUX0FQUExZX1NFVEZJRUxEX01JU1MQDxIaChRPRlBURlBUX0VYUEVSSU1FTlRFUhD+/wMSHwoZT0ZQVEZQVF9FWFBFUklNRU5URVJfTUlTUxD//wMqkwEKFm9mcF9ncm91cF9jYXBhYmlsaXRpZXMSEgoOT0ZQR0ZDX0lOVkFMSUQQABIYChRPRlBHRkNfU0VMRUNUX1dFSUdIVBABEhoKFk9GUEdGQ19TRUxFQ1RfTElWRU5FU1MQAhITCg9PRlBHRkNfQ0hBSU5JTkcQBBIaChZPRlBHRkNfQ0hBSU5JTkdfQ0hFQ0tTEAgqawoUb2ZwX3F1ZXVlX3Byb3BlcnRpZXMSEQoNT0ZQUVRfSU5WQUxJRBAAEhIKDk9GUFFUX01JTl9SQVRFEAESEgoOT0ZQUVRfTUFYX1JBVEUQAhIYChJPRlBRVF9FWFBFUklNRU5URVIQ//8DKnEKE29mcF9jb250cm9sbGVyX3JvbGUSFwoTT0ZQQ1JfUk9MRV9OT0NIQU5HRRAAEhQKEE9GUENSX1JPTEVfRVFVQUwQARIVChFPRlBDUl9ST0xFX01BU1RFUhACEhQKEE9GUENSX1JPTEVfU0xBVkUQA0JVCh5vcmcub3BlbmNvcmQudm9sdGhhLm9wZW5mbG93MTNaM2dpdGh1Yi5jb20vb3BlbmNvcmQvdm9sdGhhLXByb3Rvcy92NS9nby9vcGVuZmxvd18xM0qvugYKBxIFOQCZEgEK/hQKAQwSAzkAEhr5BgogVGhpcyBpcyBhIHJlbGF0aXZlbHkgc3RyYWlnaHRmb3J3YXJkIHJlbmRlcmluZyBvZiBPcGVuRmxvdyBtZXNzYWdlCiBkZWZpbml0aW9ucyBpbnRvIHByb3RvY29sIGJ1ZmZlciBtZXNzYWdlcy4gV2UgcHJlc2VydmVkIHRoZSBzbmFrZQogY2FzZSBzeW50YXgsIGFuZCBtYWRlIHRoZSBmb2xsb3dpbmcgY2hhbmdlczoKIC0gYWxsIHBhZCBmaWVsZHMgZHJvcHBlZAogLSBmb3IgZWFjaCBlbnVtIHZhbHVlIGFib3ZlIDB4N2ZmZmZmZmYgdGhlIE1TQiBpcyBkcm9wcGVkLiBGb3IgZXhhbXBsZSwKICAgMHhmZmZmZmZmZiBpcyBub3cgMHg3ZmZmZmZmZi4KIC0gJzx0eXBlPiB0aGluZ1suLi5dJyBpcyByZXBsYWNlZCB3aXRoICdyZXBlYXRlZCA8dHlwZT4gdGhpbmcnCiAtICdjaGFyIHRoaW5nWy4uLl0nIGlzIHJlcGxhY2VkIHdpdGggJ3N0cmluZyB0aGluZycKIC0gJ3VpbnQ4X3QgZGF0YVsuLi5dJyBpcyByZXBsYWNlZCB3aXRoICdieXRlcyBkYXRhJwogLSB0aGUgZm9sbG93aW5nIHN5c3RlbWF0aWMgY2hhbmdlcyBhcmUgZG9uZSB0byB2YXJpb3VzIGludGVnZXIgdHlwZXM6CiAgIHVpbnQ4X3QgIC0+IHVpbnQzMgogICB1aW50MTZfdCAtPiB1aW50MzIKICAgdWludDMyX3QgLT4gdWludDMyCiAgIHVpbnQ2NF90IC0+IHVpbnQ2NAogLSByZW1vdmVkIG1vc3QgbGVuZ3RoLCBsZW4sIHNpemUgZmllbGRzIHdoZXJlIHRoZXNlIHZhbHVlcyBjYW4gYmUgZGV0ZXJtaW5lZAogICBmcm9tIHRoZSBleHBsaWNpdGx5IGVuY29kZWQgbGVuZ3RoIG9mICJyZXBlYXRlZCIgcHJvdG9idWYgZmllbGRzLgogLSBleHBsaWNpdCB1c2Ugb2YgZW51bSB0eXBlcyB3aGVyZWV2ZXIgaXQgaXMgdW5hbWJpZ291cyAoYW5kIG5vdCB1c2VkIGFzCiAgIGJpdG1hc2svZmxhZ3MgdmFsdWUuCgoywA0gQ29weXJpZ2h0IChjKSAyMDA4IFRoZSBCb2FyZCBvZiBUcnVzdGVlcyBvZiBUaGUgTGVsYW5kIFN0YW5mb3JkCiBKdW5pb3IgVW5pdmVyc2l0eQogQ29weXJpZ2h0IDIwMTEtMjAyNCBPcGVuIE5ldHdvcmtpbmcgRm91bmRhdGlvbiAoT05GKSBhbmQgdGhlIE9ORiBDb250cmlidXRvcnMKCiBXZSBhcmUgbWFraW5nIHRoZSBPcGVuRmxvdyBzcGVjaWZpY2F0aW9uIGFuZCBhc3NvY2lhdGVkIGRvY3VtZW50YXRpb24KIChTb2Z0d2FyZSkgYXZhaWxhYmxlIGZvciBwdWJsaWMgdXNlIGFuZCBiZW5lZml0IHdpdGggdGhlIGV4cGVjdGF0aW9uCiB0aGF0IG90aGVycyB3aWxsIHVzZSwgbW9kaWZ5IGFuZCBlbmhhbmNlIHRoZSBTb2Z0d2FyZSBhbmQgY29udHJpYnV0ZQogdGhvc2UgZW5oYW5jZW1lbnRzIGJhY2sgdG8gdGhlIGNvbW11bml0eS4gSG93ZXZlciwgc2luY2Ugd2Ugd291bGQKIGxpa2UgdG8gbWFrZSB0aGUgU29mdHdhcmUgYXZhaWxhYmxlIGZvciBicm9hZGVzdCB1c2UsIHdpdGggYXMgZmV3CiByZXN0cmljdGlvbnMgYXMgcG9zc2libGUgcGVybWlzc2lvbiBpcyBoZXJlYnkgZ3JhbnRlZCwgZnJlZSBvZgogY2hhcmdlLCB0byBhbnkgcGVyc29uIG9idGFpbmluZyBhIGNvcHkgb2YgdGhpcyBTb2Z0d2FyZSB0byBkZWFsIGluCiB0aGUgU29mdHdhcmUgdW5kZXIgdGhlIGNvcHlyaWdodHMgd2l0aG91dCByZXN0cmljdGlvbiwgaW5jbHVkaW5nCiB3aXRob3V0IGxpbWl0YXRpb24gdGhlIHJpZ2h0cyB0byB1c2UsIGNvcHksIG1vZGlmeSwgbWVyZ2UsIHB1Ymxpc2gsCiBkaXN0cmlidXRlLCBzdWJsaWNlbnNlLCBhbmQvb3Igc2VsbCBjb3BpZXMgb2YgdGhlIFNvZnR3YXJlLCBhbmQgdG8KIHBlcm1pdCBwZXJzb25zIHRvIHdob20gdGhlIFNvZnR3YXJlIGlzIGZ1cm5pc2hlZCB0byBkbyBzbywgc3ViamVjdCB0bwogdGhlIGZvbGxvd2luZyBjb25kaXRpb25zOgoKIFRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlIGFuZCB0aGlzIHBlcm1pc3Npb24gbm90aWNlIHNoYWxsIGJlCiBpbmNsdWRlZCBpbiBhbGwgY29waWVzIG9yIHN1YnN0YW50aWFsIHBvcnRpb25zIG9mIHRoZSBTb2Z0d2FyZS4KCiBUSEUgU09GVFdBUkUgSVMgUFJPVklERUQgIkFTIElTIiwgV0lUSE9VVCBXQVJSQU5UWSBPRiBBTlkgS0lORCwKIEVYUFJFU1MgT1IgSU1QTElFRCwgSU5DTFVESU5HIEJVVCBOT1QgTElNSVRFRCBUTyBUSEUgV0FSUkFOVElFUyBPRgogTUVSQ0hBTlRBQklMSVRZLCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBTkQKIE5PTklORlJJTkdFTUVOVC4gIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBBVVRIT1JTIE9SIENPUFlSSUdIVCBIT0xERVJTCiBCRSBMSUFCTEUgRk9SIEFOWSBDTEFJTSwgREFNQUdFUyBPUiBPVEhFUiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQU4KIEFDVElPTiBPRiBDT05UUkFDVCwgVE9SVCBPUiBPVEhFUldJU0UsIEFSSVNJTkcgRlJPTSwgT1VUIE9GIE9SIElOCiBDT05ORUNUSU9OIFdJVEggVEhFIFNPRlRXQVJFIE9SIFRIRSBVU0UgT1IgT1RIRVIgREVBTElOR1MgSU4gVEhFCiBTT0ZUV0FSRS4KCiBUaGUgbmFtZSBhbmQgdHJhZGVtYXJrcyBvZiBjb3B5cmlnaHQgaG9sZGVyKHMpIG1heSBOT1QgYmUgdXNlZCBpbgogYWR2ZXJ0aXNpbmcgb3IgcHVibGljaXR5IHBlcnRhaW5pbmcgdG8gdGhlIFNvZnR3YXJlIG9yIGFueQogZGVyaXZhdGl2ZXMgd2l0aG91dCBzcGVjaWZpYywgd3JpdHRlbiBwcmlvciBwZXJtaXNzaW9uLgoyNSBPcGVuRmxvdzogcHJvdG9jb2wgYmV0d2VlbiBjb250cm9sbGVyIGFuZCBkYXRhcGF0aC4gCggKAQgSAzsASgoJCgIICxIDOwBKCggKAQgSAzwANwoJCgIIARIDPAA3CggKAQISAz4AFAoJCgIDABIDQAAmCqYECgIFABIEVABpARo1IFBvcnQgbnVtYmVyaW5nLiBQb3J0cyBhcmUgbnVtYmVyZWQgc3RhcnRpbmcgZnJvbSAxLiAyYyBWZXJzaW9uIG51bWJlcjoKIE9wZW5GbG93IHZlcnNpb25zIHJlbGVhc2VkOiAweDAxID0gMS4wIDsgMHgwMiA9IDEuMSA7IDB4MDMgPSAxLjIKICAgICAweDA0ID0gMS4zCjJVIFRoZSBtb3N0IHNpZ25pZmljYW50IGJpdCBpbiB0aGUgdmVyc2lvbiBmaWVsZCBpcyByZXNlcnZlZCBhbmQgbXVzdAogYmUgc2V0IHRvIHplcm8uCjJ6I2RlZmluZSBPRlBfVkVSU0lPTiAgIDB4MDQKI2RlZmluZSBQSVBFTElORV9UQUJMRVMgNjQKI2RlZmluZSBPRlBfTUFYX1RBQkxFX05BTUVfTEVOIDMyCiNkZWZpbmUgT0ZQX01BWF9QT1JUX05BTUVfTEVOICAxNgoyLSBPZmZpY2lhbCBJQU5BIHJlZ2lzdGVyZWQgcG9ydCBmb3IgT3BlbkZsb3cuIDI2I2RlZmluZSBPRlBfVENQX1BPUlQgIDY2NTMKI2RlZmluZSBPRlBfU1NMX1BPUlQgIDY2NTMKMkQjZGVmaW5lIE9GUF9FVEhfQUxFTiA2ICAgICAgICAgIC8qIEJ5dGVzIGluIGFuIEV0aGVybmV0IGFkZHJl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ZWQuIDKTBSNkZWZpbmUgT1hNX0hFQURFUl9fKENMQVNTLCBGSUVMRCwgSEFTTUFTSywgTEVOR1RIKSBcCiAgICAoKChDTEFTUykgPDwgMTYpIHwgKChGSUVMRCkgPDwgOSkgfCAoKEhBU01BU0spIDw8IDgpIHwgKExFTkdUSCkpCiNkZWZpbmUgT1hNX0hFQURFUihDTEFTUywgRklFTEQsIExFTkdUSCkgXAogICAgT1hNX0hFQURFUl9fKENMQVNTLCBGSUVMRCwgMCwgTEVOR1RIKQojZGVmaW5lIE9YTV9IRUFERVJfVyhDTEFTUywgRklFTEQsIExFTkdUSCkgXAogICAgT1hNX0hFQURFUl9fKENMQVNTLCBGSUVMRCwgMSwgKExFTkdUSCkgKiAyKQojZGVmaW5lIE9YTV9DTEFTUyhIRUFERVIpICgoSEVBREVSKSA+PiAxNikKI2RlZmluZSBPWE1fRklFTEQoSEVBREVSKSAoKChIRUFERVIpID4+IDkpICYgMHg3ZikKI2RlZmluZSBPWE1fVFlQRShIRUFERVIpICgoKEhFQURFUikgPj4gOSkgJiAweDdmZmZmZikKI2RlZmluZSBPWE1fSEFTTUFTSyhIRUFERVIpICgoKEhFQURFUikgPj4gOCkgJiAxKQojZGVmaW5lIE9YTV9MRU5HVEgoSEVBREVSKSAoKEhFQURFUikgJiAweGZmKQoKI2RlZmluZSBPWE1fTUFLRV9XSUxEX0hFQURFUihIRUFERVIpIFwKICAgIE9YTV9IRUFERVJfVyhPWE1fQ0xBU1MoSEVBREVSKSwgT1hNX0ZJRUxEKEhFQURFUiksIE9YTV9MRU5HVEgoSEVBREVSKSkKCgsKAwUNARIEqAMFEgovCgQFDQIAEgSpAwQjIiEgQmFja3dhcmQgY29tcGF0aWJpbGl0eSB3aXRoIE5YTSAKDQoFBQ0CAAESBKkDBBAKDQoFBQ0CAAISBKkDHCIKLwoEBQ0CARIEqgMEIyIhIEJhY2t3YXJkIGNvbXBhdGliaWxpdHkgd2l0aCBOWE0gCg0KBQUNAgEBEgSqAwQQCg0KBQUNAgECEgSqAxwiCigKBAUNAgISBKsDBCMiGiBCYXNpYyBjbGFzcyBmb3IgT3BlbkZsb3cgCg0KBQUNAgIBEgSrAwQZCg0KBQUNAgICEgSrAxwiCiIKBAUNAgMSBKwDBCMiFCBFeHBlcmltZW50ZXIgY2xhc3MgCg0KBQUNAgMBEgSsAwQXCg0KBQUNAgMCEgSsAxwiCj4KAgUOEgawAwDZAwEaMCBPWE0gRmxvdyBmaWVsZCB0eXBlcyBmb3IgT3BlbkZsb3cgYmFzaWMgY2xhc3MuIAoLCgMFDgESBLADBRgKIgoEBQ4CABIEsQMEIiIUIFN3aXRjaCBpbnB1dCBwb3J0LiAKDQoFBQ4CAAESBLEDBBYKDQoFBQ4CAAISBLEDICEKKwoEBQ4CARIEsgMEIiIdIFN3aXRjaCBwaHlzaWNhbCBpbnB1dCBwb3J0LiAKDQoFBQ4CAQESBLIDBBoKDQoFBQ4CAQISBLIDICEKLwoEBQ4CAhIEswMEIiIhIE1ldGFkYXRhIHBhc3NlZCBiZXR3ZWVuIHRhYmxlcy4gCg0KBQUOAgIBEgSzAwQXCg0KBQUOAgICEgSzAyAhCi0KBAUOAgMSBLQDBCIiHyBFdGhlcm5ldCBkZXN0aW5hdGlvbiBhZGRyZXNzLiAKDQoFBQ4CAwESBLQDBBYKDQoFBQ4CAwISBLQDICEKKAoEBQ4CBBIEtQMEIiIaIEV0aGVybmV0IHNvdXJjZSBhZGRyZXNzLiAKDQoFBQ4CBAESBLUDBBYKDQoFBQ4CBAISBLUDICEKJAoEBQ4CBRIEtgMEIiIWIEV0aGVybmV0IGZyYW1lIHR5cGUuIAoNCgUFDgIFARIEtgMEFwoNCgUFDgIFAhIEtgMgIQoYCgQFDgIGEgS3AwQiIgogVkxBTiBpZC4gCg0KBQUOAgYBEgS3AwQXCg0KBQUOAgYCEgS3AyAhCh4KBAUOAgcSBLgDBCIiECBWTEFOIHByaW9yaXR5LiAKDQoFBQ4CBwESBLgDBBcKDQoFBQ4CBwISBLgDICEKLgoEBQ4CCBIEuQMEIiIgIElQIERTQ1AgKDYgYml0cyBpbiBUb1MgZmllbGQpLiAKDQoFBQ4CCAESBLkDBBYKDQoFBQ4CCAISBLkDICEKLQoEBQ4CCRIEugMEIiIfIElQIEVDTiAoMiBiaXRzIGluIFRvUyBmaWVsZCkuIAoNCgUFDgIJARIEugMEFQoNCgUFDgIJAhIEugMgIQocCgQFDgIKEgS7AwQjIg4gSVAgcHJvdG9jb2wuIAoNCgUFDgIKARIEuwMEFwoNCgUFDgIKAhIEuwMgIgokCgQFDgILEgS8AwQjIhYgSVB2NCBzb3VyY2UgYWRkcmVzcy4gCg0KBQUOAgsBEgS8AwQXCg0KBQUOAgsCEgS8AyAiCikKBAUOAgwSBL0DBCMiGyBJUHY0IGRlc3RpbmF0aW9uIGFkZHJlc3MuIAoNCgUFDgIMARIEvQMEFwoNCgUFDgIMAhIEvQMgIgogCgQFDgINEgS+AwQjIhIgVENQIHNvdXJjZSBwb3J0LiAKDQoFBQ4CDQESBL4DBBYKDQoFBQ4CDQISBL4DICIKJQoEBQ4CDhIEvwMEIyIXIFRDUCBkZXN0aW5hdGlvbiBwb3J0LiAKDQoFBQ4CDgESBL8DBBYKDQoFBQ4CDgISBL8DICIKIAoEBQ4CDxIEwAMEIyISIFVEUCBzb3VyY2UgcG9ydC4gCg0KBQUOAg8BEgTAAwQWCg0KBQUOAg8CEgTAAyAiCiUKBAUOAhASBMEDBCMiFyBVRFAgZGVzdGluYXRpb24gcG9ydC4gCg0KBQUOAhABEgTBAwQWCg0KBQUOAhACEgTBAyAiCiEKBAUOAhESBMIDBCMiEyBTQ1RQIHNvdXJjZSBwb3J0LiAKDQoFBQ4CEQESBMIDBBcKDQoFBQ4CEQISBMIDICIKJgoEBQ4CEhIEwwMEIyIYIFNDVFAgZGVzdGluYXRpb24gcG9ydC4gCg0KBQUOAhIBEgTDAwQXCg0KBQUOAhICEgTDAyAiChoKBAUOAhMSBMQDBCMiDCBJQ01QIHR5cGUuIAoNCgUFDgITARIExAMEGgoNCgUFDgITAhIExAMgIgoaCgQFDgIUEgTFAwQjIgwgSUNNUCBjb2RlLiAKDQoFBQ4CFAESBMUDBBoKDQoFBQ4CFAISBMUDICIKGwoEBQ4CFRIExgMEIyINIEFSUCBvcGNvZGUuIAoNCgUFDgIVARIExgMEFQoNCgUFDgIVAhIExgMgIgooCgQFDgIWEgTHAwQjIhogQVJQIHNvdXJjZSBJUHY0IGFkZHJlc3MuIAoNCgUFDgIWARIExwMEFgoNCgUFDgIWAhIExwMgIgooCgQFDgIXEgTIAwQjIhogQVJQIHRhcmdldCBJUHY0IGFkZHJlc3MuIAoNCgUFDgIXARIEyAMEFgoNCgUFDgIXAhIEyAMgIgosCgQFDgIYEgTJAwQjIh4gQVJQIHNvdXJjZSBoYXJkd2FyZSBhZGRyZXNzLiAKDQoFBQ4CGAESBMkDBBYKDQoFBQ4CGAISBMkDICIKLAoEBQ4CGRIEygMEIyIeIEFSUCB0YXJnZXQgaGFyZHdhcmUgYWRkcmVzcy4gCg0KBQUOAhkBEgTKAwQWCg0KBQUOAhkCEgTKAyAiCiQKBAUOAhoSBMsDBCMiFiBJUHY2IHNvdXJjZSBhZGRyZXNzLiAKDQoFBQ4CGgESBMsDBBcKDQoFBQ4CGgISBMsDICIKKQoEBQ4CGxIEzAMEIyIbIElQdjYgZGVzdGluYXRpb24gYWRkcmVzcy4gCg0KBQUOAhsBEgTMAwQXCg0KBQUOAhsCEgTMAyAiCh8KBAUOAhwSBM0DBCMiESBJUHY2IEZsb3cgTGFiZWwgCg0KBQUOAhwBEgTNAwQaCg0KBQUOAhwCEgTNAyAiChwKBAUOAh0SBM4DBCMiDiBJQ01QdjYgdHlwZS4gCg0KBQUOAh0BEgTOAwQaCg0KBQUOAh0CEgTOAyAiChwKBAUOAh4SBM8DBCMiDiBJQ01QdjYgY29kZS4gCg0KBQUOAh4BEgTPAwQaCg0KBQUOAh4CEgTPAyAiCiYKBAUOAh8SBNADBCMiGCBUYXJnZXQgYWRkcmVzcyBmb3IgTkQuIAoNCgUFDgIfARIE0AMEHQoNCgUFDgIfAhIE0AMgIgopCgQFDgIgEgTRAwQjIhsgU291cmNlIGxpbmstbGF5ZXIgZm9yIE5ELiAKDQoFBQ4CIAESBNEDBBoKDQoFBQ4CIAISBNEDICIKKQoEBQ4CIRIE0gMEIyIbIFRhcmdldCBsaW5rLWxheWVyIGZvciBORC4gCg0KBQUOAiEBEgTSAwQaCg0KBQUOAiECEgTSAyAiChsKBAUOAiISBNMDBCMiDSBNUExTIGxhYmVsLiAKDQoFBQ4CIgESBNMDBBkKDQoFBQ4CIgISBNMDICIKGAoEBQ4CIxIE1AMEIyIKIE1QTFMgVEMuIAoNCgUFDgIjARIE1AMEFgoNCgUFDgIjAhIE1AMgIgodCgQFDgIkEgTVAwQjIg8gTVBMUyBCb1MgYml0LiAKDQoFBQ4CJAESBNUDBBcKDQoFBQ4CJAISBNUDICIKGgoEBQ4CJRIE1gMEIyIMIFBCQiBJLVNJRC4gCg0KBQUOAiUBEgTWAwQXCg0KBQUOAiUCEgTWAyAiCiYKBAUOAiYSBNcDBCMiGCBMb2dpY2FsIFBvcnQgTWV0YWRhdGEuIAoNCgUFDgImARIE1wMEGAoNCgUFDgImAhIE1wMgIgoyCgQFDgInEgTYAwQjIiQgSVB2NiBFeHRlbnNpb24gSGVhZGVyIHBzZXVkby1maWVsZCAKDQoFBQ4CJwESBNgDBBoKDQoFBQ4CJwISBNgDICIKJQoCBAwSBtwDAOMDARoXIE9YTSBGbG93IG1hdGNoIGZpZWxkcyAKCwoDBAwBEgTcAwgVCgwKBAQMAgASBN0DBCAKDwoFBAwCAAQSBt0DBNwDFwoNCgUEDAIABhIE3QMEEQoNCgUEDAIAARIE3QMSGwoNCgUEDAIAAxIE3QMeHwoOCgQEDAgAEgbeAwTiAwUKDQoFBAwIAAESBN4DCg8KQAoEBAwCARIE4AMIKBoyIDIgYW5kIDMgcmVzZXJ2ZWQgZm9yIE5YTV8wIGFuZCBOWE0tMSBPWE0gY2xhc3NlcyAKDQoFBAwCAQYSBOADCBkKDQoFBAwCAQESBOADGiMKDQoFBAwCAQMSBOADJicKDAoEBAwCAhIE4QMIOgoNCgUEDAICBhIE4QMIIgoNCgUEDAICARIE4QMjNQoNCgUEDAICAxIE4QM4OQouCgIEDRIG5gMAwgcBGiAgT1hNIE9wZW5GbG93IEJhc2ljIE1hdGNoIEZpZWxkIAoLCgMEDQESBOYDCBkKDAoEBA0CABIE5wMEIQoPCgUEDQIABBIG5wME5gMbCg0KBQQNAgAGEgTnAwQXCg0KBQQNAgABEgTnAxgcCg0KBQQNAgADEgTnAx8gCgwKBAQNAgESBOgDBBYKDwoFBA0CAQQSBugDBOcDIQoNCgUEDQIBBRIE6AMECAoNCgUEDQIBARIE6AMJEQoNCgUEDQIBAxIE6AMUFQoOCgQEDQgAEgbpAwSlBwUKDQoFBA0IAAESBOkDCg8KygIKBAQNAgISBPQDCBgaRiNkZWZpbmUgT1hNX09GX0lOX1BPUlQgICAgT1hNX0hFQURFUiAgKDB4ODAwMCwgT0ZQWE1UX09GQl9JTl9QT1JULCA0KQoiHSBVc2VkIGZvciBPRlBYTVRfT0ZCX0lOX1BPUlQgMtQBIE9wZW5GbG93IHBvcnQgb24gd2hpY2ggdGhlIHBhY2tldCB3YXMgcmVjZWl2ZWQuCiBNYXkgYmUgYSBwaHlzaWNhbCBwb3J0LCBhIGxvZ2ljYWwgcG9ydCwgb3IgdGhlIHJlc2VydmVkIHBvcnQgT0ZQUF9MT0NBTAoKIFByZXJlcXM6IE5vbmUuCgogRm9ybWF0OiAzMi1iaXQgaW50ZWdlciBpbiBuZXR3b3JrIGJ5dGUgb3JkZXIuCgogTWFza2luZzogTm90IG1hc2thYmxlLiAKDQoFBA0CAgUSBPQDCA4KDQoFBA0CAgESBPQDDxMKDQoFBA0CAgMSBPQDFhcKtwcKBAQNAgMSBIsECCEaSyNkZWZpbmUgT1hNX09GX0lOX1BIWV9QT1JUIE9YTV9IRUFERVIgICgweDgwMDAsIE9GUFhNVF9PRkJfSU5fUEhZX1BPUlQsIDQpCiIgIFVzZWQgZm9yIE9GUFhNVF9PRl9JTl9QSFlfUE9SVCAyuQYgUGh5c2ljYWwgcG9ydCBvbiB3aGljaCB0aGUgcGFja2V0IHdhcyByZWNlaXZlZC4KCiBDb25zaWRlciBhIHBhY2tldCByZWNlaXZlZCBvbiBhIHR1bm5lbCBpbnRlcmZhY2UgZGVmaW5lZCBvdmVyIGEgbGluawogYWdncmVnYXRpb24gZ3JvdXAgKExBRykgd2l0aCB0d28gcGh5c2ljYWwgcG9ydCBtZW1iZXJzLiAgSWYgdGhlIHR1bm5lbAogaW50ZXJmYWNlIGlzIHRoZSBsb2dpY2FsIHBvcnQgYm91bmQgdG8gT3BlbkZsb3cuICBJbiB0aGlzIGNhc2UsCiBPRlBYTVRfT0ZfSU5fUE9SVCBpcyB0aGUgdHVubmVsJ3MgcG9ydCBudW1iZXIgYW5kIE9GUFhNVF9PRl9JTl9QSFlfUE9SVCBpcwogdGhlIHBoeXNpY2FsIHBvcnQgbnVtYmVyIG9mIHRoZSBMQUcgb24gd2hpY2ggdGhlIHR1bm5lbCBpcyBjb25maWd1cmVkLgoKIFdoZW4gYSBwYWNrZXQgaXMgcmVjZWl2ZWQgZGlyZWN0bHkgb24gYSBwaHlzaWNhbCBwb3J0IGFuZCBub3QgcHJvY2Vzc2VkIGJ5IGEKIGxvZ2ljYWwgcG9ydCwgT0ZQWE1UX09GX0lOX1BPUlQgYW5kIE9GUFhNVF9PRl9JTl9QSFlfUE9SVCBoYXZlIHRoZSBzYW1lCiB2YWx1ZS4KCiBUaGlzIGZpZWxkIGlzIHVzdWFsbHkgbm90IGF2YWlsYWJsZSBpbiBhIHJlZ3VsYXIgbWF0Y2ggYW5kIG9ubHkgYXZhaWxhYmxlCiBpbiBvZnBfcGFja2V0X2luIG1lc3NhZ2VzIHdoZW4gaXQncyBkaWZmZXJlbnQgZnJvbSBPWE1fT0ZfSU5fUE9SVC4KCiBQcmVyZXFzOiBPWE1fT0ZfSU5fUE9SVCBtdXN0IGJlIHByZXNlbnQuCgogRm9ybWF0OiAzMi1iaXQgaW50ZWdlciBpbiBuZXR3b3JrIGJ5dGUgb3JkZXIuCgogTWFza2luZzogTm90IG1hc2thYmxlLiAKDQoFBA0CAwUSBIsECA4KDQoFBA0CAwESBIsEDxwKDQoFBA0CAwMSBIsEHyAKrQIKBAQNAgQSBJcECCIajgEjZGVmaW5lIE9YTV9PRl9NRVRBREFUQSAgIE9YTV9IRUFERVIgICgweDgwMDAsIE9GUFhNVF9PRkJfTUVUQURBVEEsIDgpCiNkZWZpbmUgT1hNX09GX01FVEFEQVRBX1cgT1hNX0hFQURFUl9XKDB4ODAwMCwgT0ZQWE1UX09GQl9NRVRBREFUQSwgOCkKIh4gVXNlZCBmb3IgT0ZQWE1UX09GQl9NRVRBREFUQSAybiBUYWJsZSBtZXRhZGF0YS4KCiBQcmVyZXFzOiBOb25lLgoKIEZvcm1hdDogNjQtYml0IGludGVnZXIgaW4gbmV0d29yayBieXRlIG9yZGVyLgoKIE1hc2tpbmc6IEFyYml0cmFyeSBtYXNrcy4KCg0KBQQNAgQFEgSXBAgOCg0KBQQNAgQBEgSXBA8dCg0KBQQNAgQDEgSXBCAhCuIDCgQEDQIFEgSkBAgaGpgCI2RlZmluZSBPWE1fT0ZfRVRIX0RTVCAgICBPWE1fSEVBREVSICAoMHg4MDAwLCBPRlBYTVRfT0ZCX0VUSF9EU1QsIDYpCiNkZWZpbmUgT1hNX09GX0VUSF9EU1RfVyAgT1hNX0hFQURFUl9XKDB4ODAwMCwgT0ZQWE1UX09GQl9FVEhfRFNULCA2KQojZGVmaW5lIE9YTV9PRl9FVEhfU1JDICAgIE9YTV9IRUFERVIgICgweDgwMDAsIE9GUFhNVF9PRkJfRVRIX1NSQywgNikKI2RlZmluZSBPWE1fT0ZfRVRIX1NSQ19XICBPWE1fSEVBREVSX1coMHg4MDAwLCBPRlBYTVRfT0ZCX0VUSF9TUkMsIDYpCiIvIFVzZWQgZm9yIE9GUFhNVF9PRkJfRVRIX0RTVCAoZXhhY3RseSA2IGJ5dGVzKSAyhwEgU291cmNlIG9yIGRlc3RpbmF0aW9uIGFkZHJlc3MgaW4gRXRoZXJuZXQgaGVhZGVyLgoKIFByZXJlcXM6IE5vbmUuCgogRm9ybWF0OiA0OC1iaXQgRXRoZXJuZXQgTUFDIGFkZHJlc3MuCgogTWFza2luZzogQXJiaXRyYXJ5IG1hc2tzLiAKDQoFBA0CBQUSBKQECA0KDQoFBA0CBQESBKQEDhUKDQoFBA0CBQMSBKQEGBkKPQoEBA0CBhIEpQQIGiIvIFVzZWQgZm9yIE9GUFhNVF9PRkJfRVRIX1NSQyAoZXhhY3RseSA2IGJ5dGVzKSAKDQoFBA0CBgUSBKUECA0KDQoFBA0CBgESBKUEDhUKDQoFBA0CBgMSBKUEGBkK6QEKBAQNAgcSBK8ECBwaRiNkZWZpbmUgT1hNX09GX0VUSF9UWVBFICAgT1hNX0hFQURFUiAgKDB4ODAwMCwgT0ZQWE1UX09GQl9FVEhfVFlQRSwyKQoiHiBVc2VkIGZvciBPRlBYTVRfT0ZCX0VUSF9UWVBFIDJzIFBhY2tldCdzIEV0aGVybmV0IHR5cGUuCgogUHJlcmVxczogTm9uZS4KCiBGb3JtYXQ6IDE2LWJpdCBpbnRlZ2VyIGluIG5ldHdvcmsgYnl0ZSBvcmRlci4KCiBNYXNraW5nOiBOb3QgbWFza2FibGUuIAoNCgUEDQIHBRIErwQIDgoNCgUEDQIHARIErwQPFwoNCgUEDQIHAxIErwQaGwqDCwoEBA0CCBIE1QQIHBqOASNkZWZpbmUgT1hNX09GX1ZMQU5fVklEICAgT1hNX0hFQURFUiAgKDB4ODAwMCwgT0ZQWE1UX09GQl9WTEFOX1ZJRCwgMikKI2RlZmluZSBPWE1fT0ZfVkxBTl9WSURfVyBPWE1fSEVBREVSX1coMHg4MDAwLCBPRlBYTVRfT0ZCX1ZMQU5fVklELCAyKQoiHiBVc2VkIGZvciBPRlBYTVRfT0ZCX1ZMQU5fVklEIDLDCSA4MDIuMVEgVklELgoKIEZvciBhIHBhY2tldCB3aXRoIGFuIDgwMi4xUSBoZWFkZXIsIHRoaXMgaXMgdGhlIFZMQU4tSUQgKFZJRCkgZnJvbSB0aGUKIG91dGVybW9zdCB0YWcsIHdpdGggdGhlIENGSSBiaXQgZm9yY2VkIHRvIDEuIEZvciBhIHBhY2tldCB3aXRoIG5vIDgwMi4xUQogaGVhZGVyLCB0aGlzIGhhcyB2YWx1ZSBPRlBWSURfTk9ORS4KCiBQcmVyZXFzOiBOb25lLgoKIEZvcm1hdDogMTYtYml0IGludGVnZXIgaW4gbmV0d29yayBieXRlIG9yZGVyIHdpdGggYml0IDEzIGluZGljYXRpbmcKIHByZXNlbmNlIG9mIFZMQU4gaGVhZGVyIGFuZCAzIG1vc3Qtc2lnbmlmaWNhbnQgYml0cyBmb3JjZWQgdG8gMC4KIE9ubHkgdGhlIGxvd2VyIDEzIGJpdHMgaGF2ZSBtZWFuaW5nLgoKIE1hc2tpbmc6IEFyYml0cmFyeSBtYXNrcy4KCiBUaGlzIGZpZWxkIGNhbiBiZSB1c2VkIGluIHZhcmlvdXMgd2F5czoKCiAgIC0gSWYgaXQgaXMgbm90IGNvbnN0cmFpbmVkIGF0IGFsbCwgdGhlIG54X21hdGNoIG1hdGNoZXMgcGFja2V0cyB3aXRob3V0CiAgICAgYW4gODAyLjFRIGhlYWRlciBvciB3aXRoIGFuIDgwMi4xUSBoZWFkZXIgdGhhdCBoYXMgYW55IFZJRCB2YWx1ZS4KCiAgIC0gVGVzdGluZyBmb3IgYW4gZXhhY3QgbWF0Y2ggd2l0aCAweDAgbWF0Y2hlcyBvbmx5IHBhY2tldHMgd2l0aG91dAogICAgIGFuIDgwMi4xUSBoZWFkZXIuCgogICAtIFRlc3RpbmcgZm9yIGFuIGV4YWN0IG1hdGNoIHdpdGggYSBWSUQgdmFsdWUgd2l0aCBDRkk9MSBtYXRjaGVzIHBhY2tldHMKICAgICB0aGF0IGhhdmUgYW4gODAyLjFRIGhlYWRlciB3aXRoIGEgc3BlY2lmaWVkIFZJRC4KCiAgIC0gVGVzdGluZyBmb3IgYW4gZXhhY3QgbWF0Y2ggd2l0aCBhIG5vbnplcm8gVklEIHZhbHVlIHdpdGggQ0ZJPTAgZG9lcwogICAgIG5vdCBtYWtlIHNlbnNlLiAgVGhlIHN3aXRjaCBtYXkgcmVqZWN0IHRoaXMgY29tYmluYXRpb24uCgogICAtIFRlc3Rpbmcgd2l0aCBueG1fdmFsdWU9MCwgbnhtX21hc2s9MHgwZmZmIG1hdGNoZXMgcGFja2V0cyB3aXRoIG5vIDgwMi4xUQogICAgIGhlYWRlciBvciB3aXRoIGFuIDgwMi4xUSBoZWFkZXIgd2l0aCBhIFZJRCBvZiAwLgoKICAgLSBUZXN0aW5nIHdpdGggbnhtX3ZhbHVlPTB4MTAwMCwgbnhtX21hc2s9MHgxMDAwIG1hdGNoZXMgcGFja2V0cyB3aXRoCiAgICAgYW4gODAyLjFRIGhlYWRlciB0aGF0IGhhcyBhbnkgVklEIHZhbHVlLgoKDQoFBA0CCAUSBNUECA4KDQoFBA0CCAESBNUEDxcKDQoFBA0CCAMSBNUEGhsK0AMKBAQNAgkSBOUECB0aRyNkZWZpbmUgT1hNX09GX1ZMQU5fUENQICAgT1hNX0hFQURFUiAgKDB4ODAwMCwgT0ZQWE1UX09GQl9WTEFOX1BDUCwgMSkKIh4gVXNlZCBmb3IgT0ZQWE1UX09GQl9WTEFOX1BDUCAy2AIgODAyLjFRIFBDUC4KCiBGb3IgYSBwYWNrZXQgd2l0aCBhbiA4MDIuMVEgaGVhZGVyLCB0aGlzIGlzIHRoZSBWTEFOLVBDUCBmcm9tIHRoZQogb3V0ZXJtb3N0IHRhZy4gIEZvciBhIHBhY2tldCB3aXRoIG5vIDgwMi4xUSBoZWFkZXIsIHRoaXMgaGFzIHZhbHVlCiAwLgoKIFByZXJlcXM6IE9YTV9PRl9WTEFOX1ZJRCBtdXN0IGJlIGRpZmZlcmVudCBmcm9tIE9GUFZJRF9OT05FLgoKIEZvcm1hdDogOC1iaXQgaW50ZWdlciB3aXRoIDUgbW9zdC1zaWduaWZpY2FudCBiaXRzIGZvcmNlZCB0byAwLgogT25seSB0aGUgbG93ZXIgMyBiaXRzIGhhdmUgbWVhbmluZy4KCiBNYXNraW5nOiBOb3QgbWFza2FibGUuCgoNCgUEDQIJBRIE5QQIDgoNCgUEDQIJARIE5QQPFwoNCgUEDQIJAxIE5QQaHAqoAwoEBA0CChIE8QQIHBpHI2RlZmluZSBPWE1fT0ZfSVBfRFNDUCAgICAgT1hNX0hFQURFUiAgKDB4ODAwMCwgT0ZQWE1UX09GQl9JUF9EU0NQLCAxKQoiHSBVc2VkIGZvciBPRlBYTVRfT0ZCX0lQX0RTQ1AgMrECIFRoZSBEaWZmIFNlcnYgQ29kZSBQb2ludCAoRFNDUCkgYml0cyBvZiB0aGUgSVAgaGVhZGVyLgogUGFydCBvZiB0aGUgSVB2NCBUb1MgZmllbGQgb3IgdGhlIElQdjYgVHJhZmZpYyBDbGFzcyBmaWVsZC4KCiBQcmVyZXFzOiBPWE1fT0ZfRVRIX1RZUEUgbXVzdCBiZSBlaXRoZXIgMHgwODAwIG9yIDB4ODZkZC4KCiBGb3JtYXQ6IDgtYml0IGludGVnZXIgd2l0aCAyIG1vc3Qtc2lnbmlmaWNhbnQgYml0cyBmb3JjZWQgdG8gMC4KIE9ubHkgdGhlIGxvd2VyIDYgYml0cyBoYXZlIG1lYW5pbmcuCgogTWFza2luZzogTm90IG1hc2thYmxlLiAKDQoFBA0CCgUSBPEECA4KDQoFBA0CCgESBPEEDxYKDQoFBA0CCgMSBPEEGRsKjQMKBAQNAgsSBP0ECBsaRSNkZWZpbmUgT1hNX09GX0lQX0VDTiAgICAgT1hNX0hFQURFUiAgKDB4ODAwMCwgT0ZQWE1UX09GQl9JUF9FQ04sIDEpCiIcIFVzZWQgZm9yIE9GUFhNVF9PRkJfSVBfRUNOIDKZAiBUaGUgRUNOIGJpdHMgb2YgdGhlIElQIGhlYWRlci4KIFBhcnQgb2YgdGhlIElQdjQgVG9TIGZpZWxkIG9yIHRoZSBJUHY2IFRyYWZmaWMgQ2xhc3MgZmllbGQuCgogUHJlcmVxczogT1hNX09GX0VUSF9UWVBFIG11c3QgYmUgZWl0aGVyIDB4MDgwMCBvciAweDg2ZGQuCgogRm9ybWF0OiA4LWJpdCBpbnRlZ2VyIHdpdGggNiBtb3N0LXNpZ25pZmljYW50IGJpdHMgZm9yY2VkIHRvIDAuCiBPbmx5IHRoZSBsb3dlciAyIGJpdHMgaGF2ZSBtZWFuaW5nLgoKIE1hc2tpbmc6IE5vdCBtYXNrYWJsZS4gCg0KBQQNAgsFEgT9BAgOCg0KBQQNAgsBEgT9BA8VCg0KBQQNAgsDEgT9BBgaCo0CCgQEDQIMEgSHBQgdGkcjZGVmaW5lIE9YTV9PRl9JUF9QUk9UTyAgIE9YTV9IRUFERVIgICgweDgwMDAsIE9GUFhNVF9PRkJfSVBfUFJPVE8sIDEpCiIeIFVzZWQgZm9yIE9GUFhNVF9PRkJfSVBfUFJPVE8gMpUBIFRoZSAicHJvdG9jb2wiIGJ5dGUgaW4gdGhlIElQIGhlYWRlci4KCiBQcmVyZXFzOiBPWE1fT0ZfRVRIX1RZUEUgbXVzdCBiZSBlaXRoZXIgMHgwODAwIG9yIDB4ODZkZC4KCiBGb3JtYXQ6IDgtYml0IGludGVnZXIuCgogTWFza2luZzogTm90IG1hc2thYmxlLiAKDQoFBA0CDAUSBIcFCA4KDQoFBA0CDAESBIcFDxcKDQoFBA0CDAMSBIcFGhwKjQQKBAQNAg0SBJUFCB0apAIjZGVmaW5lIE9YTV9PRl9JUFY0X1NSQyAgICAgT1hNX0hFQURFUiAgKDB4ODAwMCwgT0ZQWE1UX09GQl9JUFY0X1NSQywgNCkKI2RlZmluZSBPWE1fT0ZfSVBWNF9TUkNfVyAgIE9YTV9IRUFERVJfVygweDgwMDAsIE9GUFhNVF9PRkJfSVBWNF9TUkMsIDQpCiNkZWZpbmUgT1hNX09GX0lQVjRfRFNUICAgICBPWE1fSEVBREVSICAoMHg4MDAwLCBPRlBYTVRfT0ZCX0lQVjRfRFNULCA0KQojZGVmaW5lIE9YTV9PRl9JUFY0X0RTVF9XICAgT1hNX0hFQURFUl9XKDB4ODAwMCwgT0ZQWE1UX09GQl9JUFY0X0RTVCwgNCkKIh4gVXNlZCBmb3IgT0ZQWE1UX09GQl9JUFY0X1NSQyAytwEgVGhlIHNvdXJjZSBvciBkZXN0aW5hdGlvbiBhZGRyZXNzIGluIHRoZSBJUCBoZWFkZXIuCgogUHJlcmVxczogT1hNX09GX0VUSF9UWVBFIG11c3QgbWF0Y2ggMHgwODAwIGV4YWN0bHkuCgogRm9ybWF0OiAzMi1iaXQgaW50ZWdlciBpbiBuZXR3b3JrIGJ5dGUgb3JkZXIuCgogTWFza2luZzogQXJiaXRyYXJ5IG1hc2tzLgoKDQoFBA0CDQUSBJUFCA4KDQoFBA0CDQESBJUFDxcKDQoFBA0CDQMSBJUFGhwKLAoEBA0CDhIElgUIHSIeIFVzZWQgZm9yIE9GUFhNVF9PRkJfSVBWNF9EU1QgCg0KBQQNAg4FEgSWBQgOCg0KBQQNAg4BEgSWBQ8XCg0KBQQNAg4DEgSWBRocCqEDCgQEDQIPEgSjBQgcGowBI2RlZmluZSBPWE1fT0ZfVENQX1NSQyAgICBPWE1fSEVBREVSICAoMHg4MDAwLCBPRlBYTVRfT0ZCX1RDUF9TUkMsIDIpCiNkZWZpbmUgT1hNX09GX1RDUF9EU1QgICAgT1hNX0hFQURFUiAgKDB4ODAwMCwgT0ZQWE1UX09GQl9UQ1BfRFNULCAyKQoiHSBVc2VkIGZvciBPRlBYTVRfT0ZCX1RDUF9TUkMgMuQBIFRoZSBzb3VyY2Ugb3IgZGVzdGluYXRpb24gcG9ydCBpbiB0aGUgVENQIGhlYWRlci4KCiBQcmVyZXFzOgogICBPWE1fT0ZfRVRIX1RZUEUgbXVzdCBiZSBlaXRoZXIgMHgwODAwIG9yIDB4ODZkZC4KICAgT1hNX09GX0lQX1BST1RPIG11c3QgbWF0Y2ggNiBleGFjdGx5LgoKIEZvcm1hdDogMTYtYml0IGludGVnZXIgaW4gbmV0d29yayBieXRlIG9yZGVyLgoKIE1hc2tpbmc6IE5vdCBtYXNrYWJsZS4gCg0KBQQNAg8FEgSjBQgOCg0KBQQNAg8BEgSjBQ8WCg0KBQQNAg8DEgSjBRkbCisKBAQNAhASBKQFCBwiHSBVc2VkIGZvciBPRlBYTVRfT0ZCX1RDUF9EU1QgCg0KBQQNAhAFEgSkBQgOCg0KBQQNAhABEgSkBQ8WCg0KBQQNAhADEgSkBRkbCqUDCgQEDQIREgSxBQgcGowBI2RlZmluZSBPWE1fT0ZfVURQX1NSQyAgICBPWE1fSEVBREVSICAoMHg4MDAwLCBPRlBYTVRfT0ZCX1VEUF9TUkMsIDIpCiNkZWZpbmUgT1hNX09GX1VEUF9EU1QgICAgT1hNX0hFQURFUiAgKDB4ODAwMCwgT0ZQWE1UX09GQl9VRFBfRFNULCAyKQoiHSBVc2VkIGZvciBPRlBYTVRfT0ZCX1VEUF9TUkMgMugBIFRoZSBzb3VyY2Ugb3IgZGVzdGluYXRpb24gcG9ydCBpbiB0aGUgVURQIGhlYWRlci4KCiBQcmVyZXFzOgogICBPWE1fT0ZfRVRIX1RZUEUgbXVzdCBtYXRjaCBlaXRoZXIgMHgwODAwIG9yIDB4ODZkZC4KICAgT1hNX09GX0lQX1BST1RPIG11c3QgbWF0Y2ggMTcgZXhhY3RseS4KCiBGb3JtYXQ6IDE2LWJpdCBpbnRlZ2VyIGluIG5ldHdvcmsgYnl0ZSBvcmRlci4KCiBNYXNraW5nOiBOb3QgbWFza2FibGUuIAoNCgUEDQIRBRIEsQUIDgoNCgUEDQIRARIEsQUPFgoNCgUEDQIRAxIEsQUZGworCgQEDQISEgSyBQgcIh0gVXNlZCBmb3IgT0ZQWE1UX09GQl9VRFBfRFNUIAoNCgUEDQISBRIEsgUIDgoNCgUEDQISARIEsgUPFgoNCgUEDQISAxIEsgUZGwqqAwoEBA0CExIEvwUIHRqOASNkZWZpbmUgT1hNX09GX1NDVFBfU1JDICAgT1hNX0hFQURFUiAgKDB4ODAwMCwgT0ZQWE1UX09GQl9TQ1RQX1NSQywgMikKI2RlZmluZSBPWE1fT0ZfU0NUUF9EU1QgICBPWE1fSEVBREVSICAoMHg4MDAwLCBPRlBYTVRfT0ZCX1NDVFBfRFNULCAyKQoiHiBVc2VkIGZvciBPRlBYTVRfT0ZCX1NDVFBfU1JDIDLqASBUaGUgc291cmNlIG9yIGRlc3RpbmF0aW9uIHBvcnQgaW4gdGhlIFNDVFAgaGVhZGVyLgoKIFByZXJlcXM6CiAgIE9YTV9PRl9FVEhfVFlQRSBtdXN0IG1hdGNoIGVpdGhlciAweDA4MDAgb3IgMHg4NmRkLgogICBPWE1fT0ZfSVBfUFJPVE8gbXVzdCBtYXRjaCAxMzIgZXhhY3RseS4KCiBGb3JtYXQ6IDE2LWJpdCBpbnRlZ2VyIGluIG5ldHdvcmsgYnl0ZSBvcmRlci4KCiBNYXNraW5nOiBOb3QgbWFza2FibGUuIAoNCgUEDQITBRIEvwUIDgoNCgUEDQITARIEvwUPFwoNCgUEDQITAxIEvwUaHAosCgQEDQIUEgTABQgdIh4gVXNlZCBmb3IgT0ZQWE1UX09GQl9TQ1RQX0RTVCAKDQoFBA0CFAUSBMAFCA4KDQoFBA0CFAESBMAFDxcKDQoFBA0CFAMSBMAFGhwKhwMKBAQNAhUSBM0FCCAamAEjZGVmaW5lIE9YTV9PRl9JQ01QVjRfVFlQRSAgT1hNX0hFQURFUiAgKDB4ODAwMCwgT0ZQWE1UX09GQl9JQ01QVjRfVFlQRSwgMSkKI2RlZmluZSBPWE1fT0ZfSUNNUFY0X0NPREUgIE9YTV9IRUFERVIgICgweDgwMDAsIE9GUFhNVF9PRkJfSUNNUFY0X0NPREUsIDEpCiIhIFVzZWQgZm9yIE9GUFhNVF9PRkJfSUNNUFY0X1RZUEUgMroBIFRoZSB0eXBlIG9yIGNvZGUgaW4gdGhlIElDTVAgaGVhZGVyLgoKIFByZXJlcXM6CiAgIE9YTV9PRl9FVEhfVFlQRSBtdXN0IG1hdGNoIDB4MDgwMCBleGFjdGx5LgogICBPWE1fT0ZfSVBfUFJPVE8gbXVzdCBtYXRjaCAxIGV4YWN0bHkuCgogRm9ybWF0OiA4LWJpdCBpbnRlZ2VyLgoKIE1hc2tpbmc6IE5vdCBtYXNrYWJsZS4gCg0KBQQNAhUFEgTNBQgOCg0KBQQNAhUBEgTNBQ8aCg0KBQQNAhUDEgTNBR0fCi8KBAQNAhYSBM4FCCAiISBVc2VkIGZvciBPRlBYTVRfT0ZCX0lDTVBWNF9DT0RFIAoNCgUEDQIWBRIEzgUIDgoNCgUEDQIWARIEzgUPGgoNCgUEDQIWAxIEzgUdHwrVAgoEBA0CFxIE2wUIGxpFI2RlZmluZSBPWE1fT0ZfQVJQX09QICAgICBPWE1fSEVBREVSICAoMHg4MDAwLCBPRlBYTVRfT0ZCX0FSUF9PUCwgMikKIhwgVXNlZCBmb3IgT0ZQWE1UX09GQl9BUlBfT1AgMuEBIEFSUCBvcGNvZGUuCgogRm9yIGFuIEV0aGVybmV0K0lQIEFSUCBwYWNrZXQsIHRoZSBvcGNvZGUgaW4gdGhlIEFSUCBoZWFkZXIuICBBbHdheXMgMAogb3RoZXJ3aXNlLgoKIFByZXJlcXM6IE9YTV9PRl9FVEhfVFlQRSBtdXN0IG1hdGNoIDB4MDgwNiBleGFjdGx5LgoKIEZvcm1hdDogMTYtYml0IGludGVnZXIgaW4gbmV0d29yayBieXRlIG9yZGVyLgoKIE1hc2tpbmc6IE5vdCBtYXNrYWJsZS4gCg0KBQQNAhcFEgTbBQgOCg0KBQQNAhcBEgTbBQ8VCg0KBQQNAhcDEgTbBRgaCrUECgQEDQIYEgTqBQgcGpgCI2RlZmluZSBPWE1fT0ZfQVJQX1NQQSAgICBPWE1fSEVBREVSICAoMHg4MDAwLCBPRlBYTVRfT0ZCX0FSUF9TUEEsIDQpCiNkZWZpbmUgT1hNX09GX0FSUF9TUEFfVyAgT1hNX0hFQURFUl9XKDB4ODAwMCwgT0ZQWE1UX09GQl9BUlBfU1BBLCA0KQojZGVmaW5lIE9YTV9PRl9BUlBfVFBBICAgIE9YTV9IRUFERVIgICgweDgwMDAsIE9GUFhNVF9PRkJfQVJQX1RQQSwgNCkKI2RlZmluZSBPWE1fT0ZfQVJQX1RQQV9XICBPWE1fSEVBREVSX1coMHg4MDAwLCBPRlBYTVRfT0ZCX0FSUF9UUEEsIDQpCiIYIEZvciBPRlBYTVRfT0ZCX0FSUF9TUEEgMvEBIEZvciBhbiBFdGhlcm5ldCtJUCBBUlAgcGFja2V0LCB0aGUgc291cmNlIG9yIHRhcmdldCBwcm90b2NvbCBhZGRyZXNzCiBpbiB0aGUgQVJQIGhlYWRlci4gIEFsd2F5cyAwIG90aGVyd2lzZS4KCiBQcmVyZXFzOiBPWE1fT0ZfRVRIX1RZUEUgbXVzdCBtYXRjaCAweDA4MDYgZXhhY3RseS4KCiBGb3JtYXQ6IDMyLWJpdCBpbnRlZ2VyIGluIG5ldHdvcmsgYnl0ZSBvcmRlci4KCiBNYXNraW5nOiBBcmJpdHJhcnkgbWFza3MuCgoNCgUEDQIYBRIE6gUIDgoNCgUEDQIYARIE6gUPFgoNCgUEDQIYAxIE6gUZGwomCgQEDQIZEgTrBQgcIhggRm9yIE9GUFhNVF9PRkJfQVJQX1RQQSAKDQoFBA0CGQUSBOsFCA4KDQoFBA0CGQESBOsFDxYKDQoFBA0CGQMSBOsFGRsKtwQKBAQNAhoSBPkFCBsanAIjZGVmaW5lIE9YTV9PRl9BUlBfU0hBICAgIE9YTV9IRUFERVIgICAoMHg4MDAwLCBPRlBYTVRfT0ZCX0FSUF9TSEEsIDYpCiNkZWZpbmUgT1hNX09GX0FSUF9TSEFfVyAgT1hNX0hFQURFUl9XICgweDgwMDAsIE9GUFhNVF9PRkJfQVJQX1NIQSwgNikKI2RlZmluZSBPWE1fT0ZfQVJQX1RIQSAgICBPWE1fSEVBREVSICAgKDB4ODAwMCwgT0ZQWE1UX09GQl9BUlBfVEhBLCA2KQojZGVmaW5lIE9YTV9PRl9BUlBfVEhBX1cgIE9YTV9IRUFERVJfVyAoMHg4MDAwLCBPRlBYTVRfT0ZCX0FSUF9USEEsIDYpCiIiIEZvciBPRlBYTVRfT0ZCX0FSUF9TSEEgKDYgYnl0ZXMpIDLlASBGb3IgYW4gRXRoZXJuZXQrSVAgQVJQIHBhY2tldCwgdGhlIHNvdXJjZSBvciB0YXJnZXQgaGFyZHdhcmUgYWRkcmVzcwogaW4gdGhlIEFSUCBoZWFkZXIuICBBbHdheXMgMCBvdGhlcndpc2UuCgogUHJlcmVxczogT1hNX09GX0VUSF9UWVBFIG11c3QgbWF0Y2ggMHgwODA2IGV4YWN0bHkuCgogRm9ybWF0OiA0OC1iaXQgRXRoZXJuZXQgTUFDIGFkZHJlc3MuCgogTWFza2luZzogTm90IG1hc2thYmxlLiAKDQoFBA0CGgUSBPkFCA0KDQoFBA0CGgESBPkFDhUKDQoFBA0CGgMSBPkFGBoKMAoEBA0CGxIE+gUIGyIiIEZvciBPRlBYTVRfT0ZCX0FSUF9USEEgKDYgYnl0ZXMpIAoNCgUEDQIbBRIE+gUIDQoNCgUEDQIbARIE+gUOFQoNCgUEDQIbAxIE+gUYGgr6AwoEBA0CHBIEiAYIHBqkAiNkZWZpbmUgT1hNX09GX0lQVjZfU1JDICAgIE9YTV9IRUFERVIgICgweDgwMDAsIE9GUFhNVF9PRkJfSVBWNl9TUkMsIDE2KQojZGVmaW5lIE9YTV9PRl9JUFY2X1NSQ19XICBPWE1fSEVBREVSX1coMHg4MDAwLCBPRlBYTVRfT0ZCX0lQVjZfU1JDLCAxNikKI2RlZmluZSBPWE1fT0ZfSVBWNl9EU1QgICAgT1hNX0hFQURFUiAgKDB4ODAwMCwgT0ZQWE1UX09GQl9JUFY2X0RTVCwgMTYpCiNkZWZpbmUgT1hNX09GX0lQVjZfRFNUX1cgIE9YTV9IRUFERVJfVygweDgwMDAsIE9GUFhNVF9PRkJfSVBWNl9EU1QsIDE2KQoiGSBGb3IgT0ZQWE1UX09GQl9JUFY2X1NSQyAyqQEgVGhlIHNvdXJjZSBvciBkZXN0aW5hdGlvbiBhZGRyZXNzIGluIHRoZSBJUHY2IGhlYWRlci4KCiBQcmVyZXFzOiBPWE1fT0ZfRVRIX1RZUEUgbXVzdCBtYXRjaCAweDg2ZGQgZXhhY3RseS4KCiBGb3JtYXQ6IDEyOC1iaXQgSVB2NiBhZGRyZXNzLgoKIE1hc2tpbmc6IEFyYml0cmFyeSBtYXNrcy4KCg0KBQQNAhwFEgSIBggNCg0KBQQNAhwBEgSIBg4WCg0KBQQNAhwDEgSIBhkbCicKBAQNAh0SBIkGCBwiGSBGb3IgT0ZQWE1UX09GQl9JUFY2X0RTVCAKDQoFBA0CHQUSBIkGCA0KDQoFBA0CHQESBIkGDhYKDQoFBA0CHQMSBIkGGRsKnQMKBAQNAh4SBJcGCCAamgEjZGVmaW5lIE9YTV9PRl9JUFY2X0ZMQUJFTCAgIE9YTV9IRUFERVIgICgweDgwMDAsIE9GUFhNVF9PRkJfSVBWNl9GTEFCRUwsIDQpCiNkZWZpbmUgT1hNX09GX0lQVjZfRkxBQkVMX1cgT1hNX0hFQURFUl9XKDB4ODAwMCwgT0ZQWE1UX09GQl9JUFY2X0ZMQUJFTCwgNCkKIhwgRm9yIE9GUFhNVF9PRkJfSVBWNl9GTEFCRUwgMtMBIFRoZSBJUHY2IEZsb3cgTGFiZWwKCiBQcmVyZXFzOgogICBPWE1fT0ZfRVRIX1RZUEUgbXVzdCBtYXRjaCAweDg2ZGQgZXhhY3RseQoKIEZvcm1hdDogMzItYml0IGludGVnZXIgd2l0aCAxMiBtb3N0LXNpZ25pZmljYW50IGJpdHMgZm9yY2VkIHRvIDAuCiBPbmx5IHRoZSBsb3dlciAyMCBiaXRzIGhhdmUgbWVhbmluZy4KCiBNYXNraW5nOiBBcmJpdHJhcnkgbWFza3MuCgoNCgUEDQIeBRIElwYIDgoNCgUEDQIeARIElwYPGgoNCgUEDQIeAxIElwYdHwqDAwoEBA0CHxIEpAYIIBqWASNkZWZpbmUgT1hNX09GX0lDTVBWNl9UWVBFIE9YTV9IRUFERVIgICgweDgwMDAsIE9GUFhNVF9PRkJfSUNNUFY2X1RZUEUsIDEpCiNkZWZpbmUgT1hNX09GX0lDTVBWNl9DT0RFIE9YTV9IRUFERVIgICgweDgwMDAsIE9GUFhNVF9PRkJfSUNNUFY2X0NPREUsIDEpCiIcIEZvciBPRlBYTVRfT0ZCX0lDTVBWNl9UWVBFIDK9ASBUaGUgdHlwZSBvciBjb2RlIGluIHRoZSBJQ01QdjYgaGVhZGVyLgoKIFByZXJlcXM6CiAgIE9YTV9PRl9FVEhfVFlQRSBtdXN0IG1hdGNoIDB4ODZkZCBleGFjdGx5LgogICBPWE1fT0ZfSVBfUFJPVE8gbXVzdCBtYXRjaCA1OCBleGFjdGx5LgoKIEZvcm1hdDogOC1iaXQgaW50ZWdlci4KCiBNYXNraW5nOiBOb3QgbWFza2FibGUuIAoNCgUEDQIfBRIEpAYIDgoNCgUEDQIfARIEpAYPGgoNCgUEDQIfAxIEpAYdHwoqCgQEDQIgEgSlBgggIhwgRm9yIE9GUFhNVF9PRkJfSUNNUFY2X0NPREUgCg0KBQQNAiAFEgSlBggOCg0KBQQNAiABEgSlBg8aCg0KBQQNAiADEgSlBh0fCpEDCgQEDQIhEgSzBggiGlcjZGVmaW5lIE9YTV9PRl9JUFY2X05EX1RBUkdFVCBPWE1fSEVBREVSIFwKICAgICgweDgwMDAsIE9GUFhNVF9PRkJfSVBWNl9ORF9UQVJHRVQsIDE2KQoiHyBGb3IgT0ZQWE1UX09GQl9JUFY2X05EX1RBUkdFVCAyiAIgVGhlIHRhcmdldCBhZGRyZXNzIGluIGFuIElQdjYgTmVpZ2hib3IgRGlzY292ZXJ5IG1lc3NhZ2UuCgogUHJlcmVxczoKICAgT1hNX09GX0VUSF9UWVBFIG11c3QgbWF0Y2ggMHg4NmRkIGV4YWN0bHkuCiAgIE9YTV9PRl9JUF9QUk9UTyBtdXN0IG1hdGNoIDU4IGV4YWN0bHkuCiAgIE9YTV9PRl9JQ01QVjZfVFlQRSBtdXN0IGJlIGVpdGhlciAxMzUgb3IgMTM2LgoKIEZvcm1hdDogMTI4LWJpdCBJUHY2IGFkZHJlc3MuCgogTWFza2luZzogTm90IG1hc2thYmxlLiAKDQoFBA0CIQUSBLMGCA0KDQoFBA0CIQESBLMGDhwKDQoFBA0CIQMSBLMGHyEKlwMKBAQNAiISBMEGCB8aTCNkZWZpbmUgT1hNX09GX0lQVjZfTkRfU0xMICBPWE1fSEVBREVSICAoMHg4MDAwLCBPRlBYTVRfT0ZCX0lQVjZfTkRfU0xMLCA2KQoiHCBGb3IgT0ZQWE1UX09GQl9JUFY2X05EX1NMTCAynAIgVGhlIHNvdXJjZSBsaW5rLWxheWVyIGFkZHJlc3Mgb3B0aW9uIGluIGFuIElQdjYgTmVpZ2hib3IgRGlzY292ZXJ5CiBtZXNzYWdlLgoKIFByZXJlcXM6CiAgIE9YTV9PRl9FVEhfVFlQRSBtdXN0IG1hdGNoIDB4ODZkZCBleGFjdGx5LgogICBPWE1fT0ZfSVBfUFJPVE8gbXVzdCBtYXRjaCA1OCBleGFjdGx5LgogICBPWE1fT0ZfSUNNUFY2X1RZUEUgbXVzdCBiZSBleGFjdGx5IDEzNS4KCiBGb3JtYXQ6IDQ4LWJpdCBFdGhlcm5ldCBNQUMgYWRkcmVzcy4KCiBNYXNraW5nOiBOb3QgbWFza2FibGUuIAoNCgUEDQIiBRIEwQYIDQoNCgUEDQIiARIEwQYOGQoNCgUEDQIiAxIEwQYcHgqXAwoEBA0CIxIEzwYIHxpMI2RlZmluZSBPWE1fT0ZfSVBWNl9ORF9UTEwgIE9YTV9IRUFERVIgICgweDgwMDAsIE9GUFhNVF9PRkJfSVBWNl9ORF9UTEwsIDYpCiIcIEZvciBPRlBYTVRfT0ZCX0lQVjZfTkRfVExMIDKcAiBUaGUgdGFyZ2V0IGxpbmstbGF5ZXIgYWRkcmVzcyBvcHRpb24gaW4gYW4gSVB2NiBOZWlnaGJvciBEaXNjb3ZlcnkKIG1lc3NhZ2UuCgogUHJlcmVxczoKICAgT1hNX09GX0VUSF9UWVBFIG11c3QgbWF0Y2ggMHg4NmRkIGV4YWN0bHkuCiAgIE9YTV9PRl9JUF9QUk9UTyBtdXN0IG1hdGNoIDU4IGV4YWN0bHkuCiAgIE9YTV9PRl9JQ01QVjZfVFlQRSBtdXN0IGJlIGV4YWN0bHkgMTM2LgoKIEZvcm1hdDogNDgtYml0IEV0aGVybmV0IE1BQyBhZGRyZXNzLgoKIE1hc2tpbmc6IE5vdCBtYXNrYWJsZS4gCg0KBQQNAiMFEgTPBggNCg0KBQQNAiMBEgTPBg4ZCg0KBQQNAiMDEgTPBhweCv4CCgQEDQIkEgTbBggfGkojZGVmaW5lIE9YTV9PRl9NUExTX0xBQkVMICBPWE1fSEVBREVSICAoMHg4MDAwLCBPRlBYTVRfT0ZCX01QTFNfTEFCRUwsIDQpCiIbIEZvciBPRlBYTVRfT0ZCX01QTFNfTEFCRUwgMoYCIFRoZSBMQUJFTCBpbiB0aGUgZmlyc3QgTVBMUyBzaGltIGhlYWRlci4KCiBQcmVyZXFzOgogICBPWE1fT0ZfRVRIX1RZUEUgbXVzdCBtYXRjaCAweDg4NDcgb3IgMHg4ODQ4IGV4YWN0bHkuCgogRm9ybWF0OiAzMi1iaXQgaW50ZWdlciBpbiBuZXR3b3JrIGJ5dGUgb3JkZXIgd2l0aCAxMiBtb3N0LXNpZ25pZmljYW50CiBiaXRzIGZvcmNlZCB0byAwLiBPbmx5IHRoZSBsb3dlciAyMCBiaXRzIGhhdmUgbWVhbmluZy4KCiBNYXNraW5nOiBOb3QgbWFza2FibGUuIAoNCgUEDQIkBRIE2wYIDgoNCgUEDQIkARIE2wYPGQoNCgUEDQIkAxIE2wYcHgrcAgoEBA0CJRIE5wYIHBpHI2RlZmluZSBPWE1fT0ZfTVBMU19UQyAgICAgT1hNX0hFQURFUiAgKDB4ODAwMCwgT0ZQWE1UX09GQl9NUExTX1RDLCAxKQoiGCBGb3IgT0ZQWE1UX09GQl9NUExTX1RDIDLqASBUaGUgVEMgaW4gdGhlIGZpcnN0IE1QTFMgc2hpbSBoZWFkZXIuCgogUHJlcmVxczoKICAgT1hNX09GX0VUSF9UWVBFIG11c3QgbWF0Y2ggMHg4ODQ3IG9yIDB4ODg0OCBleGFjdGx5LgoKIEZvcm1hdDogOC1iaXQgaW50ZWdlciB3aXRoIDUgbW9zdC1zaWduaWZpY2FudCBiaXRzIGZvcmNlZCB0byAwLgogT25seSB0aGUgbG93ZXIgMyBiaXRzIGhhdmUgbWVhbmluZy4KCiBNYXNraW5nOiBOb3QgbWFza2FibGUuIAoNCgUEDQIlBRIE5wYIDgoNCgUEDQIlARIE5wYPFgoNCgUEDQIlAxIE5wYZGwrkAgoEBA0CJhIE8wYIHRpJI2RlZmluZSBPWE1fT0ZfTVBMU19CT1MgICAgIE9YTV9IRUFERVIgICgweDgwMDAsIE9GUFhNVF9PRkJfTVBMU19CT1MsIDEpCiIZIEZvciBPRlBYTVRfT0ZCX01QTFNfQk9TIDLvASBUaGUgQm9TIGJpdCBpbiB0aGUgZmlyc3QgTVBMUyBzaGltIGhlYWRlci4KCiBQcmVyZXFzOgogICBPWE1fT0ZfRVRIX1RZUEUgbXVzdCBtYXRjaCAweDg4NDcgb3IgMHg4ODQ4IGV4YWN0bHkuCgogRm9ybWF0OiA4LWJpdCBpbnRlZ2VyIHdpdGggNyBtb3N0LXNpZ25pZmljYW50IGJpdHMgZm9yY2VkIHRvIDAuCiBPbmx5IHRoZSBsb3dlc3QgYml0IGhhdmUgYSBtZWFuaW5nLgoKIE1hc2tpbmc6IE5vdCBtYXNrYWJsZS4gCg0KBQQNAiYFEgTzBggOCg0KBQQNAiYBEgTzBg8XCg0KBQQNAiYDEgTzBhocCqoDCgQEDQInEgSCBwgdGo4BI2RlZmluZSBPWE1fT0ZfUEJCX0lTSUQgICBPWE1fSEVBREVSICAoMHg4MDAwLCBPRlBYTVRfT0ZCX1BCQl9JU0lELCAzKQojZGVmaW5lIE9YTV9PRl9QQkJfSVNJRF9XIE9YTV9IRUFERVJfVygweDgwMDAsIE9GUFhNVF9PRkJfUEJCX0lTSUQsIDMpCiIZIEZvciBPRlBYTVRfT0ZCX1BCQl9JU0lEIDLvASBJRUVFIDgwMi4xYWggSS1TSUQuCgogRm9yIGEgcGFja2V0IHdpdGggYSBQQkIgaGVhZGVyLCB0aGlzIGlzIHRoZSBJLVNJRCBmcm9tIHRoZQogb3V0ZXJtb3N0IHNlcnZpY2UgdGFnLgoKIFByZXJlcXM6CiAgIE9YTV9PRl9FVEhfVFlQRSBtdXN0IG1hdGNoIDB4ODhFNyBleGFjdGx5LgoKIEZvcm1hdDogMjQtYml0IGludGVnZXIgaW4gbmV0d29yayBieXRlIG9yZGVyLgoKIE1hc2tpbmc6IEFyYml0cmFyeSBtYXNrcy4gCg0KBQQNAicFEgSCBwgOCg0KBQQNAicBEgSCBw8XCg0KBQQNAicDEgSCBxocCrwGCgQEDQIoEgSWBwgeGpQBI2RlZmluZSBPWE1fT0ZfVFVOTkVMX0lEICAgIE9YTV9IRUFERVIgICgweDgwMDAsIE9GUFhNVF9PRkJfVFVOTkVMX0lELCA4KQojZGVmaW5lIE9YTV9PRl9UVU5ORUxfSURfVyAgT1hNX0hFQURFUl9XKDB4ODAwMCwgT0ZQWE1UX09GQl9UVU5ORUxfSUQsIDgpCiIaIEZvciBPRlBYTVRfT0ZCX1RVTk5FTF9JRCAy+gQgTG9naWNhbCBQb3J0IE1ldGFkYXRhLgoKIE1ldGFkYXRhIGFzc29jaWF0ZWQgd2l0aCBhIGxvZ2ljYWwgcG9ydC4KIElmIHRoZSBsb2dpY2FsIHBvcnQgcGVyZm9ybXMgZW5jYXBzdWxhdGlvbiBhbmQgZGVjYXBzdWxhdGlvbiwgdGhpcwogaXMgdGhlIGRlbXVsdGlwbGV4aW5nIGZpZWxkIGZyb20gdGhlIGVuY2Fwc3VsYXRpb24gaGVhZGVyLgogRm9yIGV4YW1wbGUsIGZvciBhIHBhY2tldCByZWNlaXZlZCB2aWEgR1JFIHR1bm5lbCBpbmNsdWRpbmcgYSAoMzItYml0KSBrZXksCiB0aGUga2V5IGlzIHN0b3JlZCBpbiB0aGUgbG93IDMyLWJpdHMgYW5kIHRoZSBoaWdoIGJpdHMgYXJlIHplcm9lZC4KIEZvciBhIE1QTFMgbG9naWNhbCBwb3J0LCB0aGUgbG93IDIwIGJpdHMgcmVwcmVzZW50IHRoZSBNUExTIExhYmVsLgogRm9yIGEgVnhMQU4gbG9naWNhbCBwb3J0LCB0aGUgbG93IDI0IGJpdHMgcmVwcmVzZW50IHRoZSBWTkkuCiBJZiB0aGUgcGFja2V0IGlzIG5vdCByZWNlaXZlZCB0aHJvdWdoIGEgbG9naWNhbCBwb3J0LCB0aGUgdmFsdWUgaXMgMC4KCiBQcmVyZXFzOiBOb25lLgoKIEZvcm1hdDogNjQtYml0IGludGVnZXIgaW4gbmV0d29yayBieXRlIG9yZGVyLgoKIE1hc2tpbmc6IEFyYml0cmFyeSBtYXNrcy4gCg0KBQQNAigFEgSWBwgOCg0KBQQNAigBEgSWBw8YCg0KBQQNAigDEgSWBxsdCqgDCgQEDQIpEgSjBwggGpoBI2RlZmluZSBPWE1fT0ZfSVBWNl9FWFRIRFIgICBPWE1fSEVBREVSICAoMHg4MDAwLCBPRlBYTVRfT0ZCX0lQVjZfRVhUSERSLCAyKQojZGVmaW5lIE9YTV9PRl9JUFY2X0VYVEhEUl9XIE9YTV9IRUFERVJfVygweDgwMDAsIE9GUFhNVF9PRkJfSVBWNl9FWFRIRFIsIDIpCiIcIEZvciBPRlBYTVRfT0ZCX0lQVjZfRVhUSERSIDLeASBUaGUgSVB2NiBFeHRlbnNpb24gSGVhZGVyIHBzZXVkby1maWVsZC4KCiBQcmVyZXFzOgogICBPWE1fT0ZfRVRIX1RZUEUgbXVz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BBIEqQ0EGRp8IFBvcnQgc3RhdGlzdGljcy4KIFRoZSByZXF1ZXN0IGJvZHkgaXMgc3RydWN0IG9mcF9wb3J0X3N0YXRzX3JlcXVlc3QuCiBUaGUgcmVwbHkgYm9keSBpcyBhbiBhcnJheSBvZiBzdHJ1Y3Qgb2ZwX3BvcnRfc3RhdHMuIAoNCgUFLgIEARIEqQ0EFAoNCgUFLgIEAhIEqQ0XGAqXAQoEBS4CBRIErg0EFBqIASBRdWV1ZSBzdGF0aXN0aWNzIGZvciBhIHBvcnQKIFRoZSByZXF1ZXN0IGJvZHkgaXMgc3RydWN0IG9mcF9xdWV1ZV9zdGF0c19yZXF1ZXN0LgogVGhlIHJlcGx5IGJvZHkgaXMgYW4gYXJyYXkgb2Ygc3RydWN0IG9mcF9xdWV1ZV9zdGF0cyAKDQoFBS4CBQESBK4NBA8KDQoFBS4CBQISBK4NEhMKkQEKBAUuAgYSBLMNBBQaggEgR3JvdXAgY291bnRlciBzdGF0aXN0aWNzLgogVGhlIHJlcXVlc3QgYm9keSBpcyBzdHJ1Y3Qgb2ZwX2dyb3VwX3N0YXRzX3JlcXVlc3QuCiBUaGUgcmVwbHkgaXMgYW4gYXJyYXkgb2Ygc3RydWN0IG9mcF9ncm91cF9zdGF0cy4gCg0KBQUuAgYBEgSzDQQPCg0KBQUuAgYCEgSzDRITCnQKBAUuAgcSBLgNBBkaZiBHcm91cCBkZXNjcmlwdGlvbi4KIFRoZSByZXF1ZXN0IGJvZHkgaXMgZW1wdHkuCiBUaGUgcmVwbHkgYm9keSBpcyBhbiBhcnJheSBvZiBzdHJ1Y3Qgb2ZwX2dyb3VwX2Rlc2MuIAoNCgUFLgIHARIEuA0EFAoNCgUFLgIHAhIEuA0XGAppCgQFLgIIEgS9DQQdGlsgR3JvdXAgZmVhdHVyZXMuCiBUaGUgcmVxdWVzdCBib2R5IGlzIGVtcHR5LgogVGhlIHJlcGx5IGJvZHkgaXMgc3RydWN0IG9mcF9ncm91cF9mZWF0dXJlcy4gCg0KBQUuAggBEgS9DQQYCg0KBQUuAggCEgS9DRscCpMBCgQFLgIJEgTCDQQUGoQBIE1ldGVyIHN0YXRpc3RpY3MuCiBUaGUgcmVxdWVzdCBib2R5IGlzIHN0cnVjdCBvZnBfbWV0ZXJfbXVsdGlwYXJ0X3JlcXVlc3RzLgogVGhlIHJlcGx5IGJvZHkgaXMgYW4gYXJyYXkgb2Ygc3RydWN0IG9mcF9tZXRlcl9zdGF0cy4gCg0KBQUuAgkBEgTCDQQPCg0KBQUuAgkCEgTCDRITCpcBCgQFLgIKEgTHDQQcGogBIE1ldGVyIGNvbmZpZ3VyYXRpb24uCiBUaGUgcmVxdWVzdCBib2R5IGlzIHN0cnVjdCBvZnBfbWV0ZXJfbXVsdGlwYXJ0X3JlcXVlc3RzLgogVGhlIHJlcGx5IGJvZHkgaXMgYW4gYXJyYXkgb2Ygc3RydWN0IG9mcF9tZXRlcl9jb25maWcuIAoNCgUFLgIKARIExw0EFgoNCgUFLgIKAhIExw0ZGwppCgQFLgILEgTMDQQeGlsgTWV0ZXIgZmVhdHVyZXMuCiBUaGUgcmVxdWVzdCBib2R5IGlzIGVtcHR5LgogVGhlIHJlcGx5IGJvZHkgaXMgc3RydWN0IG9mcF9tZXRlcl9mZWF0dXJlcy4gCg0KBQUuAgsBEgTMDQQYCg0KBQUuAgsCEgTMDRsdCrECCgQFLgIMEgTUDQQeGqICIFRhYmxlIGZlYXR1cmVzLgogVGhlIHJlcXVlc3QgYm9keSBpcyBlaXRoZXIgZW1wdHkgb3IgY29udGFpbnMgYW4gYXJyYXkgb2YKIHN0cnVjdCBvZnBfdGFibGVfZmVhdHVyZXMgY29udGFpbmluZyB0aGUgY29udHJvbGxlcidzCiBkZXNpcmVkIHZpZXcgb2YgdGhlIHN3aXRjaC4gSWYgdGhlIHN3aXRjaCBpcyB1bmFibGUgdG8KIHNldCB0aGUgc3BlY2lmaWVkIHZpZXcgYW4gZXJyb3IgaXMgcmV0dXJuZWQuCiBUaGUgcmVwbHkgYm9keSBpcyBhbiBhcnJheSBvZiBzdHJ1Y3Qgb2ZwX3RhYmxlX2ZlYXR1cmVzLiAKDQoFBS4CDAESBNQNBBgKDQoFBS4CDAISBNQNGx0KbQoEBS4CDRIE2Q0EGRpfIFBvcnQgZGVzY3JpcHRpb24uCiBUaGUgcmVxdWVzdCBib2R5IGlzIGVtcHR5LgogVGhlIHJlcGx5IGJvZHkgaXMgYW4gYXJyYXkgb2Ygc3RydWN0IG9mcF9wb3J0LiAKDQoFBS4CDQESBNkNBBMKDQoFBS4CDQISBNkNFhgKvgEKBAUuAg4S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Z2ljYWxQb3J0SWQSDgoCaWQYASABKAlSAmlkEhcKB3BvcnRfaWQYAiABKAlSBnBvcnRJZCLyAQoLTG9naWNhbFBvcnQSDgoCaWQYASABKAlSAmlkEjAKCG9mcF9wb3J0GAIgASgLMhUub3BlbmZsb3dfMTMub2ZwX3BvcnRSB29mcFBvcnQSGwoJZGV2aWNlX2lkGAMgASgJUghkZXZpY2VJZBIkCg5kZXZpY2VfcG9ydF9ubxgEIAEoDVIMZGV2aWNlUG9ydE5vEhsKCXJvb3RfcG9ydBgFIAEoCFIIcm9vdFBvcnQSQQoOb2ZwX3BvcnRfc3RhdHMYBiABKAsyGy5vcGVuZmxvd18xMy5vZnBfcG9ydF9zdGF0c1IMb2ZwUG9ydFN0YXRzIkEKDExvZ2ljYWxQb3J0cxIxCgVpdGVtcxgBIAMoCzIbLmxvZ2ljYWxfZGV2aWNlLkxvZ2ljYWxQb3J0UgVpdGVtcyLcAQoNTG9naWNhbERldmljZRIOCgJpZBgBIAEoCVICaWQSHwoLZGF0YXBhdGhfaWQYAiABKARSCmRhdGFwYXRoSWQSKQoEZGVzYxgDIAEoCzIVLm9wZW5mbG93XzEzLm9mcF9kZXNjUgRkZXNjEkkKD3N3aXRjaF9mZWF0dXJlcxgEIAEoCzIgLm9wZW5mbG93XzEzLm9mcF9zd2l0Y2hfZmVhdHVyZXNSDnN3aXRjaEZlYXR1cmVzEiQKDnJvb3RfZGV2aWNlX2lkGAUgASgJUgxyb290RGV2aWNlSWQiRQoOTG9naWNhbERldmljZXMSMwoFaXRlbXMYASADKAsyHS5sb2dpY2FsX2RldmljZS5Mb2dpY2FsRGV2aWNlUgVpdGVtc0JlCiJvcmcub3BlbmNvcmQudm9sdGhhLmxvZ2ljYWxfZGV2aWNlQg9PRkxvZ2ljYWxEZXZpY2VaLmdpdGh1Yi5jb20vb3BlbmNvcmQvdm9sdGhhLXByb3Rvcy92NS9nby92b2x0aGFKjgwKBhIEAAA0AQoICgEMEgMAABIKCAoBCBIDAgBFCgkKAggLEgMCAEUKCAoBCBIDAwA7CgkKAggBEgMDADsKCAoBCBIDBAAwCgkKAggIEgMEADAKCAoBAhIDBgAXCgkKAgMAEgMIACYKCQoCAwESAwkAKQoKCgIEABIECwARAQoKCgMEAAESAwsI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Y2VwdHNfZGlyZWN0X2xvZ2ljYWxfZmxvd3NfdXBkYXRlGAcgASgIUh9hY2NlcHRzRGlyZWN0TG9naWNhbEZsb3dzVXBkYXRlEiEKDGFkYXB0ZXJfdHlwZRgIIAEoCVILYWRhcHRlclR5cGUiNwoLRGV2aWNlVHlwZXMSKAoFaXRlbXMYASADKAsyEi5kZXZpY2UuRGV2aWNlVHlwZVIFaXRlbXMiwAEKCFBtQ29uZmlnEhIKBG5hbWUYASABKAlSBG5hbWUSKwoEdHlwZRgCIAEoDjIXLmRldmljZS5QbUNvbmZpZy5QbVR5cGVSBHR5cGUSGAoHZW5hYmxlZBgDIAEoCFIHZW5hYmxlZBIfCgtzYW1wbGVfZnJlcRgEIAEoDVIKc2FtcGxlRnJlcSI4CgZQbVR5cGUSCwoHQ09VTlRFUhAAEgkKBUdBVUdFEAESCQoFU1RBVEUQAhILCgdDT05URVhUEAMikwEKDVBtR3JvdXBDb25maWcSHQoKZ3JvdXBfbmFtZRgBIAEoCVIJZ3JvdXBOYW1lEh0KCmdyb3VwX2ZyZXEYAiABKA1SCWdyb3VwRnJlcRIYCgdlbmFibGVkGAMgASgIUgdlbmFibGVkEioKB21ldHJpY3MYBCADKAsyEC5kZXZpY2UuUG1Db25maWdSB21ldHJpY3Mi8wEKCVBtQ29uZmlncxIOCgJpZBgBIAEoCVICaWQSIQoMZGVmYXVsdF9mcmVxGAIgASgNUgtkZWZhdWx0RnJlcRIYCgdncm91cGVkGAMgASgIUgdncm91cGVkEiMKDWZyZXFfb3ZlcnJpZGUYBCABKAhSDGZyZXFPdmVycmlkZRItCgZncm91cHMYBSADKAsyFS5kZXZpY2UuUG1Hcm91cENvbmZpZ1IGZ3JvdXBzEioKB21ldHJpY3MYBiADKAsyEC5kZXZpY2UuUG1Db25maWdSB21ldHJpY3MSGQoIbWF4X3NrZXcYByABKA1SB21heFNrZXcijwIKBUltYWdlEhIKBG5hbWUYASABKAlSBG5hbWUSGAoHdmVyc2lvbhgCIAEoCVIHdmVyc2lvbhISCgRoYXNoGAMgASgNUgRoYXNoEikKEGluc3RhbGxfZGF0ZXRpbWUYBCABKAlSD2luc3RhbGxEYXRldGltZRIbCglpc19hY3RpdmUYBSABKAhSCGlzQWN0aXZlEiEKDGlzX2NvbW1pdHRlZBgGIAEoCFILaXNDb21taXR0ZWQSGQoIaXNfdmFsaWQYByABKAhSB2lzVmFsaWQSEAoDdXJsGAggASgJUgN1cmwSFgoGdmVuZG9yGAkgASgJUgZ2ZW5kb3ISFAoFY3JjMzIYCiABKA1SBWNyYzMyIucHCg1JbWFnZURvd25sb2FkEg4KAmlkGAEgASgJUgJpZBISCgRuYW1lGAIgASgJUgRuYW1lEhAKA3VybBgDIAEoCVIDdXJsEhAKA2NyYxgEIAEoDVIDY3JjEk8KDmRvd25sb2FkX3N0YXRlGAUgASgOMiguZGV2aWNlLkltYWdlRG93bmxvYWQuSW1hZ2VEb3dubG9hZFN0YXRlUg1kb3dubG9hZFN0YXRlEiMKDWltYWdlX3ZlcnNpb24YBiABKAlSDGltYWdlVmVyc2lvbhIpChBkb3dubG9hZGVkX2J5dGVzGAcgASgNUg9kb3dubG9hZGVkQnl0ZXMSSAoGcmVhc29uGAggASgOMjAuZGV2aWNlLkltYWdlRG93bmxvYWQuSW1hZ2VEb3dubG9hZEZhaWx1cmVSZWFzb25SBnJlYXNvbhInCg9hZGRpdGlvbmFsX2luZm8YCSABKAlSDmFkZGl0aW9uYWxJbmZvEh8KC3NhdmVfY29uZmlnGAogASgIUgpzYXZlQ29uZmlnEhsKCWxvY2FsX2RpchgLIAEoCVIIbG9jYWxEaXISSQoLaW1hZ2Vfc3RhdGUYDCABKA4yKC5kZXZpY2UuSW1hZ2VEb3dubG9hZC5JbWFnZUFjdGl2YXRlU3RhdGVSCmltYWdlU3RhdGUSGwoJZmlsZV9zaXplGA0gASgNUghmaWxlU2l6ZSK3AQoSSW1hZ2VEb3dubG9hZFN0YXRlEhQKEERPV05MT0FEX1VOS05PV04QABIWChJET1dOTE9BRF9TVUNDRUVERUQQARIWChJET1dOTE9BRF9SRVFVRVNURUQQAhIUChBET1dOTE9BRF9TVEFSVEVEEAMSEwoPRE9XTkxPQURfRkFJTEVEEAQSGAoURE9XTkxPQURfVU5TVVBQT1JURUQQBRIWChJET1dOTE9BRF9DQU5DRUxMRUQQBiKGAQoaSW1hZ2VEb3dubG9hZEZhaWx1cmVSZWFzb24SDAoITk9fRVJST1IQABIPCgtJTlZBTElEX1VSTBABEg8KC0RFVklDRV9CVVNZEAISFgoSSU5TVUZGSUNJRU5UX1NQQUNFEAMSEQoNVU5LTk9XTl9FUlJPUhAEEg0KCUNBTkNFTExFRBAFIowBChJJbWFnZUFjdGl2YXRlU3RhdGUSEQoNSU1BR0VfVU5LTk9XThAAEhIKDklNQUdFX0lOQUNUSVZFEAESFAoQSU1BR0VfQUNUSVZBVElORxACEhAKDElNQUdFX0FDVElWRRADEhMKD0lNQUdFX1JFVkVSVElORxAEEhIKDklNQUdFX1JFVkVSVEVEEAU6AhgBIkEKDkltYWdlRG93bmxvYWRzEisKBWl0ZW1zGAIgAygLMhUuZGV2aWNlLkltYWdlRG93bmxvYWRSBWl0ZW1zOgIYASItCgZJbWFnZXMSIwoFaW1hZ2UYASADKAsyDS5kZXZpY2UuSW1hZ2VSBWltYWdlIrABCghPbnVJbWFnZRIYCgd2ZXJzaW9uGAEgASgJUgd2ZXJzaW9uEh4KCmlzQ29tbWl0ZWQYAiABKAhSCmlzQ29tbWl0ZWQSGgoIaXNBY3RpdmUYAyABKAhSCGlzQWN0aXZlEhgKB2lzVmFsaWQYBCABKAhSB2lzVmFsaWQSIAoLcHJvZHVjdENvZGUYBSABKAlSC3Byb2R1Y3RDb2RlEhIKBGhhc2gYBiABKAlSBGhhc2giMwoJT251SW1hZ2VzEiYKBWl0ZW1zGAEgAygLMhAuZGV2aWNlLk9udUltYWdlUgVpdGVtcyJjChBEZXZpY2VJbWFnZVN0YXRlEhsKCWRldmljZV9pZBgBIAEoCVIIZGV2aWNlSWQSMgoKaW1hZ2VTdGF0ZRgCIAEoCzISLmRldmljZS5JbWFnZVN0YXRlUgppbWFnZVN0YXRlIuMHCgpJbWFnZVN0YXRlEhgKB3ZlcnNpb24YASABKAlSB3ZlcnNpb24STAoOZG93bmxvYWRfc3RhdGUYAiABKA4yJS5kZXZpY2UuSW1hZ2VTdGF0ZS5JbWFnZURvd25sb2FkU3RhdGVSDWRvd25sb2FkU3RhdGUSPQoGcmVhc29uGAMgASgOMiUuZGV2aWNlLkltYWdlU3RhdGUuSW1hZ2VGYWlsdXJlUmVhc29uUgZyZWFzb24SSAoLaW1hZ2Vfc3RhdGUYBCABKA4yJy5kZXZpY2UuSW1hZ2VTdGF0ZS5JbWFnZUFjdGl2YXRpb25TdGF0ZVIKaW1hZ2VTdGF0ZSLQAQoSSW1hZ2VEb3dubG9hZFN0YXRlEhQKEERPV05MT0FEX1VOS05PV04QABIWChJET1dOTE9BRF9TVUNDRUVERUQQARIWChJET1dOTE9BRF9SRVFVRVNURUQQAhIUChBET1dOTE9BRF9TVEFSVEVEEAMSEwoPRE9XTkxPQURfRkFJTEVEEAQSGAoURE9XTkxPQURfVU5TVVBQT1JURUQQBRIXChNET1dOTE9BRF9DQU5DRUxMSU5HEAYSFgoSRE9XTkxPQURfQ0FOQ0VMTEVEEAci9AEKEkltYWdlRmFpbHVyZVJlYXNvbhIMCghOT19FUlJPUhAAEg8KC0lOVkFMSURfVVJMEAESDwoLREVWSUNFX0JVU1kQAhIWChJJTlNVRkZJQ0lFTlRfU1BBQ0UQAxIRCg1VTktOT1dOX0VSUk9SEAQSGAoUQ0FOQ0VMTEVEX09OX1JFUVVFU1QQBRIaChZDQU5DRUxMRURfT05fT05VX1NUQVRFEAYSGgoWVkVORE9SX0RFVklDRV9NSVNNQVRDSBAHEhcKE09NQ0lfVFJBTlNGRVJfRVJST1IQCBIYChRJTUFHRV9SRUZVU0VEX0JZX09OVRAJIpkCChRJbWFnZUFjdGl2YXRpb25TdGF0ZRIRCg1JTUFHRV9VTktOT1dOEAASEgoOSU1BR0VfSU5BQ1RJVkUQARIUChBJTUFHRV9BQ1RJVkFUSU5HEAISEAoMSU1BR0VfQUNUSVZFEAMSFAoQSU1BR0VfQ09NTUlUVElORxAEEhMKD0lNQUdFX0NPTU1JVFRFRBAFEh0KGUlNQUdFX0FDVElWQVRJT05fQUJPUlRJTkcQBhIcChhJTUFHRV9BQ1RJVkFUSU9OX0FCT1JURUQQBxIZChVJTUFHRV9DT01NSVRfQUJPUlRJTkcQCBIYChRJTUFHRV9DT01NSVRfQUJPUlRFRBAJEhUKEUlNQUdFX0RPV05MT0FESU5HEAoitwUKBFBvcnQSFwoHcG9ydF9ubxgBIAEoDVIGcG9ydE5vEhQKBWxhYmVsGAIgASgJUgVsYWJlbBIpCgR0eXBlGAMgASgOMhUuZGV2aWNlLlBvcnQuUG9ydFR5cGVSBHR5cGUSOQoLYWRtaW5fc3RhdGUYBSABKA4yGC5jb21tb24uQWRtaW5TdGF0ZS5UeXBlc1IKYWRtaW5TdGF0ZRI5CgtvcGVyX3N0YXR1cxgGIAEoDjIYLmNvbW1vbi5PcGVyU3RhdHVzLlR5cGVzUgpvcGVyU3RhdHVzEhsKCWRldmljZV9pZBgHIAEoCVIIZGV2aWNlSWQSKwoFcGVlcnMYCCADKAsyFS5kZXZpY2UuUG9ydC5QZWVyUG9ydFIFcGVlcnMSHQoKcnhfcGFja2V0cxgJIAEoBlIJcnhQYWNrZXRzEhkKCHJ4X2J5dGVzGAogASgGUgdyeEJ5dGVzEhsKCXJ4X2Vycm9ycxgLIAEoBlIIcnhFcnJvcnMSHQoKdHhfcGFja2V0cxgMIAEoBlIJdHhQYWNrZXRzEhkKCHR4X2J5dGVzGA0gASgGUgd0eEJ5dGVzEhsKCXR4X2Vycm9ycxgOIAEoBlIIdHhFcnJvcnMSMAoIb2ZwX3BvcnQYDyABKAsyFS5vcGVuZmxvd18xMy5vZnBfcG9ydFIHb2ZwUG9ydBpACghQZWVyUG9ydBIbCglkZXZpY2VfaWQYASABKAlSCGRldmljZUlkEhcKB3BvcnRfbm8YAiABKA1SBnBvcnRObyJzCghQb3J0VHlwZRILCgdVTktOT1dOEAASEAoMRVRIRVJORVRfTk5JEAESEAoMRVRIRVJORVRfVU5JEAISCwoHUE9OX09MVBADEgsKB1BPTl9PTlUQBBINCglWRU5FVF9PTFQQBRINCglWRU5FVF9PTlUQBiIrCgVQb3J0cxIiCgVpdGVtcxgBIAMoCzIMLmRldmljZS5Qb3J0UgVpdGVtcyLYCgoGRGV2aWNlEg4KAmlkGAEgASgJUgJpZBISCgR0eXBlGAIgASgJUgR0eXBlEhIKBHJvb3QYAyABKAhSBHJvb3QSGwoJcGFyZW50X2lkGAQgASgJUghwYXJlbnRJZBIkCg5wYXJlbnRfcG9ydF9ubxgUIAEoDVIMcGFyZW50UG9ydE5vEhYKBnZlbmRvchgFIAEoCVIGdmVuZG9yEhQKBW1vZGVsGAYgASgJUgVtb2RlbBIpChBoYXJkd2FyZV92ZXJzaW9uGAcgASgJUg9oYXJkd2FyZVZlcnNpb24SKQoQZmlybXdhcmVfdmVyc2lvbhgIIAEoCVIPZmlybXdhcmVWZXJzaW9uEiYKBmltYWdlcxgJIAEoCzIOLmRldmljZS5JbWFnZXNSBmltYWdlcxIjCg1zZXJpYWxfbnVtYmVyGAogASgJUgxzZXJpYWxOdW1iZXISGwoJdmVuZG9yX2lkGBggASgJUgh2ZW5kb3JJZBIpChBhZGFwdGVyX2VuZHBvaW50GBkgASgJUg9hZGFwdGVyRW5kcG9pbnQSEgoEdmxhbhgMIAEoDVIEdmxhbhIfCgttYWNfYWRkcmVzcxgNIAEoCVIKbWFjQWRkcmVzcxIjCgxpcHY0X2FkZHJlc3MYDiABKAlIAFILaXB2NEFkZHJlc3MSIwoMaXB2Nl9hZGRyZXNzGA8gASgJSABSC2lwdjZBZGRyZXNzEiQKDWhvc3RfYW5kX3BvcnQYFSABKAlIAFILaG9zdEFuZFBvcnQSHQoKZXh0cmFfYXJncxgXIAEoCVIJZXh0cmFBcmdzEkAKDXByb3h5X2FkZHJlc3MYEyABKAsyGy5kZXZpY2UuRGV2aWNlLlByb3h5QWRkcmVzc1IMcHJveHlBZGRyZXNzEjkKC2FkbWluX3N0YXRlGBAgASgOMhguY29tbW9uLkFkbWluU3RhdGUuVHlwZXNSCmFkbWluU3RhdGUSOQoLb3Blcl9zdGF0dXMYESABKA4yGC5jb21tb24uT3BlclN0YXR1cy5UeXBlc1IKb3BlclN0YXR1cxIWCgZyZWFzb24YFiABKAlSBnJlYXNvbhJCCg5jb25uZWN0X3N0YXR1cxgSIAEoDjIbLmNvbW1vbi5Db25uZWN0U3RhdHVzLlR5cGVzUg1jb25uZWN0U3RhdHVzEiwKBmN1c3RvbRhAIAEoCzIULmdvb2dsZS5wcm90b2J1Zi5BbnlSBmN1c3RvbRIxCgpwbV9jb25maWdzGIMBIAEoCzIRLmRldmljZS5QbUNvbmZpZ3NSCXBtQ29uZmlncxI/Cg9pbWFnZV9kb3dubG9hZHMYhQEgAygLMhUuZGV2aWNlLkltYWdlRG93bmxvYWRSDmltYWdlRG93bmxvYWRzGq4CCgxQcm94eUFkZHJlc3MSGwoJZGV2aWNlX2lkGAEgASgJUghkZXZpY2VJZBIfCgtkZXZpY2VfdHlwZRgCIAEoCVIKZGV2aWNlVHlwZRIdCgpjaGFubmVsX2lkGAMgASgNUgljaGFubmVsSWQSKAoQY2hhbm5lbF9ncm91cF9pZBgEIAEoDVIOY2hhbm5lbEdyb3VwSWQSLwoTY2hhbm5lbF90ZXJtaW5hdGlvbhgFIAEoCVISY2hhbm5lbFRlcm1pbmF0aW9uEhUKBm9udV9pZBgGIAEoDVIFb251SWQSJAoOb251X3Nlc3Npb25faWQYByABKA1SDG9udVNlc3Npb25JZBIpChBhZGFwdGVyX2VuZHBvaW50GAggASgJUg9hZGFwdGVyRW5kcG9pbnRCCQoHYWRkcmVzc0oECAsQDCLCAQoaRGV2aWNlSW1hZ2VEb3dubG9hZFJlcXVlc3QSJwoJZGV2aWNlX2lkGAEgAygLMgouY29tbW9uLklEUghkZXZpY2VJZBIjCgVpbWFnZRgCIAEoCzINLmRldmljZS5JbWFnZVIFaW1hZ2USLAoRYWN0aXZhdGVPblN1Y2Nlc3MYAyABKAhSEWFjdGl2YXRlT25TdWNjZXNzEigKD2NvbW1pdE9uU3VjY2VzcxgEIAEoCFIPY29tbWl0T25TdWNjZXNzIoEBChJEZXZpY2VJbWFnZVJlcXVlc3QSJwoJZGV2aWNlX2lkGAEgAygLMgouY29tbW9uLklEUghkZXZpY2VJZBIYCgd2ZXJzaW9uGAIgASgJUgd2ZXJzaW9uEigKD2NvbW1pdE9uU3VjY2VzcxgDIAEoCFIPY29tbWl0T25TdWNjZXNzIl8KE0RldmljZUltYWdlUmVzcG9uc2USSAoTZGV2aWNlX2ltYWdlX3N0YXRlcxgBIAMoCzIYLmRldmljZS5EZXZpY2VJbWFnZVN0YXRlUhFkZXZpY2VJbWFnZVN0YXRlcyKlAQoQU2VsZlRlc3RSZXNwb25zZRI/CgZyZXN1bHQYASABKA4yJy5kZXZpY2UuU2VsZlRlc3RSZXNwb25zZS5TZWxmVGVzdFJlc3VsdFIGcmVzdWx0IlAKDlNlbGZUZXN0UmVzdWx0EgsKB1NVQ0NFU1MQABILCgdGQUlMVVJFEAESEQoNTk9UX1NVUFBPUlRFRBACEhEKDVVOS05PV05fRVJST1IQAyIvCgdEZXZpY2VzEiQKBWl0ZW1zGAEgAygLMg4uZGV2aWNlLkRldmljZVIFaXRlbXMiqAMKFFNpbXVsYXRlQWxhcm1SZXF1ZXN0Eg4KAmlkGAEgASgJUgJpZBIcCglpbmRpY2F0b3IYAiABKAlSCWluZGlj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aWVkIE9NQ0kgdmVyc2lvbgogbXVzdCBiZSBrbm93biBhdCB0aGUgdGltZSBvZiBpbml0aWF0aW5nIGEgZG93bmxvYWQsIGFjdGl2YXRlLCBjb21taXQgaW1hZ2Ugb24gYW4gb251LgoKDQoFBAUCAQQSBFMETxQKDAoFBAUCAQUSA1MECgoMCgUEBQIBARIDUwsSCgwKBQQFAgEDEgNTFRYKYgoEBAUCAhIDVwQUGlUgaGFzaCBvZiB0aGUgaW1hZ2UgdG8gYmUgdmVyaWZpZWQgYWdhaW5zdAogRGVwcmVjYXRlZCBpbiB2b2x0aGEgMi44LCB3aWxsIGJlIHJlbW92ZWQKCg0KBQQFAgIEEgRXBFMXCgwKBQQFAgIFEgNXBAoKDAoFBAUCAgESA1cLDwoMCgUEBQICAxIDVxITCmQKBAQFAgMSA1oEIBorIERlcHJlY2F0ZWQgaW4gdm9sdGhhIDIuOCwgd2lsbCBiZSByZW1vdmVkCiIqIGNvbWJpbmVkIGRhdGUgYW5kIHRpbWUgZXhwcmVzc2VkIGluIFVUQy4KCg0KBQQFAgMEEgRaBFcUCgwKBQQFAgMFEgNaBAoKDAoFBAUCAwESA1oLGwoMCgUEBQIDAxIDWh4fCpgDCgQEBQIEEgNiBBcawgIgVGhlIGFjdGl2ZSBzb2Z0d2FyZSBpbWFnZSBpcyBvbmUgdGhhdCBpcyBjdXJyZW50bHkgbG9hZGVkIGFuZCBleGVjdXRpbmcKIGluIHRoZSBPTlUgb3IgY2lyY3VpdCBwYWNrLiBVbmRlciBub3JtYWwgb3BlcmF0aW9uLCBvbmUgc29mdHdhcmUgaW1hZ2UKIGlzIGFsd2F5cyBhY3RpdmUgd2hpbGUgdGhlIG90aGVyIGlzIGluYWN0aXZlLiBVbmRlciBubyBjaXJjdW1zdGFuY2VzIGFyZQogYm90aCBzb2Z0d2FyZSBpbWFnZXMgYWxsb3dlZCB0byBiZSBhY3RpdmUgYXQgdGhlIHNhbWUgdGltZQogRGVwcmVjYXRlZCBpbiB2b2x0aGEgMi44LCB3aWxsIGJlIHJlbW92ZWQKIh0gVHJ1ZSBpZiB0aGUgaW1hZ2UgaXMgYWN0aXZlCjInIHVzZSBJU08gODYwMSBmb3JtYXQgZm9yIGRhdGUgYW5kIHRpbWUKCg0KBQQFAgQEEgRi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aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZQogbWV0OgoKICAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CiBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCiAgICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlCiBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyCiBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlCiBkaXN0cmlidXRpb24uCiAgICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9mIEdvb2dsZSBJbmMuIG5vciB0aGUgbmFtZXMgb2YgaXRzCiBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8gZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbQogdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4KCiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTCiAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVAogTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SCiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVAogT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsCiBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UCiBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwKIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWQogVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgoKCAoBAhIDIAAYCggKAQgSAyIAOwoJCgIIJRIDIgA7CggKAQgSAyMAHwoJCgIIHxIDIwAfCggKAQgSAyQAQgoJCgIICxIDJABCCggKAQgSAyUALAoJCgIIARIDJQAsCggKAQgSAyYALwoJCgIICBIDJgAvCggKAQgSAycAIgoJCgIIChIDJwAiCggKAQgSAygAIQoJCgIIJBIDKAAhCvEbCgIEABIFfACIAQEa4xsgQSBUaW1lc3RhbXAgcmVwcmVzZW50cyBhIHBvaW50IGluIHRpbWUgaW5kZXBlbmRlbnQgb2YgYW55IHRpbWUgem9uZSBvciBsb2NhbAogY2FsZW5kYXIsIGVuY29kZWQgYXMgYSBjb3VudCBvZiBzZWNvbmRzIGFuZCBmcmFjdGlvbnMgb2Ygc2Vjb25kcyBhdAogbmFub3NlY29uZCByZXNvbHV0aW9uLiBUaGUgY291bnQgaXMgcmVsYXRpdmUgdG8gYW4gZXBvY2ggYXQgVVRDIG1pZG5pZ2h0IG9uCiBKYW51YXJ5IDEsIDE5NzAsIGluIHRoZSBwcm9sZXB0aWMgR3JlZ29yaWFuIGNhbGVuZGFyIHdoaWNoIGV4dGVuZHMgdGhlCiBHcmVnb3JpYW4gY2FsZW5kYXIgYmFja3dhcmRzIHRvIHllYXIgb25lLgoKIEFsbCBtaW51dGVzIGFyZSA2MCBzZWNvbmRzIGxvbmcuIExlYXAgc2Vjb25kcyBhcmUgInNtZWFyZWQiIHNvIHRoYXQgbm8gbGVhcAogc2Vjb25kIHRhYmxlIGlzIG5lZWRlZCBmb3IgaW50ZXJwcmV0YXRpb24sIHVzaW5nIGEgWzI0LWhvdXIgbGluZWFyCiBzbWVhcl0oaHR0cHM6Ly9kZXZlbG9wZXJzLmdvb2dsZS5jb20vdGltZS9zbWVhcikuCgogVGhlIHJhbmdlIGlzIGZyb20gMDAwMS0wMS0wMVQwMDowMDowMFogdG8gOTk5OS0xMi0zMVQyMzo1OTo1OS45OTk5OTk5OTlaLiBCeQogcmVzdHJpY3RpbmcgdG8gdGhhdCByYW5nZSwgd2UgZW5zdXJlIHRoYXQgd2UgY2FuIGNvbnZlcnQgdG8gYW5kIGZyb20gW1JGQwogMzMzOV0oaHR0cHM6Ly93d3cuaWV0Zi5vcmcvcmZjL3JmYzMzMzkudHh0KSBkYXRlIHN0cmluZ3MuCgogIyBFeGFtcGxlcwoKIEV4YW1wbGUgMTogQ29tcHV0ZSBUaW1lc3RhbXAgZnJvbSBQT1NJWCBgdGltZSgpYC4KCiAgICAgVGltZXN0YW1wIHRpbWVzdGFtcDsKICAgICB0aW1lc3RhbXAuc2V0X3NlY29uZHModGltZShOVUxMKSk7CiAgICAgdGltZXN0YW1wLnNldF9uYW5vcygwKTsKCiBFeGFtcGxlIDI6IENvbXB1dGUgVGltZXN0YW1wIGZyb20gUE9TSVggYGdldHRpbWVvZmRheSgpYC4KCiAgICAgc3RydWN0IHRpbWV2YWwgdHY7CiAgICAgZ2V0dGltZW9mZGF5KCZ0diwgTlVMTCk7CgogICAgIFRpbWVzdGFtcCB0aW1lc3RhbXA7CiAgICAgdGltZXN0YW1wLnNldF9zZWNvbmRzKHR2LnR2X3NlYyk7CiAgICAgdGltZXN0YW1wLnNldF9uYW5vcyh0di50dl91c2VjICogMTAwMCk7CgogRXhhbXBsZSAzOiBDb21wdXRlIFRpbWVzdGFtcCBmcm9tIFdpbjMyIGBHZXRTeXN0ZW1UaW1lQXNGaWxlVGltZSgpYC4KCiAgICAgRklMRVRJTUUgZnQ7CiAgICAgR2V0U3lzdGVtVGltZUFzRmlsZVRpbWUoJmZ0KTsKICAgICBVSU5UNjQgdGlja3MgPSAoKChVSU5UNjQpZnQuZHdIaWdoRGF0ZVRpbWUpIDw8IDMyKSB8IGZ0LmR3TG93RGF0ZVRpbWU7CgogICAgIC8vIEEgV2luZG93cyB0aWNrIGlzIDEwMCBuYW5vc2Vjb25kcy4gV2luZG93cyBlcG9jaCAxNjAxLTAxLTAxVDAwOjAwOjAwWgogICAgIC8vIGlzIDExNjQ0NDczNjAwIHNlY29uZHMgYmVmb3JlIFVuaXggZXBvY2ggMTk3MC0wMS0wMVQwMDowMDowMFouCiAgICAgVGltZXN0YW1wIHRpbWVzdGFtcDsKICAgICB0aW1lc3RhbXAuc2V0X3NlY29uZHMoKElOVDY0KSAoKHRpY2tzIC8gMTAwMDAwMDApIC0gMTE2NDQ0NzM2MDBMTCkpOwogICAgIHRpbWVzdGFtcC5zZXRfbmFub3MoKElOVDMyKSAoKHRpY2tzICUgMTAwMDAwMDApICogMTAwKSk7CgogRXhhbXBsZSA0OiBDb21wdXRlIFRpbWVzdGFtcCBmcm9tIEphdmEgYFN5c3RlbS5jdXJyZW50VGltZU1pbGxpcygpYC4KCiAgICAgbG9uZyBtaWxsaXMgPSBTeXN0ZW0uY3VycmVudFRpbWVNaWxsaXMoKTsKCiAgICAgVGltZXN0YW1wIHRpbWVzdGFtcCA9IFRpbWVzdGFtcC5uZXdCdWlsZGVyKCkuc2V0U2Vjb25kcyhtaWxsaXMgLyAxMDAwKQogICAgICAgICAuc2V0TmFub3MoKGludCkgKChtaWxsaXMgJSAxMDAwKSAqIDEwMDAwMDApKS5idWlsZCgpOwoKCiBFeGFtcGxlIDU6IENvbXB1dGUgVGltZXN0YW1wIGZyb20gY3VycmVudCB0aW1lIGluIFB5dGhvbi4KCiAgICAgdGltZXN0YW1wID0gVGltZXN0YW1wKCkKICAgICB0aW1lc3RhbXAuR2V0Q3VycmVudFRpbWUoKQoKICMgSlNPTiBNYXBwaW5nCgogSW4gSlNPTiBmb3JtYXQsIHRoZSBUaW1lc3RhbXAgdHlwZSBpcyBlbmNvZGVkIGFzIGEgc3RyaW5nIGluIHRoZQogW1JGQyAzMzM5XShodHRwczovL3d3dy5pZXRmLm9yZy9yZmMvcmZjMzMzOS50eHQpIGZvcm1hdC4gVGhhdCBpcywgdGhlCiBmb3JtYXQgaXMgInt5ZWFyfS17bW9udGh9LXtkYXl9VHtob3VyfTp7bWlufTp7c2VjfVsue2ZyYWNfc2VjfV1aIgogd2hlcmUge3llYXJ9IGlzIGFsd2F5cyBleHByZXNzZWQgdXNpbmcgZm91ciBkaWdpdHMgd2hpbGUge21vbnRofSwge2RheX0sCiB7aG91cn0sIHttaW59LCBhbmQge3NlY30gYXJlIHplcm8tcGFkZGVkIHRvIHR3byBkaWdpdHMgZWFjaC4gVGhlIGZyYWN0aW9uYWwKIHNlY29uZHMsIHdoaWNoIGNhbiBnbyB1cCB0byA5IGRpZ2l0cyAoaS5lLiB1cCB0byAxIG5hbm9zZWNvbmQgcmVzb2x1dGlvbiksCiBhcmUgb3B0aW9uYWwuIFRoZSAiWiIgc3VmZml4IGluZGljYXRlcyB0aGUgdGltZXpvbmUgKCJVVEMiKTsgdGhlIHRpbWV6b25lCiBpcyByZXF1aXJlZC4gQSBwcm90bzMgSlNPTiBzZXJpYWxpemVyIHNob3VsZCBhbHdheXMgdXNlIFVUQyAoYXMgaW5kaWNhdGVkIGJ5CiAiWiIpIHdoZW4gcHJpbnRpbmcgdGhlIFRpbWVzdGFtcCB0eXBlIGFuZCBhIHByb3RvMyBKU09OIHBhcnNlciBzaG91bGQgYmUKIGFibGUgdG8gYWNjZXB0IGJvdGggVVRDIGFuZCBvdGhlciB0aW1lem9uZXMgKGFzIGluZGljYXRlZCBieSBhbiBvZmZzZXQpLgoKIEZvciBleGFtcGxlLCAiMjAxNy0wMS0xNVQwMTozMDoxNS4wMVoiIGVuY29kZXMgMTUuMDEgc2Vjb25kcyBwYXN0CiAwMTozMCBVVEMgb24gSmFudWFyeSAxNSwgMjAxNy4KCiBJbiBKYXZhU2NyaXB0LCBvbmUgY2FuIGNvbnZlcnQgYSBEYXRlIG9iamVjdCB0byB0aGlzIGZvcm1hdCB1c2luZyB0aGUKIHN0YW5kYXJkIFt0b0lTT1N0cmluZygpXShodHRwczovL2RldmVsb3Blci5tb3ppbGxhLm9yZy9lbi1VUy9kb2NzL1dlYi9KYXZhU2NyaXB0L1JlZmVyZW5jZS9HbG9iYWxfT2JqZWN0cy9EYXRlL3RvSVNPU3RyaW5nKQogbWV0aG9kLiBJbiBQeXRob24sIGEgc3RhbmRhcmQgYGRhdGV0aW1lLmRhdGV0aW1lYCBvYmplY3QgY2FuIGJlIGNvbnZlcnRlZAogdG8gdGhpcyBmb3JtYXQgdXNpbmcgW2BzdHJmdGltZWBdKGh0dHBzOi8vZG9jcy5weXRob24ub3JnLzIvbGlicmFyeS90aW1lLmh0bWwjdGltZS5zdHJmdGltZSkKIHdpdGggdGhlIHRpbWUgZm9ybWF0IHNwZWMgJyVZLSVtLSVkVCVIOiVNOiVTLiVmWicuIExpa2V3aXNlLCBpbiBKYXZhLCBvbmUKIGNhbiB1c2UgdGhlIEpvZGEgVGltZSdzIFtgSVNPRGF0ZVRpbWVGb3JtYXQuZGF0ZVRpbWUoKWBdKAogaHR0cDovL3d3dy5qb2RhLm9yZy9qb2RhLXRpbWUvYXBpZG9jcy9vcmcvam9kYS90aW1lL2Zvcm1hdC9JU09EYXRlVGltZUZvcm1hdC5odG1sI2RhdGVUaW1lJTJEJTJECiApIHRvIG9idGFpbiBhIGZvcm1hdHRlciBjYXBhYmxlIG9mIGdlbmVyYXRpbmcgdGltZXN0YW1wcyBpbiB0aGlzIGZvcm1hdC4KCgoKCgoDBAABEgN8CBEKnQEKBAQAAgASBIEBAhQajgEgUmVwcmVzZW50cyBzZWNvbmRzIG9mIFVUQyB0aW1lIHNpbmNlIFVuaXggZXBvY2gKIDE5NzAtMDEtMDFUMDA6MDA6MDBaLiBNdXN0IGJlIGZyb20gMDAwMS0wMS0wMVQwMDowMDowMFogdG8KIDk5OTktMTItMzFUMjM6NTk6NTlaIGluY2x1c2l2ZS4KCg4KBQQAAgAEEgWBAQJ8EwoNCgUEAAIABRIEgQECBwoNCgUEAAIAARIEgQEIDwoNCgUEAAIAAxIEgQESEwrlAQoEBAACARIEhwECEhrWASBOb24tbmVnYXRpdmUgZnJhY3Rpb25zIG9mIGEgc2Vjb25kIGF0IG5hbm9zZWNvbmQgcmVzb2x1dGlvbi4gTmVnYXRpdmUKIHNlY29uZCB2YWx1ZXMgd2l0aCBmcmFjdGlvbnMgbXVzdCBzdGlsbCBoYXZlIG5vbi1uZWdhdGl2ZSBuYW5vcyB2YWx1ZXMKIHRoYXQgY291bnQgZm9yd2FyZCBpbiB0aW1lLiBNdXN0IGJlIGZyb20gMCB0byA5OTksOTk5LDk5OQogaW5jbHVzaXZlLgoKDwoFBAACAQQSBocBAoEBFAoNCgUEAAIBBRIEhwECBwoNCgUEAAIBARIEhwEIDQoNCgUEAAIBAxIEhwEQEWIGcHJvdG8zCqVoChp2b2x0aGFfcHJvdG9zL2V2ZW50cy5wcm90bxIFZXZlbnQaHGdvb2dsZS9hcGkvYW5ub3RhdGlvbnMucHJvdG8aH2dvb2dsZS9wcm90b2J1Zi90aW1lc3RhbXAucHJvdG8aGnZvbHRoYV9wcm90b3MvY29tbW9uLnByb3RvIp4BChJFdmVudEZpbHRlclJ1bGVLZXkihwEKE0V2ZW50RmlsdGVyUnVsZVR5cGUSDgoKZmlsdGVyX2FsbBAAEgwKCGNhdGVnb3J5EAESEAoMc3ViX2NhdGVnb3J5EAISEgoOa3BpX2V2ZW50X3R5cGUQAxIVChFjb25maWdfZXZlbnRfdHlwZRAEEhUKEWRldmljZV9ldmVudF90eXBlEAUiaAoPRXZlbnRGaWx0ZXJSdWxlEj8KA2tleRgBIAEoDjItLmV2ZW50LkV2ZW50RmlsdGVyUnVsZUtleS5FdmVudEZpbHRlclJ1bGVUeXBlUgNrZXkSFAoFdmFsdWUYAiABKAlSBXZhbHVlIp8BCgtFdmVudEZpbHRlchIOCgJpZBgBIAEoCVICaWQSFgoGZW5hYmxlGAIgASgIUgZlbmFibGUSGwoJZGV2aWNlX2lkGAMgASgJUghkZXZpY2VJZBIdCgpldmVudF90eXBlGAQgASgJUglldmVudFR5cGUSLAoFcnVsZXMYBSADKAsyFi5ldmVudC5FdmVudEZpbHRlclJ1bGVSBXJ1bGVzIjwKDEV2ZW50RmlsdGVycxIsCgdmaWx0ZXJzGAEgAygLMhIuZXZlbnQuRXZlbnRGaWx0ZXJSB2ZpbHRlcnMiOwoPQ29uZmlnRXZlbnRUeXBlIigKBVR5cGVzEgcKA2FkZBAAEgoKBnJlbW92ZRABEgoKBnVwZGF0ZRACImcKC0NvbmZpZ0V2ZW50EjAKBHR5cGUYASABKA4yHC5ldmVudC5Db25maWdFdmVudFR5cGUuVHlwZXNSBHR5cGUSEgoEaGFzaBgCIAEoCVIEaGFzaBISCgRkYXRhGAMgASgJUgRkYXRhIioKDEtwaUV2ZW50VHlwZSIaCgVUeXBlcxIJCgVzbGljZRAAEgYKAnRzEAEiqgIKDk1ldHJpY01ldGFEYXRhEhQKBXRpdGxlGAEgASgJUgV0aXRsZRIOCgJ0cxgCIAEoAVICdHMSKgoRbG9naWNhbF9kZXZpY2VfaWQYAyABKAlSD2xvZ2ljYWxEZXZpY2VJZBIbCglzZXJpYWxfbm8YBCABKAlSCHNlcmlhbE5vEhsKCWRldmljZV9pZBgFIAEoCVIIZGV2aWNlSWQSPAoHY29udGV4dBgGIAMoCzIiLmV2ZW50Lk1ldHJpY01ldGFEYXRhLkNvbnRleHRFbnRyeVIHY29udGV4dBISCgR1dWlkGAcgASgJUgR1dWlkGjoKDENvbnRleHRFbnRyeRIQCgNrZXkYASABKAlSA2tleRIUCgV2YWx1ZRgCIAEoCVIFdmFsdWU6AjgBIo4BChBNZXRyaWNWYWx1ZVBhaXJzEj4KB21ldHJpY3MYASADKAsyJC5ldmVudC5NZXRyaWNWYWx1ZVBhaXJzLk1ldHJpY3NFbnRyeVIHbWV0cmljcxo6CgxNZXRyaWNzRW50cnkSEAoDa2V5GAEgASgJUgNrZXkSFAoFdmFsdWUYAiABKAJSBXZhbHVlOgI4ASLDAQoRTWV0cmljSW5mb3JtYXRpb24SMQoIbWV0YWRhdGEYASABKAsyFS5ldmVudC5NZXRyaWNNZXRhRGF0YVIIbWV0YWRhdGESPwoHbWV0cmljcxgCIAMoCzIlLmV2ZW50Lk1ldHJpY0luZm9ybWF0aW9uLk1ldHJpY3NFbnRyeVIHbWV0cmljcxo6CgxNZXRyaWNzRW50cnkSEAoDa2V5GAEgASgJUgNrZXkSFAoFdmFsdWUYAiABKAJSBXZhbHVlOgI4ASLaAQoIS3BpRXZlbnQSLQoEdHlwZRgBIAEoDjIZLmV2ZW50LktwaUV2ZW50VHlwZS5UeXBlc1IEdHlwZRIOCgJ0cxgCIAEoAlICdHMSOQoIcHJlZml4ZXMYAyADKAsyHS5ldmVudC5LcGlFdmVudC5QcmVmaXhlc0VudHJ5UghwcmVmaXhlcxpUCg1QcmVmaXhlc0VudHJ5EhAKA2tleRgBIAEoCVIDa2V5Ei0KBXZhbHVlGAIgASgLMhcuZXZlbnQuTWV0cmljVmFsdWVQYWlyc1IFdmFsdWU6AjgBIoMBCglLcGlFdmVudDISLQoEdHlwZRgBIAEoDjIZLmV2ZW50LktwaUV2ZW50VHlwZS5UeXBlc1IEdHlwZRIOCgJ0cxgCIAEoAVICdHMSNwoKc2xpY2VfZGF0YRgDIAMoCzIYLmV2ZW50Lk1ldHJpY0luZm9ybWF0aW9uUglzbGljZURhdGEi8wEKC0RldmljZUV2ZW50Eh8KC3Jlc291cmNlX2lkGAEgASgJUgpyZXNvdXJjZUlkEioKEWRldmljZV9ldmVudF9uYW1lGAIgASgJUg9kZXZpY2VFdmVudE5hbWUSIAoLZGVzY3JpcHRpb24YAyABKAlSC2Rlc2NyaXB0aW9uEjkKB2NvbnRleHQYBCADKAsyHy5ldmVudC5EZXZpY2VFdmVudC5Db250ZXh0RW50cnlSB2NvbnRleHQaOgoMQ29udGV4dEVudHJ5EhAKA2tleRgBIAEoCVIDa2V5EhQKBXZhbHVlGAIgASgJUgV2YWx1ZToCOAEi2gIKCFJQQ0V2ZW50EhAKA3JwYxgBIAEoCVIDcnBjEiEKDG9wZXJhdGlvbl9pZBgCIAEoCVILb3BlcmF0aW9uSWQSGAoHc2VydmljZRgDIAEoCVIHc2VydmljZRIZCghzdGFja19pZBgEIAEoCVIHc3RhY2tJZBIfCgtyZXNvdXJjZV9pZBgFIAEoCVIKcmVzb3VyY2VJZBIgCgtkZXNjcmlwdGlvbhgGIAEoCVILZGVzY3JpcHRpb24SNgoHY29udGV4dBgHIAMoCzIcLmV2ZW50LlJQQ0V2ZW50LkNvbnRleHRFbnRyeVIHY29udGV4dBItCgZzdGF0dXMYCCABKAsyFS5jb21tb24uT3BlcmF0aW9uUmVzcFIGc3RhdHVzGjoKDENvbnRleHRFbnRyeRIQCgNrZXkYASABKAlSA2tleRIUCgV2YWx1ZRgCIAEoCVIFdmFsdWU6AjgBInYKDUV2ZW50Q2F0ZWdvcnkiZQoFVHlwZXMSEQoNQ09NTVVOSUNBVElPThAAEg8KC0VOVklST05NRU5UEAESDQoJRVFVSVBNRU5UEAISCwoHU0VSVklDRRADEg4KClBST0NFU1NJTkcQBBIMCghTRUNVUklUWRAFIlIKEEV2ZW50U3ViQ2F0ZWdvcnkiPgoFVHlwZXMSBwoDUE9OEAASBwoDT0xUEAESBwoDT05UEAISBwoDT05VEAMSBwoDTk5JEAQSCAoETk9ORRAFImYKCUV2ZW50VHlwZSJZCgVUeXBlcxIQCgxDT05GSUdfRVZFTlQQABINCglLUElfRVZFTlQQARIOCgpLUElfRVZFTlQyEAISEAoMREVWSUNFX0VWRU5UEAMSDQoJUlBDX0VWRU5UEAQi3AIKC0V2ZW50SGVhZGVyEg4KAmlkGAEgASgJUgJpZBI2CghjYXRlZ29yeRgCIAEoDjIaLmV2ZW50LkV2ZW50Q2F0ZWdvcnkuVHlwZXNSCGNhdGVnb3J5EkAKDHN1Yl9jYXRlZ29yeRgDIAEoDjIdLmV2ZW50LkV2ZW50U3ViQ2F0ZWdvcnkuVHlwZXNSC3N1YkNhdGVnb3J5EioKBHR5cGUYBCABKA4yFi5ldmVudC5FdmVudFR5cGUuVHlwZXNSBHR5cGUSIQoMdHlwZV92ZXJzaW9uGAUgASgJUgt0eXBlVmVyc2lvbhI3CglyYWlzZWRfdHMYBiABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wUghyYWlzZWRUcxI7CgtyZXBvcnRlZF90cxgHIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXBSCnJlcG9ydGVkVHMixgIKBUV2ZW50EioKBmhlYWRlchgBIAEoCzISLmV2ZW50LkV2ZW50SGVhZGVyUgZoZWFkZXISNwoMY29uZmlnX2V2ZW50GAIgASgLMhIuZXZlbnQuQ29uZmlnRXZlbnRIAFILY29uZmlnRXZlbnQSLgoJa3BpX2V2ZW50GAMgASgLMg8uZXZlbnQuS3BpRXZlbnRIAFIIa3BpRXZlbnQSMQoKa3BpX2V2ZW50MhgEIAEoCzIQLmV2ZW50LktwaUV2ZW50MkgAUglrcGlFdmVudDISNwoMZGV2aWNlX2V2ZW50GAUgASgLMhIuZXZlbnQuRGV2aWNlRXZlbnRIAFILZGV2aWNlRXZlbnQSLgoJcnBjX2V2ZW50GAYg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BRIEnAIIHxoYIFJlZmVycyB0byBhbiBSUEMgRXZlbnQKCg0KBQQSAgUGEgScAggQCg0KBQQSAgUBEgScAhEaCg0KBQQSAgUDEgScAh0eYgZwcm90bzMKoiEKHnZvbHRoYV9wcm90b3MvZXh0X2NvbmZpZy5wcm90bxIGY29uZmlnImkKC0FsYXJtQ29uZmlnElAKGG9udV9pdHVfcG9uX2FsYXJtX2NvbmZpZxgBIAEoCzIWLmNvbmZpZy5PbnVJdHVQb25BbGFybUgAUhRvbnVJdHVQb25BbGFybUNvbmZpZ0IICgZjb25maWcivgkKDk9udUl0dVBvbkFsYXJtEhUKBnBvbl9uaRgBIAEoB1IFcG9uTmkSFQoGb251X2lkGAIgASgHUgVvbnVJZBI5CghhbGFybV9pZBgDIAEoDjIeLmNvbmZpZy5PbnVJdHVQb25BbGFybS5BbGFybUlEUgdhbGFybUlkEmoKGWFsYXJtX3JlcG9ydGluZ19jb25kaXRpb24YBCABKA4yLi5jb25maWcuT251SXR1UG9uQWxhcm0uQWxhcm1SZXBvcnRpbmdDb25kaXRpb25SF2FsYXJtUmVwb3J0aW5nQ29uZGl0aW9uEmAKFXJhdGVfdGhyZXNob2xkX2NvbmZpZxgFIAEoCzIqLmNvbmZpZy5PbnVJdHVQb25BbGFybS5SYXRlVGhyZXNob2xkQ29uZmlnSABSE3JhdGVUaHJlc2hvbGRDb25maWcSVAoRcmF0ZV9yYW5nZV9jb25maWcYBiABKAsyJi5jb25maWcuT251SXR1UG9uQWxhcm0uUmF0ZVJhbmdlQ29uZmlnSABSD3JhdGVSYW5nZUNvbmZpZxJjChZ2YWx1ZV90aHJlc2hvbGRfY29uZmlnGAcgASgLMisuY29uZmlnLk9udUl0dVBvbkFsYXJtLlZhbHVlVGhyZXNob2xkQ29uZmlnSABSFHZhbHVlVGhyZXNob2xkQ29uZmlnGlwKCFNvYWtUaW1lEigKEGFjdGl2ZV9zb2FrX3RpbWUYASABKAdSDmFjdGl2ZVNvYWtUaW1lEiYKD2NsZWFyX3NvYWtfdGltZRgCIAEoB1INY2xlYXJTb2FrVGltZRq9AQoTUmF0ZVRocmVzaG9sZENvbmZpZxIyChVyYXRlX3RocmVzaG9sZF9yaXNpbmcYASABKAZSE3JhdGVUaHJlc2hvbGRSaXNpbmcSNAoWcmF0ZV90aHJlc2hvbGRfZmFsbGluZxgCIAEoBlIUcmF0ZVRocmVzaG9sZEZhbGxpbmcSPAoJc29ha190aW1lGAMgASgLMh8uY29uZmlnLk9udUl0dVBvbkFsYXJtLlNvYWtUaW1lUghzb2FrVGltZRqjAQoPUmF0ZVJhbmdlQ29uZmlnEigKEHJhdGVfcmFuZ2VfbG93ZXIYASABKAZSDnJhdGVSYW5nZUxvd2VyEigKEHJhdGVfcmFuZ2VfdXBwZXIYAiABKAZSDnJhdGVSYW5nZVVwcGVyEjwKCXNvYWtfdGltZRgDIAEoCzIfLmNvbmZpZy5PbnVJdHVQb25BbGFybS5Tb2FrVGltZVIIc29ha1RpbWUafQoUVmFsdWVUaHJlc2hvbGRDb25maWcSJwoPdGhyZXNob2xkX2xpbWl0GAEgASgGUg50aHJlc2hvbGRMaW1pdBI8Cglzb2FrX3RpbWUYAiABKAsyHy5jb25maWcuT251SXR1UG9uQWxhcm0uU29ha1RpbWVSCHNvYWtUaW1lIhkKB0FsYXJtSUQSDgoKUkRJX0VSUk9SUxAAIlIKF0FsYXJtUmVwb3J0aW5nQ29uZGl0aW9uEhIKDlJBVEVfVEhSRVNIT0xEEAASDgoKUkFURV9SQU5HRRABEhMKD1ZBTFVFX1RIUkVTSE9MRBACQggKBmNvbmZpZ0JJChNvcmcub3BlbmNvcmQudm9sdGhhWjJnaXRodWIuY29tL29wZW5jb3JkL3ZvbHRoYS1wcm90b3MvdjUvZ28vZXh0L2NvbmZpZ0r4FQoGEgQNAEUBCvEECgEMEgMNABIa5gQgQ29weXJpZ2h0IDIwMjAtMjAyNCBPcGVuIE5ldHdvcmtpbmcgRm91bmRhdGlvbiAoT05GKSBhbmQgdGhlIE9ORiBDb250cmlidXRvcnMKCiBMaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgIkxpY2Vuc2UiKTsKIHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5z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AiABKAsyEy5jb25maWcuQWxhcm1Db25maWdIAFILYWxhcm1Db25maWdCBwoFdmFsdWUiLAoJVmFsdWVUeXBlIh8KBFR5cGUSCQoFRU1QVFkQABIMCghESVNUQU5DRRABIlEKDlZhbHVlU3BlY2lmaWVyEg4KAmlkGAEgASgJUgJpZBIvCgV2YWx1ZRgCIAEoDjIZLmV4dGVuc2lvbi5WYWx1ZVR5cGUuVHlwZVIFdmFsdWUidAoMUmV0dXJuVmFsdWVzEhAKA1NldBgBIAEoDVIDU2V0EiAKC1Vuc3VwcG9ydGVkGAIgASgNUgtVbnN1cHBvcnRlZBIUCgVFcnJvchgDIAEoDVIFRXJyb3ISGgoIRGlzdGFuY2UYBCABKA1SCERpc3RhbmNlIjYKEkdldERpc3RhbmNlUmVxdWVzdBIgCgtvbnVEZXZpY2VJZBgBIAEoCVILb251RGV2aWNlSWQiMQoTR2V0RGlzdGFuY2VSZXNwb25zZRIaCghkaXN0YW5jZRgBIAEoDVIIZGlzdGFuY2UiMgoUR2V0T251VW5pSW5mb1JlcXVlc3QSGgoIdW5pSW5kZXgYASABKA1SCHVuaUluZGV4IuEEChVHZXRPbnVVbmlJbmZvUmVzcG9uc2USUAoIYWRtU3RhdGUYASABKA4yNC5leHRlbnNpb24uR2V0T251VW5pSW5mb1Jlc3BvbnNlLkFkbWluaXN0cmF0aXZlU3RhdGVSCGFkbVN0YXRlEk8KCW9wZXJTdGF0ZRgCIAEoDjIxLmV4dGVuc2lvbi5HZXRPbnVVbmlJbmZvUmVzcG9uc2UuT3BlcmF0aW9uYWxTdGF0ZVIJb3BlclN0YXRlEk8KCWNvbmZpZ0luZBgDIAEoDjIxLmV4dGVuc2lvbi5HZXRPbnVVbmlJbmZvUmVzcG9uc2UuQ29uZmlndXJhdGlvbkluZFIJY29uZmlnSW5kIsIBChBDb25maWd1cmF0aW9uSW5kEgoKBlVOS09XThAAEhIKDlRFTl9CQVNFX1RfRkRYEAESFgoSSFVORFJFRF9CQVNFX1RfRkRYEAISGAoUR0lHQUJJVF9FVEhFUk5FVF9GRFgQAxIWChJURU5fR19FVEhFUk5FVF9GRFgQBBISCg5URU5fQkFTRV9UX0hEWBAFEhYKEkhVTkRSRURfQkFTRV9UX0hEWBAGEhgKFEdJR0FCSVRfRVRIRVJORVRfSERYEAciRwoTQWRtaW5pc3RyYXRpdmVTdGF0ZRIWChJBRE1TVEFURV9VTkRFRklORUQQABIKCgZMT0NLRUQQARIMCghVTkxPQ0tFRBACIkYKEE9wZXJhdGlvbmFsU3RhdGUSFwoTT1BFUlNUQVRFX1VOREVGSU5FRBAAEgsKB0VOQUJMRUQQARIMCghESVNBQkxFRBACIrcBChJHZXRPbHRQb3J0Q291bnRlcnMSFgoGcG9ydE5vGAEgASgNUgZwb3J0Tm8SQgoIcG9ydFR5cGUYAiABKA4yJi5leHRlbnNpb24uR2V0T2x0UG9ydENvdW50ZXJzLlBvcnRUeXBlUghwb3J0VHlwZSJFCghQb3J0VHlwZRIQCgxQb3J0X1VOS05PV04QABIVChFQb3J0X0VUSEVSTkVUX05OSRABEhAKDFBvcnRfUE9OX09MVBACIswDChpHZXRPbHRQb3J0Q291bnRlcnNSZXNwb25zZRIYCgd0eEJ5dGVzGAEgASgEUgd0eEJ5dGVzEhgKB3J4Qnl0ZXMYAiABKARSB3J4Qnl0ZXMSHAoJdHhQYWNrZXRzGAMgASgEUgl0eFBhY2tldHMSHAoJcnhQYWNrZXRzGAQgASgEUglyeFBhY2tldHMSJgoOdHhFcnJvclBhY2tldHMYBSABKARSDnR4RXJyb3JQYWNrZXRzEiYKDnJ4RXJyb3JQYWNrZXRzGAYgASgEUg5yeEVycm9yUGFja2V0cxImCg50eEJjYXN0UGFja2V0cxgHIAEoBFIOdHhCY2FzdFBhY2tldHMSJgoOcnhCY2FzdFBhY2tldHMYCCABKARSDnJ4QmNhc3RQYWNrZXRzEiYKDnR4VWNhc3RQYWNrZXRzGAkgASgEUg50eFVjYXN0UGFja2V0cxImCg5yeFVjYXN0UGFja2V0cxgKIAEoBFIOcnhVY2FzdFBhY2tldHMSJgoOdHhNY2FzdFBhY2tldHMYCyABKARSDnR4TWNhc3RQYWNrZXRzEiYKDnJ4TWNhc3RQYWNrZXRzGAwgASgEUg5yeE1jYXN0UGFja2V0cyJEChRHZXRPbnVQb25PcHRpY2FsSW5mbxIsCgVlbXB0eRgBIAEoCzIWLmdvb2dsZS5wcm90b2J1Zi5FbXB0eVIFZW1wdHkihAIKHEdldE9udVBvbk9wdGljYWxJbmZvUmVzcG9uc2USKgoQcG93ZXJGZWVkVm9sdGFnZRgBIAEoAlIQcG93ZXJGZWVkVm9sdGFnZRIyChRyZWNlaXZlZE9wdGljYWxQb3dlchgCIAEoAlIUcmVjZWl2ZWRPcHRpY2FsUG93ZXISNgoWbWVhbk9wdGljYWxMYXVuY2hQb3dlchgDIAEoAlIWbWVhbk9wdGljYWxMYXVuY2hQb3dlchIqChBsYXNlckJpYXNDdXJyZW50GAQgASgCUhBsYXNlckJpYXNDdXJyZW50EiAKC3RlbXBlcmF0dXJlGAUgASgCUgt0ZW1wZXJhdHVyZSKvAQofR2V0T251RXRoZXJuZXRCcmlkZ2VQb3J0SGlzdG9yeRJSCglkaXJlY3Rpb24YASABKA4yNC5leHRlbnNpb24uR2V0T251RXRoZXJuZXRCcmlkZ2VQb3J0SGlzdG9yeS5EaXJlY3Rpb25SCWRpcmVjdGlvbiI4CglEaXJlY3Rpb24SDQoJVU5ERUZJTkVEEAASDAoIVVBTVFJFQU0QARIOCgpET1dOU1RSRUFNEAIikwUKJ0dldE9udUV0aGVybmV0QnJpZGdlUG9ydEhpc3RvcnlSZXNwb25zZRIeCgpkcm9wRXZlbnRzGAEgASgNUgpkcm9wRXZlbnRzEhYKBm9jdGV0cxgCIAEoDVIGb2N0ZXRzEhgKB3BhY2tldHMYAyABKA1SB3BhY2tldHMSKgoQYnJvYWRjYXN0UGFja2V0cxgEIAEoDVIQYnJvYWRjYXN0UGFja2V0cxIqChBtdWx0aWNhc3RQYWNrZXRzGAUgASgNUhBtdWx0aWNhc3RQYWNrZXRzEiwKEWNyY0Vycm9yZWRQYWNrZXRzGAYgASgNUhFjcmNFcnJvcmVkUGFja2V0cxIqChB1bmRlcnNpemVQYWNrZXRzGAcgASgNUhB1bmRlcnNpemVQYWNrZXRzEigKD292ZXJzaXplUGFja2V0cxgIIAEoDVIPb3ZlcnNpemVQYWNrZXRzEigKD3BhY2tldHM2NG9jdGV0cxgJIAEoDVIPcGFja2V0czY0b2N0ZXRzEjIKFHBhY2tldHM2NVRvMTI3b2N0ZXRzGAogASgNUhRwYWNrZXRzNjVUbzEyN29jdGV0cxI0ChVwYWNrZXRzMTI4VG8yNTVPY3RldHMYCyABKA1SFXBhY2tldHMxMjhUbzI1NU9jdGV0cxI0ChVwYWNrZXRzMjU2VG81MTFvY3RldHMYDCABKA1SFXBhY2tldHMyNTZUbzUxMW9jdGV0cxI2ChZwYWNrZXRzNTEyVG8xMDIzb2N0ZXRzGA0gASgNUhZwYWNrZXRzNTEyVG8xMDIzb2N0ZXRzEjgKF3BhY2tldHMxMDI0VG8xNTE4b2N0ZXRzGA4gASgNUhdwYWNrZXRzMTAyNFRvMTUxOG9jdGV0cyJAChBHZXRPbnVGZWNIaXN0b3J5EiwKBWVtcHR5GAEgASgLMhYuZ29vZ2xlLnByb3RvYnVmLkVtcHR5UgVlbXB0eSLyAQoYR2V0T251RmVjSGlzdG9yeVJlc3BvbnNlEiYKDmNvcnJlY3RlZEJ5dGVzGAEgASgNUg5jb3JyZWN0ZWRCeXRlcxIuChJjb3JyZWN0ZWRDb2RlV29yZHMYAiABKA1SEmNvcnJlY3RlZENvZGVXb3JkcxIeCgpmZWNTZWNvbmRzGAMgASgNUgpmZWNTZWNvbmRzEiYKDnRvdGFsQ29kZVdvcmRzGAQgASgNUg50b3RhbENvZGVXb3JkcxI2ChZ1bmNvcnJlY3RhYmxlQ29kZVdvcmRzGAUgASgNUhZ1bmNvcnJlY3RhYmxlQ29kZVdvcmRzIkcKFUdldE9udUNvdW50ZXJzUmVxdWVzdBIXCgdpbnRmX2lkGAEgASgHUgZpbnRmSWQSFQoGb251X2lkGAIgASgHUgVvbnVJZCKNAQolR2V0T21jaUV0aGVybmV0RnJhbWVFeHRlbmRlZFBtUmVxdWVzdBIgCgtvbnVEZXZpY2VJZBgBIAEoCVILb251RGV2aWNlSWQSHAoIdW5pSW5kZXgYAiABKA1IAFIIdW5pSW5kZXgSFAoFcmVzZXQYAyABKAhSBXJlc2V0Qg4KDGlzX3VuaV9pbmRleCJDChFHZXRSeFBvd2VyUmVxdWVzdBIXCgdpbnRmX2lkGAEgASgHUgZpbnRmSWQSFQoGb251X2lkGAIgASgHUgVvbnVJZCJMChRHZXRPbHRSeFBvd2VyUmVxdWVzdBIdCgpwb3J0X2xhYmVsGAEgASgJUglwb3J0TGFiZWwSFQoGb251X3NuGAIgASgJUgVvbnVTbiLkDAoWR2V0T251Q291bnRlcnNSZXNwb25zZRIZCgdpbnRmX2lkGAEgASgHSABSBmludGZJZBIXCgZvbnVfaWQYAiABKAdIAVIFb251SWQSJwoOcG9zaXRpdmVfZHJpZnQYAyABKAZIAlINcG9zaXRpdmVEcmlmdBInCg5uZWdhdGl2ZV9kcmlmdBgEIAEoBkgDUg1uZWdhdGl2ZURyaWZ0EjoKGGRlbGltaXRlcl9taXNzX2RldGVjdGlvbhgFIAEoBkgEUhZkZWxpbWl0ZXJNaXNzRGV0ZWN0aW9uEh8KCmJpcF9lcnJvcnMYBiABKAZIBVIJYmlwRXJyb3JzEh0KCWJpcF91bml0cxgHIAEoBkgGUghiaXBVbml0cxI0ChVmZWNfY29ycmVjdGVkX3N5bWJvbHMYCCABKAZIB1ITZmVjQ29ycmVjdGVkU3ltYm9scxI4ChdmZWNfY29kZXdvcmRzX2NvcnJlY3RlZBgJIAEoBkgIUhVmZWNDb2Rld29yZHNDb3JyZWN0ZWQSQAobZmVjX2NvZGV3b3Jkc191bmNvcnJlY3RhYmxlGAogASgGSAlSGWZlY0NvZGV3b3Jkc1VuY29ycmVjdGFibGUSJQoNZmVjX2NvZGV3b3JkcxgLIAEoBkgKUgxmZWNDb2Rld29yZHMSMAoTZmVjX2NvcnJlY3RlZF91bml0cxgMIAEoBkgLUhFmZWNDb3JyZWN0ZWRVbml0cxIoCg94Z2VtX2tleV9lcnJvcnMYDSABKAZIDFINeGdlbUtleUVycm9ycxIdCgl4Z2VtX2xvc3MYDiABKAZIDVIIeGdlbUxvc3MSKAoPcnhfcGxvYW1zX2Vycm9yGA8gASgGSA5SDXJ4UGxvYW1zRXJyb3ISLQoScnhfcGxvYW1zX25vbl9pZGxlGBAgASgGSA9SD3J4UGxvYW1zTm9uSWRsZRIZCgdyeF9vbWNpGBEgASgGSBBSBnJ4T21jaRIZCgd0eF9vbWNpGBIgASgGSBFSBnR4T21jaRI6ChlyeF9vbWNpX3BhY2tldHNfY3JjX2Vycm9yGBMgASgGSBJSFXJ4T21jaVBhY2tldHNDcmNFcnJvchIbCghyeF9ieXRlcxgUIAEoBkgTUgdyeEJ5dGVzEh8KCnJ4X3BhY2tldHMYFSABKAZIFFIJcnhQYWNrZXRzEhsKCHR4X2J5dGVzGBYgASgGSBVSB3R4Qnl0ZXMSHwoKdHhfcGFja2V0cxgXIAEoBkgWUgl0eFBhY2tldHMSIwoMYmVyX3JlcG9ydGVkGBggASgGSBdSC2JlclJlcG9ydGVkEiEKC2xjZGdfZXJyb3JzGBkgASgGSBhSCmxjZGdFcnJvcnMSHwoKcmRpX2Vycm9ycxgaIAEoBkgZUglyZGlFcnJvcnMSHgoJdGltZXN0YW1wGBsgASgHSBpSCXRpbWVzdGFtcEIMCgppc19pbnRmX2lkQgsKCWlzX29udV9pZEITChFpc19wb3NpdGl2ZV9kcmlmdEITChFpc19uZWdhdGl2ZV9kcmlmdEIdChtpc19kZWxpbWl0ZXJfbWlzc19kZXRlY3Rpb25CDwoNaXNfYmlwX2Vycm9yc0IOCgxpc19iaXBfdW5pdHNCGgoYaXNfZmVjX2NvcnJlY3RlZF9zeW1ib2xzQhwKGmlzX2ZlY19jb2Rld29yZHNfY29ycmVjdGVkQiAKHmlzX2ZlY19jb2Rld29yZHNfdW5jb3JyZWN0YWJsZUISChBpc19mZWNfY29kZXdvcmRzQhgKFmlzX2ZlY19jb3JyZWN0ZWRfdW5pdHNCFAoSaXNfeGdlbV9rZXlfZXJyb3JzQg4KDGlzX3hnZW1fbG9zc0IUChJpc19yeF9wbG9hbXNfZXJyb3JCFwoVaXNfcnhfcGxvYW1zX25vbl9pZGxlQgwKCmlzX3J4X29tY2lCDAoKaXNfdHhfb21jaUIeChxpc19yeF9vbWNpX3BhY2tldHNfY3JjX2Vycm9yQg0KC2lzX3J4X2J5dGVzQg8KDWlzX3J4X3BhY2tldHNCDQoLaXNfdHhfYnl0ZXNCDwoNaXNfdHhfcGFja2V0c0IRCg9pc19iZXJfcmVwb3J0ZWRCEAoOaXNfbGNkZ19lcnJvcnNCDwoNaXNfcmRpX2Vycm9yc0IOCgxpc190aW1lc3RhbXAijAUKG09tY2lFdGhlcm5ldEZyYW1lRXh0ZW5kZWRQbRIfCgtkcm9wX2V2ZW50cxgBIAEoBlIKZHJvcEV2ZW50cxIWCgZvY3RldHMYAiABKAZSBm9jdGV0cxIWCgZmcmFtZXMYAyABKAZSBmZyYW1lcxIpChBicm9hZGNhc3RfZnJhbWVzGAQgASgGUg9icm9hZGNhc3RGcmFtZXMSKQoQbXVsdGljYXN0X2ZyYW1lcxgFIAEoBlIPbXVsdGljYXN0RnJhbWVzEiwKEmNyY19lcnJvcmVkX2ZyYW1lcxgGIAEoBlIQY3JjRXJyb3JlZEZyYW1lcxIpChB1bmRlcnNpemVfZnJhbWVzGAcgASgGUg91bmRlcnNpemVGcmFtZXMSJwoPb3ZlcnNpemVfZnJhbWVzGAggASgGUg5vdmVyc2l6ZUZyYW1lcxIoChBmcmFtZXNfNjRfb2N0ZXRzGAkgASgGUg5mcmFtZXM2NE9jdGV0cxI0ChdmcmFtZXNfNjVfdG9fMTI3X29jdGV0cxgKIAEoBlITZnJhbWVzNjVUbzEyN09jdGV0cxI2ChhmcmFtZXNfMTI4X3RvXzI1NV9vY3RldHMYCyABKAZSFGZyYW1lczEyOFRvMjU1T2N0ZXRzEjYKGGZyYW1lc18yNTZfdG9fNTExX29jdGV0cxgMIAEoBlIUZnJhbWVzMjU2VG81MTFPY3RldHMSOAoZZnJhbWVzXzUxMl90b18xMDIzX29jdGV0cxgNIAEoBlIVZnJhbWVzNTEyVG8xMDIzT2N0ZXRzEjoKGmZyYW1lc18xMDI0X3RvXzE1MThfb2N0ZXRzGA4gASgGUhZmcmFtZXMxMDI0VG8xNTE4T2N0ZXRzIvQCCiZHZXRPbWNpRXRoZXJuZXRGcmFtZUV4dGVuZGVkUG1SZXNwb25zZRJCCgh1cHN0cmVhbRgBIAEoCzImLmV4dGVuc2lvbi5PbWNpRXRoZXJuZXRGcmFtZUV4dGVuZGVkUG1SCHVwc3RyZWFtEkYKCmRvd25zdHJlYW0YAiABKAsyJi5leHRlbnNpb24uT21jaUV0aGVybmV0RnJhbWVFeHRlbmRlZFBtUgpkb3duc3RyZWFtEosBCiZvbWNpX2V0aGVybmV0X2ZyYW1lX2V4dGVuZGVkX3BtX2Zvcm1hdBgDIAEoDjI4LmV4dGVuc2lvbi5HZXRPbWNpRXRoZXJuZXRGcmFtZUV4dGVuZGVkUG1SZXNwb25zZS5Gb3JtYXRSIW9tY2lFdGhlcm5ldEZyYW1lRXh0ZW5kZWRQbUZvcm1hdCIwCgZGb3JtYXQSEgoOVEhJUlRZX1RXT19CSVQQABISCg5TSVhUWV9GT1VSX0JJVBABInQKB1J4UG93ZXISFQoGb251X3NuGAEgASgJUgVvbnVTbhIWCgZzdGF0dXMYAiABKAlSBnN0YXR1cxIfCgtmYWlsX3JlYXNvbhgDIAEoCVIKZmFpbFJlYXNvbhIZCghyeF9wb3dlchgEIAEoAVIHcnhQb3dlciJlChVHZXRPbHRSeFBvd2VyUmVzcG9uc2USHQoKcG9ydF9sYWJlbBgBIAEoCVIJcG9ydExhYmVsEi0KCHJ4X3Bvd2VyGAIgAygLMhIuZXh0ZW5zaW9uLlJ4UG93ZXJSB3J4UG93ZXIimAEKEkdldFJ4UG93ZXJSZXNwb25zZRIXCgdpbnRmX2lkGAEgASgHUgZpbnRmSWQSFQoGb251X2lkGAIgASgHUgVvbnVJZBIWCgZzdGF0dXMYAyABKAlSBnN0YXR1cxIfCgtmYWlsX3JlYXNvbhgEIAEoCVIKZmFpbFJlYXNvbhIZCghyeF9wb3dlchgFIAEoAVIHcnhQb3dlciJKChpHZXRPbnVPbWNpVHhSeFN0YXRzUmVxdWVzdBIsCgVlbXB0eRgBIAEoCzIWLmdvb2dsZS5wcm90b2J1Zi5FbXB0eVIFZW1wdHki8QMKG0dldE9udU9tY2lUeFJ4U3RhdHNSZXNwb25zZRIpChFiYXNlX3R4X2FyX2ZyYW1lcxgBIAEoDVIOYmFzZVR4QXJGcmFtZXMSKQoRYmFzZV9yeF9ha19mcmFtZXMYAiABKA1SDmJhc2VSeEFrRnJhbWVzEi4KFGJhc2VfdHhfbm9fYXJfZnJhbWVzGAMgASgNUhBiYXNlVHhOb0FyRnJhbWVzEi4KFGJhc2Vfcnhfbm9fYWtfZnJhbWVzGAQgASgNUhBiYXNlUnhOb0FrRnJhbWVzEicKEGV4dF90eF9hcl9mcmFtZXMYBSABKA1SDWV4dFR4QXJGcmFtZXMSJwoQZXh0X3J4X2FrX2ZyYW1lcxgGIAEoDVINZXh0UnhBa0ZyYW1lcxIsChNleHRfdHhfbm9fYXJfZnJhbWVzGAcgASgNUg9leHRUeE5vQXJGcmFtZXMSLAoTZXh0X3J4X25vX2FrX2ZyYW1lcxgIIAEoDVIPZXh0UnhOb0FrRnJhbWVzEjUKF3R4X29tY2lfY291bnRlcl9yZXRyaWVzGAkgASgNUhR0eE9tY2lDb3VudGVyUmV0cmllcxI3Chh0eF9vbWNpX2NvdW50ZXJfdGltZW91dHMYCiABKA1SFXR4T21jaUNvdW50ZXJUaW1lb3V0cyJNCh1HZXRPbnVPbWNpQWN0aXZlQWxhcm1zUmVxdWVzdBIsCgVlbXB0eRgBIAEoCzIWLmdvb2dsZS5wcm90b2J1Zi5FbXB0eVIFZW1wdHkifQoJQWxhcm1EYXRhEhkKCGNsYXNzX2lkGAEgASgNUgdjbGFzc0lkEh8KC2luc3RhbmNlX2lkGAIgASgNUgppbnN0YW5jZUlkEhIKBG5hbWUYAyABKAlSBG5hbWUSIAoLZGVzY3JpcHRpb24YBCABKAlSC2Rlc2NyaXB0aW9uIlsKHkdldE9udU9tY2lBY3RpdmVBbGFybXNSZXNwb25zZRI5Cg1hY3RpdmVfYWxhcm1zGAEgAygLMhQuZXh0ZW5zaW9uLkFsYXJtRGF0YVIMYWN0aXZlQWxhcm1zIsIBCiFHZXRPZmZsb2FkZWRBcHBzU3RhdGlzdGljc1JlcXVlc3QSVQoIc3RhdHNGb3IYASABKA4yOS5leHRlbnNpb24uR2V0T2ZmbG9hZGVkQXBwc1N0YXRpc3RpY3NSZXF1ZXN0Lk9mZmxvYWRlZEFwcFIIc3RhdHNGb3IiRgoMT2ZmbG9hZGVkQXBwEg0KCVVOREVGSU5FRBAAEgsKB1BQUG9lSUEQARIMCghESENQdjRSQRACEgwKCERIQ1B2NlJBEAMiixYKIkdldE9mZmxvYWRlZEFwcHNTdGF0aXN0aWNzUmVzcG9uc2USYwoNZGhjcHY0UmFTdGF0cxgBIAEoCzI7LmV4dGVuc2lvbi5HZXRPZmZsb2FkZWRBcHBzU3RhdGlzdGljc1Jlc3BvbnNlLkRIQ1B2NFJBU3RhdHNIAFINZGhjcHY0UmFTdGF0cxJjCg1kaGNwdjZSYVN0YXRzGAIgASgLMjsuZXh0ZW5zaW9uLkdldE9mZmxvYWRlZEFwcHNTdGF0aXN0aWNzUmVzcG9uc2UuREhDUHY2UkFTdGF0c0gAUg1kaGNwdjZSYVN0YXRzEmAKDHBwcG9lSWFTdGF0cxgDIAEoCzI6LmV4dGVuc2lvbi5HZXRPZmZsb2FkZWRBcHBzU3RhdGlzdGljc1Jlc3BvbnNlLlBQUG9lSUFTdGF0c0gAUgxwcHBvZUlhU3RhdHMa+wUKDURIQ1B2NFJBU3RhdHMSOgoaaW5fYmFkX3BhY2tldHNfZnJvbV9jbGllbnQYASABKA1SFmluQmFkUGFja2V0c0Zyb21DbGllbnQSOgoaaW5fYmFkX3BhY2tldHNfZnJvbV9zZXJ2ZXIYAiABKA1SFmluQmFkUGFja2V0c0Zyb21TZXJ2ZXISMwoWaW5fcGFja2V0c19mcm9tX2NsaWVudBgDIAEoDVITaW5QYWNrZXRzRnJvbUNsaWVudBIzChZpbl9wYWNrZXRzX2Zyb21fc2VydmVyGAQgASgNUhNpblBhY2tldHNGcm9tU2VydmVyEjEKFW91dF9wYWNrZXRzX3RvX3NlcnZlchgFIAEoDVISb3V0UGFja2V0c1RvU2VydmVyEjEKFW91dF9wYWNrZXRzX3RvX2NsaWVudBgGIAEoDVISb3V0UGFja2V0c1RvQ2xpZW50Ek0KJG9wdGlvbl84Ml9pbnNlcnRlZF9wYWNrZXRzX3RvX3NlcnZlchgHIAEoDVIfb3B0aW9uODJJbnNlcnRlZFBhY2tldHNUb1NlcnZlchJLCiNvcHRpb25fODJfcmVtb3ZlZF9wYWNrZXRzX3RvX2NsaWVudBgIIAEoDVIeb3B0aW9uODJSZW1vdmVkUGFja2V0c1RvQ2xpZW50EkUKIG9wdGlvbl84Ml9ub3RfaW5zZXJ0ZWRfdG9fc2VydmVyGAkgASgNUhtvcHRpb244Mk5vdEluc2VydGVkVG9TZXJ2ZXISewoQYWRkaXRpb25hbF9zdGF0cxgKIAMoCzJQLmV4dGVuc2lvbi5HZXRPZmZsb2FkZWRBcHBzU3RhdGlzdGljc1Jlc3BvbnNlLkRIQ1B2NFJBU3RhdHMuQWRkaXRpb25hbFN0YXRzRW50cnlSD2FkZGl0aW9uYWxTdGF0cxpCChRBZGRpdGlvbmFsU3RhdHNFbnRyeRIQCgNrZXkYASABKAlSA2tleRIUCgV2YWx1ZRgCIAEoCVIFdmFsdWU6AjgBGvUGCg1ESENQdjZSQVN0YXRzEjoKGmluX2JhZF9wYWNrZXRzX2Zyb21fY2xpZW50GAEgASgNUhZpbkJhZFBhY2tldHNGcm9tQ2xpZW50EjoKGmluX2JhZF9wYWNrZXRzX2Zyb21fc2VydmVyGAIgASgNUhZpbkJhZFBhY2tldHNGcm9tU2VydmVyEk0KJG9wdGlvbl8xN19pbnNlcnRlZF9wYWNrZXRzX3RvX3NlcnZlchgDIAEoDVIfb3B0aW9uMTdJbnNlcnRlZFBhY2tldHNUb1NlcnZlchJLCiNvcHRpb25fMTdfcmVtb3ZlZF9wYWNrZXRzX3RvX2NsaWVudBgEIAEoDVIeb3B0aW9uMTdSZW1vdmVkUGFja2V0c1RvQ2xpZW50Ek0KJG9wdGlvbl8xOF9pbnNlcnRlZF9wYWNrZXRzX3RvX3NlcnZlchgFIAEoDVIfb3B0aW9uMThJbnNlcnRlZFBhY2tldHNUb1NlcnZlchJLCiNvcHRpb25fMThfcmVtb3ZlZF9wYWNrZXRzX3RvX2NsaWVudBgGIAEoDVIeb3B0aW9uMThSZW1vdmVkUGFja2V0c1RvQ2xpZW50Ek0KJG9wdGlvbl8zN19pbnNlcnRlZF9wYWNrZXRzX3RvX3NlcnZlchgHIAEoDVIfb3B0aW9uMzdJbnNlcnRlZFBhY2tldHNUb1NlcnZlchJLCiNvcHRpb25fMzdfcmVtb3ZlZF9wYWNrZXRzX3RvX2NsaWVudBgIIAEoDVIeb3B0aW9uMzdSZW1vdmVkUGFja2V0c1RvQ2xpZW50ElcKKW91dGdvaW5nX210dV9leGNlZWRlZF9wYWNrZXRzX2Zyb21fY2xpZW50GAkgASgNUiRvdXRnb2luZ010dUV4Y2VlZGVkUGFja2V0c0Zyb21DbGllbnQSewoQYWRkaXRpb25hbF9zdGF0cxgKIAMoCzJQLmV4dGVuc2lvbi5HZXRPZmZsb2FkZWRBcHBzU3RhdGlzdGljc1Jlc3BvbnNlLkRIQ1B2NlJBU3RhdHMuQWRkaXRpb25hbFN0YXRzRW50cnlSD2FkZGl0aW9uYWxTdGF0cxpCChRBZGRpdGlvbmFsU3RhdHNFbnRyeRIQCgNrZXkYASABKAlSA2tleRIUCgV2YWx1ZRgCIAEoCVIFdmFsdWU6AjgBGrkGCgxQUFBvZUlBU3RhdHMSPgocaW5fZXJyb3JfcGFja2V0c19mcm9tX2NsaWVudBgBIAEoDVIYaW5FcnJvclBhY2tldHNGcm9tQ2xpZW50Ej4KHGluX2Vycm9yX3BhY2tldHNfZnJvbV9zZXJ2ZXIYAiABKA1SGGluRXJyb3JQYWNrZXRzRnJvbVNlcnZlchIzChZpbl9wYWNrZXRzX2Zyb21fY2xpZW50GAMgASgNUhNpblBhY2tldHNGcm9tQ2xpZW50EjMKFmluX3BhY2tldHNfZnJvbV9zZXJ2ZXIYBCABKA1SE2luUGFja2V0c0Zyb21TZXJ2ZXISMQoVb3V0X3BhY2tldHNfdG9fc2VydmVyGAUgASgNUhJvdXRQYWNrZXRzVG9TZXJ2ZXISMQoVb3V0X3BhY2tldHNfdG9fY2xpZW50GAYgASgNUhJvdXRQYWNrZXRzVG9DbGllbnQSYAoudmVuZG9yX3NwZWNpZmljX3RhZ19pbnNlcnRlZF9wYWNrZXRzX3RvX3NlcnZlchgHIAEoDVIodmVuZG9yU3BlY2lmaWNUYWdJbnNlcnRlZFBhY2tldHNUb1NlcnZlchJeCi12ZW5kb3Jfc3BlY2lmaWNfdGFnX3JlbW92ZWRfcGFja2V0c190b19jbGllbnQYCCABKA1SJ3ZlbmRvclNwZWNpZmljVGFnUmVtb3ZlZFBhY2tldHNUb0NsaWVudBJXCilvdXRnb2luZ19tdHVfZXhjZWVkZWRfcGFja2V0c19mcm9tX2NsaWVudBgJIAEoDVIkb3V0Z29pbmdNdHVFeGNlZWRlZFBhY2tldHNGcm9tQ2xpZW50EnoKEGFkZGl0aW9uYWxfc3RhdHMYCiADKAsyTy5leHRlbnNpb24uR2V0T2ZmbG9hZGVkQXBwc1N0YXRpc3RpY3NSZXNwb25zZS5QUFBvZUlBU3RhdHMuQWRkaXRpb25hbFN0YXRzRW50cnlSD2FkZGl0aW9uYWxTdGF0cxpCChRBZGRpdGlvbmFsU3RhdHNFbnRyeRIQCgNrZXkYASABKAlSA2tleRIUCgV2YWx1ZRgCIAEoCVIFdmFsdWU6AjgBQgcKBXN0YXRzIskHCg9HZXRWYWx1ZVJlcXVlc3QSOwoIZGlzdGFuY2UYASABKAsyHS5leHRlbnNpb24uR2V0RGlzdGFuY2VSZXF1ZXN0SABSCGRpc3RhbmNlEjsKB3VuaUluZm8YAiABKAsyHy5leHRlbnNpb24uR2V0T251VW5pSW5mb1JlcXVlc3RIAFIHdW5pSW5mbxJBCgtvbHRQb3J0SW5mbxgDIAEoCzIdLmV4dGVuc2lvbi5HZXRPbHRQb3J0Q291bnRlcnNIAFILb2x0UG9ydEluZm8SSQoOb251T3B0aWNhbEluZm8YBCABKAsyHy5leHRlbnNpb24uR2V0T251UG9uT3B0aWNhbEluZm9IAFIOb251T3B0aWNhbEluZm8SUgoNZXRoQnJpZGdlUG9ydBgFIAEoCzIqLmV4dGVuc2lvbi5HZXRPbnVFdGhlcm5ldEJyaWRnZVBvcnRIaXN0b3J5SABSDWV0aEJyaWRnZVBvcnQSPQoKZmVjSGlzdG9yeRgGIAEoCzIbLmV4dGVuc2lvbi5HZXRPbnVGZWNIaXN0b3J5SABSCmZlY0hpc3RvcnkSQgoKb251UG9uSW5mbxgHIAEoCzIgLmV4dGVuc2lvbi5HZXRPbnVDb3VudGVyc1JlcXVlc3RIAFIKb251UG9uSW5mbxJMCgdvbnVJbmZvGAggASgLMjAuZXh0ZW5zaW9uLkdldE9tY2lFdGhlcm5ldEZyYW1lRXh0ZW5kZWRQbVJlcXVlc3RIAFIHb251SW5mbxI4CgdyeFBvd2VyGAkgASgLMhwuZXh0ZW5zaW9uLkdldFJ4UG93ZXJSZXF1ZXN0SABSB3J4UG93ZXISSwoMb251T21jaVN0YXRzGAogASgLMiUuZXh0ZW5zaW9uLkdldE9udU9tY2lUeFJ4U3RhdHNSZXF1ZXN0SABSDG9udU9tY2lTdGF0cxJBCgpvbHRSeFBvd2VyGAsgASgLMh8uZXh0ZW5zaW9uLkdldE9sdFJ4UG93ZXJSZXF1ZXN0SABSCm9sdFJ4UG93ZXISVAoPb251QWN0aXZlQWxhcm1zGAwgASgLMiguZXh0ZW5zaW9uLkdldE9udU9tY2lBY3RpdmVBbGFybXNSZXF1ZXN0SABSD29udUFjdGl2ZUFsYXJtcxJeChJvZmZsb2FkZWRBcHBzU3RhdHMYDSABKAsyLC5leHRlbnNpb24uR2V0T2ZmbG9hZGVkQXBwc1N0YXRpc3RpY3NSZXF1ZXN0SABSEm9mZmxvYWRlZEFwcHNTdGF0c0IJCgdyZXF1ZXN0IvQKChBHZXRWYWx1ZVJlc3BvbnNlEjoKBnN0YXR1cxgBIAEoDjIiLmV4dGVuc2lvbi5HZXRWYWx1ZVJlc3BvbnNlLlN0YXR1c1IGc3RhdHVzEkUKCWVyclJlYXNvbhgCIAEoDjInLmV4dGVuc2lvbi5HZXRWYWx1ZVJlc3BvbnNlLkVycm9yUmVhc29uUgllcnJSZWFzb24SPAoIZGlzdGFuY2UYAyABKAsyHi5leHRlbnNpb24uR2V0RGlzdGFuY2VSZXNwb25zZUgAUghkaXN0YW5jZRI8Cgd1bmlJbmZvGAQgASgLMiAuZXh0ZW5zaW9uLkdldE9udVVuaUluZm9SZXNwb25zZUgAUgd1bmlJbmZvEksKDHBvcnRDb3V0bmVycxgFIAEoCzIlLmV4dGVuc2lvbi5HZXRPbHRQb3J0Q291bnRlcnNSZXNwb25zZUgAUgxwb3J0Q291dG5lcnMSUQoOb251T3B0aWNhbEluZm8YBiABKAsyJy5leHRlbnNpb24uR2V0T251UG9uT3B0aWNhbEluZm9SZXNwb25zZUgAUg5vbnVPcHRpY2FsSW5mbxJiChFldGhCcmlkZ2VQb3J0SW5mbxgHIAEoCzIyLmV4dGVuc2lvbi5HZXRPbnVFdGhlcm5ldEJyaWRnZVBvcnRIaXN0b3J5UmVzcG9uc2VIAFIRZXRoQnJpZGdlUG9ydEluZm8SRQoKZmVjSGlzdG9yeRgIIAEoCzIjLmV4dGVuc2lvbi5HZXRPbnVGZWNIaXN0b3J5UmVzcG9uc2VIAFIKZmVjSGlzdG9yeRJLCg5vbnVQb25Db3VudGVycxgJIAEoCzIhLmV4dGVuc2lvbi5HZXRPbnVDb3VudGVyc1Jlc3BvbnNlSABSDm9udVBvbkNvdW50ZXJzElUKC29udUNvdW50ZXJzGAogASgLMjEuZXh0ZW5zaW9uLkdldE9tY2lFdGhlcm5ldEZyYW1lRXh0ZW5kZWRQbVJlc3BvbnNlSABSC29udUNvdW50ZXJzEjkKB3J4UG93ZXIYCyABKAsyHS5leHRlbnNpb24uR2V0UnhQb3dlclJlc3BvbnNlSABSB3J4UG93ZXISTAoMb251T21jaVN0YXRzGAwgASgLMiYuZXh0ZW5zaW9uLkdldE9udU9tY2lUeFJ4U3RhdHNSZXNwb25zZUgAUgxvbnVPbWNpU3RhdHMSQgoKb2x0UnhQb3dlchgNIAEoCzIgLmV4dGVuc2lvbi5HZXRPbHRSeFBvd2VyUmVzcG9uc2VIAFIKb2x0UnhQb3dlchJVCg9vbnVBY3RpdmVBbGFybXMYDiABKAsyKS5leHRlbnNpb24uR2V0T251T21jaUFjdGl2ZUFsYXJtc1Jlc3BvbnNlSABSD29udUFjdGl2ZUFsYXJtcxJfChJvZmZsb2FkZWRBcHBzU3RhdHMYDyABKAsyLS5leHRlbnNpb24uR2V0T2ZmbG9hZGVkQXBwc1N0YXRpc3RpY3NSZXNwb25zZUgAUhJvZmZsb2FkZWRBcHBzU3RhdHMiMQoGU3RhdHVzEhQKEFNUQVRVU19VTkRFRklORUQQABIGCgJPSxABEgkKBUVSUk9SEAIirQEKC0Vycm9yUmVhc29uEhQKEFJFQVNPTl9VTkRFRklORUQQABIPCgtVTlNVUFBPUlRFRBABEhUKEUlOVkFMSURfREVWSUNFX0lEEAISFQoRSU5WQUxJRF9QT1JUX1RZUEUQAxILCgdUSU1FT1VUEAQSFAoQSU5WQUxJRF9SRVFfVFlQRRAFEhIKDklOVEVSTkFMX0VSUk9SEAYSEgoOSU5WQUxJRF9ERVZJQ0UQB0IKCghyZXNwb25zZSKsAQoQQXBwT2ZmbG9hZENvbmZpZxImCg5lbmFibGVESENQdjRSQRgBIAEoCFIOZW5hYmxlREhDUHY0UkESJgoOZW5hYmxlREhDUHY2UkEYAiABKAhSDmVuYWJsZURIQ1B2NlJBEiQKDWVuYWJsZVBQUG9FSUEYAyABKAhSDWVuYWJsZVBQUG9FSUESIgoMYWNjZXNzTm9kZUlEGAQgASgJUgxhY2Nlc3NOb2RlSUQi/gEKE0FwcE9mZmxvYWRPbnVDb25maWcSIAoLb251RGV2aWNlSWQYASABKAlSC29udURldmljZUlkEksKCnBlclVuaUluZm8YBSADKAsyKy5leHRlbnNpb24uQXBwT2ZmbG9hZE9udUNvbmZpZy5QZXJVbmlDb25maWdSCnBlclVuaUluZm8aeAoMUGVyVW5pQ29uZmlnEiQKDWFnZW50UmVtb3RlSUQYAiABKAlSDWFnZW50UmVtb3RlSUQSJgoOYWdlbnRDaXJjdWl0SUQYAyABKAlSDmFnZW50Q2lyY3VpdElEEhoKCG9udVVuaUlkGAQgASgNUghvbnVVbmlJZCL6AQoPU2V0VmFsdWVSZXF1ZXN0EjgKDGFsYXJtX2NvbmZpZxgBIAEoCzITLmNvbmZpZy5BbGFybUNvbmZpZ0gAUgthbGFybUNvbmZpZxJLChJhcHBfb2ZmbG9hZF9jb25maWcYAiABKAsyGy5leHRlbnNpb24uQXBwT2ZmbG9hZENvbmZpZ0gAUhBhcHBPZmZsb2FkQ29uZmlnElUKFmFwcF9vZmZsb2FkX29udV9jb25maWcYAyABKAsyHi5leHRlbnNpb24uQXBwT2ZmbG9hZE9udUNvbmZpZ0gAUhNhcHBPZmZsb2FkT251Q29uZmlnQgkKB3JlcXVlc3QixAIKEFNldFZhbHVlUmVzcG9uc2USOgoGc3RhdHVzGAEgASgOMiIuZXh0ZW5zaW9uLlNldFZhbHVlUmVzcG9uc2UuU3RhdHVzUgZzdGF0dXMSRQoJZXJyUmVhc29uGAIgASgOMicuZXh0ZW5zaW9uLlNldFZhbHVlUmVzcG9uc2UuRXJyb3JSZWFzb25SCWVyclJlYXNvbiIxCgZTdGF0dXMSFAoQU1RBVFVTX1VOREVGSU5FRBAAEgYKAk9LEAESCQoFRVJST1IQAiJ6CgtFcnJvclJlYXNvbhIUChBSRUFTT05fVU5ERUZJTkVEEAASDwoLVU5TVVBQT1JURUQQARIVChFJTlZBTElEX0RFVklDRV9JRBACEhkKFUlOVkFMSURfT05VX0RFVklDRV9JRBADEhIKDklOVkFMSURfVU5JX0lEEAQiaQoVU2luZ2xlR2V0VmFsdWVSZXF1ZXN0EhoKCHRhcmdldElkGAEgASgJUgh0YXJnZXRJZBI0CgdyZXF1ZXN0GAIgASgLMhouZXh0ZW5zaW9uLkdldFZhbHVlUmVxdWVzdFIHcmVxdWVzdCJRChZTaW5nbGVHZXRWYWx1ZVJlc3BvbnNlEjcKCHJlc3BvbnNlGAEgASgLMhsuZXh0ZW5zaW9uLkdldFZhbHVlUmVzcG9uc2VSCHJlc3BvbnNlImkKFVNpbmdsZVNldFZhbHVlUmVxdWVzdBIaCgh0YXJnZXRJZBgBIAEoCVIIdGFyZ2V0SWQSNAoHcmVxdWVzdBgCIAEoCzIaLmV4dGVuc2lvbi5TZXRWYWx1ZVJlcXVlc3RSB3JlcXVlc3QiUQoWU2luZ2xlU2V0VmFsdWVSZXNwb25zZRI3CghyZXNwb25zZRgBIAEoCzIbLmV4dGVuc2lvbi5TZXRWYWx1ZVJlc3BvbnNlUghyZXNwb25zZTKzAQoJRXh0ZW5zaW9uElIKC0dldEV4dFZhbHVlEiAuZXh0ZW5zaW9uLlNpbmdsZUdldFZhbHVlUmVxdWVzdBohLmV4dGVuc2lvbi5TaW5nbGVHZXRWYWx1ZVJlc3BvbnNlElIKC1NldEV4dFZhbHVlEiAuZXh0ZW5zaW9uLlNpbmdsZVNldFZhbHVlUmVxdWVzdBohLmV4dGVuc2lvbi5TaW5nbGVTZXRWYWx1ZVJlc3BvbnNlQlIKHW9yZy5vcGVuY29yZC52b2x0aGEuZXh0ZW5zaW9uWjFnaXRodWIuY29tL29wZW5jb3JkL3ZvbHRoYS1wcm90b3MvdjUvZ28vZXh0ZW5zaW9uStnDAQoHEgUOAMsEAQrxBAoBDBIDDgASMuYEIENvcHlyaWdodCAyMDE4LTIwMjQgT3BlbiBOZXR3b3JraW5nIEZvdW5kYXRpb24gKE9ORikgYW5kIHRoZSBPTkYgQ29udHJpYnV0b3JzCgogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIik7CiB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuCiBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXQ6CgogICAgIGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMAoKIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmUKIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuICJBUyBJUyIgQkFTSVMsCiBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC4KIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmQKIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgoKCAoBCBIDEABICgkKAggLEgMQAEgKCAoBCBIDEQA2CgkKAggBEgMRADYKCAoBAhIDEwASCgkKAgMAEgMVACgKCQoCAwESAxYAJQoKCgIEABIEGAAdAQoKCgMEAAESAxgIEAoLCgQEAAIAEgMZBBIKDQoFBAAC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bzMKhHwKJ3ZvbHRoYV9wcm90b3Mvdm9pcF9zeXN0ZW1fcHJvZmlsZS5wcm90bxITdm9pcF9zeXN0ZW1fcHJvZmlsZRocZ29vZ2xlL2FwaS9hbm5vdGF0aW9ucy5wcm90byKCAQoYVm9pcFN5c3RlbVByb2ZpbGVSZXF1ZXN0EhAKA2tleRgBIAEoCVIDa2V5ElQKEXZvaXBTeXN0ZW1Qcm9maWxlGAIgASgLMiYudm9pcF9zeXN0ZW1fcHJvZmlsZS5Wb2lwU3lzdGVtUHJvZmlsZVIRdm9pcFN5c3RlbVByb2ZpbGUikgEKEVZvaXBTeXN0ZW1Qcm9maWxlEjwKCXNpcENvbmZpZxgBIAEoCzIeLnZvaXBfc3lzdGVtX3Byb2ZpbGUuU2lwQ29uZmlnUglzaXBDb25maWcSPwoKdm9pcENvbmZpZxgCIAEoCzIfLnZvaXBfc3lzdGVtX3Byb2ZpbGUuVm9pcENvbmZpZ1IKdm9pcENvbmZpZyKVBAoKVm9pcENvbmZpZxJFCgxpcEhvc3RDb25maWcYASABKAsyIS52b2lwX3N5c3RlbV9wcm9maWxlLklwSG9zdENvbmZpZ1IMaXBIb3N0Q29uZmlnEkUKDHRjcFVkcENvbmZpZxgCIAEoCzIhLnZvaXBfc3lzdGVtX3Byb2ZpbGUuVGNwVWRwQ29uZmlnUgx0Y3BVZHBDb25maWcSRQoMdm9pcFZvaWNlQ3RwGAMgASgLMiEudm9pcF9zeXN0ZW1fcHJvZmlsZS5Wb2lwVm9pY2VDdHBSDHZvaXBWb2ljZUN0cBJRChB2b2lwTWVkaWFQcm9maWxlGAQgASgLMiUudm9pcF9zeXN0ZW1fcHJvZmlsZS5Wb2lwTWVkaWFQcm9maWxlUhB2b2lwTWVkaWFQcm9maWxlEloKE3ZvaWNlU2VydmljZVByb2ZpbGUYBSABKAsyKC52b2lwX3N5c3RlbV9wcm9maWxlLlZvaWNlU2VydmljZVByb2ZpbGVSE3ZvaWNlU2VydmljZVByb2ZpbGUSPwoKcnRwUHJvZmlsZRgGIAEoCzIfLnZvaXBfc3lzdGVtX3Byb2ZpbGUuUnRwUHJvZmlsZVIKcnRwUHJvZmlsZRJCCgtwcHRwUG90c1VuaRgHIAEoCzIgLnZvaXBfc3lzdGVtX3Byb2ZpbGUuUHB0cFBvdHNVbmlSC3BwdHBQb3RzVW5pIpACCgxJcEhvc3RDb25maWcSHAoJaXBPcHRpb25zGAEgASgNUglpcE9wdGlvbnMSJAoNb251SWRlbnRpZmllchgCIAEoCVINb251SWRlbnRpZmllchIcCglpcEFkZHJlc3MYAyABKAlSCWlwQWRkcmVzcxISCgRtYXNrGAQgASgJUgRtYXNrEhgKB2dhdGV3YXkYBSABKAlSB2dhdGV3YXkSHgoKcHJpbWFyeURucxgGIAEoCVIKcHJpbWFyeURucxIiCgxzZWNvbmRhcnlEbnMYByABKAlSDHNlY29uZGFyeURucxIsChFyZWxheUFnZW50T3B0aW9ucxgIIAEoCVIRcmVsYXlBZ2VudE9wdGlvbnMiRgoMVGNwVWRwQ29uZmlnEhoKCHByb3RvY29sGAEgASgNUghwcm90b2NvbBIaCgh0b3NGaWVsZBgCIAEoCVIIdG9zRmllbGQiNgoMVm9pcFZvaWNlQ3RwEiYKDnNpZ25hbGxpbmdDb2RlGAEgASgNUg5zaWduYWxsaW5nQ29kZSKWBQoQVm9pcE1lZGlhUHJvZmlsZRIYCgdmYXhNb2RlGAEgASgNUgdmYXhNb2RlEigKD2NvZGVjU2VsZWN0aW9uMRgCIAEoDVIPY29kZWNTZWxlY3Rpb24xEjYKFnBhY2tldFBlcmlvZFNlbGVjdGlvbjEYAyABKA1SFnBhY2tldFBlcmlvZFNlbGVjdGlvbjESMAoTc2lsZW5jZVN1cHByZXNzaW9uMRgEIAEoDVITc2lsZW5jZVN1cHByZXNzaW9uMRIoCg9jb2RlY1NlbGVjdGlvbjIYBSABKA1SD2NvZGVjU2VsZWN0aW9uMhI2ChZwYWNrZXRQZXJpb2RTZWxlY3Rpb24yGAYgASgNUhZwYWNrZXRQZXJpb2RTZWxlY3Rpb24yEjAKE3NpbGVuY2VTdXBwcmVzc2lvbjIYByABKA1SE3NpbGVuY2VTdXBwcmVzc2lvbjISKAoPY29kZWNTZWxlY3Rpb24zGAggASgNUg9jb2RlY1NlbGVjdGlvbjMSNgoWcGFja2V0UGVyaW9kU2VsZWN0aW9uMxgJIAEoDVIWcGFja2V0UGVyaW9kU2VsZWN0aW9uMxIwChNzaWxlbmNlU3VwcHJlc3Npb24zGAogASgNUhNzaWxlbmNlU3VwcHJlc3Npb24zEigKD2NvZGVjU2VsZWN0aW9uNBgLIAEoDVIPY29kZWNTZWxlY3Rpb240EjYKFnBhY2tldFBlcmlvZFNlbGVjdGlvbjQYDCABKA1SFnBhY2tldFBlcmlvZFNlbGVjdGlvbjQSMAoTc2lsZW5jZVN1cHByZXNzaW9uNBgNIAEoDVITc2lsZW5jZVN1cHByZXNzaW9uNBIYCgdvb2JEdG1mGA4gASgNUgdvb2JEdG1mIvMCChNWb2ljZVNlcnZpY2VQcm9maWxlEioKEGFubm91bmNlbWVudFR5cGUYASABKA1SEGFubm91bmNlbWVudFR5cGUSIgoMaml0dGVyVGFyZ2V0GAIgASgNUgxqaXR0ZXJUYXJnZXQSKAoPaml0dGVyQnVmZmVyTWF4GAMgASgNUg9qaXR0ZXJCdWZmZXJNYXgSJAoNZWNob0NhbmNlbEluZBgEIAEoCFINZWNob0NhbmNlbEluZBIwChNwc3RuUHJvdG9jb2xWYXJpYW50GAUgASgNUhNwc3RuUHJvdG9jb2xWYXJpYW50EigKD2R0bWZEaWdpdExldmVscxgGIAEoDVIPZHRtZkRpZ2l0TGV2ZWxzEiwKEWR0bWZEaWdpdER1cmF0aW9uGAcgASgNUhFkdG1mRGlnaXREdXJhdGlvbhIyChRob29rRmxhc2hNaW5pbXVtVGltZRgIIAEoDVIUaG9va0ZsYXNoTWluaW11bVRpbWUi+AEKClJ0cFByb2ZpbGUSIgoMbG9jYWxQb3J0TWluGAEgASgNUgxsb2NhbFBvcnRNaW4SIgoMbG9jYWxQb3J0TWF4GAIgASgNUgxsb2NhbFBvcnRNYXgSGgoIZHNjcE1hcmsYAyABKAlSCGRzY3BNYXJrEigKD3BpZ2d5QmFja0V2ZW50cxgEIAEoDVIPcGlnZ3lCYWNrRXZlbnRzEh4KCnRvbmVFdmVudHMYBSABKA1SCnRvbmVFdmVudHMSHgoKZHRtZkV2ZW50cxgGIAEoDVIKZHRtZkV2ZW50cxIcCgljYXNFdmVudHMYByABKA1SCWNhc0V2ZW50cyLDAgoLUHB0cFBvdHNVbmkSEAoDYXJjGAEgASgJUgNhcmMSIAoLYXJjSW50ZXJ2YWwYAiABKAlSC2FyY0ludGVydmFsEhwKCWltcGVkYW5jZRgDIAEoDVIJaW1wZWRhbmNlEioKEHRyYW5zbWlzc2lvblBhdGgYBCABKA1SEHRyYW5zbWlzc2lvblBhdGgSFgoGcnhHYWluGAUgASgRUgZyeEdhaW4SFgoGdHhHYWluGAYgASgRUgZ0eEdhaW4SKgoQcG90c0hvbGRPdmVyVGltZRgHIAEoDVIQcG90c0hvbGRPdmVyVGltZRIuChJub21pbmFsRmVlZFZvbHRhZ2UYCCABKA1SEm5vbWluYWxGZWVkVm9sdGFnZRIqChBsb3NzT2ZTb2Z0U3dpdGNoGAkgASgNUhBsb3NzT2ZTb2Z0U3dpdGNoIssDCglTaXBDb25maWcSQgoLc2lwVXNlckRhdGEYASABKAsyIC52b2lwX3N5c3RlbV9wcm9maWxlLlNpcFVzZXJEYXRhUgtzaXBVc2VyRGF0YRJLCg5zaXBBZ2VudENvbmZpZxgCIAEoCzIjLnZvaXBfc3lzdGVtX3Byb2ZpbGUuU2lwQWdlbnRDb25maWdSDnNpcEFnZW50Q29uZmlnEk4KD25ldHdvcmtEaWFsUGxhbhgDIAEoCzIkLnZvaXBfc3lzdGVtX3Byb2ZpbGUuTmV0d29ya0RpYWxQbGFuUg9uZXR3b3JrRGlhbFBsYW4SYwoWdm9pcEZlYXR1cmVBY2Nlc3NDb2RlcxgEIAEoCzIrLnZvaXBfc3lzdGVtX3Byb2ZpbGUuVm9pcEZlYXR1cmVBY2Nlc3NDb2Rlc1IWdm9pcEZlYXR1cmVBY2Nlc3NDb2RlcxJ4Ch12b2lwQXBwbGljYXRpb25TZXJ2aWNlUHJvZmlsZRgFIAEoCzIyLnZvaXBfc3lzdGVtX3Byb2ZpbGUuVm9pcEFwcGxpY2F0aW9uU2VydmljZVByb2ZpbGVSHXZvaXBBcHBsaWNhdGlvblNlcnZpY2VQcm9maWxlItMCCgtTaXBVc2VyRGF0YRIgCgt1c2VyUGFydEFvchgBIAEoCVILdXNlclBhcnRBb3ISWgoTdXNlcm5hbWVBbmRQYXNzd29yZBgCIAEoCzIoLnZvaXBfc3lzdGVtX3Byb2ZpbGUuVXNlcm5hbWVBbmRQYXNzd29yZFITdXNlcm5hbWVBbmRQYXNzd29yZBI0ChV2b2ljZW1haWxTZXJ2ZXJTaXBVcmkYAyABKAlSFXZvaWNlbWFpbFNlcnZlclNpcFVyaRJQCiN2b2ljZW1haWxTdWJzY3JpcHRpb25FeHBpcmF0aW9uVGltZRgEIAEoBVIjdm9pY2VtYWlsU3Vic2NyaXB0aW9uRXhwaXJhdGlvblRpbWUSIgoMcmVsZWFzZVRpbWVyGAUgASgFUgxyZWxlYXNlVGltZXISGgoIcm9oVGltZXIYBiABKAVSCHJvaFRpbWVyIqMECg5TaXBBZ2VudENvbmZpZxIyChRvdXRib3VuZFByb3h5QWRkcmVzcxgBIAEoCVIUb3V0Ym91bmRQcm94eUFkZHJlc3MSJAoNcHJpbWFyeVNpcERucxgCIAEoCVINcHJpbWFyeVNpcERucxIoCg9zZWNvbmRhcnlTaXBEbnMYAyABKAlSD3NlY29uZGFyeVNpcERucxIkCg1zaXBSZWdFeHBUaW1lGAQgASgFUg1zaXBSZWdFeHBUaW1lEjQKFXNpcFJlcmVnSGVhZFN0YXJ0VGltZRgFIAEoBVIVc2lwUmVyZWdIZWFkU3RhcnRUaW1lEiIKDFNpcFJlZ2lzdHJhchgGIAEoCVIMU2lwUmVnaXN0cmFyEh4KCnNvZnRTd2l0Y2gYByABKAlSCnNvZnRTd2l0Y2gSUQoQc2lwUmVzcG9uc2VUYWJsZRgIIAEoCzIlLnZvaXBfc3lzdGVtX3Byb2ZpbGUuU2lwUmVzcG9uc2VUYWJsZVIQc2lwUmVzcG9uc2VUYWJsZRI6ChhzaXBPcHRpb25UcmFuc21pdENvbnRyb2wYCSABKAhSGHNpcE9wdGlvblRyYW5zbWl0Q29udHJvbBIiCgxzaXBVcmlGb3JtYXQYCiABKAlSDHNpcFVyaUZvcm1hdBI6ChhyZWR1bmRhbnRTaXBBZ2VudFBvaW50ZXIYCyABKAlSGHJlZHVuZGFudFNpcEFnZW50UG9pbnRlciLlAQoPTmV0d29ya0RpYWxQbGFuEjAKE2NyaXRpY2FsRGlhbFRpbWVvdXQYASABKA1SE2NyaXRpY2FsRGlhbFRpbWVvdXQSLgoScGFydGlhbERpYWxUaW1lb3V0GAIgASgNUhJwYXJ0aWFsRGlhbFRpbWVvdXQSJgoOZGlhbFBsYW5Gb3JtYXQYAyABKA1SDmRpYWxQbGFuRm9ybWF0EkgKDWRpYWxQbGFuVGFibGUYBCABKAsyIi52b2lwX3N5c3RlbV9wcm9maWxlLkRpYWxQbGFuVGFibGVSDWRpYWxQbGFuVGFibGUiQQoTVXNlcm5hbWVBbmRQYXNzd29yZBIqChB2YWxpZGF0aW9uU2NoZW1lGAEgASgFUhB2YWxpZGF0aW9uU2NoZW1lInIKEFNpcFJlc3BvbnNlVGFibGUSKAoPc2lwUmVzcG9uc2VDb2RlGAEgASgJUg9zaXBSZXNwb25zZUNvZGUSEgoEdG9uZRgCIAEoCVIEdG9uZRIgCgt0ZXh0TWVzc2FnZRgDIAEoCVILdGV4dE1lc3NhZ2UioQEKDURpYWxQbGFuVGFibGUSHgoKZGlhbFBsYW5JZBgBIAEoDVIKZGlhbFBsYW5JZBIWCgZhY3Rpb24YAiABKA1SBmFjdGlvbhIkCg1kaWFsUGxhblRva2VuGAMgASgJUg1kaWFsUGxhblRva2VuEjIKFGRpYWxQbGFuVGFibGVNYXhTaXplGAQgASgNUhRkaWFsUGxhblRhYmxlTWF4U2l6ZSLSBAoWVm9pcEZlYXR1cmVBY2Nlc3NDb2RlcxIsChFjYW5jZWxDYWxsV2FpdGluZxgBIAEoCVIRY2FuY2VsQ2FsbFdhaXRpbmcSGgoIY2FsbEhvbGQYAiABKAlSCGNhbGxIb2xkEhoKCGNhbGxQYXJrGAMgASgJUghjYWxsUGFyaxIqChBjYWxsZXJJZEFjdGl2YXRlGAQgASgJUhBjYWxsZXJJZEFjdGl2YXRlEi4KEmNhbGxlcklkRGVhY3RpdmF0ZRgFIAEoCVISY2FsbGVySWREZWFjdGl2YXRlEjYKFmRvTm90RGlzdHVyYkFjdGl2YXRpb24YBiABKAlSFmRvTm90RGlzdHVyYkFjdGl2YXRpb24SOgoYZG9Ob3REaXN0dXJiRGVhY3RpdmF0aW9uGAcgASgJUhhkb05vdERpc3R1cmJEZWFjdGl2YXRpb24SNAoVZG9Ob3REaXN0dXJiUGluQ2hhbmdlGAggASgJUhVkb05vdERpc3R1cmJQaW5DaGFuZ2USNgoWZW1lcmdlbmN5U2VydmljZU51bWJlchgJIAEoCVIWZW1lcmdlbmN5U2VydmljZU51bWJlchIoCg9pbnRlcmNvbVNlcnZpY2UYCiABKAlSD2ludGVyY29tU2VydmljZRI2ChZ1bmF0dGVuZGVkQ2FsbFRyYW5zZmVyGAsgASgJUhZ1bmF0dGVuZGVkQ2FsbFRyYW5zZmVyEjIKFGF0dGVuZGVkQ2FsbFRyYW5zZmVyGAwgASgJUhRhdHRlbmRlZENhbGxUcmFuc2ZlciKXBAodVm9pcEFwcGxpY2F0aW9uU2VydmljZVByb2ZpbGUSIAoLY2lkRmVhdHVyZXMYASABKA1SC2NpZEZlYXR1cmVzEjAKE2NhbGxXYWl0aW5nRmVhdHVyZXMYAiABKA1SE2NhbGxXYWl0aW5nRmVhdHVyZXMSRgoeY2FsbFByb2dyZXNzT3JUcmFuc2ZlckZlYXR1cmVzGAMgASgNUh5jYWxsUHJvZ3Jlc3NPclRyYW5zZmVyRmVhdHVyZXMSOgoYY2FsbFByZXNlbnRhdGlvbkZlYXR1cmVzGAQgASgNUhhjYWxsUHJlc2VudGF0aW9uRmVhdHVyZXMSMgoUZGlyZWN0Q29ubmVjdEZlYXR1cmUYBSABKA1SFGRpcmVjdENvbm5lY3RGZWF0dXJlEjgKF2RpcmVjdENvbm5lY3RVcmlQb2ludGVyGAYgASgJUhdkaXJlY3RDb25uZWN0VXJpUG9pbnRlchI+ChpicmlkZ2VkTGluZUFnZW50VXJpUG9pbnRlchgHIAEoCVIaYnJpZGdlZExpbmVBZ2VudFVyaVBvaW50ZXISQAobY29uZmVyZW5jZUZhY3RvcnlVcmlQb2ludGVyGAggASgJUhtjb25mZXJlbmNlRmFjdG9yeVVyaVBvaW50ZXISLgoSZGlhbFRvbmVEZWxheVRpbWVyGAkgASgNUhJkaWFsVG9uZURlbGF5VGltZXJCZgonb3JnLm9wZW5jb3JkLnZvbHRoYS52b2lwX3N5c3RlbV9wcm9maWxlWjtnaXRodWIuY29tL29wZW5jb3JkL3ZvbHRoYS1wcm90b3MvdjUvZ28vdm9pcF9zeXN0ZW1fcHJvZmlsZUqkTAoHEgUOAMQBAQrxBAoBDBIDDgASMuYEIENvcHlyaWdodCAyMDE4LTIwMjQgT3BlbiBOZXR3b3JraW5nIEZvdW5kYXRpb24gKE9ORikgYW5kIHRoZSBPTkYgQ29udHJpYnV0b3JzCgogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIik7CiB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuCiBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXQ6CgogICAgIGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMAoKIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmUKIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuICJBUyBJUyIgQkFTSVMsCiBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC4KIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmQKIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgoKCAoBCBIDEABSCgkKAggLEgMQAFIKCAoBCBIDEQBACgkKAggBEgMRAEAKCAoBAhIDEwAcCgkKAgMAEgMUACYKCgoCBAASBBYAGQEKCgoDBAABEgMWCCAKCwoEBAACABIDFwIRCg0KBQQAAgAEEgQXAhYiCgwKBQQAAgAFEgMXAggKDAoFBAACAAESAxcJDAoMCgUEAAIAAxIDFw8QCgsKBAQAAgESAxgCKgoNCgUEAAIBBBIEGAIXEQoMCgUEAAIBBhIDGAITCgwKBQQAAgEBEgMYFCUKDAoFBAACAQMSAxgoKQq5AQoCBAESBB0AIAEarAEgQSBzeXN0ZW0gd2lkZSBwcm9maWxlIGZvciB2b2lwIHNlcnZpY2UgdGhhdCBjYW4gYmUgc3RvcmVkIGludG8gdm9sdGhhIEtWIGFueXRpbWUuCiBEZXNpZ25lZCBiYXNlZCBvbiBHOTg4LTIwMTcgKGFsc28gZGVzaWduZWQgZmxleGlibGUgdG8gYmUgYWJsZSB0byBiZSBtb2RpZmllZCBsYXRlciBvbikKCgoKAwQBARIDHQgZCgsKBAQBAgASAx4CGgoNCgUEAQIABBIEHgIdGwoMCgUEAQIABhIDHgILCgwKBQQBAgABEgMeDBUKDAoFBAECAAMSAx4YGQoLCgQEAQIBEgMfAhwKDQoFBAECAQQSBB8CHhoKDAoFBAECAQYSAx8CDAoMCgUEAQIBARIDHw0XCgwKBQQBAgEDEgMfGhsKMQoCBAISBCMAKwEaJSBDb21tb24gdm9pcCBmaWVsZHMgYXJlIGdyb3VwZWQgaGVyZQoKCgoDBAIBEgMjCBIKCwoEBAICABIDJAIgCg0KBQQCAgAEEgQkAiMUCgwKBQQCAgAGEgMkAg4KDAoFBAICAAESAyQPGwoMCgUEAgIAAxIDJB4fCgsKBAQCAgESAyUCIAoNCgUEAgIBBBIEJQIkIAoMCgUEAgIBBhIDJQIOCgwKBQQCAgEBEgMlDxsKDAoFBAICAQMSAyUeHwoLCgQEAgICEgMmAiAKDQoFBAICAgQSBCYCJSAKDAoFBAICAgYSAyYCDgoMCgUEAgICARIDJg8bCgwKBQQCAgIDEgMmHh8KCwoEBAICAxIDJwIoCg0KBQQCAgMEEgQnAiYgCgwKBQQCAgMGEgMnAhIKDAoFBAICAwESAycTIwoMCgUEAgIDAxIDJyYnCgsKBAQCAgQSAygCLgoNCgUEAgIEBBIEKAInKAoMCgUEAgIEBhIDKAIVCgwKBQQCAgQBEgMoFikKDAoFBAICBAMSAygsLQoLCgQEAgIFEgMpAhwKDQoFBAICBQQSBCkCKC4KDAoFBAICBQYSAykCDAoMCgUEAgIFARIDKQ0XCgwKBQQCAgUDEgMpGhsKCwoEBAICBhIDKgIeCg0KBQQCAgYEEgQqAikcCgwKBQQCAgYGEgMqAg0KDAoFBAICBgESAyoOGQoMCgUEAgIGAxIDKhwdCgoKAgQDEgQtADYBCgoKAwQDARIDLQgUCgsKBAQDAgASAy4CFwoNCgUEAwIABBIELgItFgoMCgUEAwIABRIDLgIICgwKBQQDAgABEgMuCRIKDAoFBAMCAAMSAy4VFgoLCgQEAwIBEgMvAhsKDQoFBAMCAQQSBC8CLhcKDAoFBAMCAQUSAy8CCAoMCgUEAwIBARIDLwkWCgwKBQQDAgEDEgMvGRoKCwoEBAMCAhIDMAIXCg0KBQQDAgIEEgQwAi8bCgwKBQQDAgIFEgMwAggKDAoFBAMCAgESAzAJEgoMCgUEAwICAxIDMBUWCgsKBAQDAgMSAzECEgoNCgUEAwIDBBIEMQIwFwoMCgUEAwIDBRIDMQIICgwKBQQDAgMBEgMxCQ0KDAoFBAMCAwMSAzEQEQoLCgQEAwIEEgMyAhUKDQoFBAMCBAQSBDICMRIKDAoFBAMCBAUSAzICCAoMCgUEAwIEARIDMgkQCgwKBQQDAgQDEgMyExQKCwoEBAMCBRIDMwIYCg0KBQQDAgUEEgQzAjIVCgwKBQQDAgUFEgMzAggKDAoFBAMCBQESAzMJEwoMCgUEAwIFAxIDMxYXCgsKBAQDAgYSAzQCGgoNCgUEAwIGBBIENAIzGAoMCgUEAwIGBRIDNAIICgwKBQQDAgYBEgM0CRUKDAoFBAMCBgMSAzQYGQoLCgQEAwIHEgM1Ah8KDQoFBAMCBwQSBDUCNBoKDAoFBAMCBwUSAzUCCAoMCgUEAwIHARIDNQkaCgwKBQQDAgcDEgM1HR4KCgoCBAQSBDgAOwEKCgoDBAQBEgM4CBQKCwoEBAQCABIDOQIWCg0KBQQEAgAEEgQ5AjgWCgwKBQQEAgAFEgM5AggKDAoFBAQCAAESAzkJEQoMCgUEBAIAAxIDORQVCgsKBAQEAgESAzoCFgoNCgUEBAIBBBIEOgI5FgoMCgUEBAIBBRIDOgIICgwKBQQEAgEBEgM6CREKDAoFBAQCAQMSAzoUFQoKCgIEBRIEPQA/AQoKCgMEBQESAz0IFAoLCgQEBQIAEgM+AhwKDQoFBAUCAAQSBD4CPRYKDAoFBAUCAAUSAz4CCAoMCgUEBQIAARIDPgkXCgwKBQQFAgADEgM+GhsKCgoCBAYSBEEAUAEKCgoDBAYBEgNBCBgKCwoEBAYCABIDQgIVCg0KBQQGAgAEEgRCAkEaCgwKBQQGAgAFEgNCAggKDAoFBAYCAAESA0IJEAoMCgUEBgIAAxIDQhMUCgsKBAQGAgESA0MCHQoNCgUEBgIBBBIEQwJCFQoMCgUEBgIBBRIDQwIICgwKBQQGAgEBEgNDCRgKDAoFBAYCAQMSA0MbHAoLCgQEBgICEgNEAiQKDQoFBAYCAgQSBEQCQx0KDAoFBAYCAgUSA0QCCAoMCgUEBgICARIDRAkfCgwKBQQGAgIDEgNEIiMKCwoEBAYCAxIDRQIhCg0KBQQGAgMEEgRFAkQkCgwKBQQGAgMFEgNFAggKDAoFBAYCAwESA0UJHAoMCgUEBgIDAxIDRR8gCgsKBAQGAgQSA0YCHQoNCgUEBgIEBBIERgJFIQoMCgUEBgIEBRIDRgIICgwKBQQGAgQBEgNGCRgKDAoFBAYCBAMSA0YbHAoLCgQEBgIFEgNHAiQKDQoFBAYCBQQSBEcCRh0KDAoFBAYCBQUSA0cCCAoMCgUEBgIFARIDRwkfCgwKBQQGAgUDEgNHIiMKCwoEBAYCBhIDSAIhCg0KBQQGAgYEEgRIAkckCgwKBQQGAgYFEgNIAggKDAoFBAYCBgESA0gJHAoMCgUEBgIGAxIDSB8gCgsKBAQGAgcSA0kCHQoNCgUEBgIHBBIESQJIIQoMCgUEBgIHBRIDSQIICgwKBQQGAgcBEgNJCRgKDAoFBAYCBwMSA0kbHAoLCgQEBgIIEgNKAiQKDQoFBAYCCAQSBEoCSR0KDAoFBAYCCAUSA0oCCAoMCgUEBgIIARIDSgkfCgwKBQQGAggDEgNKIiMKCwoEBAYCCRIDSwIiCg0KBQQGAgkEEgRLAkokCgwKBQQGAgkFEgNLAggKDAoFBAYCCQESA0sJHAoMCgUEBgIJAxIDSx8hCgsKBAQGAgoSA0wCHgoNCgUEBgIKBBIETAJLIgoMCgUEBgIKBRIDTAIICgwKBQQGAgoBEgNMCRgKDAoFBAYCCgMSA0wbHQoLCgQEBgILEgNNAiUKDQoFBAYCCwQSBE0CTB4KDAoFBAYCCwUSA00CCAoMCgUEBgILARIDTQkfCgwKBQQGAgsDEgNNIiQKCwoEBAYCDBIDTgIiCg0KBQQGAgwEEgROAk0lCgwKBQQGAgwFEgNOAggKDAoFBAYCDAESA04JHAoMCgUEBgIMAxIDTh8hCgsKBAQGAg0SA08CFgoNCgUEBgINBBIETwJOIgoMCgUEBgINBRIDTwIICgwKBQQGAg0BEgNPCRAKDAoFBAYCDQMSA08TFQoKCgIEBxIEUgBbAQoKCgMEBwESA1IIGwoLCgQEBwIAEgNTAh4KDQoFBAcCAAQSBFMCUh0KDAoFBAcCAAUSA1MCCAoMCgUEBwIAARIDUwkZCgwKBQQHAgADEgNTHB0KCwoEBAcCARIDVAIaCg0KBQQHAgEEEgRUAlMeCgwKBQQHAgEFEgNUAggKDAoFBAcCAQESA1QJFQoMCgUEBwIBAxIDVBgZCgsKBAQHAgISA1UCHQoNCgUEBwICBBIEVQJUGgoMCgUEBwICBRIDVQIICgwKBQQHAgIBEgNVCRgKDAoFBAcCAgMSA1UbHAoLCgQEBwIDEgNWAhkKDQoFBAcCAwQSBFYCVR0KDAoFBAcCAwUSA1YCBgoMCgUEBwIDARIDVgcUCgwKBQQHAgMDEgNWFxgKCwoEBAcCBBIDVwIhCg0KBQQHAgQEEgRXAlYZCgwKBQQHAgQFEgNXAggKDAoFBAcCBAESA1cJHAoMCgUEBwIEAxIDVx8gCgsKBAQHAgUSA1gCHQoNCgUEBwIFBBIEWAJXIQoMCgUEBwIFBRIDWAIICgwKBQQHAgUBEgNYCRgKDAoFBAcCBQMSA1gbHAoLCgQEBwIGEgNZAh8KDQoFBAcCBgQSBFkCWB0KDAoFBAcCBgUSA1kCCAoMCgUEBwIGARIDWQkaCgwKBQQHAgYDEgNZHR4KCwoEBAcCBxIDWgIiCg0KBQQHAgcEEgRaAlkfCgwKBQQHAgcFEgNaAggKDAoFBAcCBwESA1oJHQoMCgUEBwIHAxIDWiAhCgoKAgQIEgRdAGUBCgoKAwQIARIDXQgSCgsKBAQIAgASA14CGgoNCgUECAIABBIEXgJdFAoMCgUECAIABRIDXgIICgwKBQQIAgABEgNeCRUKDAoFBAgCAAMSA14YGQoLCgQECAIBEgNfAhoKDQoFBAgCAQQSBF8CXhoKDAoFBAgCAQUSA18CCAoMCgUECAIBARIDXwkVCgwKBQQIAgEDEgNfGBkKCwoEBAgCAhIDYAIWCg0KBQQIAgIEEgRgAl8aCgwKBQQIAgIFEgNgAggKDAoFBAgCAgESA2AJEQoMCgUECAICAxIDYBQVCgsKBAQIAgMSA2ECHQoNCgUECAIDBBIEYQJgFgoMCgUECAIDBRIDYQIICgwKBQQIAgMBEgNhCRgKDAoFBAgCAwMSA2EbHAoLCgQECAIEEgNiAhgKDQoFBAgCBAQSBGICYR0KDAoFBAgCBAUSA2ICCAoMCgUECAIEARIDYgkTCgwKBQQIAgQDEgNiFhcKCwoEBAgCBRIDYwIYCg0KBQQIAgUEEgRjAmIYCgwKBQQIAgUFEgNjAggKDAoFBAgCBQESA2MJEwoMCgUECAIFAxIDYxYXCgsKBAQIAgYSA2QCFwoNCgUECAIGBBIEZAJjGAoMCgUECAIGBRIDZAIICgwKBQQIAgYBEgNkCRIKDAoFBAgCBgMSA2QVFgoKCgIECRIEZwBxAQoKCgMECQESA2cIEwoLCgQECQIAEgNoAhEKDQoFBAkCAAQSBGgCZxUKDAoFBAkCAAUSA2gCCAoMCgUECQIAARIDaAkMCgwKBQQJAgADEgNoDxAKCwoEBAkCARIDaQIZCg0KBQQJAgEEEgRpAmgRCgwKBQQJAgEFEgNpAggKDAoFBAkCAQESA2kJFAoMCgUECQIBAxIDaRcYCgsKBAQJAgISA2oCFwoNCgUECQICBBIEagJpGQoMCgUECQICBRIDagIICgwKBQQJAgIBEgNqCRIKDAoFBAkCAgMSA2oVFgoLCgQECQIDEgNrAh4KDQoFBAkCAwQSBGsCahcKDAoFBAkCAwUSA2sCCAoMCgUECQIDARIDawkZCgwKBQQJAgMDEgNrHB0KCwoEBAkCBBIDbAIUCg0KBQQJAgQEEgRsAmseCgwKBQQJAgQFEgNsAggKDAoFBAkCBAESA2wJDwoMCgUECQIEAxIDbBITCgsKBAQJAgUSA20CFAoNCgUECQIFBBIEbQJsFAoMCgUECQIFBRIDbQIICgwKBQQJAgUBEgNtCQ8KDAoFBAkCBQMSA20SEwoLCgQECQIGEgNuAh4KDQoFBAkCBgQSBG4CbRQKDAoFBAkCBgUSA24CCAoMCgUECQIGARIDbgkZCgwKBQQJAgYDEgNuHB0KCwoEBAkCBxIDbwIgCg0KBQQJAgcEEgRvAm4eCgwKBQQJAgcFEgNvAggKDAoFBAkCBwESA28JGwoMCgUECQIHAxIDbx4fCgsKBAQJAggSA3ACHgoNCgUECQIIBBIEcAJvIAoMCgUECQIIBRIDcAIICgwKBQQJAggBEgNwCRkKDAoFBAkCCAMSA3AcHQoyCgIEChIEdAB6ARomIFNpcCBzcGVjaWZpYyBmaWVsZHMgYXJlIGdyb3VwZWQgaGVyZQoKCgoDBAoBEgN0CBEKCwoEBAoCABIDdQIeCg0KBQQKAgAEEgR1AnQTCgwKBQQKAgAGEgN1Ag0KDAoFBAoCAAESA3UOGQoMCgUECgIAAxIDdRwdCgsKBAQKAgESA3YCJAoNCgUECgIBBBIEdgJ1HgoMCgUECgIBBhIDdgIQCgwKBQQKAgEBEgN2ER8KDAoFBAoCAQMSA3YiIwoLCgQECgICEgN3AicKDQoFBAoCAgQSBHcCdiQKDAoFBAoCAgYSA3cCEQoMCgUECgICARIDdxMiCgwKBQQKAgIDEgN3JSYKCwoEBAoCAxIDeAI0Cg0KBQQKAgMEEgR4AncnCgwKBQQKAgMGEgN4AhgKDAoFBAoCAwESA3gZLwoMCgUECgIDAxIDeDIzCgsKBAQKAgQSA3kCQgoNCgUECgIEBBIEeQJ4NAoMCgUECgIEBhIDeQIfCgwKBQQKAgQBEgN5ID0KDAoFBAoCBAMSA3lAQQoLCgIECxIFfACDAQEKCgoDBAsBEgN8CBMKCwoEBAsCABIDfQIZCg0KBQQLAgAEEgR9AnwVCgwKBQQLAgAFEgN9AggKDAoFBAsCAAESA30JFAoMCgUECwIAAxIDfRcYCgsKBAQLAgESA34CLgoNCgUECwIBBBIEfgJ9GQoMCgUECwIBBhIDfgIVCgwKBQQLAgEBEgN+FikKDAoFBAsCAQMSA34sLQoLCgQECwICEgN/AiMKDQoFBAsCAgQSBH8Cfi4KDAoFBAsCAgUSA38CCAoMCgUECwICARIDfwkeCgwKBQQLAgIDEgN/ISIKDAoEBAsCAxIEgAECMAoOCgUECwIDBBIFgAECfyMKDQoFBAsCAwUSBIABAgcKDQoFBAsCAwESBIABCCsKDQoFBAsCAwMSBIABLi8KDAoEBAsCBBIEgQECGQoPCgUECwIEBBIGgQECgAEwCg0KBQQLAgQFEgSBAQIHCg0KBQQLAgQBEgSBAQgUCg0KBQQLAgQDEgSBARcYCgwKBAQLAgUSBIIBAhUKDwoFBAsCBQQSBoIBAoEBGQoNCgUECwIFBRIEggECBwoNCgUECwIFARIEggEIEAoNCgUECwIFAxIEggETFAoMCgIEDBIGhQEAkQEBCgsKAwQMARIEhQEIFgoMCgQEDAIAEgSGAQIiCg8KBQQMAgAEEgaGAQKFARgKDQoFBAwCAAUSBIYBAggKDQoFBAwCAAESBIYBCR0KDQoFBAwCAAMSBIYBICEKDAoEBAwCARIEhwECGwoPCgUEDAIBBBIGhwEChgEiCg0KBQQMAgEFEgSHAQIICg0KBQQMAgEBEgSHAQkWCg0KBQQMAgEDEgSHARkaCgwKBAQMAgISBIgBAh0KDwoFBAwCAgQSBogBAocBGwoNCgUEDAICBRIEiAECCAoNCgUEDAICARIEiAEJGAoNCgUEDAICAxIEiAEbHAoMCgQEDAIDEgSJAQIaCg8KBQQMAgMEEgaJAQKIAR0KDQoFBAwCAwUSBIkBAgcKDQoFBAwCAwESBIkBCBUKDQoFBAwCAwMSBIkBGBkKDAoEBAwCBBIEigECIgoPCgUEDAIEBBIGigECiQEaCg0KBQQMAgQFEgSKAQIHCg0KBQQMAgQBEgSKAQgdCg0KBQQMAgQDEgSKASAhCgwKBAQMAgUSBIsBAhoKDwoFBAwCBQQSBosBAooBIgoNCgUEDAIFBRIEiwECCAoNCgUEDAIFARIEiwEJFQoNCgUEDAIFAxIEiwEYGQoMCgQEDAIGEgSMAQIYCg8KBQQMAgYEEgaMAQKLARoKDQoFBAwCBgUSBIwBAggKDQoFBAwCBgESBIwBCRMKDQoFBAwCBgMSBIwBFhcKDAoEBAwCBxIEjQECKAoPCgUEDAIHBBIGjQECjAEYCg0KBQQMAgcGEgSNAQISCg0KBQQMAgcBEgSNARMjCg0KBQQMAgcDEgSNASYnCgwKBAQMAggSBI4BAiQKDwoFBAwCCAQSBo4BAo0BKAoNCgUEDAIIBRIEjgECBgoNCgUEDAIIARIEjgEHHwoNCgUEDAIIAxIEjgEiIwoMCgQEDAIJEgSPAQIbCg8KBQQMAgkEEgaPAQKOASQKDQoFBAwCCQUSBI8BAggKDQoFBAwCCQESBI8BCRUKDQoFBAwCCQMSBI8BGBoKDAoEBAwCChIEkAECJwoPCgUEDAIKBBIGkAECjwEbCg0KBQQMAgoFEgSQAQIICg0KBQQMAgoBEgSQAQkhCg0KBQQMAgoDEgSQASQmCgwKAgQNEgaTAQCYAQEKCwoDBA0BEgSTAQgXCgwKBAQNAgASBJQBAiEKDwoFBA0CAAQSBpQBApMBGQoNCgUEDQIABRIElAECCAoNCgUEDQIAARIElAEJHAoNCgUEDQIAAxIElAEfIAoMCgQEDQIBEgSVAQIgCg8KBQQNAgEEEgaVAQKUASEKDQoFBA0CAQUSBJUBAggKDQoFBA0CAQESBJUBCRsKDQoFBA0CAQMSBJUBHh8KDAoEBA0CAhIElgECHAoPCgUEDQICBBIGlgEClQEgCg0KBQQNAgIFEgSWAQIICg0KBQQNAgIBEgSWAQkXCg0KBQQNAgIDEgSWARobCgwKBAQNAgMSBJcBAiIKDwoFBA0CAwQSBpcBApYBHAoNCgUEDQIDBhIElwECDwoNCgUEDQIDARIElwEQHQoNCgUEDQIDAxIElwEgIQoMCgIEDhIGmgEAnAEBCgsKAwQOARIEmgEIGwoMCgQEDgIAEgSbAQIdCg8KBQQOAgAEEgabAQKaAR0KDQoFBA4CAAUSBJsBAgcKDQoFBA4CAAESBJsBCBgKDQoFBA4CAAMSBJsBGxwKDAoCBA8SBp4BAKIBAQoLCgMEDwESBJ4BCBgKDAoEBA8CABIEnwECHQoPCgUEDwIABBIGnwECngEaCg0KBQQPAgAFEgSfAQIICg0KBQQPAgABEgSfAQkYCg0KBQQPAgADEgSfARscCgwKBAQPAgESBKABAhIKDwoFBA8CAQQSBqABAp8BHQoNCgUEDwIBBRIEoAECCAoNCgUEDwIBARIEoAEJDQoNCgUEDwIBAxIEoAEQEQoMCgQEDwICEgShAQIZCg8KBQQPAgIEEgahAQKgARIKDQoFBA8CAgUSBKEBAggKDQoFBA8CAgESBKEBCRQKDQoFBA8CAgMSBKEBFxgKDAoCBBASBqQBAKkBAQoLCgMEEAESBKQBCBUKDAoEBBACABIEpQECGAoPCgUEEAIABBIGpQECpAEXCg0KBQQQAgAFEgSlAQIICg0KBQQQAgABEgSlAQkTCg0KBQQQAgADEgSlARYXCgwKBAQQAgESBKYBAhQKDwoFBBACAQQSBqYBAqUBGAoNCgUEEAIBBRIEpgECCAoNCgUEEAIBARIEpgEJDwoNCgUEEAIBAxIEpgESEwoMCgQEEAICEgSnAQIbCg8KBQQQAgIEEganAQKmARQKDQoFBBACAgUSBKcBAggKDQoFBBACAgESBKcBCRYKDQoFBBACAgMSBKcBGRoKDAoEBBACAxIEqAECIgoPCgUEEAIDBBIGqAECpwEbCg0KBQQQAgMFEgSoAQIICg0KBQQQAgMBEgSoAQkdCg0KBQQQAgMDEgSoASAhCgwKAgQREgarAQC4AQEKCwoDBBEBEgSrAQgeCgwKBAQRAgASBKwBAh8KDwoFBBECAAQSBqwBAqsBIAoNCgUEEQIABRIErAECCAoNCgUEEQIAARIErAEJGgoNCgUEEQIAAxIErAEdHgoMCgQEEQIBEgStAQIWCg8KBQQRAgEEEgatAQKsAR8KDQoFBBECAQUSBK0BAggKDQoFBBECAQESBK0BCREKDQoFBBECAQMSBK0BFBUKDAoEBBECAhIErgECFgoPCgUEEQICBBIGrgECrQEWCg0KBQQRAgIFEgSuAQIICg0KBQQRAgIBEgSuAQkRCg0KBQQRAgIDEgSuARQVCgwKBAQRAgMSBK8BAh4KDwoFBBECAwQSBq8BAq4BFgoNCgUEEQIDBRIErwECCAoNCgUEEQIDARIErwEJGQoNCgUEEQIDAxIErwEcHQoMCgQEEQIEEgSwAQIgCg8KBQQRAgQEEgawAQKvAR4KDQoFBBECBAUSBLABAggKDQoFBBECBAESBLABCRsKDQoFBBECBAMSBLABHh8KDAoEBBECBRIEsQECJAoPCgUEEQIFBBIGsQECsAEgCg0KBQQRAgUFEgSxAQIICg0KBQQRAgUBEgSxAQkfCg0KBQQRAgUDEgSxASIjCgwKBAQRAgYSBLIBAiYKDwoFBBECBgQSBrIBArEBJAoNCgUEEQIGBRIEsgECCAoNCgUEEQIGARIEsgEJIQoNCgUEEQIGAxIEsgEkJQoMCgQEEQIHEgSzAQIjCg8KBQQRAgcEEgazAQKyASYKDQoFBBECBwUSBLMBAggKDQoFBBECBwESBLMBCR4KDQoFBBECBwMSBLMBISIKDAoEBBECCBIEtAECJAoPCgUEEQIIBBIGtAECswEjCg0KBQQRAggFEgS0AQIICg0KBQQRAggBEgS0AQkfCg0KBQQRAggDEgS0ASIjCgwKBAQRAgkSBLUBAh4KDwoFBBECCQQSBrUBArQBJAoNCgUEEQIJBRIEtQECCAoNCgUEEQIJARIEtQEJGAoNCgUEEQIJAxIEtQEbHQoMCgQEEQIKEgS2AQIlCg8KBQQRAgoEEga2AQK1AR4KDQoFBBECCgUSBLYBAggKDQoFBBECCgESBLYBCR8KDQoFBBECCgMSBLYBIiQKDAoEBBECCxIEtwECIwoPCgUEEQILBBIGtwECtgElCg0KBQQRAgsFEgS3AQIICg0KBQQRAgsBEgS3AQkdCg0KBQQRAgsDEgS3ASAiCgwKAgQSEga6AQDEAQEKCwoDBBIBEgS6AQglCgwKBAQSAgASBLsBAhkKDwoFBBICAAQSBrsBAroBJwoNCgUEEgIABRIEuwECCAoNCgUEEgIAARIEuwEJFAoNCgUEEgIAAxIEuwEXGAoMCgQEEgIBEgS8AQIhCg8KBQQSAgEEEga8AQK7ARkKDQoFBBICAQUSBLwBAggKDQoFBBICAQESBLwBCRwKDQoFBBICAQMSBLwBHyAKDAoEBBICAhIEvQECLAoPCgUEEgICBBIGvQECvAEhCg0KBQQSAgIFEgS9AQIICg0KBQQSAgIBEgS9AQknCg0KBQQSAgIDEgS9ASorCgwKBAQSAgMSBL4BAiYKDwoFBBICAwQSBr4BAr0BLAoNCgUEEgIDBRIEvgECCAoNCgUEEgIDARIEvgEJIQoNCgUEEgIDAxIEvgEkJQoMCgQEEgIEEgS/AQIiCg8KBQQSAgQEEga/AQK+ASYKDQoFBBICBAUSBL8BAggKDQoFBBICBAESBL8BCR0KDQoFBBICBAMSBL8BICEKDAoEBBICBRIEwAECJQoPCgUEEgIFBBIGwAECvwEiCg0KBQQSAgUFEgTAAQIICg0KBQQSAgUBEgTAAQkgCg0KBQQSAgUDEgTAASMkCgwKBAQSAgYSBMEBAigKDwoFBBICBgQSBsEBAsABJQoNCgUEEgIGBRIEwQECCAoNCgUEEgIGARIEwQEJIwoNCgUEEgIGAxIEwQEmJwoMCgQEEgIHEgTCAQIpCg8KBQQSAgcEEgbCAQLBASgKDQoFBBICBwUSBMIBAggKDQoFBBICBwESBMIBCSQKDQoFBBICBwMSBMIBJygKDAoEBBICCBIEwwECIAoPCgUEEgIIBBIGwwECwgEpCg0KBQQSAggFEgTDAQIICg0KBQQSAggBEgTDAQkbCg0KBQQSAggDEgTDAR4fYgZwcm90bzMKsBAKJXZvbHRoYV9wcm90b3Mvdm9pcF91c2VyX3Byb2ZpbGUucHJvdG8SEXZvaXBfdXNlcl9wcm9maWxlGhxnb29nbGUvYXBpL2Fubm90YXRpb25zLnByb3RvIngKFlZvaXBVc2VyUHJvZmlsZVJlcXVlc3QSEAoDa2V5GAEgASgJUgNrZXkSTAoPdm9pcFVzZXJQcm9maWxlGAIgASgLMiIudm9pcF91c2VyX3Byb2ZpbGUuVm9pcFVzZXJQcm9maWxlUg92b2lwVXNlclByb2ZpbGUi/QEKD1ZvaXBVc2VyUHJvZmlsZRIyChR2b2lwU3lzdGVtUHJvZmlsZUtleRgBIAEoCVIUdm9pcFN5c3RlbVByb2ZpbGVLZXkSGgoIdXNlcm5hbWUYAiABKAlSCHVzZXJuYW1lEhoKCHBhc3N3b3JkGAMgASgJUghwYXNzd29yZBIWCgZkb21haW4YBCABKAlSBmRvbWFpbhIUCgVwcm94eRgFIAEoCVIFcHJveHkSEgoEcG9ydBgGIAEoDVIEcG9ydBImCg5zaXBEaXNwbGF5TmFtZRgHIAEoCVIOc2lwRGlzcGxheU5hbWUSFAoFcmVhbG0YCCABKAlSBXJlYWxtQmIKJW9yZy5vcGVuY29yZC52b2x0aGEudm9pcF91c2VyX3Byb2ZpbGVaOWdpdGh1Yi5jb20vb3BlbmNvcmQvdm9sdGhhLXByb3Rvcy92NS9nby92b2lwX3VzZXJfcHJvZmlsZUrvCwoGEgQOACYBCvEECgEMEgMOABIy5gQgQ29weXJpZ2h0IDIwMTgtMjAyNCBPcGVuIE5ldHdvcmtpbmcgRm91bmRhdGlvbiAoT05GKSBhbmQgdGhlIE9ORiBDb250cmlidXRvcnMKCiBMaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgIkxpY2Vuc2UiKTsKIHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdDoKCiAgICAgaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wCgogVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZQogZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gIkFTIElTIiBCQVNJUywKIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLgogU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZAogbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuCgoICgEIEgMQAFAKCQoCCAsSAxAAUAoICgEIEgMRAD4KCQoCCAESAxEAPgoICgECEgMTABoKCQoCAwASAxQAJgo2CgIEABIEFwAbARoqIEEgdXNlciBzcGVjaWZpYyBwcm9maWxlIGZvciB2b2lwIHNlcnZpY2UKCgoKAwQAARIDFwgeCicKBAQAAgASAxkCERoaIGZvciB0aGUgcGF0aCBpbiBLViBzdG9yZQoKDQoFBAACAAQSBBkCFyAKDAoFBAACAAUSAxkCCAoMCgUEAAIAARIDGQkMCgwKBQQAAgADEgMZDxAKCwoEBAACARIDGgImCg0KBQQAAgEEEgQaAhkRCgwKBQQAAgEGEgMaAhEKDAoFBAACAQESAxoSIQoMCgUEAAIBAxIDGiQlCgoKAgQBEgQdACYBCgoKAwQBARIDHQgXCgsKBAQBAgASAx4CIgoNCgUEAQIABBIEHgIdGQoMCgUEAQIABRIDHgIICgwKBQQBAgABEgMeCR0KDAoFBAECAAMSAx4gIQoLCgQEAQIBEgMfAhYKDQoFBAECAQQSBB8CHiIKDAoFBAECAQUSAx8CCAoMCgUEAQIBARIDHwkRCgwKBQQBAgEDEgMfFBUKCwoEBAECAhIDIAIWCg0KBQQBAgIEEgQgAh8WCgwKBQQBAgIFEgMgAggKDAoFBAECAgESAyAJEQoMCgUEAQICAxIDIBQVCgsKBAQBAgMSAyECFAoNCgUEAQIDBBIEIQIgFgoMCgUEAQIDBRIDIQIICgwKBQQBAgMBEgMhCQ8KDAoFBAECAwMSAyESEwoLCgQEAQIEEgMiAhMKDQoFBAECBAQSBCICIRQKDAoFBAECBAUSAyICCAoMCgUEAQIEARIDIgkOCgwKBQQBAgQDEgMiERIKCwoEBAECBRIDIwISCg0KBQQBAgUEEgQjAiITCgwKBQQBAgUFEgMjAggKDAoFBAECBQESAyMJDQoMCgUEAQIFAxIDIxARCgsKBAQBAgYSAyQCHAoNCgUEAQIGBBIEJAIjEgoMCgUEAQIGBRIDJAIICgwKBQQBAgYBEgMkCRcKDAoFBAECBgMSAyQaGwoLCgQEAQIHEgMlAhMKDQoFBAECBwQSBCUCJBwKDAoFBAECBwUSAyUCCAoMCgUEAQIHARIDJQkOCgwKBQQBAgcDEgMlERJiBnByb3RvMwrBGwofdm9sdGhhX3Byb3Rvcy9vbWNpX21pYl9kYi5wcm90bxIEb21jaSI8ChBNaWJBdHRyaWJ1dGVEYXRhEhIKBG5hbWUYASABKAlSBG5hbWUSFAoFdmFsdWUYAiABKAlSBXZhbHVlIqABCg9NaWJJbnN0YW5jZURhdGESHwoLaW5zdGFuY2VfaWQYASABKA1SCmluc3RhbmNlSWQSGAoHY3JlYXRlZBgCIAEoCVIHY3JlYXRlZBIaCghtb2RpZmllZBgDIAEoCVIIbW9kaWZpZWQSNgoKYXR0cmlidXRlcxgEIAMoCzIWLm9tY2kuTWliQXR0cmlidXRlRGF0YVIKYXR0cmlidXRlcyJeCgxNaWJDbGFzc0RhdGESGQoIY2xhc3NfaWQYASABKA1SB2NsYXNzSWQSMwoJaW5zdGFuY2VzGAIgAygLMhUub21jaS5NaWJJbnN0YW5jZURhdGFSCWluc3RhbmNlcyI+Cg1NYW5hZ2VkRW50aXR5EhkKCGNsYXNzX2lkGAEgASgNUgdjbGFzc0lkEhIKBG5hbWUYAiABKAlSBG5hbWUiMAoLTWVzc2FnZVR5cGUSIQoMbWVzc2FnZV90eXBlGAEgASgNUgttZXNzYWdlVHlwZSLQAgoNTWliRGV2aWNlRGF0YRIbCglkZXZpY2VfaWQYASABKAlSCGRldmljZUlkEhgKB2NyZWF0ZWQYAiABKAlSB2NyZWF0ZWQSJAoObGFzdF9zeW5jX3RpbWUYAyABKAlSDGxhc3RTeW5jVGltZRIiCg1taWJfZGF0YV9zeW5jGAQgASgNUgttaWJEYXRhU3luYxIYCgd2ZXJzaW9uGAUgASgNUgd2ZXJzaW9uEiwKB2NsYXNzZXMYBiADKAsyEi5vbWNpLk1pYkNsYXNzRGF0YVIHY2xhc3NlcxI+ChBtYW5hZ2VkX2VudGl0aWVzGAcgAygLMhMub21jaS5NYW5hZ2VkRW50aXR5Ug9tYW5hZ2VkRW50aXRpZXMSNgoNbWVzc2FnZV90eXBlcxgIIAMoCzIRLm9tY2kuTWVzc2FnZVR5cGVSDG1lc3NhZ2VUeXBlcyIuChFPcGVuT21jaUV2ZW50VHlwZSIZCgVUeXBlcxIQCgxzdGF0ZV9jaGFuZ2UQACJWCg1PcGVuT21jaUV2ZW50EjEKBHR5cGUYASABKA4yHS5vbWNpLk9wZW5PbWNpRXZlbnRUeXBlLlR5cGVzUgR0eXBlEhIKBGRhdGEYAiABKAlSBGRhdGFCSAoYb3JnLm9wZW5jb3JkLnZvbHRoYS5vbWNpWixnaXRodWIuY29tL29wZW5jb3JkL3ZvbHRoYS1wcm90b3MvdjUvZ28vb21jaUq3EwoGEgQPAEkBCt4ECgEMEgMPABIa0wQKIENvcHlyaWdodCAyMDE4IC0gcHJlc2VudCB0aGUgb3JpZ2luYWwgYXV0aG9yIG9yIGF1dGhvcnMuCgogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIik7CiB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuCiBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXQKCiAgICAgIGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMAoKIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmUKIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuICJBUyBJUyIgQkFTSVMsCiBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC4KIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmQKIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgoKCggKAQgSAxEAQwoJCgIICxIDEQBDCggKAQgSAxIAMQoJCgIIARIDEgAxCggKAQISAxQADQoKCgIEABIEFgAZAQoKCgMEAAESAxYIGAoLCgQEAAIAEgMXBBsKDQoFBAACAAQSBBcEFhoKDAoFBAACAAUSAxcECgoMCgUEAAIAARIDFwsPCgwKBQQAAgADEgMXGRoKCwoEBAACARIDGAQbCg0KBQQAAgEEEgQYBBcb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AiABKAlSBXZhbHVlIqQBChFBbGFybUluc3RhbmNlRGF0YRIfCgtpbnN0YW5jZV9pZBgBIAEoDVIKaW5zdGFuY2VJZBIYCgdjcmVhdGVkGAIgASgJUgdjcmVhdGVkEhoKCG1vZGlmaWVkGAMgASgJUghtb2RpZmllZBI4CgphdHRyaWJ1dGVzGAQgAygLMhgub21jaS5BbGFybUF0dHJpYnV0ZURhdGFSCmF0dHJpYnV0ZXMiYgoOQWxhcm1DbGFzc0RhdGESGQoIY2xhc3NfaWQYASABKA1SB2NsYXNzSWQSNQoJaW5zdGFuY2VzGAIgAygLMhcub21jaS5BbGFybUluc3RhbmNlRGF0YVIJaW5zdGFuY2VzIkMKEkFsYXJtTWFuYWdlZEVudGl0eRIZCghjbGFzc19pZBgBIAEoDVIHY2xhc3NJZBISCgRuYW1lGAIgASgJUgRuYW1lIjUKEEFsYXJtTWVzc2FnZVR5cGUSIQoMbWVzc2FnZV90eXBlGAEgASgNUgttZXNzYWdlVHlwZSLqAgoPQWxhcm1EZXZpY2VEYXRhEhsKCWRldmljZV9pZBgBIAEoCVIIZGV2aWNlSWQSGAoHY3JlYXRlZBgCIAEoCVIHY3JlYXRlZBIuChNsYXN0X2FsYXJtX3NlcXVlbmNlGAMgASgNUhFsYXN0QWxhcm1TZXF1ZW5jZRIkCg5sYXN0X3N5bmNfdGltZRgEIAEoCVIMbGFzdFN5bmNUaW1lEhgKB3ZlcnNpb24YBSABKA1SB3ZlcnNpb24SLgoHY2xhc3NlcxgGIAMoCzIULm9tY2kuQWxhcm1DbGFzc0RhdGFSB2NsYXNzZXMSQwoQbWFuYWdlZF9lbnRpdGllcxgHIAMoCzIYLm9tY2kuQWxhcm1NYW5hZ2VkRW50aXR5Ug9tYW5hZ2VkRW50aXRpZXMSOwoNbWVzc2FnZV90eXBlcxgIIAMoCzIWLm9tY2kuQWxhcm1NZXNzYWdlVHlwZVIMbWVzc2FnZVR5cGVzIj8KFkFsYXJtT3Blbk9tY2lFdmVudFR5cGUiJQoRT3Blbk9tY2lFdmVudFR5cGUSEAoMc3RhdGVfY2hhbmdlEAAibAoSQWxhcm1PcGVuT21jaUV2ZW50EkIKBHR5cGUYASABKA4yLi5vbWNpLkFsYXJtT3Blbk9tY2lFdmVudFR5cGUuT3Blbk9tY2lFdmVudFR5cGVSBHR5cGUSEgoEZGF0YRgCIAEoCVIEZGF0YUJIChhvcmcub3BlbmNvcmQudm9sdGhhLm9tY2laLGdpdGh1Yi5jb20vb3BlbmNvcmQvdm9sdGhhLXByb3Rvcy92NS9nby9vbWNpSrcTCgYSBA8ASwEK3gQKAQwSAw8AEhrTBAogQ29weXJpZ2h0IDIwMTggLSBwcmVzZW50IHRoZSBvcmlnaW5hbCBhdXRob3Igb3IgYXV0aG9ycy4KCiBMaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgIkxpY2Vuc2UiKTsKIHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdAoKICAgICAgaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wCgogVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZQogZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gIkFTIElTIiBCQVNJUywKIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLgogU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZAogbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuCgoKCAoBCBIDEQBDCgkKAggLEgMRAEMKCAoBCBIDEgAxCgkKAggBEgMSADEKCAoBAhIDFAANCgoKAgQAEgQXABoBCgoKAwQAARIDFwgaCgsKBAQAAgASAxgEGwoNCgUEAAIABBIEGAQXHAoMCgUEAAIABRIDGAQKCgwKBQQAAgABEgMYCw8KDAoFBAACAAMSAxgZGgoLCgQEAAIBEgMZBBsKDQoF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cHJvdG9zL2FkYXB0ZXIucHJvdG8aH3ZvbHRoYV9wcm90b3Mvb3BlbmZsb3dfMTMucHJvdG8aGnZvbHRoYV9wcm90b3MvZXZlbnRzLnByb3RvGh52b2x0aGFfcHJvdG9zL2V4dGVuc2lvbnMucHJvdG8aJ3ZvbHRoYV9wcm90b3Mvdm9pcF9zeXN0ZW1fcHJvZmlsZS5wcm90bxoldm9sdGhhX3Byb3Rvcy92b2lwX3VzZXJfcHJvZmlsZS5wcm90bxofdm9sdGhhX3Byb3Rvcy9vbWNpX21pYl9kYi5wcm90bxohdm9sdGhhX3Byb3Rvcy9vbWNpX2FsYXJtX2RiLnByb3RvGh12b2x0aGFfcHJvdG9zL29tY2lfdGVzdC5wcm90byJdCgxDb3JlSW5zdGFuY2USHwoLaW5zdGFuY2VfaWQYASABKAlSCmluc3RhbmNlSWQSLAoGaGVhbHRoGAIgASgLMhQuaGVhbHRoLkhlYWx0aFN0YXR1c1IGaGVhbHRoIjsKDUNvcmVJbnN0YW5jZXMSKgoFaXRlbXMYASADKAsyFC52b2x0aGEuQ29yZUluc3RhbmNlUgVpdGVtcyLAAwoGVm9sdGhhEhgKB3ZlcnNpb24YASABKAlSB3ZlcnNpb24SLAoIYWRhcHRlcnMYAiADKAsyEC5hZGFwdGVyLkFkYXB0ZXJSCGFkYXB0ZXJzEkYKD2xvZ2ljYWxfZGV2aWNlcxgDIAMoCzIdLmxvZ2ljYWxfZGV2aWNlLkxvZ2ljYWxEZXZpY2VSDmxvZ2ljYWxEZXZpY2VzEigKB2RldmljZXMYBCADKAsyDi5kZXZpY2UuRGV2aWNlUgdkZXZpY2VzEjUKDGRldmljZV90eXBlcxgFIAMoCzISLmRldmljZS5EZXZpY2VUeXBlUgtkZXZpY2VUeXBlcxI3Cg1ldmVudF9maWx0ZXJzGAcgAygLMhIuZXZlbnQuRXZlbnRGaWx0ZXJSDGV2ZW50RmlsdGVycxI/ChFvbWNpX21pYl9kYXRhYmFzZRgcIAMoCzITLm9tY2kuTWliRGV2aWNlRGF0YVIPb21jaU1pYkRhdGFiYXNlEkUKE29tY2lfYWxhcm1fZGF0YWJhc2UYHSADKAsyFS5vbWNpLkFsYXJtRGV2aWNlRGF0YVIRb21jaUFsYXJtRGF0YWJhc2VKBAgGEAcyrjcKDVZvbHRoYVNlcnZpY2USRAoJR2V0Vm9sdGhhEhYuZ29vZ2xlLnByb3RvYnVmLkVtcHR5Gg4udm9sdGhhLlZvbHRoYSIPgtPkkwIJEgcvYXBpL3YxEl0KEUxpc3RDb3JlSW5zdGFuY2VzEhYuZ29vZ2xlLnByb3RvYnVmLkVtcHR5GhUudm9sdGhhLkNvcmVJbnN0YW5jZXMiGYLT5JMCExIRL2FwaS92MS9pbnN0YW5jZXMSUwoPR2V0Q29yZUluc3RhbmNlEgouY29tbW9uLklEGhQudm9sdGhhLkNvcmVJbnN0YW5jZSIegtPkkwIYEhYvYXBpL3YxL2luc3RhbmNlcy97aWR9ElMKDExpc3RBZGFwdGVycxIWLmdvb2dsZS5wcm90b2J1Zi5FbXB0eRoRLmFkYXB0ZXIuQWRhcHRlcnMiGILT5JMCEhIQL2FwaS92MS9hZGFwdGVycxJtChJMaXN0TG9naWNhbERldmljZXMSFi5nb29nbGUucHJvdG9idWYuRW1wdHkaHi5sb2dpY2FsX2RldmljZS5Mb2dpY2FsRGV2aWNlcyIfgtPkkwIZEhcvYXBpL3YxL2xvZ2ljYWxfZGV2aWNlcxJjChBHZXRMb2dpY2FsRGV2aWNlEgouY29tbW9uLklEGh0ubG9naWNhbF9kZXZpY2UuTG9naWNhbERldmljZSIkgtPkkwIeEhwvYXBpL3YxL2xvZ2ljYWxfZGV2aWNlcy97aWR9Em4KFkxpc3RMb2dpY2FsRGV2aWNlUG9ydHMSCi5jb21tb24uSUQaHC5sb2dpY2FsX2RldmljZS5Mb2dpY2FsUG9ydHMiKoLT5JMCJBIiL2FwaS92MS9sb2dpY2FsX2RldmljZXMve2lkfS9wb3J0cxKIAQoUR2V0TG9naWNhbERldmljZVBvcnQSHS5sb2dpY2FsX2RldmljZS5Mb2dpY2FsUG9ydElkGhsubG9naWNhbF9kZXZpY2UuTG9naWNhbFBvcnQiNILT5JMCLhIsL2FwaS92MS9sb2dpY2FsX2RldmljZXMve2lkfS9wb3J0cy97cG9ydF9pZH0SjQEKF0VuYWJsZUxvZ2ljYWxEZXZpY2VQb3J0Eh0ubG9naWNhbF9kZXZpY2UuTG9naWNhbFBvcnRJZBoWLmdvb2dsZS5wcm90b2J1Zi5FbXB0eSI7gtPkkwI1IjMvYXBpL3YxL2xvZ2ljYWxfZGV2aWNlcy97aWR9L3BvcnRzL3twb3J0X2lkfS9lbmFibGUSjwEKGERpc2FibGVMb2dpY2FsRGV2aWNlUG9ydBIdLmxvZ2ljYWxfZGV2aWNlLkxvZ2ljYWxQb3J0SWQaFi5nb29nbGUucHJvdG9idWYuRW1wdHkiPILT5JMCNiI0L2FwaS92MS9sb2dpY2FsX2RldmljZXMve2lkfS9wb3J0cy97cG9ydF9pZH0vZGlzYWJsZRJkChZMaXN0TG9naWNhbERldmljZUZsb3dzEgouY29tbW9uLklEGhIub3BlbmZsb3dfMTMuRmxvd3MiKoLT5JMCJBIiL2FwaS92MS9sb2dpY2FsX2RldmljZXMve2lkfS9mbG93cxKDAQocVXBkYXRlTG9naWNhbERldmljZUZsb3dUYWJsZRIcLm9wZW5mbG93XzEzLkZsb3dUYWJsZVVwZGF0ZRoWLmdvb2dsZS5wcm90b2J1Zi5FbXB0eSItgtPkkwInIiIvYXBpL3YxL2xvZ2ljYWxfZGV2aWNlcy97aWR9L2Zsb3dzOgEqEoQBCh1VcGRhdGVMb2dpY2FsRGV2aWNlTWV0ZXJUYWJsZRIbLm9wZW5mbG93XzEzLk1ldGVyTW9kVXBkYXRlGhYuZ29vZ2xlLnByb3RvYnVmLkVtcHR5Ii6C0+STAigiIy9hcGkvdjEvbG9naWNhbF9kZXZpY2VzL3tpZH0vbWV0ZXJzOgEqEmcKF0xpc3RMb2dpY2FsRGV2aWNlTWV0ZXJzEgouY29tbW9uLklEGhMub3BlbmZsb3dfMTMuTWV0ZXJzIiuC0+STAiUSIy9hcGkvdjEvbG9naWNhbF9kZXZpY2VzL3tpZH0vbWV0ZXJzEnQKG0xpc3RMb2dpY2FsRGV2aWNlRmxvd0dyb3VwcxIKLmNvbW1vbi5JRBoXLm9wZW5mbG93XzEzLkZsb3dHcm91cHMiMILT5JMCKhIoL2FwaS92MS9sb2dpY2FsX2RldmljZXMve2lkfS9mbG93X2dyb3VwcxKTAQohVXBkYXRlTG9naWNhbERldmljZUZsb3dHcm91cFRhYmxlEiEub3BlbmZsb3dfMTMuRmxvd0dyb3VwVGFibGVVcGRhdGUaFi5nb29nbGUucHJvdG9idWYuRW1wdHkiM4LT5JMCLSIoL2FwaS92MS9sb2dpY2FsX2RldmljZXMve2lkfS9mbG93X2dyb3VwczoBKhJPCgtMaXN0RGV2aWNlcxIWLmdvb2dsZS5wcm90b2J1Zi5FbXB0eRoPLmRldmljZS5EZXZpY2VzIheC0+STAhESDy9hcGkvdjEvZGV2aWNlcxJPCg1MaXN0RGV2aWNlSWRzEhYuZ29vZ2xlLnByb3RvYnVmLkVtcHR5GgsuY29tbW9uLklEcyIZgtPkkwITEhEvYXBpL3YxL2RldmljZWlkcxJVChBSZWNvbmNpbGVEZXZpY2VzEgsuY29tbW9uLklEcxoWLmdvb2dsZS5wcm90b2J1Zi5FbXB0eSIcgtPkkwIWIhEvYXBpL3YxL2RldmljZWlkczoBKhJFCglHZXREZXZpY2USCi5jb21tb24uSUQaDi5kZXZpY2UuRGV2aWNlIhyC0+STAhYSFC9hcGkvdjEvZGV2aWNlcy97aWR9EkoKDENyZWF0ZURldmljZRIOLmRldmljZS5EZXZpY2UaDi5kZXZpY2UuRGV2aWNlIhqC0+STAhQiDy9hcGkvdjEvZGV2aWNlczoBKhJXCgxFbmFibGVEZXZpY2USCi5jb21tb24uSUQaFi5nb29nbGUucHJvdG9idWYuRW1wdHkiI4LT5JMCHSIbL2FwaS92MS9kZXZpY2VzL3tpZH0vZW5hYmxlElkKDURpc2FibGVEZXZpY2USCi5jb21tb24uSUQaFi5nb29nbGUucHJvdG9idWYuRW1wdHkiJILT5JMCHiIcL2FwaS92MS9kZXZpY2VzL3tpZH0vZGlzYWJsZRJXCgxSZWJvb3REZXZpY2USCi5jb21tb24uSUQaFi5nb29nbGUucHJvdG9idWYuRW1wdHkiI4LT5JMCHSIbL2FwaS92MS9kZXZpY2VzL3tpZH0vcmVib290ElcKDERlbGV0ZURldmljZRIKLmNvbW1vbi5JRBoWLmdvb2dsZS5wcm90b2J1Zi5FbXB0eSIjgtPkkwIdKhsvYXBpL3YxL2RldmljZXMve2lkfS9kZWxldGUSYgoRRm9yY2VEZWxldGVEZXZpY2USCi5jb21tb24uSUQaFi5nb29nbGUucHJvdG9idWYuRW1wdHkiKYLT5JMCIyohL2FwaS92MS9kZXZpY2VzL3tpZH0vZm9yY2VfZGVsZXRlEngKDURvd25sb2FkSW1hZ2USFS5kZXZpY2UuSW1hZ2VEb3dubG9hZBoVLmNvbW1vbi5PcGVyYXRpb25SZXNwIjmIAgGC0+STAjAiKy9hcGkvdjEvZGV2aWNlcy97aWR9L2ltYWdlX2Rvd25sb2Fkcy97bmFtZX06ASoShQEKFkdldEltYWdlRG93bmxvYWRTdGF0dXMSFS5kZXZpY2UuSW1hZ2VEb3dubG9hZBoVLmRldmljZS5JbWFnZURvd25sb2FkIj2IAgGC0+STAjQSMi9hcGkvdjEvZGV2aWNlcy97aWR9L2ltYWdlX2Rvd25sb2Fkcy97bmFtZX0vc3RhdHVzEngKEEdldEltYWdlRG93bmxvYWQSFS5kZXZpY2UuSW1hZ2VEb3dubG9hZBoVLmRldmljZS5JbWFnZURvd25sb2FkIjaIAgGC0+STAi0SKy9hcGkvdjEvZGV2aWNlcy97aWR9L2ltYWdlX2Rvd25sb2Fkcy97bmFtZX0SaQoSTGlzdEltYWdlRG93bmxvYWRzEgouY29tbW9uLklEGhYuZGV2aWNlLkltYWdlRG93bmxvYWRzIi+IAgGC0+STAiYSJC9hcGkvdjEvZGV2aWNlcy97aWR9L2ltYWdlX2Rvd25sb2FkcxJ7ChNDYW5jZWxJbWFnZURvd25sb2FkEhUuZGV2aWNlLkltYWdlRG93bmxvYWQaFS5jb21tb24uT3BlcmF0aW9uUmVzcCI2iAIBgtPkkwItKisvYXBpL3YxL2RldmljZXMve2lkfS9pbWFnZV9kb3dubG9hZHMve25hbWV9EosBChNBY3RpdmF0ZUltYWdlVXBkYXRlEhUuZGV2aWNlLkltYWdlRG93bmxvYWQaFS5jb21tb24uT3BlcmF0aW9uUmVzcCJGiAIBgtPkkwI9IjgvYXBpL3YxL2RldmljZXMve2lkfS9pbWFnZV9kb3dubG9hZHMve25hbWV9L2ltYWdlX3VwZGF0ZToBKhKJAQoRUmV2ZXJ0SW1hZ2VVcGRhdGUSFS5kZXZpY2UuSW1hZ2VEb3dubG9hZBoVLmNvbW1vbi5PcGVyYXRpb25SZXNwIkaIAgGC0+STAj0iOC9hcGkvdjEvZGV2aWNlcy97aWR9L2ltYWdlX2Rvd25sb2Fkcy97bmFtZX0vaW1hZ2VfcmV2ZXJ0OgEqEogBChVEb3dubG9hZEltYWdlVG9EZXZpY2USIi5kZXZpY2UuRGV2aWNlSW1hZ2VEb3dubG9hZFJlcXVlc3QaGy5kZXZpY2UuRGV2aWNlSW1hZ2VSZXNwb25zZSIugtPkkwIoEiYvYXBpL3YxL2RldmljZXMvaW1hZ2VzL2Rvd25sb2FkX2ltYWdlcxJ3Cg5HZXRJbWFnZVN0YXR1cxIaLmRldmljZS5EZXZpY2VJbWFnZVJlcXVlc3QaGy5kZXZpY2UuRGV2aWNlSW1hZ2VSZXNwb25zZSIsgtPkkwImEiQvYXBpL3YxL2RldmljZXMvaW1hZ2VzL2ltYWdlc19zdGF0dXMSiQEKGUFib3J0SW1hZ2VVcGdyYWRlVG9EZXZpY2USGi5kZXZpY2UuRGV2aWNlSW1hZ2VSZXF1ZXN0GhsuZGV2aWNlLkRldmljZUltYWdlUmVzcG9uc2UiM4LT5JMCLRIrL2FwaS92MS9kZXZpY2VzL2ltYWdlcy9hYm9ydF91cGdyYWRlX2ltYWdlcxJWCgxHZXRPbnVJbWFnZXMSCi5jb21tb24uSUQaES5kZXZpY2UuT251SW1hZ2VzIieC0+STAiESHy9hcGkvdjEvZGV2aWNlcy97aWR9L29udV9pbWFnZXMSewoNQWN0aXZhdGVJbWFnZRIaLmRldmljZS5EZXZpY2VJbWFnZVJlcXVlc3QaGy5kZXZpY2UuRGV2aWNlSW1hZ2VSZXNwb25zZSIxgtPkkwIrIiYvYXBpL3YxL2RldmljZXMvaW1hZ2VzL2FjdGl2YXRlX2ltYWdlczoBKhJ3CgtDb21taXRJbWFnZRIaLmRldmljZS5EZXZpY2VJbWFnZVJlcXVlc3QaGy5kZXZpY2UuRGV2aWNlSW1hZ2VSZXNwb25zZSIvgtPkkwIpIiQvYXBpL3YxL2RldmljZXMvaW1hZ2VzL2NvbW1pdF9pbWFnZXM6ASoSUAoPTGlzdERldmljZVBvcnRzEgouY29tbW9uLklEGg0uZGV2aWNlLlBvcnRzIiKC0+STAhwSGi9hcGkvdjEvZGV2aWNlcy97aWR9L3BvcnRzEl0KE0xpc3REZXZpY2VQbUNvbmZpZ3MSCi5jb21tb24uSUQaES5kZXZpY2UuUG1Db25maWdzIieC0+STAiESHy9hcGkvdjEvZGV2aWNlcy97aWR9L3BtX2NvbmZpZ3MSbgoVVXBkYXRlRGV2aWNlUG1Db25maWdzEhEuZGV2aWNlLlBtQ29uZmlncxoWLmdvb2dsZS5wcm90b2J1Zi5FbXB0eSIqgtPkkwIkIh8vYXBpL3YxL2RldmljZXMve2lkfS9wbV9jb25maWdzOgEqElUKD0xpc3REZXZpY2VGbG93cxIKLmNvbW1vbi5JRBoSLm9wZW5mbG93XzEzLkZsb3dzIiKC0+STAhwSGi9hcGkvdjEvZGV2aWNlcy97aWR9L2Zsb3dzEmUKFExpc3REZXZpY2VGbG93R3JvdXBzEgouY29tbW9uLklEGhcub3BlbmZsb3dfMTMuRmxvd0dyb3VwcyIogtPkkwIiEiAvYXBpL3YxL2RldmljZXMve2lkfS9mbG93X2dyb3VwcxJcCg9MaXN0RGV2aWNlVHlwZXMSFi5nb29nbGUucHJvdG9idWYuRW1wdHkaEy5kZXZpY2UuRGV2aWNlVHlwZXMiHILT5JMCFhIUL2FwaS92MS9kZXZpY2VfdHlwZXMSUgoNR2V0RGV2aWNlVHlwZRIKLmNvbW1vbi5JRBoSLmRldmljZS5EZXZpY2VUeXBlIiGC0+STAhsSGS9hcGkvdjEvZGV2aWNlX3R5cGVzL3tpZH0SRgoQU3RyZWFtUGFja2V0c091dBIWLm9wZW5mbG93XzEzLlBhY2tldE91dBoWLmdvb2dsZS5wcm90b2J1Zi5FbXB0eSIAKAESRQoQUmVjZWl2ZVBhY2tldHNJbhIWLmdvb2dsZS5wcm90b2J1Zi5FbXB0eRoVLm9wZW5mbG93XzEzLlBhY2tldEluIgAwARJLChNSZWNlaXZlQ2hhbmdlRXZlbnRzEhYuZ29vZ2xlLnByb3RvYnVmLkVtcHR5Ghgub3BlbmZsb3dfMTMuQ2hhbmdlRXZlbnQiADABEl0KEUNyZWF0ZUV2ZW50RmlsdGVyEhIuZXZlbnQuRXZlbnRGaWx0ZXIaEi5ldmVudC5FdmVudEZpbHRlciIggtPkkwIaIhUvYXBpL3YxL2V2ZW50X2ZpbHRlcnM6ASoSVQoOR2V0RXZlbnRGaWx0ZXISCi5jb21tb24uSUQaEy5ldmVudC5FdmVudEZpbHRlcnMiIoLT5JMCHBIaL2FwaS92MS9ldmVudF9maWx0ZXJzL3tpZH0SYgoRVXBkYXRlRXZlbnRGaWx0ZXISEi5ldmVudC5FdmVudEZpbHRlchoSLmV2ZW50LkV2ZW50RmlsdGVyIiWC0+STAh8aGi9hcGkvdjEvZXZlbnRfZmlsdGVycy97aWR9OgEqEmMKEURlbGV0ZUV2ZW50RmlsdGVyEhIuZXZlbnQuRXZlbnRGaWx0ZXIaFi5nb29nbGUucHJvdG9idWYuRW1wdHkiIoLT5JMCHCoaL2FwaS92MS9ldmVudF9maWx0ZXJzL3tpZH0SXgoQTGlzdEV2ZW50RmlsdGVycxIWLmdvb2dsZS5wcm90b2J1Zi5FbXB0eRoTLmV2ZW50LkV2ZW50RmlsdGVycyIdgtPkkwIXEhUvYXBpL3YxL2V2ZW50X2ZpbHRlcnMSTAoJR2V0SW1hZ2VzEgouY29tbW9uLklEGg4uZGV2aWNlLkltYWdlcyIjgtPkkwIdEhsvYXBpL3YxL2RldmljZXMve2lkfS9pbWFnZXMSWAoIU2VsZlRlc3QSCi5jb21tb24uSUQaGC5kZXZpY2UuU2VsZlRlc3RSZXNwb25zZSImgtPkkwIgIh4vYXBpL3YxL2RldmljZXMve2lkfS9zZWxmX3Rlc3QSVgoQR2V0TWliRGV2aWNlRGF0YRIKLmNvbW1vbi5JRBoTLm9tY2kuTWliRGV2aWNlRGF0YSIhgtPkkwIbEhkvYXBpL3YxL29wZW5vbWNpL3tpZH0vbWliElwKEkdldEFsYXJtRGV2aWNlRGF0YRIKLmNvbW1vbi5JRBoVLm9tY2kuQWxhcm1EZXZpY2VEYXRhIiOC0+STAh0SGy9hcGkvdjEvb3Blbm9tY2kve2lkfS9hbGFybRJzCg1TaW11bGF0ZUFsYXJtEhwuZGV2aWNlLlNpbXVsYXRlQWxhcm1SZXF1ZXN0GhUuY29tbW9uLk9wZXJhdGlvblJlc3AiLYLT5JMCJyIiL2FwaS92MS9kZXZpY2VzL3tpZH0vc2ltdWxhdGVfbGFybToBKhJNCgpFbmFibGVQb3J0EgwuZGV2aWNlLlBvcnQaFi5nb29nbGUucHJvdG9idWYuRW1wdHkiGYLT5JMCEyIOL3YxL0VuYWJsZVBvcnQ6ASoSTwoLRGlzYWJsZVBvcnQSDC5kZXZpY2UuUG9ydBoWLmdvb2dsZS5wcm90b2J1Zi5FbXB0eSIagtPkkwIUIg8vdjEvRGlzYWJsZVBvcnQ6ASoSXgoLR2V0RXh0VmFsdWUSGS5leHRlbnNpb24uVmFsdWVTcGVjaWZpZXIaFy5leHRlbnNpb24uUmV0dXJuVmFsdWVzIhuC0+STAhUSEy9hcGkvdjEvR2V0RXh0VmFsdWUSVwoLU2V0RXh0VmFsdWUSEy5leHRlbnNpb24uVmFsdWVTZXQaFi5nb29nbGUucHJvdG9idWYuRW1wdHkiG4LT5JMCFRITL2FwaS92MS9TZXRFeHRWYWx1ZRJkChNTdGFydE9tY2lUZXN0QWN0aW9uEhUub21jaS5PbWNpVGVzdFJlcXVlc3QaEi5vbWNpLlRlc3RSZXNwb25zZSIigtPkkwIcIhcvYXBpL3YxL3N0YXJ0X29tY2lfdGVzdDoBKhKFAQoUUHV0Vm9pcFN5c3RlbVByb2ZpbGUSLS52b2lwX3N5c3RlbV9wcm9maWxlLlZvaXBTeXN0ZW1Qcm9maWxlUmVxdWVzdBoWLmdvb2dsZS5wcm90b2J1Zi5FbXB0eSImgtPkkwIgIhsvYXBpL3YxL3ZvaXBfc3lzdGVtX3Byb2ZpbGU6ASoScAoXRGVsZXRlVm9pcFN5c3RlbVByb2ZpbGUSCy5jb21tb24uS2V5GhYuZ29vZ2xlLnByb3RvYnVmLkVtcHR5IjCC0+STAioqKC9hcGkvdjEvdm9pcF9zeXN0ZW1fcHJvZmlsZS97a2V5fS9kZWxldGUSfQoSUHV0Vm9pcFVzZXJQcm9maWxlEikudm9pcF91c2VyX3Byb2ZpbGUuVm9pcFVzZXJQcm9maWxlUmVxdWVzdBoWLmdvb2dsZS5wcm90b2J1Zi5FbXB0eSIkgtPkkwIeIhkvYXBpL3YxL3ZvaXBfdXNlcl9wcm9maWxlOgEqEmwKFURlbGV0ZVZvaXBVc2VyUHJvZmlsZRILLmNvbW1vbi5LZXkaFi5nb29nbGUucHJvdG9idWYuRW1wdHkiLoLT5JMCKComL2FwaS92MS92b2lwX3VzZXJfcHJvZmlsZS97a2V5fS9kZWxldGVCbAoTb3JnLm9wZW5jb3JkLnZvbHRoYUIMVm9sdGhhUHJvdG9zWi5naXRodWIuY29tL29wZW5jb3JkL3ZvbHRoYS1wcm90b3MvdjUvZ28vdm9sdGhhqgIWT3BlbmNvcmQuVm9sdGhhLlZvbHRoYUrx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BAjKBAoKOgoEBgACQRIGzgQE0gQFGiogRGVsZXRlcyB0aGUgZ2l2ZW4gcHJvZmlsZSBmcm9tIHZvbHRoYSBLVgoKDQoFBgACQQESBM4ECB8KDQoFBgACQQISBM4EICoKDQoFBgACQQMSBM4ENEkKDwoFBgACQQQSBs8ECNEECgoTCgkGAAJBBLDKvCISBs8ECNEECgpCCgQGAAJCEgbVBATaBAUaMiBTYXZlcyBvciB1cGRhdGVzIGEgcHJvZmlsZSAoVk9JUCkgaW50byB2b2x0aGEgS1YKCg0KBQYAAkIBEgTVBAgaCg0KBQYAAkICEgTVBBtDCg0KBQYAAkIDEgTVBE1iCg8KBQYAAkIEEgbWBAjZBAoKEwoJBgACQgSwyrwiEgbWBAjZBAoKOgoEBgACQxIG3QQE4QQFGiogRGVsZXRlcyB0aGUgZ2l2ZW4gcHJvZmlsZSBmcm9tIHZvbHRoYSBLVgoKDQoFBgACQwESBN0ECB0KDQoFBgACQwISBN0EHigKDQoFBgACQwMSBN0EMkcKDwoFBgACQwQSBt4ECOAECgoTCgkGAAJDBLDKvCISBt4ECOAEClACYgZwcm90bzMKgT0KIHZvbHRoYV9wcm90b3MvY29yZV9hZGFwdGVyLnByb3RvEgxjb3JlX2FkYXB0ZXIaGnZvbHRoYV9wcm90b3MvY29tbW9uLnByb3RvGhp2b2x0aGFfcHJvdG9zL3ZvbHRoYS5wcm90bxofdm9sdGhhX3Byb3Rvcy9vcGVuZmxvd18xMy5wcm90bxobdm9sdGhhX3Byb3Rvcy9hZGFwdGVyLnByb3RvGhp2b2x0aGFfcHJvdG9zL2RldmljZS5wcm90bxoedm9sdGhhX3Byb3Rvcy9leHRlbnNpb25zLnByb3RvGh12b2x0aGFfcHJvdG9zL29tY2lfdGVzdC5wcm90byJuChNBZGFwdGVyUmVnaXN0cmF0aW9uEioKB2FkYXB0ZXIYASABKAsyEC5hZGFwdGVyLkFkYXB0ZXJSB2FkYXB0ZXISKwoGZFR5cGVzGAIgASgLMhMuZGV2aWNlLkRldmljZVR5cGVzUgZkVHlwZXMikgEKEUNoaWxkRGV2aWNlRmlsdGVyEhsKCXBhcmVudF9pZBgBIAEoCVIIcGFyZW50SWQSIwoNc2VyaWFsX251bWJlchgCIAEoCVIMc2VyaWFsTnVtYmVyEhUKBm9udV9pZBgDIAEoDVIFb251SWQSJAoOcGFyZW50X3BvcnRfbm8YBCABKA1SDHBhcmVudFBvcnRObyJxCgpQb3J0RmlsdGVyEhsKCWRldmljZV9pZBgBIAEoCVIIZGV2aWNlSWQSEgoEcG9ydBgCIAEoDVIEcG9ydBIyCglwb3J0X3R5cGUYAyABKA4yFS5kZXZpY2UuUG9ydC5Qb3J0VHlwZVIIcG9ydFR5cGUi+AEKD0RldmljZURpc2NvdmVyeRIbCglwYXJlbnRfaWQYASABKAlSCHBhcmVudElkEiQKDnBhcmVudF9wb3J0X25vGAIgASgNUgxwYXJlbnRQb3J0Tm8SKgoRY2hpbGRfZGV2aWNlX3R5cGUYAyABKAlSD2NoaWxkRGV2aWNlVHlwZRIdCgpjaGFubmVsX2lkGAQgASgNUgljaGFubmVsSWQSGwoJdmVuZG9yX2lkGAUgASgJUgh2ZW5kb3JJZBIjCg1zZXJpYWxfbnVtYmVyGAYgASgJUgxzZXJpYWxOdW1iZXISFQoGb251X2lkGAcgASgNUgVvbnVJZCLTAQoRRGV2aWNlU3RhdGVGaWx0ZXISGwoJZGV2aWNlX2lkGAEgASgJUghkZXZpY2VJZBIoChBwYXJlbnRfZGV2aWNlX2lkGAIgASgJUg5wYXJlbnREZXZpY2VJZBI5CgtvcGVyX3N0YXR1cxgDIAEoDjIYLmNvbW1vbi5PcGVyU3RhdHVzLlR5cGVzUgpvcGVyU3RhdHVzEjwKC2Nvbm5fc3RhdHVzGAQgASgOMhsuY29tbW9uLkNvbm5lY3RTdGF0dXMuVHlwZXNSCmNvbm5TdGF0dXMisAEKCVBvcnRTdGF0ZRIbCglkZXZpY2VfaWQYASABKAlSCGRldmljZUlkEjIKCXBvcnRfdHlwZRgCIAEoDjIVLmRldmljZS5Qb3J0LlBvcnRUeXBlUghwb3J0VHlwZRIXCgdwb3J0X25vGAMgASgNUgZwb3J0Tm8SOQoLb3Blcl9zdGF0dXMYBCABKA4yGC5jb21tb24uT3BlclN0YXR1cy5UeXBlc1IKb3BlclN0YXR1cyKTAQoPUG9ydFN0YXRlRmlsdGVyEhsKCWRldmljZV9pZBgBIAEoCVIIZGV2aWNlSWQSKAoQcG9ydF90eXBlX2ZpbHRlchgCIAEoDVIOcG9ydFR5cGVGaWx0ZXISOQoLb3Blcl9zdGF0dXMYBCABKA4yGC5jb21tb24uT3BlclN0YXR1cy5UeXBlc1IKb3BlclN0YXR1cyJTCghQYWNrZXRJbhIbCglkZXZpY2VfaWQYASABKAlSCGRldmljZUlkEhIKBHBvcnQYAiABKA1SBHBvcnQSFgoGcGFja2V0GAMgASgMUgZwYWNrZXQigwEKCVBhY2tldE91dBIbCglkZXZpY2VfaWQYASABKAlSCGRldmljZUlkEiQKDmVncmVzc19wb3J0X25vGAIgASgNUgxlZ3Jlc3NQb3J0Tm8SMwoGcGFja2V0GAMgASgLMhsub3BlbmZsb3dfMTMub2ZwX3BhY2tldF9vdXRSBnBhY2tldCJDCgxEZXZpY2VSZWFzb24SGwoJZGV2aWNlX2lkGAEgASgJUghkZXZpY2VJZBIWCgZyZWFzb24YAiABKAlSBnJlYXNvbiLOAQoJQnVsa0Zsb3dzEiYKBmRldmljZRgBIAEoCzIOLmRldmljZS5EZXZpY2VSBmRldmljZRIoCgVmbG93cxgCIAEoCzISLm9wZW5mbG93XzEzLkZsb3dzUgVmbG93cxIvCgZncm91cHMYAyABKAsyFy5vcGVuZmxvd18xMy5GbG93R3JvdXBzUgZncm91cHMSPgoNZmxvd19tZXRhZGF0YRgEIAEoCzIZLm9wZW5mbG93XzEzLkZsb3dNZXRhZGF0YVIMZmxvd01ldGFkYXRhIuEBChBJbmNyZW1lbnRhbEZsb3dzEiYKBmRldmljZRgBIAEoCzIOLmRldmljZS5EZXZpY2VSBmRldmljZRIuCgVmbG93cxgCIAEoCzIYLm9wZW5mbG93XzEzLkZsb3dDaGFuZ2VzUgVmbG93cxI1CgZncm91cHMYAyABKAsyHS5vcGVuZmxvd18xMy5GbG93R3JvdXBDaGFuZ2VzUgZncm91cHMSPgoNZmxvd19tZXRhZGF0YRgEIAEoCzIZLm9wZW5mbG93XzEzLkZsb3dNZXRhZGF0YVIMZmxvd01ldGFkYXRhIl4KDVBtQ29uZmlnc0luZm8SGwoJZGV2aWNlX2lkGAEgASgJUghkZXZpY2VJZBIwCgpwbV9jb25maWdzGAIgASgLMhEuZGV2aWNlLlBtQ29uZmlnc1IJcG1Db25maWdzIogBChBTd2l0Y2hDYXBhYmlsaXR5EikKBGRlc2MYASABKAsyFS5vcGVuZmxvd18xMy5vZnBfZGVzY1IEZGVzYxJJCg9zd2l0Y2hfZmVhdHVyZXMYAiABKAsyIC5vcGVuZmxvd18xMy5vZnBfc3dpdGNoX2ZlYXR1cmVzUg5zd2l0Y2hGZWF0dXJlcyJrChRJbWFnZURvd25sb2FkTWVzc2FnZRImCgZkZXZpY2UYASABKAsyDi5kZXZpY2UuRGV2aWNlUgZkZXZpY2USKwoFaW1hZ2UYAiABKAsyFS5kZXZpY2UuSW1hZ2VEb3dubG9hZFIFaW1hZ2UiYwoIT01DSVRlc3QSJgoGZGV2aWNlGAEgASgLMg4uZGV2aWNlLkRldmljZVIGZGV2aWNlEi8KB3JlcXVlc3QYAiABKAsyFS5vbWNpLk9tY2lUZXN0UmVxdWVzdFIHcmVxdWVzdCJ2ChRTaW11bGF0ZUFsYXJtTWVzc2FnZRImCgZkZXZpY2UYASABKAsyDi5kZXZpY2UuRGV2aWNlUgZkZXZpY2USNgoHcmVxdWVzdBgCIAEoCzIcLmRldmljZS5TaW11bGF0ZUFsYXJtUmVxdWVzdFIHcmVxdWVzdCK2AQoSR2V0RXh0VmFsdWVNZXNzYWdlEjMKDXBhcmVudF9kZXZpY2UYASABKAsyDi5kZXZpY2UuRGV2aWNlUgxwYXJlbnREZXZpY2USMQoMY2hpbGRfZGV2aWNlGAIgASgLMg4uZGV2aWNlLkRldmljZVILY2hpbGREZXZpY2USOAoKdmFsdWVfdHlwZRgDIAEoDjIZLmV4dGVuc2lvbi5WYWx1ZVR5cGUuVHlwZVIJdmFsdWVUeXBlImcKElNldEV4dFZhbHVlTWVzc2FnZRImCgZkZXZpY2UYASABKAsyDi5kZXZpY2UuRGV2aWNlUgZkZXZpY2USKQoFdmFsdWUYAyABKAsyEy5leHRlbnNpb24uVmFsdWVTZXRSBXZhbHVlQlgKIG9yZy5vcGVuY29yZC52b2x0aGEuY29yZV9hZGFwdGVyWjRnaXRodWIuY29tL29wZW5jb3JkL3ZvbHRoYS1wcm90b3MvdjUvZ28vY29yZV9hZGFwdGVySt0kCgcSBQAAggEBCggKAQwSAwAAEgoICgEIEgMCAEsKCQoCCAsSAwIASwoICgEI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EgN/CBoKDAoEBBICABIEgAEEHQoOCgUEEgIABBIFgAEEfxwKDQoFBBICAAYSBIABBBEKDQoFBBICAAESBIABEhgKDQoFBBICAAMSBIABGxwKDAoEBBICARIEgQEEHwoPCgUEEgIBBBIGgQEEgAEdCg0KBQQSAgEGEgSBAQQWCg0KBQQSAgEBEgSBARccCg0KBQQSAgEDEgSBAR0eYgZwcm90bzMKpysKI3ZvbHRoYV9wcm90b3MvYWRhcHRlcl9zZXJ2aWNlLnByb3RvEg9hZGFwdGVyX3NlcnZpY2UaG2dvb2dsZS9wcm90b2J1Zi9lbXB0eS5wcm90bxoadm9sdGhhX3Byb3Rvcy9jb21tb24ucHJvdG8aIHZvbHRoYV9wcm90b3MvY29yZV9hZGFwdGVyLnByb3RvGhp2b2x0aGFfcHJvdG9zL2RldmljZS5wcm90bxoedm9sdGhhX3Byb3Rvcy9leHRlbnNpb25zLnByb3RvGhp2b2x0aGFfcHJvdG9zL2hlYWx0aC5wcm90bxoadm9sdGhhX3Byb3Rvcy92b2x0aGEucHJvdG8aHXZvbHRoYV9wcm90b3Mvb21jaV90ZXN0LnByb3RvGhp2b2x0aGFfcHJvdG9zL2V2ZW50cy5wcm90bzKYEwoOQWRhcHRlclNlcnZpY2USPwoPR2V0SGVhbHRoU3RhdHVzEhIuY29tbW9uLkNvbm5lY3Rpb24aFC5oZWFsdGguSGVhbHRoU3RhdHVzKAEwARI1CgtBZG9wdERldmljZRIOLmRldmljZS5EZXZpY2UaFi5nb29nbGUucHJvdG9idWYuRW1wdHkSOQoPUmVjb25jaWxlRGV2aWNlEg4uZGV2aWNlLkRldmljZRoWLmdvb2dsZS5wcm90b2J1Zi5FbXB0eRI2CgxEZWxldGVEZXZpY2USDi5kZXZpY2UuRGV2aWNlGhYuZ29vZ2xlLnByb3RvYnVmLkVtcHR5EjcKDURpc2FibGVEZXZpY2USDi5kZXZpY2UuRGV2aWNlGhYuZ29vZ2xlLnByb3RvYnVmLkVtcHR5EjgKDlJlRW5hYmxlRGV2aWNlEg4uZGV2aWNlLkRldmljZRoWLmdvb2dsZS5wcm90b2J1Zi5FbXB0eRI2CgxSZWJvb3REZXZpY2USDi5kZXZpY2UuRGV2aWNlGhYuZ29vZ2xlLnByb3RvYnVmLkVtcHR5EjgKDlNlbGZUZXN0RGV2aWNlEg4uZGV2aWNlLkRldmljZRoWLmdvb2dsZS5wcm90b2J1Zi5FbXB0eRJCChBHZXRPZnBEZXZpY2VJbmZvEg4uZGV2aWNlLkRldmljZRoeLmNvcmVfYWRhcHRlci5Td2l0Y2hDYXBhYmlsaXR5EjkKD0NoaWxkRGV2aWNlTG9zdBIOLmRldmljZS5EZXZpY2UaFi5nb29nbGUucHJvdG9idWYuRW1wdHkSMgoKRW5hYmxlUG9ydBIMLmRldmljZS5Qb3J0GhYuZ29vZ2xlLnByb3RvYnVmLkVtcHR5EjMKC0Rpc2FibGVQb3J0EgwuZGV2aWNlLlBvcnQaFi5nb29nbGUucHJvdG9idWYuRW1wdHkSQgoPVXBkYXRlRmxvd3NCdWxrEhcuY29yZV9hZGFwdGVyLkJ1bGtGbG93cxoWLmdvb2dsZS5wcm90b2J1Zi5FbXB0eRJSChhVcGRhdGVGbG93c0luY3JlbWVudGFsbHkSHi5jb3JlX2FkYXB0ZXIuSW5jcmVtZW50YWxGbG93cxoWLmdvb2dsZS5wcm90b2J1Zi5FbXB0eRJACg1TZW5kUGFja2V0T3V0EhcuY29yZV9hZGFwdGVyLlBhY2tldE91dBoWLmdvb2dsZS5wcm90b2J1Zi5FbXB0eRJFCg5VcGRhdGVQbUNvbmZpZxIbLmNvcmVfYWRhcHRlci5QbUNvbmZpZ3NJbmZvGhYuZ29vZ2xlLnByb3RvYnVmLkVtcHR5ElMKEERvd25sb2FkT251SW1hZ2USIi5kZXZpY2UuRGV2aWNlSW1hZ2VEb3dubG9hZFJlcXVlc3QaGy5kZXZpY2UuRGV2aWNlSW1hZ2VSZXNwb25zZRJMChFHZXRPbnVJbWFnZVN0YXR1cxIaLmRldmljZS5EZXZpY2VJbWFnZVJlcXVlc3QaGy5kZXZpY2UuRGV2aWNlSW1hZ2VSZXNwb25zZRJPChRBYm9ydE9udUltYWdlVXBncmFkZRIaLmRldmljZS5EZXZpY2VJbWFnZVJlcXVlc3QaGy5kZXZpY2UuRGV2aWNlSW1hZ2VSZXNwb25zZRItCgxHZXRPbnVJbWFnZXMSCi5jb21tb24uSUQaES5kZXZpY2UuT251SW1hZ2VzEksKEEFjdGl2YXRlT251SW1hZ2USGi5kZXZpY2UuRGV2aWNlSW1hZ2VSZXF1ZXN0GhsuZGV2aWNlLkRldmljZUltYWdlUmVzcG9uc2USSQoOQ29tbWl0T251SW1hZ2USGi5kZXZpY2UuRGV2aWNlSW1hZ2VSZXF1ZXN0GhsuZGV2aWNlLkRldmljZUltYWdlUmVzcG9uc2USTwoNRG93bmxvYWRJbWFnZRIiLmNvcmVfYWRhcHRlci5JbWFnZURvd25sb2FkTWVzc2FnZRoVLmRldmljZS5JbWFnZURvd25sb2FkIgOIAgESWAoWR2V0SW1hZ2VEb3dubG9hZFN0YXR1cxIiLmNvcmVfYWRhcHRlci5JbWFnZURvd25sb2FkTWVzc2FnZRoVLmRldmljZS5JbWFnZURvd25sb2FkIgOIAgESVQoTQ2FuY2VsSW1hZ2VEb3dubG9hZBIiLmNvcmVfYWRhcHRlci5JbWFnZURvd25sb2FkTWVzc2FnZRoVLmRldmljZS5JbWFnZURvd25sb2FkIgOIAgESVQoTQWN0aXZhdGVJbWFnZVVwZGF0ZRIiLmNvcmVfYWRhcHRlci5JbWFnZURvd25sb2FkTWVzc2FnZRoVLmRldmljZS5JbWFnZURvd25sb2FkIgOIAgESUwoRUmV2ZXJ0SW1hZ2VVcGRhdGUSIi5jb3JlX2FkYXB0ZXIuSW1hZ2VEb3dubG9hZE1lc3NhZ2UaFS5kZXZpY2UuSW1hZ2VEb3dubG9hZCIDiAIBEjsKDVN0YXJ0T21jaVRlc3QSFi5jb3JlX2FkYXB0ZXIuT01DSVRlc3QaEi5vbWNpLlRlc3RSZXNwb25zZRJKCg1TaW11bGF0ZUFsYXJtEiIuY29yZV9hZGFwdGVyLlNpbXVsYXRlQWxhcm1NZXNzYWdlGhUuY29tbW9uLk9wZXJhdGlvblJlc3ASOwoNU3VwcHJlc3NFdmVudBISLmV2ZW50LkV2ZW50RmlsdGVyGhYuZ29vZ2xlLnByb3RvYnVmLkVtcHR5Ej0KD1VuU3VwcHJlc3NFdmVudBISLmV2ZW50LkV2ZW50RmlsdGVyGhYuZ29vZ2xlLnByb3RvYnVmLkVtcHR5EkgKC0dldEV4dFZhbHVlEiAuY29yZV9hZGFwdGVyLkdldEV4dFZhbHVlTWVzc2FnZRoXLmV4dGVuc2lvbi5SZXR1cm5WYWx1ZXMSRwoLU2V0RXh0VmFsdWUSIC5jb3JlX2FkYXB0ZXIuU2V0RXh0VmFsdWVNZXNzYWdlGhYuZ29vZ2xlLnByb3RvYnVmLkVtcHR5ElUKDkdldFNpbmdsZVZhbHVlEiAuZXh0ZW5zaW9uLlNpbmdsZUdldFZhbHVlUmVxdWVzdBohLmV4dGVuc2lvbi5TaW5nbGVHZXRWYWx1ZVJlc3BvbnNlElUKDlNldFNpbmdsZVZhbHVlEiAuZXh0ZW5zaW9uLlNpbmdsZVNldFZhbHVlUmVxdWVzdBohLmV4dGVuc2lvbi5TaW5nbGVTZXRWYWx1ZVJlc3BvbnNlQnQKI29yZy5vcGVuY29yZC52b2x0aGEuYWRhcHRlcl9zZXJ2aWNlQhRWb2x0aGFBZGFwdGVyU2VydmljZVo3Z2l0aHViLmNvbS9vcGVuY29yZC92b2x0aGEtcHJvdG9zL3Y1L2dvL2FkYXB0ZXJfc2VydmljZUrLFAoGEgQAAFcBCggKAQwSAwAAEgoICgEIEgMCAE4KCQoCCAsSAwIATgoICgEIEgMDADwKCQoCCAESAwMAPAoICgEIEgMEADUKCQoCCAgSAwQANQoICgECEgMGABgKCQoCAwASAwgAJQoJCgIDARIDCQAkCgkKAgMCEgMKACoKCQoCAwMSAwsAJAoJCgIDBBIDDAAoCgkKAgMFEgMNACQKCQoCAwYSAw4AJAoJCgIDBxIDDwAnCgkKAgMIEgMQACQKVQoCBgASBBMAVwEaSSBBZGFwdGVyU2VydmljZSBpcyBhIGdSUEMgc2VydmljZSB0byBzZXJ2ZSByZXF1ZXN0cyBmcm9tIFZvbHRoYSBSV19Db3JlLgoKCgoDBgABEgMTCBYKkQEKBAYAAgASAxYEVxqDASBHZXRIZWFsdGhTdGF0dXMgaXMgdXNlZCBieSBhbiBBZGFwdGVyU2VydmljZSBjbGllbnQgdG8gdmVyaWZ5IGNvbm5lY3Rpdml0eQogdG8gdGhlIGdSUEMgc2VydmVyIGhvc3RpbmcgdGhlIEFkYXB0ZXJTZXJ2aWNlIHNlcnZpY2UKCgwKBQYAAgABEgMWCBcKDAoFBgACAAUSAxYYHgoMCgUGAAIAAhIDFh8wCgwKBQYAAgAGEgMWO0EKDAoFBgACAAMSAxZCVQoVCgQGAAIBEgMZBEIaCCBEZXZpY2UKCgwK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ZGFwdGVyLnByb3RvGhp2b2x0aGFfcHJvdG9zL2NvbW1vbi5wcm90bxoadm9sdGhhX3Byb3Rvcy9kZXZpY2UucHJvdG8aGnZvbHRoYV9wcm90b3MvaGVhbHRoLnByb3RvMv0LCgtDb3JlU2VydmljZRI/Cg9HZXRIZWFsdGhTdGF0dXMSEi5jb21tb24uQ29ubmVjdGlvbhoULmhlYWx0aC5IZWFsdGhTdGF0dXMoATABEkwKD1JlZ2lzdGVyQWRhcHRlchIhLmNvcmVfYWRhcHRlci5BZGFwdGVyUmVnaXN0cmF0aW9uGhYuZ29vZ2xlLnByb3RvYnVmLkVtcHR5EjYKDERldmljZVVwZGF0ZRIOLmRldmljZS5EZXZpY2UaFi5nb29nbGUucHJvdG9idWYuRW1wdHkSMwoLUG9ydENyZWF0ZWQSDC5kZXZpY2UuUG9ydBoWLmdvb2dsZS5wcm90b2J1Zi5FbXB0eRJJChBQb3J0c1N0YXRlVXBkYXRlEh0uY29yZV9hZGFwdGVyLlBvcnRTdGF0ZUZpbHRlchoWLmdvb2dsZS5wcm90b2J1Zi5FbXB0eRI0Cg5EZWxldGVBbGxQb3J0cxIKLmNvbW1vbi5JRBoWLmdvb2dsZS5wcm90b2J1Zi5FbXB0eRI3Cg1HZXREZXZpY2VQb3J0EhguY29yZV9hZGFwdGVyLlBvcnRGaWx0ZXIaDC5kZXZpY2UuUG9ydBIsCg9MaXN0RGV2aWNlUG9ydHMSCi5jb21tb24uSUQaDS5kZXZpY2UuUG9ydHMSTAoRRGV2aWNlU3RhdGVVcGRhdGUSHy5jb3JlX2FkYXB0ZXIuRGV2aWNlU3RhdGVGaWx0ZXIaFi5nb29nbGUucHJvdG9idWYuRW1wdHkSQQoURGV2aWNlUE1Db25maWdVcGRhdGUSES5kZXZpY2UuUG1Db25maWdzGhYuZ29vZ2xlLnByb3RvYnVmLkVtcHR5EkQKE0NoaWxkRGV2aWNlRGV0ZWN0ZWQSHS5jb3JlX2FkYXB0ZXIuRGV2aWNlRGlzY292ZXJ5Gg4uZGV2aWNlLkRldmljZRI2ChBDaGlsZERldmljZXNMb3N0EgouY29tbW9uLklEGhYuZ29vZ2xlLnByb3RvYnVmLkVtcHR5EjoKFENoaWxkRGV2aWNlc0RldGVjdGVkEgouY29tbW9uLklEGhYuZ29vZ2xlLnByb3RvYnVmLkVtcHR5EicKCUdldERldmljZRIKLmNvbW1vbi5JRBoOLmRldmljZS5EZXZpY2USQQoOR2V0Q2hpbGREZXZpY2USHy5jb3JlX2FkYXB0ZXIuQ2hpbGREZXZpY2VGaWx0ZXIaDi5kZXZpY2UuRGV2aWNlEi4KD0dldENoaWxkRGV2aWNlcxIKLmNvbW1vbi5JRBoPLmRldmljZS5EZXZpY2VzEj4KDFNlbmRQYWNrZXRJbhIWLmNvcmVfYWRhcHRlci5QYWNrZXRJbhoWLmdvb2dsZS5wcm90b2J1Zi5FbXB0eRJIChJEZXZpY2VSZWFzb25VcGRhdGUSGi5jb3JlX2FkYXB0ZXIuRGV2aWNlUmVhc29uGhYuZ29vZ2xlLnByb3RvYnVmLkVtcHR5EkIKD1BvcnRTdGF0ZVVwZGF0ZRIXLmNvcmVfYWRhcHRlci5Qb3J0U3RhdGUaFi5nb29nbGUucHJvdG9idWYuRW1wdHkSOwoVUmVjb25jaWxlQ2hpbGREZXZpY2VzEgouY29tbW9uLklEGhYuZ29vZ2xlLnByb3RvYnVmLkVtcHR5Ek0KHkdldENoaWxkRGV2aWNlV2l0aFByb3h5QWRkcmVzcxIbLmRldmljZS5EZXZpY2UuUHJveHlBZGRyZXNzGg4uZGV2aWNlLkRldmljZRIzCghHZXRQb3J0cxIYLmNvcmVfYWRhcHRlci5Qb3J0RmlsdGVyGg0uZGV2aWNlLlBvcnRzEk4KE0NoaWxkcmVuU3RhdGVVcGRhdGUSHy5jb3JlX2FkYXB0ZXIuRGV2aWNlU3RhdGVGaWx0ZXIaFi5nb29nbGUucHJvdG9idWYuRW1wdHkSRAoTVXBkYXRlSW1hZ2VEb3dubG9hZBIVLmRldmljZS5JbWFnZURvd25sb2FkGhYuZ29vZ2xlLnByb3RvYnVmLkVtcHR5QmsKIG9yZy5vcGVuY29yZC52b2x0aGEuY29yZV9zZXJ2aWNlQhFWb2x0aGFDb3JlU2VydmljZVo0Z2l0aHViLmNvbS9vcGVuY29yZC92b2x0aGEtcHJvdG9zL3Y1L2dvL2NvcmVfc2VydmljZUqxDgoGEgQAAC4BCggKAQwSAwAAEgoICgEIEgMCAEsKCQoCCAsSAwIASwoICgEIEgMDADkKCQoCCAES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bHRoYV9wcm90b3MvaWV0Zl9pbnRlcmZhY2VzLnByb3RvEgRpZXRmIkQKCkludGVyZmFjZXMSNgoOYWxsX2ludGVyZmFjZXMYASADKAsyDy5pZXRmLkludGVyZmFjZVINYWxsSW50ZXJmYWNlcyKSAgoJSW50ZXJmYWNlEhIKBG5hbWUYASABKAlSBG5hbWUSIAoLZGVzY3JpcHRpb24YAiABKAlSC2Rlc2NyaXB0aW9uEhIKBHR5cGUYAyABKAlSBHR5cGUSGAoHZW5hYmxlZBgEIAEoCFIHZW5hYmxlZBJgChhsaW5rX3VwX2Rvd25fdHJhcF9lbmFibGUYBSABKA4yKC5pZXRmLkludGVyZmFjZS5MaW5rVXBEb3duVHJhcEVuYWJsZVR5cGVSFGxpbmtVcERvd25UcmFwRW5hYmxlIj8KGExpbmtVcERvd25UcmFwRW5hYmxlVHlwZRIRCg1UUkFQX0RJU0FCTEVEEAASEAoMVFJBUF9FTkFCTEVEEAEiTAoPSW50ZXJmYWNlc1N0YXRlEjkKDWFsbF9pbnRlcmZhY3MYASADKAsyFC5pZXRmLkludGVyZmFjZVN0YXRlUgxhbGxJbnRlcmZhY3MiwAQKDkludGVyZmFjZVN0YXRlEhIKBG5hbWUYASABKAlSBG5hbWUSEgoEdHlwZRgCIAEoCVIEdHlwZRJHCgxhZG1pbl9zdGF0dXMYAyABKA4yJC5pZXRmLkludGVyZmFjZVN0YXRlLkFkbWluU3RhdHVzVHlwZVILYWRtaW5TdGF0dXMSRAoLb3Blcl9zdGF0dXMYBCABKA4yIy5pZXRmLkludGVyZmFjZVN0YXRlLk9wZXJTdGF0dXNUeXBlUgpvcGVyU3RhdHVzEh8KC2xhc3RfY2hhbmdlGAUgASgJUgpsYXN0Q2hhbmdlEhkKCGlmX2luZGV4GAYgASgFUgdpZkluZGV4EiEKDHBoeXNfYWRkcmVzcxgHIAEoCVILcGh5c0FkZHJlc3MSJgoPaGlnaGVyX2xheWVyX2lmGAggAygJUg1oaWdoZXJMYXllcklmEiQKDmxvd2VyX2xheWVyX2lmGAkgAygJUgxsb3dlckxheWVySWYSFAoFc3BlZWQYCiABKARSBXNwZWVkIkIKD0FkbWluU3RhdHVzVHlwZRIOCgpBRE1JTl9ET1dOEAASEQoN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KA4yKi50ZWNoX3Byb2ZpbGUuSW5mZXJyZWRBZGRpdGlvbkJXSW5kaWNhdGlvblIIYWRkQndJbmQinQIKEFRyYWZmaWNTY2hlZHVsZXISNQoJZGlyZWN0aW9uGAEgASgOMhcudGVjaF9wcm9maWxlLkRpcmVjdGlvblIJZGlyZWN0aW9uEhkKCGFsbG9jX2lkGAIgASgHUgdhbGxvY0lkEjsKCXNjaGVkdWxlchgDIAEoCzIdLnRlY2hfcHJvZmlsZS5TY2hlZHVsZXJDb25maWdSCXNjaGVkdWxlchJSChR0cmFmZmljX3NoYXBpbmdfaW5mbxgEIAEoCzIgLnRlY2hfcHJvZmlsZS5UcmFmZmljU2hhcGluZ0luZm9SEnRyYWZmaWNTaGFwaW5nSW5mbxImCg90ZWNoX3Byb2ZpbGVfaWQYBSABKAdSDXRlY2hQcm9maWxlSWQiugEKEVRyYWZmaWNTY2hlZHVsZXJzEhcKB2ludGZfaWQYASABKAdSBmludGZJZBIVCgZvbnVfaWQYAiABKAdSBW9udUlkEhUKBnVuaV9pZBgEIAEoB1IFdW5pSWQSFwoHcG9ydF9ubxgFIAEoB1IGcG9ydE5vEkUKDnRyYWZmaWNfc2NoZWRzGAMgAygLMh4udGVjaF9wcm9maWxlLlRyYWZmaWNTY2hlZHVsZXJSDXRyYWZmaWNTY2hlZHMiNgoVVGFpbERyb3BEaXNjYXJkQ29uZmlnEh0KCnF1ZXVlX3NpemUYASABKAdSCXF1ZXVlU2l6ZSKFAQoQUmVkRGlzY2FyZENvbmZpZxIjCg1taW5fdGhyZXNob2xkGAEgASgHUgxtaW5UaHJlc2hvbGQSIwoNbWF4X3RocmVzaG9sZBgCIAEoB1IMbWF4VGhyZXNob2xkEicKD21heF9wcm9iYWJpbGl0eRgDIAEoB1IObWF4UHJvYmFiaWxpdHkiswEKEVdSZWREaXNjYXJkQ29uZmlnEjQKBWdyZWVuGAEgASgLMh4udGVjaF9wcm9maWxlLlJlZERpc2NhcmRDb25maWdSBWdyZWVuEjYKBnllbGxvdxgCIAEoCzIeLnRlY2hfcHJvZmlsZS5SZWREaXNjYXJkQ29uZmlnUgZ5ZWxsb3cSMAoDcmVkGAMgASgLMh4udGVjaF9wcm9maWxlLlJlZERpc2NhcmRDb25maWdSA3JlZCLoAgoNRGlzY2FyZENvbmZpZxJCCg5kaXNjYXJkX3BvbGljeRgBIAEoDjIbLnRlY2hfcHJvZmlsZS5EaXNjYXJkUG9saWN5Ug1kaXNjYXJkUG9saWN5El4KGHRhaWxfZHJvcF9kaXNjYXJkX2NvbmZpZxgCIAEoCzIjLnRlY2hfcHJvZmlsZS5UYWlsRHJvcERpc2NhcmRDb25maWdIAFIVdGFpbERyb3BEaXNjYXJkQ29uZmlnEk4KEnJlZF9kaXNjYXJkX2NvbmZpZxgDIAEoCzIeLnRlY2hfcHJvZmlsZS5SZWREaXNjYXJkQ29uZmlnSABSEHJlZERpc2NhcmRDb25maWcSUQoTd3JlZF9kaXNjYXJkX2NvbmZpZxgEIAEoCzIfLnRlY2hfcHJvZmlsZS5XUmVkRGlzY2FyZENvbmZpZ0gAUhF3cmVkRGlzY2FyZENvbmZpZ0IQCg5kaXNjYXJkX2NvbmZpZyKlAwoMVHJhZmZpY1F1ZXVlEjUKCWRpcmVjdGlvbhgBIAEoDjIXLnRlY2hfcHJvZmlsZS5EaXJlY3Rpb25SCWRpcmVjdGlvbhIdCgpnZW1wb3J0X2lkGAIgASgHUglnZW1wb3J0SWQSGQoIcGJpdF9tYXAYAyABKAlSB3BiaXRNYXASJQoOYWVzX2VuY3J5cHRpb24YBCABKAhSDWFlc0VuY3J5cHRpb24SQQoMc2NoZWRfcG9saWN5GAUgASgOMh4udGVjaF9wcm9maWxlLlNjaGVkdWxpbmdQb2xpY3lSC3NjaGVkUG9saWN5EhoKCHByaW9yaXR5GAYgASgHUghwcmlvcml0eRIWCgZ3ZWlnaHQYByABKAdSBndlaWdodBJCCg5kaXNjYXJkX3BvbGljeRgIIAEoDjIbLnRlY2hfcHJvZmlsZS5EaXNjYXJkUG9saWN5Ug1kaXNjYXJkUG9saWN5EkIKDmRpc2NhcmRfY29uZmlnGAkgASgLMhsudGVjaF9wcm9maWxlLkRpc2NhcmRDb25maWdSDWRpc2NhcmRDb25maWci2gEKDVRyYWZmaWNRdWV1ZXMSFwoHaW50Zl9pZBgBIAEoB1IGaW50ZklkEhUKBm9udV9pZBgCIAEoB1IFb251SWQSFQoGdW5pX2lkGAQgASgHUgV1bmlJZBIXCgdwb3J0X25vGAUgASgHUgZwb3J0Tm8SQQoOdHJhZmZpY19xdWV1ZXMYBiADKAsyGi50ZWNoX3Byb2ZpbGUuVHJhZmZpY1F1ZXVlUg10cmFmZmljUXVldWVzEiYKD3RlY2hfcHJvZmlsZV9pZBgHIAEoB1INdGVjaFByb2ZpbGVJZCJmCg9JbnN0YW5jZUNvbnRyb2wSEAoDb251GAEgASgJUgNvbnUSEAoDdW5pGAIgASgJUgN1bmkSLwoUbWF4X2dlbV9wYXlsb2FkX3NpemUYAyABKAlSEW1heEdlbVBheWxvYWRTaXplIoICCgtRVGhyZXNob2xkcxIhCgxxX3RocmVzaG9sZDEYASABKA1SC3FUaHJlc2hvbGQxEiEKDHFfdGhyZXNob2xkMhgCIAEoDVILcVRocmVzaG9sZDISIQoMcV90aHJlc2hvbGQzGAMgASgNUgtxVGhyZXNob2xkMxIhCgxxX3RocmVzaG9sZDQYBCABKA1SC3FUaHJlc2hvbGQ0EiEKDHFfdGhyZXNob2xkNRgFIAEoDVILcVRocmVzaG9sZDUSIQoMcV90aHJlc2hvbGQ2GAYgASgNUgtxVGhyZXNob2xkNhIhCgxxX3RocmVzaG9sZDcYByABKA1SC3FUaHJlc2hvbGQ3IrMFChFHZW1Qb3J0QXR0cmlidXRlcxIdCgpnZW1wb3J0X2lkGAEgASgHUglnZW1wb3J0SWQSHAoKbWF4X3Ffc2l6ZRgCIAEoCVIIbWF4UVNpemUSGQoIcGJpdF9tYXAYAyABKAlSB3BiaXRNYXASJQoOYWVzX2VuY3J5cHRpb24YBCABKAlSDWFlc0VuY3J5cHRpb24SSwoRc2NoZWR1bGluZ19wb2xpY3kYBSABKA4yHi50ZWNoX3Byb2ZpbGUuU2NoZWR1bGluZ1BvbGljeVIQc2NoZWR1bGluZ1BvbGljeRIdCgpwcmlvcml0eV9xGAYgASgHUglwcmlvcml0eVESFgoGd2VpZ2h0GAcgASgHUgZ3ZWlnaHQSQgoOZGlzY2FyZF9wb2xpY3kYCCABKA4yGy50ZWNoX3Byb2ZpbGUuRGlzY2FyZFBvbGljeVINZGlzY2FyZFBvbGljeRJFCg5kaXNjYXJkX2NvbmZpZxgJIAEoCzIeLnRlY2hfcHJvZmlsZS5SZWREaXNjYXJkQ29uZmlnUg1kaXNjYXJkQ29uZmlnEkcKEWRpc2NhcmRfY29uZmlnX3YyGA4gASgLMhsudGVjaF9wcm9maWxlLkRpc2NhcmRDb25maWdSD2Rpc2NhcmRDb25maWdWMhIhCgxpc19tdWx0aWNhc3QYCiABKAlSC2lzTXVsdGljYXN0EigKEG11bHRpY2FzdF9nZW1faWQYCyABKAdSDm11bHRpY2FzdEdlbUlkEj0KG2R5bmFtaWNfYWNjZXNzX2NvbnRyb2xfbGlzdBgMIAEoCVIYZHluYW1pY0FjY2Vzc0NvbnRyb2xMaXN0EjsKGnN0YXRpY19hY2Nlc3NfY29udHJvbF9saXN0GA0gASgJUhdzdGF0aWNBY2Nlc3NDb250cm9sTGlzdCKiAgoTU2NoZWR1bGVyQXR0cmlidXRlcxI1CglkaXJlY3Rpb24YASABKA4yFy50ZWNoX3Byb2ZpbGUuRGlyZWN0aW9uUglkaXJlY3Rpb24SGQoIYWxsb2NfaWQYAiABKA1SB2FsbG9jSWQSPwoNYWRkaXRpb25hbF9idxgDIAEoDjIaLnRlY2hfcHJvZmlsZS5BZGRpdGlvbmFsQldSDGFkZGl0aW9uYWxCdxIaCghwcmlvcml0eRgEIAEoB1IIcHJpb3JpdHkSFgoGd2VpZ2h0GAUgASgHUgZ3ZWlnaHQSRAoOcV9zY2hlZF9wb2xpY3kYBiABKA4yHi50ZWNoX3Byb2ZpbGUuU2NoZWR1bGluZ1BvbGljeVIMcVNjaGVkUG9saWN5IsAGChNFUE9OUXVldWVBdHRyaWJ1dGVzEhwKCm1heF9xX3NpemUYASABKAlSCG1heFFTaXplEhkKCHBiaXRfbWFwGAIgASgJUgdwYml0TWFwEh0KCmdlbXBvcnRfaWQYAyABKA1SCWdlbXBvcnRJZBIlCg5hZXNfZW5jcnlwdGlvbhgEIAEoCVINYWVzRW5jcnlwdGlvbhIhCgx0cmFmZmljX3R5cGUYBSABKAlSC3RyYWZmaWNUeXBlEjQKFnVuc29saWNpdGVkX2dyYW50X3NpemUYBiABKA1SFHVuc29saWNpdGVkR3JhbnRTaXplEikKEG5vbWluYWxfaW50ZXJ2YWwYByABKA1SD25vbWluYWxJbnRlcnZhbBIyChV0b2xlcmF0ZWRfcG9sbF9qaXR0ZXIYCCABKA1SE3RvbGVyYXRlZFBvbGxKaXR0ZXISPgobcmVxdWVzdF90cmFuc21pc3Npb25fcG9saWN5GAkgASgNUhlyZXF1ZXN0VHJhbnNtaXNzaW9uUG9saWN5EhwKCm51bV9xX3NldHMYCiABKA1SCG51bVFTZXRzEjwKDHFfdGhyZXNob2xkcxgLIAEoCzIZLnRlY2hfcHJvZmlsZS5RVGhyZXNob2xkc1ILcVRocmVzaG9sZHMSSwoRc2NoZWR1bGluZ19wb2xpY3kYDCABKA4yHi50ZWNoX3Byb2ZpbGUuU2NoZWR1bGluZ1BvbGljeVIQc2NoZWR1bGluZ1BvbGljeRIdCgpwcmlvcml0eV9xGA0gASgNUglwcmlvcml0eVESFgoGd2VpZ2h0GA4gASgNUgZ3ZWlnaHQSQgoOZGlzY2FyZF9wb2xpY3kYDyABKA4yGy50ZWNoX3Byb2ZpbGUuRGlzY2FyZFBvbGljeVINZGlzY2FyZFBvbGljeRJFCg5kaXNjYXJkX2NvbmZpZxgQIAEoCzIeLnRlY2hfcHJvZmlsZS5SZWREaXNjYXJkQ29uZmlnUg1kaXNjYXJkQ29uZmlnEkcKEWRpc2NhcmRfY29uZmlnX3YyGBEgASgLMhsudGVjaF9wcm9maWxlLkRpc2NhcmRDb25maWdSD2Rpc2NhcmRDb25maWdWMiKuBAoLVGVjaFByb2ZpbGUSEgoEbmFtZRgBIAEoCVIEbmFtZRIYCgd2ZXJzaW9uGAIgASgNUgd2ZXJzaW9uEiEKDHByb2ZpbGVfdHlwZRgDIAEoCVILcHJvZmlsZVR5cGUSIgoNbnVtX2dlbV9wb3J0cxgEIAEoDVILbnVtR2VtUG9ydHMSSAoQaW5zdGFuY2VfY29udHJvbBgFIAEoCzIdLnRlY2hfcHJvZmlsZS5JbnN0YW5jZUNvbnRyb2xSD2luc3RhbmNlQ29udHJvbBJECgx1c19zY2hlZHVsZXIYBiABKAsyIS50ZWNoX3Byb2ZpbGUuU2NoZWR1bGVyQXR0cmlidXRlc1ILdXNTY2hlZHVsZXISRAoMZHNfc2NoZWR1bGVyGAcgASgLMiEudGVjaF9wcm9maWxlLlNjaGVkdWxlckF0dHJpYnV0ZXNSC2RzU2NoZWR1bGVyEmcKIHVwc3RyZWFtX2dlbV9wb3J0X2F0dHJpYnV0ZV9saXN0GAggAygLMh8udGVjaF9wcm9maWxlLkdlbVBvcnRBdHRyaWJ1dGVzUhx1cHN0cmVhbUdlbVBvcnRBdHRyaWJ1dGVMaXN0EmsKImRvd25zdHJlYW1fZ2VtX3BvcnRfYXR0cmlidXRlX2xpc3QYCSADKAsyHy50ZWNoX3Byb2ZpbGUuR2VtUG9ydEF0dHJpYnV0ZXNSHmRvd25zdHJlYW1HZW1Qb3J0QXR0cmlidXRlTGlzdCLDAwoPRXBvblRlY2hQcm9maWxlEhIKBG5hbWUYASABKAlSBG5hbWUSGAoHdmVyc2lvbhgCIAEoDVIHdmVyc2lvbhIhCgxwcm9maWxlX3R5cGUYAyABKAlSC3Byb2ZpbGVUeXBlEiIKDW51bV9nZW1fcG9ydHMYBCABKA1SC251bUdlbVBvcnRzEkgKEGluc3RhbmNlX2NvbnRyb2wYBSABKAsyHS50ZWNoX3Byb2ZpbGUuSW5zdGFuY2VDb250cm9sUg9pbnN0YW5jZUNvbnRyb2wSIQoMcGFja2FnZV90eXBlGAYgASgJUgtwYWNrYWdlVHlwZRJkCh11cHN0cmVhbV9xdWV1ZV9hdHRyaWJ1dGVfbGlzdBgHIAMoCzIhLnRlY2hfcHJvZmlsZS5FUE9OUXVldWVBdHRyaWJ1dGVzUhp1cHN0cmVhbVF1ZXVlQXR0cmlidXRlTGlzdBJoCh9kb3duc3RyZWFtX3F1ZXVlX2F0dHJpYnV0ZV9saXN0GAggAygLMiEudGVjaF9wcm9maWxlLkVQT05RdWV1ZUF0dHJpYnV0ZXNSHGRvd25zdHJlYW1RdWV1ZUF0dHJpYnV0ZUxpc3Qi6wQKE1RlY2hQcm9maWxlSW5zdGFuY2USEgoEbmFtZRgBIAEoCVIEbmFtZRIYCgd2ZXJzaW9uGAIgASgNUgd2ZXJzaW9uEjMKFXN1YnNjcmliZXJfaWRlbnRpZmllchgDIAEoCVIUc3Vic2NyaWJlcklkZW50aWZpZXISIQoMcHJvZmlsZV90eXBlGAQgASgJUgtwcm9maWxlVHlwZRIiCg1udW1fZ2VtX3BvcnRzGAUgASgNUgtudW1HZW1Qb3J0cxJIChBpbnN0YW5jZV9jb250cm9sGAYgASgLMh0udGVjaF9wcm9maWxlLkluc3RhbmNlQ29udHJvbFIPaW5zdGFuY2VDb250cm9sEkQKDHVzX3NjaGVkdWxlchgHIAEoCzIhLnRlY2hfcHJvZmlsZS5TY2hlZHVsZXJBdHRyaWJ1dGVzUgt1c1NjaGVkdWxlchJECgxkc19zY2hlZHVsZXIYCCABKAsyIS50ZWNoX3Byb2ZpbGUuU2NoZWR1bGVyQXR0cmlidXRlc1ILZHNTY2hlZHVsZXISZwogdXBzdHJlYW1fZ2VtX3BvcnRfYXR0cmlidXRlX2xpc3QYCSADKAsyHy50ZWNoX3Byb2ZpbGUuR2VtUG9ydEF0dHJpYnV0ZXNSHHVwc3RyZWFtR2VtUG9ydEF0dHJpYnV0ZUxpc3QSawoiZG93bnN0cmVhbV9nZW1fcG9ydF9hdHRyaWJ1dGVfbGlzdBgKIAMoCzIfLnRlY2hfcHJvZmlsZS5HZW1Qb3J0QXR0cmlidXRlc1IeZG93bnN0cmVhbUdlbVBvcnRBdHRyaWJ1dGVMaXN0IpsEChdFcG9uVGVjaFByb2ZpbGVJbnN0YW5jZRISCgRuYW1lGAEgASgJUgRuYW1lEhgKB3ZlcnNpb24YAiABKA1SB3ZlcnNpb24SMwoVc3Vic2NyaWJlcl9pZGVudGlmaWVyGAMgASgJUhRzdWJzY3JpYmVySWRlbnRpZmllchIhCgxwcm9maWxlX3R5cGUYBCABKAlSC3Byb2ZpbGVUeXBlEiIKDW51bV9nZW1fcG9ydHMYBSABKA1SC251bUdlbVBvcnRzEhkKCGFsbG9jX2lkGAYgASgNUgdhbGxvY0lkEkgKEGluc3RhbmNlX2NvbnRyb2wYByABKAsyHS50ZWNoX3Byb2ZpbGUuSW5zdGFuY2VDb250cm9sUg9pbnN0YW5jZUNvbnRyb2wSIQoMcGFja2FnZV90eXBlGAggASgJUgtwYWNrYWdlVHlwZRJkCh11cHN0cmVhbV9xdWV1ZV9hdHRyaWJ1dGVfbGlzdBgJIAMoCzIhLnRlY2hfcHJvZmlsZS5FUE9OUXVldWVBdHRyaWJ1dGVzUhp1cHN0cmVhbVF1ZXVlQXR0cmlidXRlTGlzdBJoCh9kb3duc3RyZWFtX3F1ZXVlX2F0dHJpYnV0ZV9saXN0GAogAygLMiEudGVjaF9wcm9maWxlLkVQT05RdWV1ZUF0dHJpYnV0ZXNSHGRvd25zdHJlYW1RdWV1ZUF0dHJpYnV0ZUxpc3QiuwEKEFJlc291cmNlSW5zdGFuY2USEwoFdHBfaWQYASABKA1SBHRwSWQSIQoMcHJvZmlsZV90eXBlGAIgASgJUgtwcm9maWxlVHlwZRIzChVzdWJzY3JpYmVyX2lkZW50aWZpZXIYAyABKAlSFHN1YnNjcmliZXJJZGVudGlmaWVyEhkKCGFsbG9jX2lkGAQgASgNUgdhbGxvY0lkEh8KC2dlbXBvcnRfaWRzGAUgAygNUgpnZW1wb3J0SWRzKjwKCURpcmVjdGlvbhIMCghVUFNUUkVBTRAAEg4KCkRPV05TVFJFQU0QARIRCg1CSURJUkVDVElPTkFMEAIqOwoQU2NoZWR1bGluZ1BvbGljeRIHCgNXUlIQABISCg5TdHJpY3RQcmlvcml0eRABEgoKBkh5YnJpZBACKm4KDEFkZGl0aW9uYWxCVxIVChFBZGRpdGlvbmFsQldfTm9uZRAAEhMKD0FkZGl0aW9uYWxCV19OQRABEhsKF0FkZGl0aW9uYWxCV19CZXN0RWZmb3J0EAISFQoRQWRkaXRpb25hbEJXX0F1dG8QAyo/Cg1EaXNjYXJkUG9saWN5EgwKCFRhaWxEcm9wEAASDQoJV1RhaWxEcm9wEAESBwoDUmVkEAISCAoEV1JlZBADKpwBChxJbmZlcnJlZEFkZGl0aW9uQldJbmRpY2F0aW9uEiUKIUluZmVycmVkQWRkaXRpb25CV0luZGljYXRpb25fTm9uZRAAEigKJEluZmVycmVkQWRkaXRpb25CV0luZGljYXRpb25fQXNzdXJlZBABEisKJ0luZmVycmVkQWRkaXRpb25CV0luZGljYXRpb25fQmVzdEVmZm9ydBACQlgKIG9yZy5vcGVuY29yZC52b2x0aGEudGVjaF9wcm9maWxlWjRnaXRodWIuY29tL29wZW5jb3JkL3ZvbHRoYS1wcm90b3MvdjUvZ28vdGVjaF9wcm9maWxlSuhkCgcSBQ4A/wEBCvEECgEMEgMOABIy5gQgQ29weXJpZ2h0IDIwMTgtMjAyNCBPcGVuIE5ldHdvcmtpbmcgRm91bmRhdGlvbiAoT05GKSBhbmQgdGhlIE9ORiBDb250cmlidXRvcnMKCiBMaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgIkxpY2Vuc2UiKTsKIHlvdSBtYXkg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Egb9AQT8ASUKDQoFBBMCAwUSBP0BBAoKDQoFBBMCAwESBP0BCxMKDQoFBBMCAwMSBP0BFhcKDAoEBBMCBBIE/gEEJAoNCgUEEwIEBBIE/gEEDAoNCgUEEwIEBRIE/gENEwoNCgUEEwIEARIE/gEUHwoNCgUEEwIEAxIE/gEiI2IGcHJvdG8zCv6ZAwobdm9sdGhhX3Byb3Rvcy9vcGVub2x0LnByb3RvEgdvcGVub2x0Ghxnb29nbGUvYXBpL2Fubm90YXRpb25zLnByb3RvGiB2b2x0aGFfcHJvdG9zL3RlY2hfcHJvZmlsZS5wcm90bxoedm9sdGhhX3Byb3Rvcy9leHRfY29uZmlnLnByb3RvGh52b2x0aGFfcHJvdG9zL2V4dGVuc2lvbnMucHJvdG8izAQKCkluZGljYXRpb24SMQoHb2x0X2luZBgBIAEoCzIWLm9wZW5vbHQuT2x0SW5kaWNhdGlvbkgAUgZvbHRJbmQSNAoIaW50Zl9pbmQYAiABKAsyFy5vcGVub2x0LkludGZJbmRpY2F0aW9uSABSB2ludGZJbmQSQQoNaW50Zl9vcGVyX2luZBgDIAEoCzIbLm9wZW5vbHQuSW50Zk9wZXJJbmRpY2F0aW9uSABSC2ludGZPcGVySW5kEj4KDG9udV9kaXNjX2luZBgEIAEoCzIaLm9wZW5vbHQuT251RGlzY0luZGljYXRpb25IAFIKb251RGlzY0luZBIxCgdvbnVfaW5kGAUgASgLMhYub3Blbm9sdC5PbnVJbmRpY2F0aW9uSABSBm9udUluZBI0CghvbWNpX2luZBgGIAEoCzIXLm9wZW5vbHQuT21jaUluZGljYXRpb25IAFIHb21jaUluZBI0Cgdwa3RfaW5kGAcgASgLMhkub3Blbm9sdC5QYWNrZXRJbmRpY2F0aW9uSABSBnBrdEluZBI4Cgpwb3J0X3N0YXRzGAggASgLMhcub3Blbm9sdC5Qb3J0U3RhdGlzdGljc0gAUglwb3J0U3RhdHMSOAoKZmxvd19zdGF0cxgJIAEoCzIXLm9wZW5vbHQuRmxvd1N0YXRpc3RpY3NIAFIJZmxvd1N0YXRzEjcKCWFsYXJtX2luZBgKIAEoCzIYLm9wZW5vbHQuQWxhcm1JbmRpY2F0aW9uSABSCGFsYXJtSW5kQgYKBGRhdGEi6w0KD0FsYXJtSW5kaWNhdGlvbhIxCgdsb3NfaW5kGAEgASgLMhYub3Blbm9sdC5Mb3NJbmRpY2F0aW9uSABSBmxvc0luZBJECg5keWluZ19nYXNwX2luZBgCIAEoCzIcLm9wZW5vbHQuRHlpbmdHYXNwSW5kaWNhdGlvbkgAUgxkeWluZ0dhc3BJbmQSQQoNb251X2FsYXJtX2luZBgDIAEoCzIbLm9wZW5vbHQuT251QWxhcm1JbmRpY2F0aW9uSABSC29udUFsYXJtSW5kElcKFG9udV9zdGFydHVwX2ZhaWxfaW5kGAQgASgLMiQub3Blbm9sdC5PbnVTdGFydHVwRmFpbHVyZUluZGljYXRpb25IAFIRb251U3RhcnR1cEZhaWxJbmQSWgoWb251X3NpZ25hbF9kZWdyYWRlX2luZBgFIAEoCzIjLm9wZW5vbHQuT251U2lnbmFsRGVncmFkZUluZGljYXRpb25IAFITb251U2lnbmFsRGVncmFkZUluZBJbChdvbnVfZHJpZnRfb2Zfd2luZG93X2luZBgGIAEoCzIjLm9wZW5vbHQuT251RHJpZnRPZldpbmRvd0luZGljYXRpb25IAFITb251RHJpZnRPZldpbmRvd0luZBJUChFvbnVfbG9zc19vbWNpX2luZBgHIAEoCzInLm9wZW5vbHQuT251TG9zc09mT21jaUNoYW5uZWxJbmRpY2F0aW9uSABSDm9udUxvc3NPbWNpSW5kElcKFG9udV9zaWduYWxzX2ZhaWxfaW5kGAggASgLMiQub3Blbm9sdC5PbnVTaWduYWxzRmFpbHVyZUluZGljYXRpb25IAFIRb251U2lnbmFsc0ZhaWxJbmQSTwoMb251X3Rpd2lfaW5kGAkgASgLMisub3Blbm9sdC5PbnVUcmFuc21pc3Npb25JbnRlcmZlcmVuY2VXYXJuaW5nSABSCm9udVRpd2lJbmQSYAoXb251X2FjdGl2YXRpb25fZmFpbF9pbmQYCiABKAsyJy5vcGVub2x0Lk9udUFjdGl2YXRpb25GYWlsdXJlSW5kaWNhdGlvbkgAUhRvbnVBY3RpdmF0aW9uRmFpbEluZBJgChhvbnVfcHJvY2Vzc2luZ19lcnJvcl9pbmQYCyABKAsyJS5vcGVub2x0Lk9udVByb2Nlc3NpbmdFcnJvckluZGljYXRpb25IAFIVb251UHJvY2Vzc2luZ0Vycm9ySW5kEmUKGW9udV9sb3NzX29mX3N5bmNfZmFpbF9pbmQYDCABKAsyKi5vcGVub2x0Lk9udUxvc3NPZktleVN5bmNGYWlsdXJlSW5kaWNhdGlvbkgAUhRvbnVMb3NzT2ZTeW5jRmFpbEluZBJVChVvbnVfaXR1X3Bvbl9zdGF0c19pbmQYDSABKAsyIS5vcGVub2x0Lk9udUl0dVBvblN0YXRzSW5kaWNhdGlvbkgAUhFvbnVJdHVQb25TdGF0c0luZBJsChxvbnVfZGVhY3RpdmF0aW9uX2ZhaWx1cmVfaW5kGA4gASgLMikub3Blbm9sdC5PbnVEZWFjdGl2YXRpb25GYWlsdXJlSW5kaWNhdGlvbkgAUhlvbnVEZWFjdGl2YXRpb25GYWlsdXJlSW5kElcKFW9udV9yZW1vdGVfZGVmZWN0X2luZBgPIAEoCzIiLm9wZW5vbHQuT251UmVtb3RlRGVmZWN0SW5kaWNhdGlvbkgAUhJvbnVSZW1vdGVEZWZlY3RJbmQScwocb251X2xvc3NfZ2VtX2RlbGluZWF0aW9uX2luZBgQIAEoCzIxLm9wZW5vbHQuT251TG9zc09mR0VNQ2hhbm5lbERlbGluZWF0aW9uSW5kaWNhdGlvbkgAUhhvbnVMb3NzR2VtRGVsaW5lYXRpb25JbmQSdgogb251X3BoeXNpY2FsX2VxdWlwbWVudF9lcnJvcl9pbmQYESABKAsyLC5vcGVub2x0Lk9udVBoeXNpY2FsRXF1aXBtZW50RXJyb3JJbmRpY2F0aW9uSABSHG9udVBoeXNpY2FsRXF1aXBtZW50RXJyb3JJbmQSWwoTb251X2xvc3Nfb2ZfYWNrX2luZBgSIAEoCzIrLm9wZW5vbHQuT251TG9zc09mQWNrbm93bGVkZ2VtZW50SW5kaWNhdGlvbkgAUg9vbnVMb3NzT2ZBY2tJbmQSbwobb251X2RpZmZfcmVhY2hfZXhjZWVkZWRfaW5kGBMgASgLMi8ub3Blbm9sdC5PbnVEaWZmZXJlbnRpYWxSZWFjaEV4Y2VlZGVkSW5kaWNhdGlvbkgAUhdvbnVEaWZmUmVhY2hFeGNlZWRlZEluZEIGCgRkYXRhIi4KDU9sdEluZGljYXRpb24SHQoKb3Blcl9zdGF0ZRgBIAEoCVIJb3BlclN0YXRlIkgKDkludGZJbmRpY2F0aW9uEhcKB2ludGZfaWQYASABKAdSBmludGZJZBIdCgpvcGVyX3N0YXRlGAIgASgJUglvcGVyU3RhdGUiaAoRT251RGlzY0luZGljYXRpb24SFwoHaW50Zl9pZBgBIAEoB1IGaW50ZklkEjoKDXNlcmlhbF9udW1iZXIYAiABKAsyFS5vcGVub2x0LlNlcmlhbE51bWJlclIMc2VyaWFsTnVtYmVyIpMECg1PbnVJbmRpY2F0aW9uEhcKB2ludGZfaWQYASABKAdSBmludGZJZBIVCgZvbnVfaWQYAiABKAdSBW9udUlkEh0KCm9wZXJfc3RhdGUYAyABKAlSCW9wZXJTdGF0ZRIfCgthZG1pbl9zdGF0ZRgFIAEoCVIKYWRtaW5TdGF0ZRI6Cg1zZXJpYWxfbnVtYmVyGAQgASgLMhUub3Blbm9sdC5TZXJpYWxOdW1iZXJSDHNlcmlhbE51bWJlchJMCgtmYWlsX3JlYXNvbhgGIAEoDjIrLm9wZW5vbHQuT251SW5kaWNhdGlvbi5BY3RpdmF0aW9uRmFpbFJlYXNvblIKZmFpbFJlYXNvbiKHAgoUQWN0aXZhdGlvbkZhaWxSZWFzb24SIwofT05VX0FDVElWQVRJT05fRkFJTF9SRUFTT05fTk9ORRAAEiYKIk9OVV9BQ1RJVkFUSU9OX0ZBSUxfUkVBU09OX1JBTkdJTkcQARI2CjJPTlVfQUNUSVZBVElPTl9GQUlMX1JFQVNPTl9QQVNTV09SRF9BVVRIRU5USUNBVElPThACEiIKHk9OVV9BQ1RJVkFUSU9OX0ZBSUxfUkVBU09OX0xPUxADEiEKHU9OVV9BQ1RJVkFUSU9OX0ZBSUxfT05VX0FMQVJNEAQSIwofT05VX0FDVElWQVRJT05fRkFJTF9TV0lUQ0hfT1ZFUhAFIoIEChJJbnRmT3BlckluZGljYXRpb24SEgoEdHlwZRgBIAEoCVIEdHlwZRIXCgdpbnRmX2lkGAIgASgHUgZpbnRmSWQSHQoKb3Blcl9zdGF0ZRgDIAEoCVIJb3BlclN0YXRlEhQKBXNwZWVkGAQgASgHUgVzcGVlZBIeCgp0ZWNobm9sb2d5GAUgASgJUgp0ZWNobm9sb2d5EkUKBnJhbmdlcxgGIAEoCzItLm9wZW5vbHQuSW50Zk9wZXJJbmRpY2F0aW9uLlBPTlJlc291cmNlUmFuZ2VzUgZyYW5nZXMaogIKEVBPTlJlc291cmNlUmFuZ2VzEkgKBXBvb2xzGAMgAygLMjIub3Blbm9sdC5JbnRmT3BlckluZGljYXRpb24uUE9OUmVzb3VyY2VSYW5nZXMuUG9vbFIFcG9vbHMawgEKBFBvb2wSTwoEdHlwZRgBIAEoDjI7Lm9wZW5vbHQuSW50Zk9wZXJJbmRpY2F0aW9uLlBPTlJlc291cmNlUmFuZ2VzLlBvb2wuUG9vbFR5cGVSBHR5cGUSFAoFc3RhcnQYAyABKAdSBXN0YXJ0EhAKA2VuZBgEIAEoB1IDZW5kIkEKCFBvb2xUeXBlEgoKBk9OVV9JRBAAEgwKCEFMTE9DX0lEEAESDgoKR0VNUE9SVF9JRBACEgsKB0ZMT1dfSUQQAyJSCg5PbWNpSW5kaWNhdGlvbhIXCgdpbnRmX2lkGAEgASgHUgZpbnRmSWQSFQoGb251X2lkGAIgASgHUgVvbnVJZBIQCgNwa3QYAyABKAxSA3BrdCLxAQoQUGFja2V0SW5kaWNhdGlvbhIbCglpbnRmX3R5cGUYBSABKAlSCGludGZUeXBlEhcKB2ludGZfaWQYASABKAdSBmludGZJZBIVCgZvbnVfaWQYCCABKAdSBW9udUlkEhUKBnVuaV9pZBgJIAEoB1IFdW5pSWQSHQoKZ2VtcG9ydF9pZBgCIAEoB1IJZ2VtcG9ydElkEhcKB2Zsb3dfaWQYAyABKAdSBmZsb3dJZBIXCgdwb3J0X25vGAYgASgHUgZwb3J0Tm8SFgoGY29va2llGAcgASgGUgZjb29raWUSEAoDcGt0GAQgASgMUgNwa3QiJAoJSW50ZXJmYWNlEhcKB2ludGZfaWQYASABKAdSBmludGZJZCI8CglIZWFydGJlYXQSLwoTaGVhcnRiZWF0X3NpZ25hdHVyZRgBIAEoB1ISaGVhcnRiZWF0U2lnbmF0dXJlIqwBCgNPbnUSFwoHaW50Zl9pZBgBIAEoB1IGaW50ZklkEhUKBm9udV9pZBgCIAEoB1IFb251SWQSOgoNc2VyaWFsX251bWJlchgDIAEoCzIVLm9wZW5vbHQuU2VyaWFsTnVtYmVyUgxzZXJpYWxOdW1iZXISEAoDcGlyGAQgASgHUgNwaXISJwoPb21jY19lbmNyeXB0aW9uGAUgASgIUg5vbWNjRW5jcnlwdGlvbiKxAQoST251TG9naWNhbERpc3RhbmNlEhcKB2ludGZfaWQYASABKAdSBmludGZJZBIVCgZvbnVfaWQYAiABKAdSBW9udUlkEjkKGWxvZ2ljYWxfb251X2Rpc3RhbmNlX3plcm8YAyABKAdSFmxvZ2ljYWxPbnVEaXN0YW5jZVplcm8SMAoUbG9naWNhbF9vbnVfZGlzdGFuY2UYBCABKAdSEmxvZ2ljYWxPbnVEaXN0YW5jZSJLCgdPbWNpTXNnEhcKB2ludGZfaWQYASABKAdSBmludGZJZBIVCgZvbnVfaWQYAiABKAdSBW9udUlkEhAKA3BrdBgDIAEoDFIDcGt0IoUBCglPbnVQYWNrZXQSFwoHaW50Zl9pZBgBIAEoB1IGaW50ZklkEhUKBm9udV9pZBgCIAEoB1IFb251SWQSFwoHcG9ydF9ubxgEIAEoB1IGcG9ydE5vEh0KCmdlbXBvcnRfaWQYBSABKAdSCWdlbXBvcnRJZBIQCgNwa3QYAyABKAxSA3BrdCI5CgxVcGxpbmtQYWNrZXQSFwoHaW50Zl9pZBgBIAEoB1IGaW50ZklkEhAKA3BrdBgCIAEoDFIDcGt0IpsHCgpEZXZpY2VJbmZvEhYKBnZlbmRvchgBIAEoCVIGdmVuZG9yEhQKBW1vZGVsGAIgASgJUgVtb2RlbBIpChBoYXJkd2FyZV92ZXJzaW9uGAMgASgJUg9oYXJkd2FyZVZlcnNpb24SKQoQZmlybXdhcmVfdmVyc2lvbhgEIAEoCVIPZmlybXdhcmVWZXJzaW9uEhsKCWRldmljZV9pZBgQIAEoCVIIZGV2aWNlSWQSMAoUZGV2aWNlX3NlcmlhbF9udW1iZXIYESABKAlSEmRldmljZVNlcmlhbE51bWJlchIxChRwcmV2aW91c2x5X2Nvbm5lY3RlZBgTIAEoCFITcHJldmlvdXNseUNvbm5lY3RlZBIbCglwb25fcG9ydHMYDCABKAdSCHBvblBvcnRzEkAKBnJhbmdlcxgPIAMoCzIoLm9wZW5vbHQuRGV2aWNlSW5mby5EZXZpY2VSZXNvdXJjZVJhbmdlc1IGcmFuZ2VzGpUEChREZXZpY2VSZXNvdXJjZVJhbmdlcxIZCghpbnRmX2lkcxgBIAMoB1IHaW50ZklkcxIeCgp0ZWNobm9sb2d5GAIgASgJUgp0ZWNobm9sb2d5EkMKBXBvb2xzGAMgAygLMi0ub3Blbm9sdC5EZXZpY2VJbmZvLkRldmljZVJlc291cmNlUmFuZ2VzLlBvb2xSBXBvb2xzGvwCCgRQb29sEkoKBHR5cGUYASABKA4yNi5vcGVub2x0LkRldmljZUluZm8uRGV2aWNlUmVzb3VyY2VSYW5nZXMuUG9vbC5Qb29sVHlwZVIEdHlwZRJTCgdzaGFyaW5nGAIgASgOMjkub3Blbm9sdC5EZXZpY2VJbmZvLkRldmljZVJlc291cmNlUmFuZ2VzLlBvb2wuU2hhcmluZ1R5cGVSB3NoYXJpbmcSFAoFc3RhcnQYAyABKAdSBXN0YXJ0EhAKA2VuZBgEIAEoB1IDZW5kIkEKCFBvb2xUeXBlEgoKBk9OVV9JRBAAEgwKCEFMTE9DX0lEEAESDgoKR0VNUE9SVF9JRBACEgsKB0ZMT1dfSUQQAyJoCgtTaGFyaW5nVHlwZRIWChJERURJQ0FURURfUEVSX0lOVEYQABIfChtTSEFSRURfQllfQUxMX0lOVEZfQUxMX1RFQ0gQARIgChxTSEFSRURfQllfQUxMX0lOVEZfU0FNRV9URUNIEAJKBAgFEAxKBAgNEA5KBAgOEA8ihAMKCkNsYXNzaWZpZXISFQoGb190cGlkGAEgASgHUgVvVHBpZBITCgVvX3ZpZBgCIAEoB1IEb1ZpZBIVCgZpX3RwaWQYAyABKAdSBWlUcGlkEhMKBWlfdmlkGAQgASgHUgRpVmlkEhcKB29fcGJpdHMYBSABKAdSBm9QYml0cxIXCgdpX3BiaXRzGAYgASgHUgZpUGJpdHMSGQoIZXRoX3R5cGUYByABKAdSB2V0aFR5cGUSFwoHZHN0X21hYxgIIAEoDFIGZHN0TWFjEhcKB3NyY19tYWMYCSABKAxSBnNyY01hYxIZCghpcF9wcm90bxgKIAEoB1IHaXBQcm90bxIVCgZkc3RfaXAYCyABKAdSBWRzdElwEhUKBnNyY19pcBgMIAEoB1IFc3JjSXASGQoIc3JjX3BvcnQYDSABKAdSB3NyY1BvcnQSGQoIZHN0X3BvcnQYDiABKAdSB2RzdFBvcnQSIAoMcGt0X3RhZ190eXBlGA8gASgJUgpwa3RUYWdUeXBlIoUDCglBY3Rpb25DbWQSIgoNYWRkX291dGVyX3RhZxgBIAEoCFILYWRkT3V0ZXJUYWcSKAoQcmVtb3ZlX291dGVyX3RhZxgCIAEoCFIOcmVtb3ZlT3V0ZXJUYWcSIAoMdHJhcF90b19ob3N0GAMgASgIUgp0cmFwVG9Ib3N0EiwKEnJlbWFya19vdXRlcl9wYml0cxgEIAEoCFIQcmVtYXJrT3V0ZXJQYml0cxIsChJyZW1hcmtfaW5uZXJfcGJpdHMYBSABKAhSEHJlbWFya0lubmVyUGJpdHMSIgoNYWRkX2lubmVyX3RhZxgGIAEoCFILYWRkSW5uZXJUYWcSKAoQcmVtb3ZlX2lubmVyX3RhZxgHIAEoCFIOcmVtb3ZlSW5uZXJUYWcSLgoTdHJhbnNsYXRlX2lubmVyX3RhZxgIIAEoCFIRdHJhbnNsYXRlSW5uZXJUYWcSLgoTdHJhbnNsYXRlX291dGVyX3RhZxgJIAEoCFIRdHJhbnNsYXRlT3V0ZXJUYWciuAEKBkFjdGlvbhIkCgNjbWQYASABKAsyEi5vcGVub2x0LkFjdGlvbkNtZFIDY21kEhMKBW9fdmlkGAIgASgHUgRvVmlkEhcKB29fcGJpdHMYAyABKAdSBm9QYml0cxIVCgZvX3RwaWQYBCABKAdSBW9UcGlkEhMKBWlfdmlkGAUgASgHUgRpVmlkEhcKB2lfcGJpdHMYBiABKAdSBmlQYml0cxIVCgZpX3RwaWQYByABKAdSBWlUcGlkIscGCgRGbG93EiQKDmFjY2Vzc19pbnRmX2lkGAEgASgPUgxhY2Nlc3NJbnRmSWQSFQoGb251X2lkGAIgASgPUgVvbnVJZBIVCgZ1bmlfaWQYCyABKA9SBXVuaUlkEhcKB2Zsb3dfaWQYAyABKAZSBmZsb3dJZBIqChFzeW1tZXRyaWNfZmxvd19pZBgSIAEoBlIPc3ltbWV0cmljRmxvd0lkEhsKCWZsb3dfdHlwZRgEIAEoCVIIZmxvd1R5cGUSGQoIYWxsb2NfaWQYCiABKA9SB2FsbG9jSWQSJgoPbmV0d29ya19pbnRmX2lkGAUgASgPUg1uZXR3b3JrSW50ZklkEh0KCmdlbXBvcnRfaWQYBiABKA9SCWdlbXBvcnRJZBIzCgpjbGFzc2lmaWVyGAcgASgLMhMub3Blbm9sdC5DbGFzc2lmaWVyUgpjbGFzc2lmaWVyEicKBmFjdGlvbhgIIAEoCzIPLm9wZW5vbHQuQWN0aW9uUgZhY3Rpb24SGgoIcHJpb3JpdHkYCSABKA9SCHByaW9yaXR5EhYKBmNvb2tpZRgMIAEoBlIGY29va2llEhcKB3BvcnRfbm8YDSABKAdSBnBvcnRObxIZCghncm91cF9pZBgOIAEoB1IHZ3JvdXBJZBImCg90ZWNoX3Byb2ZpbGVfaWQYDyABKAdSDXRlY2hQcm9maWxlSWQSJQoOcmVwbGljYXRlX2Zsb3cYECABKAhSDXJlcGxpY2F0ZUZsb3cSSAoPcGJpdF90b19nZW1wb3J0GBEgAygLMiAub3Blbm9sdC5GbG93LlBiaXRUb0dlbXBvcnRFbnRyeVINcGJpdFRvR2VtcG9ydBJFCg5nZW1wb3J0X3RvX2FlcxgTIAMoCzIfLm9wZW5vbHQuRmxvdy5HZW1wb3J0VG9BZXNFbnRyeVIMZ2VtcG9ydFRvQWVzGkAKElBiaXRUb0dlbXBvcnRFbnRyeRIQCgNrZXkYASABKAdSA2tleRIUCgV2YWx1ZRgCIAEoB1IFdmFsdWU6AjgBGj8KEUdlbXBvcnRUb0Flc0VudHJ5EhAKA2tleRgBIAEoB1IDa2V5EhQKBXZhbHVlGAIgASgIUgV2YWx1ZToCOAEiVAoMU2VyaWFsTnVtYmVyEhsKCXZlbmRvcl9pZBgBIAEoDFIIdmVuZG9ySWQSJwoPdmVuZG9yX3NwZWNpZmljGAIgASgMUg52ZW5kb3JTcGVjaWZpYyL+CwoOUG9ydFN0YXRpc3RpY3MSFwoHaW50Zl9pZBgBIAEoB1IGaW50ZklkEhkKCHJ4X2J5dGVzGAIgASgGUgdyeEJ5dGVzEh0KCnJ4X3BhY2tldHMYAyABKAZSCXJ4UGFja2V0cxIoChByeF91Y2FzdF9wYWNrZXRzGAQgASgGUg5yeFVjYXN0UGFja2V0cxIoChByeF9tY2FzdF9wYWNrZXRzGAUgASgGUg5yeE1jYXN0UGFja2V0cxIoChByeF9iY2FzdF9wYWNrZXRzGAYgASgGUg5yeEJjYXN0UGFja2V0cxIoChByeF9lcnJvcl9wYWNrZXRzGAcgASgGUg5yeEVycm9yUGFja2V0cxIbCglyeF9mcmFtZXMYESABKAZSCHJ4RnJhbWVzEiAKDHJ4X2ZyYW1lc182NBgSIAEoBlIKcnhGcmFtZXM2NBInChByeF9mcmFtZXNfNjVfMTI3GBMgASgGUg1yeEZyYW1lczY1MTI3EikKEXJ4X2ZyYW1lc18xMjhfMjU1GBQgASgGUg5yeEZyYW1lczEyODI1NRIpChFyeF9mcmFtZXNfMjU2XzUxMRgVIAEoBlIOcnhGcmFtZXMyNTY1MTESKwoScnhfZnJhbWVzXzUxMl8xMDIzGBYgASgGUg9yeEZyYW1lczUxMjEwMjMSLQoTcnhfZnJhbWVzXzEwMjRfMTUxOBgXIAEoBlIQcnhGcmFtZXMxMDI0MTUxOBItChNyeF9mcmFtZXNfMTUxOV8yMDQ3GBggASgGUhByeEZyYW1lczE1MTkyMDQ3Ei0KE3J4X2ZyYW1lc18yMDQ4XzQwOTUYGSABKAZSEHJ4RnJhbWVzMjA0ODQwOTUSLQoTcnhfZnJhbWVzXzQwOTZfOTIxNhgaIAEoBlIQcnhGcmFtZXM0MDk2OTIxNhIvChRyeF9mcmFtZXNfOTIxN18xNjM4MxgbIAEoBlIRcnhGcmFtZXM5MjE3MTYzODMSIgoNcnhfY3JjX2Vycm9ycxgOIAEoBlILcnhDcmNFcnJvcnMSGQoIdHhfYnl0ZXMYCCABKAZSB3R4Qnl0ZXMSHQoKdHhfcGFja2V0cxgJIAEoBlIJdHhQYWNrZXRzEigKEHR4X3VjYXN0X3BhY2tldHMYCiABKAZSDnR4VWNhc3RQYWNrZXRzEigKEHR4X21jYXN0X3BhY2tldHMYCyABKAZSDnR4TWNhc3RQYWNrZXRzEigKEHR4X2JjYXN0X3BhY2tldHMYDCABKAZSDnR4QmNhc3RQYWNrZXRzEigKEHR4X2Vycm9yX3BhY2tldHMYDSABKAZSDnR4RXJyb3JQYWNrZXRzEhsKCXR4X2ZyYW1lcxgcIAEoBlIIdHhGcmFtZXMSIAoMdHhfZnJhbWVzXzY0GB0gASgGUgp0eEZyYW1lczY0EicKEHR4X2ZyYW1lc182NV8xMjcYHiABKAZSDXR4RnJhbWVzNjUxMjcSKQoRdHhfZnJhbWVzXzEyOF8yNTUYHyABKAZSDnR4RnJhbWVzMTI4MjU1EikKEXR4X2ZyYW1lc18yNTZfNTExGCAgASgGUg50eEZyYW1lczI1NjUxMRIrChJ0eF9mcmFtZXNfNTEyXzEwMjMYISABKAZSD3R4RnJhbWVzNTEyMTAyMxItChN0eF9mcmFtZXNfMTAyNF8xNTE4GCIgASgGUhB0eEZyYW1lczEwMjQxNTE4Ei0KE3R4X2ZyYW1lc18xNTE5XzIwNDcYIyABKAZSEHR4RnJhbWVzMTUxOTIwNDcSLQoTdHhfZnJhbWVzXzIwNDhfNDA5NRgkIAEoBlIQdHhGcmFtZXMyMDQ4NDA5NRItChN0eF9mcmFtZXNfNDA5Nl85MjE2GCUgASgGUhB0eEZyYW1lczQwOTY5MjE2Ei8KFHR4X2ZyYW1lc185MjE3XzE2MzgzGCYgASgGUhF0eEZyYW1lczkyMTcxNjM4MxIdCgpiaXBfZXJyb3JzGA8gASgGUgliaXBFcnJvcnMSHAoJdGltZXN0YW1wGBAgASgHUgl0aW1lc3RhbXAi5gcKDU9udVN0YXRpc3RpY3MSFwoHaW50Zl9pZBgBIAEoB1IGaW50ZklkEhUKBm9udV9pZBgCIAEoB1IFb251SWQSJQoOcG9zaXRpdmVfZHJpZnQYAyABKAZSDXBvc2l0aXZlRHJpZnQSJQoObmVnYXRpdmVfZHJpZnQYBCABKAZSDW5lZ2F0aXZlRHJpZnQSOAoYZGVsaW1pdGVyX21pc3NfZGV0ZWN0aW9uGAUgASgGUhZkZWxpbWl0ZXJNaXNzRGV0ZWN0aW9uEh0KCmJpcF9lcnJvcnMYBiABKAZSCWJpcEVycm9ycxIbCgliaXBfdW5pdHMYByABKAZSCGJpcFVuaXRzEjIKFWZlY19jb3JyZWN0ZWRfc3ltYm9scxgIIAEoBlITZmVjQ29ycmVjdGVkU3ltYm9scxI2ChdmZWNfY29kZXdvcmRzX2NvcnJlY3RlZBgJIAEoBlIVZmVjQ29kZXdvcmRzQ29ycmVjdGVkEj4KG2ZlY19jb2Rld29yZHNfdW5jb3JyZWN0YWJsZRgKIAEoBlIZZmVjQ29kZXdvcmRzVW5jb3JyZWN0YWJsZRIjCg1mZWNfY29kZXdvcmRzGAsgASgGUgxmZWNDb2Rld29yZHMSLgoTZmVjX2NvcnJlY3RlZF91bml0cxgMIAEoBlIRZmVjQ29ycmVjdGVkVW5pdHMSJgoPeGdlbV9rZXlfZXJyb3JzGA0gASgGUg14Z2VtS2V5RXJyb3JzEhsKCXhnZW1fbG9zcxgOIAEoBlIIeGdlbUxvc3MSJgoPcnhfcGxvYW1zX2Vycm9yGA8gASgGUg1yeFBsb2Ftc0Vycm9yEisKEnJ4X3Bsb2Ftc19ub25faWRsZRgQIAEoBlIPcnhQbG9hbXNOb25JZGxlEhcKB3J4X29tY2kYESABKAZSBnJ4T21jaRI4ChlyeF9vbWNpX3BhY2tldHNfY3JjX2Vycm9yGBIgASgGUhVyeE9tY2lQYWNrZXRzQ3JjRXJyb3ISGQoIcnhfYnl0ZXMYEyABKAZSB3J4Qnl0ZXMSHQoKcnhfcGFja2V0cxgUIAEoBlIJcnhQYWNrZXRzEhkKCHR4X2J5dGVzGBUgASgGUgd0eEJ5dGVzEh0KCnR4X3BhY2tldHMYFiABKAZSCXR4UGFja2V0cxIhCgxiZXJfcmVwb3J0ZWQYFyABKAZSC2JlclJlcG9ydGVkEh8KC2xjZGdfZXJyb3JzGBggASgGUgpsY2RnRXJyb3JzEh0KCnJkaV9lcnJvcnMYGSABKAZSCXJkaUVycm9ycxIcCgl0aW1lc3RhbXAYGiABKAdSCXRpbWVzdGFtcCLdAQoRR2VtUG9ydFN0YXRpc3RpY3MSFwoHaW50Zl9pZBgBIAEoB1IGaW50ZklkEh0KCmdlbXBvcnRfaWQYAiABKAdSCWdlbXBvcnRJZBIdCgpyeF9wYWNrZXRzGAMgASgGUglyeFBhY2tldHMSGQoIcnhfYnl0ZXMYBCABKAZSB3J4Qnl0ZXMSHQoKdHhfcGFja2V0cxgFIAEoBlIJdHhQYWNrZXRzEhkKCHR4X2J5dGVzGAYgASgGUgd0eEJ5dGVzEhwKCXRpbWVzdGFtcBgaIAEoB1IJdGltZXN0YW1wIrsBCg5GbG93U3RhdGlzdGljcxIXCgdmbG93X2lkGAEgASgHUgZmbG93SWQSGQoIcnhfYnl0ZXMYAiABKAZSB3J4Qnl0ZXMSHQoKcnhfcGFja2V0cxgDIAEoBlIJcnhQYWNrZXRzEhkKCHR4X2J5dGVzGAggASgGUgd0eEJ5dGVzEh0KCnR4X3BhY2tldHMYCSABKAZSCXR4UGFja2V0cxIcCgl0aW1lc3RhbXAYECABKAdSCXRpbWVzdGFtcCJACg1Mb3NJbmRpY2F0aW9uEhcKB2ludGZfaWQYASABKAdSBmludGZJZBIWCgZzdGF0dXMYAiABKAlSBnN0YXR1cyJdChNEeWluZ0dhc3BJbmRpY2F0aW9uEhcKB2ludGZfaWQYASABKAdSBmludGZJZBIVCgZvbnVfaWQYAiABKAdSBW9udUlkEhYKBnN0YXR1cxgDIAEoCVIGc3RhdHVzIqMCChJPbnVBbGFybUluZGljYXRpb24SFwoHaW50Zl9pZBgBIAEoB1IGaW50ZklkEhUKBm9udV9pZBgCIAEoB1IFb251SWQSHQoKbG9zX3N0YXR1cxgDIAEoCVIJbG9zU3RhdHVzEh0KCmxvYl9zdGF0dXMYBCABKAlSCWxvYlN0YXR1cxIoChBsb3BjX21pc3Nfc3RhdHVzGAUgASgJUg5sb3BjTWlzc1N0YXR1cxIxChVsb3BjX21pY19lcnJvcl9zdGF0dXMYBiABKAlSEmxvcGNNaWNFcnJvclN0YXR1cxIfCgtsb2ZpX3N0YXR1cxgHIAEoCVIKbG9maVN0YXR1cxIhCgxsb2FtaV9zdGF0dXMYCCABKAlSC2xvYW1pU3RhdHVzImUKG09udVN0YXJ0dXBGYWlsdXJlSW5kaWNhdGlvbhIXCgdpbnRmX2lkGAEgASgHUgZpbnRmSWQSFQoGb251X2lkGAIgASgHUgVvbnVJZBIWCgZzdGF0dXMYAyABKAlSBnN0YXR1cyKZAQoaT251U2lnbmFsRGVncmFkZUluZGljYXRpb24SFwoHaW50Zl9pZBgBIAEoB1IGaW50ZklkEhUKBm9udV9pZBgCIAEoB1IFb251SWQSFgoGc3RhdHVzGAMgASgJUgZzdGF0dXMSMwoWaW52ZXJzZV9iaXRfZXJyb3JfcmF0ZRgEIAEoB1ITaW52ZXJzZUJpdEVycm9yUmF0ZSKTAQoaT251RHJpZnRPZldpbmRvd0luZGljYXRpb24SFwoHaW50Zl9pZBgBIAEoB1IGaW50ZklkEhUKBm9udV9pZBgCIAEoB1IFb251SWQSFgoGc3RhdHVzGAMgASgJUgZzdGF0dXMSFAoFZHJpZnQYBCABKAdSBWRyaWZ0EhcKB25ld19lcWQYBSABKAdSBm5ld0VxZCJoCh5PbnVMb3NzT2ZPbWNpQ2hhbm5lbEluZGljYXRpb24SFwoHaW50Zl9pZBgBIAEoB1IGaW50ZklkEhUKBm9udV9pZBgCIAEoB1IFb251SWQSFgoGc3RhdHVzGAMgASgJUgZzdGF0dXMimgEKG09udVNpZ25hbHNGYWlsdXJlSW5kaWNhdGlvbhIXCgdpbnRmX2lkGAEgASgHUgZpbnRmSWQSFQoGb251X2lkGAIgASgHUgVvbnVJZBIWCgZzdGF0dXMYAyABKAlSBnN0YXR1cxIzChZpbnZlcnNlX2JpdF9lcnJvcl9yYXRlGAQgASgHUhNpbnZlcnNlQml0RXJyb3JSYXRlIoIBCiJPbnVUcmFuc21pc3Npb25JbnRlcmZlcmVuY2VXYXJuaW5nEhcKB2ludGZfaWQYASABKAdSBmludGZJZBIVCgZvbnVfaWQYAiABKAdSBW9udUlkEhYKBnN0YXR1cxgDIAEoCVIGc3RhdHVzEhQKBWRyaWZ0GAQgASgHUgVkcmlmdCJxCh5PbnVBY3RpdmF0aW9uRmFpbHVyZUluZGljYXRpb24SFwoHaW50Zl9pZBgBIAEoB1IGaW50ZklkEhUKBm9udV9pZBgCIAEoB1IFb251SWQSHwoLZmFpbF9yZWFzb24YAyABKAdSCmZhaWxSZWFzb24iawohT251TG9zc09mS2V5U3luY0ZhaWx1cmVJbmRpY2F0aW9uEhcKB2ludGZfaWQYASABKAdSBmludGZJZBIVCgZvbnVfaWQYAiABKAdSBW9udUlkEhYKBnN0YXR1cxgDIAEoCVIGc3RhdHVzIlQKElJkaUVycm9ySW5kaWNhdGlvbhImCg9yZGlfZXJyb3JfY291bnQYASABKAZSDXJkaUVycm9yQ291bnQSFgoGc3RhdHVzGAIgASgJUgZzdGF0dXMilgEKGE9udUl0dVBvblN0YXRzSW5kaWNhdGlvbhIXCgdpbnRmX2lkGAEgASgHUgZpbnRmSWQSFQoGb251X2lkGAIgASgHUgVvbnVJZBJBCg1yZGlfZXJyb3JfaW5kGAMgASgLMhsub3Blbm9sdC5SZGlFcnJvckluZGljYXRpb25IAFILcmRpRXJyb3JJbmRCBwoFc3RhdHMiTgocT251UHJvY2Vzc2luZ0Vycm9ySW5kaWNhdGlvbhIXCgdpbnRmX2lkGAEgASgHUgZpbnRmSWQSFQoGb251X2lkGAIgASgHUgVvbnVJZCJqCiBPbnVEZWFjdGl2YXRpb25GYWlsdXJlSW5kaWNhdGlvbhIXCgdpbnRmX2lkGAEgASgHUgZpbnRmSWQSFQoGb251X2lkGAIgASgHUgVvbnVJZBIWCgZzdGF0dXMYAyABKAlSBnN0YXR1cyJqChlPbnVSZW1vdGVEZWZlY3RJbmRpY2F0aW9uEhcKB2ludGZfaWQYASABKAdSBmludGZJZBIVCgZvbnVfaWQYAiABKAdSBW9udUlkEh0KCnJkaV9lcnJvcnMYAyABKAZSCXJkaUVycm9ycyKhAQooT251TG9zc09mR0VNQ2hhbm5lbERlbGluZWF0aW9uSW5kaWNhdGlvbhIXCgdpbnRmX2lkGAEgASgHUgZpbnRmSWQSFQoGb251X2lkGAIgASgHUgVvbnVJZBIWCgZzdGF0dXMYAyABKAlSBnN0YXR1cxItChJkZWxpbmVhdGlvbl9lcnJvcnMYBCABKAdSEWRlbGluZWF0aW9uRXJyb3JzIm0KI09udVBoeXNpY2FsRXF1aXBtZW50RXJyb3JJbmRpY2F0aW9uEhcKB2ludGZfaWQYASABKAdSBmludGZJZBIVCgZvbnVfaWQYAiABKAdSBW9udUlkEhYKBnN0YXR1cxgDIAEoCVIGc3RhdHVzImwKIk9udUxvc3NPZkFja25vd2xlZGdlbWVudEluZGljYXRpb24SFwoHaW50Zl9pZBgBIAEoB1IGaW50ZklkEhUKBm9udV9pZBgCIAEoB1IFb251SWQSFgoGc3RhdHVzGAMgASgJUgZzdGF0dXMijAEKJk9udURpZmZlcmVudGlhbFJlYWNoRXhjZWVkZWRJbmRpY2F0aW9uEhcKB2ludGZfaWQYASABKAdSBmludGZJZBIVCgZvbnVfaWQYAiABKAdSBW9udUlkEhYKBnN0YXR1cxgDIAEoCVIGc3RhdHVzEhoKCGRpc3RhbmNlGAQgASgHUghkaXN0YW5jZSL2AQoLR3JvdXBNZW1iZXISIQoMaW50ZXJmYWNlX2lkGAEgASgNUgtpbnRlcmZhY2VJZBJJCg5pbnRlcmZhY2VfdHlwZRgCIAEoDjIiLm9wZW5vbHQuR3JvdXBNZW1iZXIuSW50ZXJmYWNlVHlwZVINaW50ZXJmYWNlVHlwZRIeCgtnZW1fcG9ydF9pZBgDIAEoDVIJZ2VtUG9ydElkEhoKCHByaW9yaXR5GAQgASgNUghwcmlvcml0eSI9Cg1JbnRlcmZhY2VUeXBlEgcKA1BPThAAEhAKDEVQT05fMUdfUEFUSBABEhEKDUVQT05fMTBHX1BBVEgQAiKGAgoFR3JvdXASGQoIZ3JvdXBfaWQYASABKA1SB2dyb3VwSWQSPAoHY29tbWFuZBgCIAEoDjIiLm9wZW5vbHQuR3JvdXAuR3JvdXBNZW1iZXJzQ29tbWFuZFIHY29tbWFuZBIuCgdtZW1iZXJzGAMgAygLMhQub3Blbm9sdC5Hcm91cE1lbWJlclIHbWVtYmVycxInCgZhY3Rpb24YBCABKAsyDy5vcGVub2x0LkFjdGlvblIGYWN0aW9uIksKE0dyb3VwTWVtYmVyc0NvbW1hbmQSDwoLQUREX01FTUJFUlMQABISCg5SRU1PVkVfTUVNQkVSUxABEg8KC1NFVF9NRU1CRVJTEAIiXQoKVmFsdWVQYXJhbRIeCgNvbnUYASABKAsyDC5vcGVub2x0Lk9udVIDb251Ei8KBXZhbHVlGAIgASgOMhkuZXh0ZW5zaW9uLlZhbHVlVHlwZS5UeXBlUgV2YWx1ZSLDAgoOUG9uUnhQb3dlckRhdGESFwoHaW50Zl9pZBgBIAEoB1IGaW50ZklkEhUKBm9udV9pZBgCIAEoB1IFb251SWQSFgoGc3RhdHVzGAMgASgJUgZzdGF0dXMSUgoLZmFpbF9yZWFzb24YBCABKA4yMS5vcGVub2x0LlBvblJ4UG93ZXJEYXRhLlJzc2lNZWFzdXJlbWVudEZhaWxSZWFzb25SCmZhaWxSZWFzb24SKQoRcnhfcG93ZXJfbWVhbl9kYm0YBSABKAFSDnJ4UG93ZXJNZWFuRGJtImoKGVJzc2lNZWFzdXJlbWVudEZhaWxSZWFzb24SFAoQRkFJTF9SRUFTT05fTk9ORRAAEhwKGEZBSUxfUkVBU09OX05PX0RFTElNSVRFUhABEhkKFUZBSUxfUkVBU09OX05PX0FDQ0VTUxACIqMCCgdPbnVJbmZvEhUKBm9udV9pZBgBIAEoB1IFb251SWQSLwoFc3RhdGUYAiABKA4yGS5vcGVub2x0Lk9udUluZm8uT251U3RhdGVSBXN0YXRlEicKBGxvc2kYAyABKA4yEy5vcGVub2x0LkFsYXJtU3RhdGVSBGxvc2kSJwoEbG9maRgEIAEoDjITLm9wZW5vbHQuQWxhcm1TdGF0ZVIEbG9maRIpCgVsb2FtaRgFIAEoDjITLm9wZW5vbHQuQWxhcm1TdGF0ZVIFbG9hbWkiUwoIT251U3RhdGUSCwoHVU5LTk9XThAAEhIKDk5PVF9DT05GSUdVUkVEEAESCgoGQUNUSVZFEAISDAoISU5BQ1RJVkUQAxIMCghESVNBQkxFRBAEIucBCgtQb25JbnRmSW5mbxIXCgdpbnRmX2lkGAEgASgHUgZpbnRmSWQSNwoFc3RhdGUYAyABKA4yIS5vcGVub2x0LlBvbkludGZJbmZvLlBvbkludGZTdGF0ZVIFc3RhdGUSJQoDbG9zGAQgASgOMhMub3Blbm9sdC5BbGFybVN0YXRlUgNsb3MiXwoMUG9uSW50ZlN0YXRlEgsKB1VOS05PV04QABISCg5BQ1RJVkVfV09SS0lORxABEhIKDkFDVElWRV9TVEFOREJZEAISDAoISU5BQ1RJVkUQAxIMCghESVNBQkxFRBAEIgcKBUVtcHR5Kh0KCkFsYXJtU3RhdGUSBwoDT0ZGEAASBgoCT04QATLKFQoHT3Blbm9sdBJECgpEaXNhYmxlT2x0Eg4ub3Blbm9sdC5FbXB0eRoOLm9wZW5vbHQuRW1wdHkiFoLT5JMCECILL3YxL0Rpc2FibGU6ASoSRgoLUmVlbmFibGVPbHQSDi5vcGVub2x0LkVtcHR5Gg4ub3Blbm9sdC5FbXB0eSIXgtPkkwIRIgwvdjEvUmVlbmFibGU6ASoSRQoLQWN0aXZhdGVPbnUSDC5vcGVub2x0Lk9udRoOLm9wZW5vbHQuRW1wdHkiGILT5JMCEiINL3YxL0VuYWJsZU9udToBKhJICg1EZWFjdGl2YXRlT251Egwub3Blbm9sdC5PbnUaDi5vcGVub2x0LkVtcHR5IhmC0+STAhMiDi92MS9EaXNhYmxlT251OgEqEkMKCURlbGV0ZU9udRIMLm9wZW5vbHQuT251Gg4ub3Blbm9sdC5FbXB0eSIYgtPkkwISIg0vdjEvRGVsZXRlT251OgEqEkkKCk9tY2lNc2dPdXQSEC5vcGVub2x0Lk9tY2lNc2caDi5vcGVub2x0LkVtcHR5IhmC0+STAhMiDi92MS9PbWNpTXNnT3V0OgEqEk8KDE9udVBhY2tldE91dBISLm9wZW5vbHQuT251UGFja2V0Gg4ub3Blbm9sdC5FbXB0eSIbgtPkkwIVIhAvdjEvT251UGFja2V0T3V0OgEqElgKD1VwbGlua1BhY2tldE91dBIVLm9wZW5vbHQuVXBsaW5rUGFja2V0Gg4ub3Blbm9sdC5FbXB0eSIegtPkkwIYIhMvdjEvVXBsaW5rUGFja2V0T3V0OgEqEkAKB0Zsb3dBZGQSDS5vcGVub2x0LkZsb3caDi5vcGVub2x0LkVtcHR5IhaC0+STAhAiCy92MS9GbG93QWRkOgEqEkYKCkZsb3dSZW1vdmUSDS5vcGVub2x0LkZsb3caDi5vcGVub2x0LkVtcHR5IhmC0+STAhMiDi92MS9GbG93UmVtb3ZlOgEqElMKDkhlYXJ0YmVhdENoZWNrEg4ub3Blbm9sdC5FbXB0eRoSLm9wZW5vbHQuSGVhcnRiZWF0Ih2C0+STAhciEi92MS9IZWFydGJlYXRDaGVjazoBKhJNCgtFbmFibGVQb25JZhISLm9wZW5vbHQuSW50ZXJmYWNlGg4ub3Blbm9sdC5FbXB0eSIagtPkkwIUIg8vdjEvRW5hYmxlUG9uSWY6ASoSTwoMRGlzYWJsZVBvbklmEhIub3Blbm9sdC5JbnRlcmZhY2UaDi5vcGVub2x0LkVtcHR5IhuC0+STAhUiEC92MS9EaXNhYmxlUG9uSWY6ASoSUgoNR2V0RGV2aWNlSW5mbxIOLm9wZW5vbHQuRW1wdHkaEy5vcGVub2x0LkRldmljZUluZm8iHILT5JMCFiIRL3YxL0dldERldmljZUluZm86ASoSPwoGUmVib290Eg4ub3Blbm9sdC5FbXB0eRoOLm9wZW5vbHQuRW1wdHkiFYLT5JMCDyIKL3YxL1JlYm9vdDoBKhJVChFDb2xsZWN0U3RhdGlzdGljcxIOLm9wZW5vbHQuRW1wdHkaDi5vcGVub2x0LkVtcHR5IiCC0+STAhoiFS92MS9Db2xsZWN0U3RhdGlzdGljczoBKhJZChBHZXRPbnVTdGF0aXN0aWNzEgwub3Blbm9sdC5PbnUaFi5vcGVub2x0Lk9udVN0YXRpc3RpY3MiH4LT5JMCGSIUL3YxL0dldE9udVN0YXRpc3RpY3M6ASoSawoUR2V0R2VtUG9ydFN0YXRpc3RpY3MSEi5vcGVub2x0Lk9udVBhY2tldBoaLm9wZW5vbHQuR2VtUG9ydFN0YXRpc3RpY3MiI4LT5JMCHSIYL3YxL0dldEdlbVBvcnRTdGF0aXN0aWNzOgEqEnIKF0NyZWF0ZVRyYWZmaWNTY2hlZHVsZXJzEh8udGVjaF9wcm9maWxlLlRyYWZmaWNTY2hlZHVsZXJzGg4ub3Blbm9sdC5FbXB0eSImgtPkkwIgIhsvdjEvQ3JlYXRlVHJhZmZpY1NjaGVkdWxlcnM6ASoScgoXUmVtb3ZlVHJhZmZpY1NjaGVkdWxlcnMSHy50ZWNoX3Byb2ZpbGUuVHJhZmZpY1NjaGVkdWxlcnMaDi5vcGVub2x0LkVtcHR5IiaC0+STAiAiGy92MS9SZW1vdmVUcmFmZmljU2NoZWR1bGVyczoBKhJmChNDcmVhdGVUcmFmZmljUXVldWVzEhsudGVjaF9wcm9maWxlLlRyYWZmaWNRdWV1ZXMaDi5vcGVub2x0LkVtcHR5IiKC0+STAhwiFy92MS9DcmVhdGVUcmFmZmljUXVldWVzOgEqEmYKE1JlbW92ZVRyYWZmaWNRdWV1ZXMSGy50ZWNoX3Byb2ZpbGUuVHJhZmZpY1F1ZXVlcxoOLm9wZW5vbHQuRW1wdHkiIoLT5JMCHCIXL3YxL1JlbW92ZVRyYWZmaWNRdWV1ZXM6ASoSOwoQRW5hYmxlSW5kaWNhdGlvbhIOLm9wZW5vbHQuRW1wdHkaEy5vcGVub2x0LkluZGljYXRpb24iADABEl0KFVBlcmZvcm1Hcm91cE9wZXJhdGlvbhIOLm9wZW5vbHQuR3JvdXAaDi5vcGVub2x0LkVtcHR5IiSC0+STAh4iGS92MS9QZXJmb3JtR3JvdXBPcGVyYXRpb246ASoSSQoLRGVsZXRlR3JvdXASDi5vcGVub2x0Lkdyb3VwGg4ub3Blbm9sdC5FbXB0eSIagtPkkwIUIg8vdjEvRGVsZXRlR3JvdXA6ASoSVwoLR2V0RXh0VmFsdWUSEy5vcGVub2x0LlZhbHVlUGFyYW0aFy5leHRlbnNpb24uUmV0dXJuVmFsdWVzIhqC0+STAhQiDy92MS9HZXRFeHRWYWx1ZToBKhJdChFPbnVJdHVQb25BbGFybVNldBIWLmNvbmZpZy5PbnVJdHVQb25BbGFybRoOLm9wZW5vbHQuRW1wdHkiIILT5JMCGiIVL3YxL09udUl0dVBvbkFsYXJtU2V0OgEqEnAKGUdldExvZ2ljYWxPbnVEaXN0YW5jZVplcm8SDC5vcGVub2x0Lk9udRobLm9wZW5vbHQuT251TG9naWNhbERpc3RhbmNlIiiC0+STAiIiHS92MS9HZXRMb2dpY2FsT251RGlzdGFuY2VaZXJvOgEqEmgKFUdldExvZ2ljYWxPbnVEaXN0YW5jZRIMLm9wZW5vbHQuT251Ghsub3Blbm9sdC5PbnVMb2dpY2FsRGlzdGFuY2UiJILT5JMCHiIZL3YxL0dldExvZ2ljYWxPbnVEaXN0YW5jZToBKhJUCg1HZXRQb25SeFBvd2VyEgwub3Blbm9sdC5PbnUaFy5vcGVub2x0LlBvblJ4UG93ZXJEYXRhIhyC0+STAhYiES92MS9HZXRQb25SeFBvd2VyOgEqEkcKCkdldE9udUluZm8SDC5vcGVub2x0Lk9udRoQLm9wZW5vbHQuT251SW5mbyIZgtPkkwITIg4vdjEvR2V0T251SW5mbzoBKhJgChNHZXRQb25JbnRlcmZhY2VJbmZvEhIub3Blbm9sdC5JbnRlcmZhY2UaFC5vcGVub2x0LlBvbkludGZJbmZvIh+C0+STAhkiFC92MS9HZXRJbnRlcmZhY2VJbmZvOgEqQl0KG29yZy5vcGVuY29yZC52b2x0aGEub3Blbm9sdEINVm9sdGhhT3Blbk9MVFovZ2l0aHViLmNvbS9vcGVuY29yZC92b2x0aGEtcHJvdG9zL3Y1L2dvL29wZW5vbHRK45ACCgcSBQ4A3wYQCvEECgEMEgMOABIy5gQgQ29weXJpZ2h0IDIwMTgtMjAyNCBPcGVuIE5ldHdvcmtpbmcgRm91bmRhdGlvbiAoT05GKSBhbmQgdGhlIE9ORiBDb250cmlidXRvcnMKCiBMaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgIkxpY2Vuc2UiKTsKIHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdDoKCiAgICAgaHR0cDovL3d3dy5hcGFjaGUub3JnL2xp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YWdlcxgBIAMoDFIIbWVzc2FnZXMSQgoOY29ubmVjdF9zdGF0dXMYAiABKA4yGy5jb21tb24uQ29ubmVjdFN0YXR1cy5UeXBlc1INY29ubmVjdFN0YXR1cxJACg1wcm94eV9hZGRyZXNzGAMgASgLMhsuZGV2aWNlLkRldmljZS5Qcm94eUFkZHJlc3NSDHByb3h5QWRkcmVzcxIoChBwYXJlbnRfZGV2aWNlX2lkGAQgASgJUg5wYXJlbnREZXZpY2VJZBImCg9jaGlsZF9kZXZpY2VfaWQYBSABKAlSDWNoaWxkRGV2aWNlSWQipwIKGlRlY2hQcm9maWxlRG93bmxvYWRNZXNzYWdlEhsKCWRldmljZV9pZBgBIAEoCVIIZGV2aWNlSWQSFQoGdW5pX2lkGAIgASgNUgV1bmlJZBIoChB0cF9pbnN0YW5jZV9wYXRoGAMgASgJUg50cEluc3RhbmNlUGF0aBJECgt0cF9pbnN0YW5jZRgEIAEoCzIhLnRlY2hfcHJvZmlsZS5UZWNoUHJvZmlsZUluc3RhbmNlSABSCnRwSW5zdGFuY2USUQoQZXBvbl90cF9pbnN0YW5jZRgFIAEoCzIlLnRlY2hfcHJvZmlsZS5FcG9uVGVjaFByb2ZpbGVJbnN0YW5jZUgAUg5lcG9uVHBJbnN0YW5jZUISChB0ZWNoX3RwX2luc3RhbmNlIpQBChREZWxldGVHZW1Qb3J0TWVzc2FnZRIbCglkZXZpY2VfaWQYASABKAlSCGRldmljZUlkEhUKBnVuaV9pZBgCIAEoDVIFdW5pSWQSKAoQdHBfaW5zdGFuY2VfcGF0aBgDIAEoCVIOdHBJbnN0YW5jZVBhdGgSHgoLZ2VtX3BvcnRfaWQYBCABKA1SCWdlbVBvcnRJZCKNAQoSRGVsZXRlVGNvbnRNZXNzYWdlEhsKCWRldmljZV9pZBgBIAEoCVIIZGV2aWNlSWQSFQoGdW5pX2lkGAIgASgNUgV1bmlJZBIoChB0cF9pbnN0YW5jZV9wYXRoGAMgASgJUg50cEluc3RhbmNlUGF0aBIZCghhbGxvY19pZBgEIAEoDVIHYWxsb2NJZCJyChRPbnVJbmRpY2F0aW9uTWVzc2FnZRIbCglkZXZpY2VfaWQYASABKAlSCGRldmljZUlkEj0KDm9udV9pbmRpY2F0aW9u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Az8eHwoLCgQEBgICEgNABCAKDQoFBAYCAgQSBEAEPyAKDAoFBAYCAgUSA0AECgoMCgUEBgICARIDQAsbCgwKBQQGAgIDEgNAHh8KCwoEBAYCAxIDQQQfCg0KBQQGAgMEEgRBBEAgCgwKBQQGAgMFEgNBBAoKDAoFBAYCAwESA0ELGgoMCgUEBgIDAxIDQR0eCgsKBAQGAgQSA0IEFgoNCgUEBgIEBBIEQgRBHwoMCgUEBgIEBRIDQgQKCgwKBQQGAgQBEgNCCxEKDAoFBAYCBAMSA0IUFQoLCgQEBgIFEgNDBBYKDQoFBAYCBQQSBEMEQhYKDAoFBAYCBQUSA0MECgoMCgUEBgIFARIDQwsRCgwKBQQGAgUDEgNDFBViBnByb3RvMwr7CQotdm9sdGhhX3Byb3Rvcy9vbHRfaW50ZXJfYWRhcHRlcl9zZXJ2aWNlLnByb3RvEhlvbHRfaW50ZXJfYWRhcHRlcl9zZXJ2aWNlGhp2b2x0aGFfcHJvdG9zL2NvbW1vbi5wcm90bxobZ29vZ2xlL3Byb3RvYnVmL2VtcHR5LnByb3RvGiF2b2x0aGFfcHJvdG9zL2ludGVyX2FkYXB0ZXIucHJvdG8aGnZvbHRoYV9wcm90b3MvaGVhbHRoLnByb3RvMuICChZPbHRJbnRlckFkYXB0ZXJTZXJ2aWNlEj8KD0dldEhlYWx0aFN0YXR1cxISLmNvbW1vbi5Db25uZWN0aW9uGhQuaGVhbHRoLkhlYWx0aFN0YXR1cygBMAESRgoQUHJveHlPbWNpUmVxdWVzdBIaLmludGVyX2FkYXB0ZXIuT21jaU1lc3NhZ2UaFi5nb29nbGUucHJvdG9idWYuRW1wdHkSSAoRUHJveHlPbWNpUmVxdWVzdHMSGy5pbnRlcl9hZGFwdGVyLk9tY2lNZXNzYWdlcxoWLmdvb2dsZS5wcm90b2J1Zi5FbXB0eRJ1ChZHZXRUZWNoUHJvZmlsZUluc3RhbmNlEjAuaW50ZXJfYWRhcHRlci5UZWNoUHJvZmlsZUluc3RhbmNlUmVxdWVzdE1lc3NhZ2UaKS5pbnRlcl9hZGFwdGVyLlRlY2hQcm9maWxlRG93bmxvYWRNZXNzYWdlQpABCi1vcmcub3BlbmNvcmQudm9sdGhhLm9sdF9pbnRlcl9hZGFwdGVyX3NlcnZpY2VCHFZvbHRoYU9sdEludGVyQWRhcHRlclNlcnZpY2VaQWdpdGh1Yi5jb20vb3BlbmNvcmQvdm9sdGhhLXByb3Rvcy92NS9nby9vbHRfaW50ZXJfYWRhcHRlcl9zZXJ2aWNlSrYECgYSBAAAFgEKCAoBDBIDAAASCggKAQgSAwIAWAoJCgIICxIDAgBYCggKAQgSAwMARgoJCgIIARIDAwBGCggKAQgSAwQAPQoJCgIICBIDBAA9CggKAQISAwYAIgoJCgIDABIDCAAkCgkKAgMBEgMJACUKCQoCAwISAwoAKwoJCgIDAxIDCwAkCgoKAgYAEgQNABYBCgoKAwYAARIDDQgeCqcBCgQGAAIAEgMQBFcamQEgR2V0SGVhbHRoU3RhdHVzIGlzIHVzZWQgYnkgYSBPbHRJbnRlckFkYXB0ZXJTZXJ2aWNlIGNsaWVudCB0byBkZXRlY3QgYSBjb25uZWN0aW9uCiBsb3N0IHdpdGggdGhlIGdSUEMgc2VydmVyIGhvc3RpbmcgdGhlIE9sdEludGVyQWRhcHRlclNlcnZpY2Ugc2VydmljZQoKDAoFBgACAAESAxAIFwoMCgUGAAIABRIDEBgeCgwKBQYAAgACEgMQHzAKDAoFBgACAAYSAxA7QQoMCgUGAAIAAxIDEEJVCgsKBAYAAgESAxMEVAoMCgUGAAIBARIDEwgYCgwKBQYAAgECEgMTGTIKDAoFBgACAQMSAxM9UgoLCgQGAAICEgMUBFYKDAoFBgACAgESAxQIGQoMCgUGAAICAhIDFBo0CgwKBQYAAgIDEgMUP1QKDAoEBgACAxIEFQSDAQoMCgUGAAIDARIDFQgeCgwKBQYAAgMCEgMVH04KDQoFBgACAwMSBBVZgQFiBnByb3RvMwrkCwotdm9sdGhhX3Byb3Rvcy9vbnVfaW50ZXJfYWRhcHRlcl9zZXJ2aWNlLnByb3RvEhlvbnVfaW50ZXJfYWRhcHRlcl9zZXJ2aWNlGhp2b2x0aGFfcHJvdG9zL2NvbW1vbi5wcm90bxobZ29vZ2xlL3Byb3RvYnVmL2VtcHR5LnByb3RvGiF2b2x0aGFfcHJvdG9zL2ludGVyX2FkYXB0ZXIucHJvdG8aGnZvbHRoYV9wcm90b3MvaGVhbHRoLnByb3RvMt8DChZPbnVJbnRlckFkYXB0ZXJTZXJ2aWNlEj8KD0dldEhlYWx0aFN0YXR1cxISLmNvbW1vbi5Db25uZWN0aW9uGhQuaGVhbHRoLkhlYWx0aFN0YXR1cygBMAESTAoNT251SW5kaWNhdGlvbhIjLmludGVyX2FkYXB0ZXIuT251SW5kaWNhdGlvbk1lc3NhZ2UaFi5nb29nbGUucHJvdG9idWYuRW1wdHkSRAoOT21jaUluZGljYXRpb24SGi5pbnRlcl9hZGFwdGVyLk9tY2lNZXNzYWdlGhYuZ29vZ2xlLnByb3RvYnVmLkVtcHR5ElgKE0Rvd25sb2FkVGVjaFByb2ZpbGUSKS5pbnRlcl9hZGFwdGVyLlRlY2hQcm9maWxlRG93bmxvYWRNZXNzYWdlGhYuZ29vZ2xlLnByb3RvYnVmLkVtcHR5EkwKDURlbGV0ZUdlbVBvcnQSIy5pbnRlcl9hZGFwdGVyLkRlbGV0ZUdlbVBvcnRNZXNzYWdlGhYuZ29vZ2xlLnByb3RvYnVmLkVtcHR5EkgKC0RlbGV0ZVRDb250EiEuaW50ZXJfYWRhcHRlci5EZWxldGVUY29udE1lc3NhZ2UaFi5nb29nbGUucHJvdG9idWYuRW1wdHlCkAEKLW9yZy5vcGVuY29yZC52b2x0aGEub251X2ludGVyX2FkYXB0ZXJfc2VydmljZUIcVm9sdGhhT251SW50ZXJBZGFwdGVyU2VydmljZVpBZ2l0aHViLmNvbS9vcGVuY29yZC92b2x0aGEtcHJvdG9zL3Y1L2dvL29udV9pbnRlcl9hZGFwdGVyX3NlcnZpY2VKogUKBhIEAAAXAQoICgEMEgMAABIKCAoBCBIDAgBYCgkKAggLEgMCAFgKCAoBCBIDAwBGCgkKAggBEgMDAEYKCAoBCBIDBAA9CgkKAggIEgMEAD0KCAoBAhIDBgAiCgkKAgMAEgMIACQKCQoCAwESAwkAJQoJCgIDAhIDCgArCgkKAgMDEgMLACQKCgoCBgASBA0AFwEKCgoDBgABEgMNCB4KpwEKBAYAAgASAxAEVxqZASBHZXRIZWFsdGhTdGF0dXMgaXMgdXNlZCBieSBhIE9udUludGVyQWRhcHRlclNlcnZpY2UgY2xpZW50IHRvIGRldGVjdCBhIGNvbm5lY3Rpb24KIGxvc3Qgd2l0aCB0aGUgZ1JQQyBzZXJ2ZXIgaG9zdGluZyB0aGUgT251SW50ZXJBZGFwdGVyU2VydmljZSBzZXJ2aWNlCgoMCgUGAAIAARIDEAgXCgwKBQYAAgAFEgMQGB4KDAoFBgACAAISAxAfMAoMCgUGAAIABhIDEDtBCgwKBQYAAgADEgMQQlUKCwoEBgACARIDEgRaCgwKBQYAAgEBEgMSCBUKDAoFBgACAQISAxIWOAoMCgUGAAIBAxIDEkNYCgsKBAYAAgISAxMEUgoMCgUGAAICARIDEwgWCgwKBQYAAgICEgMTFzAKDAoFBgACAgMSAxM7UAoLCgQGAAIDEgMUBGYKDAoFBgACAwESAxQIGwoMCgUGAAIDAhIDFBxECgwKBQYAAgMDEgMUT2QKCwoEBgACBBIDFQRaCgwKBQYAAgQBEgMVCBUKDAoFBgACBAISAxUWOAoMCgUGAAIEAxIDFUNYCgsKBAYAAgUSAxYEVgoMCgUGAAIFARIDFggTCgwKBQYAAgUCEgMWFDQKDAoFBgACBQMSAxY/VGIGcHJvdG8z