ZGlmZiAtLWdpdCBhL3J1bnRpbWUvc3ludGF4L2hvbGx5d29vZC52aW0gYi9ydW50aW1lL3N5bnRheC9ob2xseXdvb2QudmltCmluZGV4IDc4NDZkNTIuLjE2ZGY5ZmEgMTAwNjQ0Ci0tLSBhL3J1bnRpbWUvc3ludGF4L2hvbGx5d29vZC52aW0KKysrIGIvcnVudGltZS9zeW50YXgvaG9sbHl3b29kLnZpbQpAQCAtMiw3ICsyLDcgQEAKICIgTGFuZ3VhZ2U6ICAgICBIb2xseXdvb2QgMTAuMAogIiBNYWludGFpbmVyOiAgIE9sYSBT9mRlciA8cm9sZmtvcG1hbkBnbWFpbC5jb20+CiAiIEZpcnN0IEF1dGhvcjogVG9tIENyZWNlbGl1cyA8aG9sbHlAbmV0LWVjbGlwc2UubmV0PgotIiBMYXN0IENoYW5nZTogIDIwMjMgTWFyIDIyCisiIExhc3QgQ2hhbmdlOiAgMjAyNCBKdW4gMjAKICIgSGlnaGxpZ2h0aW5nIElzc3VlczoKICIgRGVwZW5kaW5nIG9uIHlvdXIgY29sb3VyIHNjaGVtYSwgU3RyaW5ncyBvciBDb21tZW50cyBtaWdodCBiZSBoaWdobGlnaHRlZCBpbgogIiBhIHdheSwgeW91IGRvbid0IGxpa2UuIElmIHNvLCB0cnkgb25lIG9mIHRoZSBmb2xsb3dpbmcgc2V0dGluZ3MgYWZ0ZXIKQEAgLTMwLDcgKzMwLDcgQEAKIHNldCBjcG8mdmltCiAKIGlmICFleGlzdHMoImh3X3ZlcnNpb24iKQotICBsZXQgaHdfdmVyc2lvbiA9IDkKKyAgbGV0IGh3X3ZlcnNpb24gPSAxMAogICBsZXQgaHdfc3VidmVyc2lvbiA9IDAKIGVsc2VpZiAhZXhpc3RzKCJod19zdWJ2ZXJzaW9uIikKICAgbGV0IGh3X3N1YnZlcnNpb24gPSAwCkBAIC01NCw5ICs1NCw5IEBACiBzeW4gcmVnaW9uIGh3RnVuY3Rpb25CbG9jayB0cmFuc3BhcmVudCBtYXRjaGdyb3VwPWh3RnVuY3Rpb24gc3RhcnQ9Ilw8RnVuY3Rpb25cPiIgZW5kPSJcPEVuZEZ1bmN0aW9uXD4iIGNvbnRhaW5zPUFMTEJVVCxod1RvZG8saHdTcGVjaWFsLGh3RWxzZUlmLGh3RWxzZSxod0luLGh3U3RlcCxod0ZhbGxUaHJvdWdoLGh3TGluZVN0YXRlbWVudAogCiAiIElmIC4uIFRoZW4KLXN5biByZWdpb24gaHdJZlRoZW4gdHJhbnNwYXJlbnQgbWF0Y2hncm91cD1od0NvbmQgc3RhcnQ9Ilw8SWZcPiIgZW5kPSJcPFRoZW5cPlx7LX0ibWU9ZS00IHNraXB3aGl0ZSBza2lwZW1wdHkKK3N5biByZWdpb24gaHdJZlRoZW4gdHJhbnNwYXJlbnQgbWF0Y2hncm91cD1od0NvbmQgc3RhcnQ9Ilw8SWZcPiIgZW5kPSJcPFRoZW5cPlx7LX0ibWU9ZS00IG9uZWxpbmUgc2tpcHdoaXRlIHNraXBlbXB0eQogIiBUaGVuIC4uLiBFbHNlCi1zeW4gcmVnaW9uIGh3VGhlbkVsc2UgdHJhbnNwYXJlbnQgbWF0Y2hncm91cD1od0NvbmQgc3RhcnQ9Ilw8VGhlblw+IiBlbmQ9IiQiIGVuZD0iXDxFbHNlXD4iIGNvbnRhaW5zPUFMTEJVVCxod1RvZG8saHdTcGVjaWFsLGh3SW4saHdTdGVwLGh3TGluZVN0YXRlbWVudCxod0lmRW5kSWYsaHdFbHNlRW5kaWYsaHdJZlRoZW4saHdUaGVuRWxzZSBza2lwd2hpdGUgc2tpcGVtcHR5CitzeW4gcmVnaW9uIGh3VGhlbkVsc2UgdHJhbnNwYXJlbnQgbWF0Y2hncm91cD1od0NvbmQgc3RhcnQ9Ilw8VGhlblw+IiBlbmQ9IiQiIGVuZD0iXDxFbHNlXD4iIGNvbnRhaW5zPWh3RnVuY3Rpb24saHdVc2VyRnVuY3Rpb24saHdFbHNlSWYsaHdTdGF0ZW1lbnQsaHdDb25zdGFudCBjb250YWluZWRpbj1od0lmVGhlbiBvbmVsaW5lIHNraXB3aGl0ZSBza2lwZW1wdHkKIAogIiBJZiAuLiBFbmRJZgogc3luIHJlZ2lvbiBod0lmRW5kSWYgdHJhbnNwYXJlbnQgbWF0Y2hncm91cD1od0NvbmQgc3RhcnQ9Ilw8SWZcPlwoXCguXHstfVRoZW4uXHstfVwpXEAhXCkiIGVuZD0iXDxFbmRJZlw+IiBjb250YWlucz1BTExCVVQsaHdUb2RvLGh3U3BlY2lhbCxod0luLGh3U3RlcCxod0xpbmVTdGF0ZW1lbnQgc2tpcHdoaXRlIHNraXBlbXB0eQpAQCAtOTgsNiArOTgsMTIgQEAKICIgVG8gLi4gTmV4dAogc3luIHJlZ2lvbiBod1RvTmV4dCB0cmFuc3BhcmVudCBtYXRjaGdyb3VwPWh3UmVwZWF0IHN0YXJ0PSJcPFRvXD4iIGVuZD0iXDxOZXh0XD4iICAgY29udGFpbnM9QUxMQlVULGh3VG9kbyxod1NwZWNpYWwsaHdFbHNlSWYsaHdFbHNlLGh3SW4saHdMaW5lU3RhdGVtZW50IHNraXB3aGl0ZSBza2lwZW1wdHkKIAorIiBGb3IgLi4gSW4KK3N5biByZWdpb24gaHdGb3JJbiB0cmFuc3BhcmVudCBtYXRjaGdyb3VwPWh3UmVwZWF0IHN0YXJ0PSJcPEZvclw+XChcKC5cey19VG8uXHstfVwpXEAhXCkiIGVuZD0iXDxJblw+Im1lPWUtMiwgc2tpcHdoaXRlIHNraXBlbXB0eSBuZXh0Z3JvdXA9aHdJbk5leHQKKworIiBJbiAuLiBOZXh0CitzeW4gcmVnaW9uIGh3SW5OZXh0IHRyYW5zcGFyZW50IG1hdGNoZ3JvdXA9aHdSZXBlYXQgc3RhcnQ9Ilw8SW5cPiIgZW5kPSJcPE5leHRcPiIgICBjb250YWlucz1BTExCVVQsaHdUb2RvLGh3U3BlY2lhbCxod0Vsc2VJZixod0Vsc2UsaHdMaW5lU3RhdGVtZW50IHNraXB3aGl0ZSBza2lwZW1wdHkKKwogc3luIGtleXdvcmQgaHdTdGVwIGNvbnRhaW5lZCBTdGVwCiBzeW4ga2V5d29yZCBod0luIGNvbnRhaW5lZCBJbgogCkBAIC0xMTYsNyArMTIyLDcgQEAKIHN5biBrZXl3b3JkIGh3RnVuY3Rpb24gQWJzIEFDb3MgQWN0aXZhdGVEaXNwbGF5IEFkZCBBZGRBcmNUb1BhdGggQWRkQm94VG9QYXRoIEFkZENpcmNsZVRvUGF0aCBBZGRFbGxpcHNlVG9QYXRoIEFkZEZvbnRQYXRoIEFkZEljb25JbWFnZSBBZGRNb3ZlIEFkZFN0ciBBZGRUYWIgQWRkVGV4dFRvUGF0aCBBbGxvY0NvbnNvbGVDb2xvciBBbGxvY01lbSBBbGxvY01lbUZyb21Qb2ludGVyIEFsbG9jTWVtRnJvbVZpcnR1YWxGaWxlIEFwcGVuZFBhdGggQXBwbHlQYXRjaCBBcmMgQXJjRGlzdG9ydEJydXNoIEFSR0IgQXJyYXlUb1N0ciBBc2MgQVNpbiBBc3NlcnQgQXN5bmNEcmF3RnJhbWUgQVRhbiBBVGFuMiBCYXJyZWxEaXN0b3J0QnJ1c2ggQmFzZTY0U3RyIEJlZXAgQmVlcENvbnNvbGUgQmVnaW5BbmltU3RyZWFtIEJlZ2luRG91YmxlQnVmZmVyIEJlZ2luUmVmcmVzaCBCR1BpY1RvQnJ1c2ggQmluU3RyIEJpdENsZWFyIEJpdENvbXBsZW1lbnQgQml0U2V0IEJpdFRlc3QgQml0WG9yIEJsdWUgQmx1ckJydXNoIEJveCBCcmVha0V2ZW50SGFuZGxlciBCcmVha1doaWxlTW91c2VPbiBCcnVzaFRvQkdQaWMgQnJ1c2hUb0dyYXkgQnJ1c2hUb01vbm9jaHJvbWUgQnJ1c2hUb1BlbkFycmF5IEJydXNoVG9SR0JBcnJheSBCeXRlQXNjIEJ5dGVDaHIgQnl0ZUxlbiBCeXRlT2Zmc2V0IEJ5dGVTdHJTdHIgQnl0ZVZhbCBDYWxsSmF2YU1ldGhvZCBDYW5jZWxBc3luY0RyYXcgQ2FuY2VsQXN5bmNPcGVyYXRpb24gQ2Fub25pemVQYXRoIENhc3QgQ2VpbCBDaGFuZ2VBcHBsaWNhdGlvbkljb24gQ2hhbmdlQnJ1c2hUcmFuc3BhcmVuY3kgQ2hhbmdlRGlyZWN0b3J5IENoYW5nZURpc3BsYXlNb2RlIENoYW5nZURpc3BsYXlTaXplIENoYW5nZUludGVydmFsIENoYXJjb2FsQnJ1c2ggQ2hhck9mZnNldCBDaGFyV2lkdGggQ2hlY2tFdmVudCBDaGVja0V2ZW50cyBDaHIgQ2lyY2xlIENsZWFyQ2xpcGJvYXJkIENsZWFyQ29uc29sZSBDbGVhckNvbnNvbGVTdHlsZSBDbGVhckV2ZW50cyBDbGVhckludGVydmFsIENsZWFyTW92ZSBDbGVhck9iamVjdERhdGEgQ2xlYXJQYXRoIENsZWFyU2NyZWVuIENsZWFyU2VyaWFsUXVldWUgQ2xlYXJUaW1lb3V0IENsb3NlQW1pZ2FHdWlkZSBDbG9zZUFuaW0gQ2xvc2VBdWRpbyBDbG9zZUNhdGFsb2cgQ2xvc2VDb25uZWN0aW9uIENsb3NlQ29uc29sZSBDbG9zZURpcmVjdG9yeSBDbG9zZURpc3BsYXkgQ2xvc2VGaWxlIENsb3NlRm9udCBDbG9zZU11c2ljIENsb3NlUGF0aCBDbG9zZVJlc291cmNlTW9uaXRvciBDbG9zZVNlcmlhbFBvcnQgQ2xvc2VTZXJ2ZXIgQ2xvc2VVRFBPYmplY3QgQ2xvc2VWaWRlbyBDbHMgQ29sbGVjdEdhcmJhZ2UgQ29sbGlzaW9uIENvbG9yUmVxdWVzdCBDb21wYXJlRGF0ZXMgQ29tcGFyZVN0ciBDb21wcmVzc0ZpbGUgQ29uY2F0IENvbmZpZ3VyZUpveXN0aWNrIENvbnNvbGVQcmludCBDb25zb2xlUHJpbnRDaHIgQ29uc29sZVByaW50TlIgQ29uc29sZVByb21wdCBDb250aW51ZUFzeW5jT3BlcmF0aW9uIENvbnRyYXN0QnJ1c2ggQ29udHJhc3RQYWxldHRlIENvbnZlcnRTdHIgQ29udmVydFRvQnJ1c2ggQ29weUFuaW0gQ29weUJHUGljIENvcHlCcnVzaCBDb3B5Q29uc29sZVdpbmRvdyBDb3B5RmlsZSBDb3B5TGF5ZXIgQ29weU1lbSBDb3B5T2JqZWN0RGF0YSBDb3B5UGFsZXR0ZSBDb3B5UGF0aCBDb3B5UGVucyBDb3B5U2FtcGxlIENvcHlTcHJpdGUgQ29weVRhYmxlIENvcHlUZXh0T2JqZWN0IENvcyBDb3VudERpcmVjdG9yeUVudHJpZXMgQ291bnRKb3lzdGlja3MgQ291bnRTdHIgQ1JDMzIgQ1JDMzJTdHIgQ3JlYXRlQW5pbSBDcmVhdGVCR1BpYyBDcmVhdGVCb3JkZXJCcnVzaCBDcmVhdGVCcnVzaCBDcmVhdGVCdXR0b24gQ3JlYXRlQ2xpcFJlZ2lvbiBDcmVhdGVDb25zb2xlV2luZG93IENyZWF0ZUNvcm91dGluZSBDcmVhdGVEaXNwbGF5IENyZWF0ZUZvbnQgQ3JlYXRlR3JhZGllbnRCR1BpYyBDcmVhdGVHcmFkaWVudEJydXNoIENyZWF0ZUljb24gQ3JlYXRlS2V5RG93biBDcmVhdGVMYXllciBDcmVhdGVMaXN0IENyZWF0ZU1lbnUgQ3JlYXRlTXVzaWMgQ3JlYXRlUGFsZXR0ZSBDcmVhdGVQb2ludGVyIENyZWF0ZVBvcnQgQ3JlYXRlUmFpbmJvd0JHUGljIENyZWF0ZVJleHhQb3J0IENyZWF0ZVNhbXBsZSBDcmVhdGVTZXJ2ZXIgQ3JlYXRlU2hhZG93QnJ1c2ggQ3JlYXRlU2hvcnRjdXQgQ3JlYXRlU3ByaXRlIENyZWF0ZVRleHRPYmplY3QgQ3JlYXRlVGV4dHVyZWRCR1BpYyBDcmVhdGVUZXh0dXJlZEJydXNoIENyZWF0ZVVEUE9iamVjdCBDcm9wQnJ1c2ggQ3RybENRdWl0IEN1cnZlVG8gQ3ljbGVQYWxldHRlIERhdGVUb1RpbWVzdGFtcCBEYXRlVG9VVEMgRGVidWdPdXRwdXQgRGVidWdQcmludCBEZWJ1Z1ByaW50TlIgRGVidWdQcm9tcHQgRGVidWdTdHIgRGVidWdWYWwgRGVjb21wb3NlQ29uc29sZUNociBEZWNvbXByZXNzRmlsZSBEZWNyZWFzZVBvaW50ZXIgRGVmaW5lVmlydHVhbEZpbGUgRGVmaW5lVmlydHVhbEZpbGVGcm9tU3RyaW5nIERlZyBEZWxldGVBbHBoYUNoYW5uZWwgRGVsZXRlQnV0dG9uIERlbGV0ZUNvbnNvbGVDaHIgRGVsZXRlQ29uc29sZUxpbmUgRGVsZXRlRmlsZSBEZWxldGVNYXNrIERlbGV0ZVByZWZzIERlc2VsZWN0TWVudUl0ZW0gRGVzZXJpYWxpemVUYWJsZSBEaXJlY3RvcnlJdGVtcyBEaXNhYmxlQWR2YW5jZWRDb25zb2xlIERpc2FibGVCdXR0b24gRGlzYWJsZUV2ZW50IERpc2FibGVFdmVudEhhbmRsZXIgRGlzYWJsZUxheWVycyBEaXNhYmxlTGluZUhvb2sgRGlzYWJsZU1lbnVJdGVtIERpc2FibGVQbHVnaW4gRGlzYWJsZVByZWNhbGN1bGF0aW9uIERpc2FibGVWV2FpdCBEaXNwbGF5QW5pbUZyYW1lIERpc3BsYXlCR1BpYyBEaXNwbGF5QkdQaWNQYXJ0IERpc3BsYXlCR1BpY1BhcnRGWCBEaXNwbGF5QnJ1c2ggRGlzcGxheUJydXNoRlggRGlzcGxheUJydXNoUGFydCBEaXNwbGF5U3ByaXRlIERpc3BsYXlUZXh0T2JqZWN0IERpc3BsYXlUZXh0T2JqZWN0RlggRGlzcGxheVRyYW5zaXRpb25GWCBEaXNwbGF5VmlkZW9GcmFtZSBEaXYgRG9Nb3ZlIERvd25sb2FkRmlsZSBEcmF3Q29uc29sZUJvcmRlciBEcmF3Q29uc29sZUJveCBEcmF3Q29uc29sZUhMaW5lIERyYXdDb25zb2xlVkxpbmUgRHJhd1BhdGggRHVtcEJ1dHRvbnMgRHVtcExheWVycyBEdW1wTWVtIER1bXBWaWRlbyBEdW1wVmlkZW9UaW1lIEVkZ2VCcnVzaCBFbGxpcHNlIEVtYm9zc0JydXNoIEVtcHR5U3RyIEVuYWJsZUFkdmFuY2VkQ29uc29sZSBFbmFibGVCdXR0b24gRW5hYmxlRXZlbnQgRW5hYmxlRXZlbnRIYW5kbGVyIEVuYWJsZUxheWVycyBFbmFibGVMaW5lSG9vayBFbmFibGVNZW51SXRlbSBFbmFibGVQbHVnaW4gRW5hYmxlUHJlY2FsY3VsYXRpb24gRW5hYmxlVldhaXQgRW5kIEVuZERvdWJsZUJ1ZmZlciBFbmRpYW5Td2FwIEVuZFJlZnJlc2ggRW5kU2VsZWN0IEVuZHNXaXRoIEVvZiBFcmFzZUNvbnNvbGUgRXJyb3IgRXNjYXBlUXVpdCBFdmFsIEV4ZWN1dGUgRXhpc3RzIEV4aXRPbkVycm9yIEV4cCBFeHRlbmRCcnVzaCBFeHRyYWN0UGFsZXR0ZSBGaWxlQXR0cmlidXRlcyBGaWxlTGVuZ3RoIEZpbGVMaW5lcyBGaWxlUGFydCBGaWxlUG9zIEZpbGVSZXF1ZXN0IEZpbGVTaXplIEZpbGVUb1N0cmluZyBGaWxsTWVtIEZpbGxNdXNpY0J1ZmZlciBGaW5kU3RyIEZpbmlzaEFuaW1TdHJlYW0gRmluaXNoQXN5bmNEcmF3IEZsYXNoQ29uc29sZSBGbGlwIEZsaXBCcnVzaCBGbGlwU3ByaXRlIEZsb29kRmlsbCBGbG9vciBGbHVzaEZpbGUgRmx1c2hNdXNpY0J1ZmZlciBGbHVzaFNlcmlhbFBvcnQgRm9udFJlcXVlc3QgRm9yY2VQYXRoVXNlIEZvcmNlU291bmQgRm9yY2VWaWRlb0RyaXZlciBGb3JjZVZpZGVvTW9kZSBGb3JFYWNoIEZvckVhY2hJIEZvcm1hdENvbnNvbGVMaW5lIEZvcm1hdERhdGUgRm9ybWF0TnVtYmVyIEZvcm1hdFN0ciBGcmFjIEZyZWVBbmltIEZyZWVCR1BpYyBGcmVlQnJ1c2ggRnJlZUNsaXBSZWdpb24gRnJlZUNvbnNvbGVDb2xvciBGcmVlQ29uc29sZVdpbmRvdyBGcmVlRGlzcGxheSBGcmVlRXZlbnRDYWNoZSBGcmVlR2x5cGhDYWNoZSBGcmVlSWNvbiBGcmVlTGF5ZXJzIEZyZWVNZW0gRnJlZU1lbnUgRnJlZU1vZHVsZSBGcmVlUGFsZXR0ZSBGcmVlUGF0aCBGcmVlUG9pbnRlciBGcmVlU2FtcGxlIEZyZWVTcHJpdGUgRnJlZVRleHRPYmplY3QgRnJFeHAgRnVsbFBhdGggR2FtbWFCcnVzaCBHYW1tYVBhbGV0dGUgR0NJbmZvIEdldEFsbG9jQ29uc29sZUNvbG9yIEdldEFuaW1GcmFtZSBHZXRBcHBsaWNhdGlvbkluZm8gR2V0QXBwbGljYXRpb25MaXN0IEdldEFzc2V0IEdldEF0dHJpYnV0ZSBHZXRBdmFpbGFibGVGb250cyBHZXRCYXVkUmF0ZSBHZXRCZXN0UGVuIEdldEJydXNoTGluayBHZXRCcnVzaFBlbiBHZXRCdWxsZXRDb2xvciBHZXRDYXRhbG9nU3RyaW5nIEdldENoYW5uZWxzIEdldENoYXJNYXBzIEdldENsaXBib2FyZCBHZXRDb21tYW5kTGluZSBHZXRDb25uZWN0aW9uSVAgR2V0Q29ubmVjdGlvblBvcnQgR2V0Q29ubmVjdGlvblByb3RvY29sIEdldENvbnNvbGVCYWNrZ3JvdW5kIEdldENvbnNvbGVDaHIgR2V0Q29uc29sZUNvbG9yIEdldENvbnNvbGVDb250cm9sQ2hyIEdldENvbnNvbGVDdXJzb3IgR2V0Q29uc29sZU9yaWdpbiBHZXRDb25zb2xlU2l6ZSBHZXRDb25zb2xlU3RyIEdldENvbnNvbGVTdHlsZSBHZXRDb25zb2xlV2luZG93IEdldENvbnN0YW50IEdldENvcm91dGluZVN0YXR1cyBHZXRDb3VudHJ5SW5mbyBHZXRDdXJyZW50RGlyZWN0b3J5IEdldEN1cnJlbnRQb2ludCBHZXREYXNoIEdldERhdGFCaXRzIEdldERhdGUgR2V0RGF0ZU51bSBHZXREZWZhdWx0QWRhcHRlciBHZXREZWZhdWx0RW5jb2RpbmcgR2V0RGVmYXVsdExvYWRlciBHZXREaXJlY3RvcnlFbnRyeSBHZXREaXNwbGF5TW9kZXMgR2V0RFRSIEdldEVudiBHZXRFcnJvck5hbWUgR2V0RXZlbnRDb2RlIEdldEZpbGVBcmd1bWVudCBHZXRGaWxlQXR0cmlidXRlcyBHZXRGaWxsUnVsZSBHZXRGaWxsU3R5bGUgR2V0Rmxvd0NvbnRyb2wgR2V0Rm9udENvbG9yIEdldEZvbnRTdHlsZSBHZXRGb3JtU3R5bGUgR2V0RlBTTGltaXQgR2V0RnJlZVBlbiBHZXRGcm9udFNjcmVlbiBHZXRIb3N0TmFtZSBHZXRJY29uUHJvcGVydGllcyBHZXRJdGVtIEdldEtlcm5pbmdQYWlyIEdldExhbmd1YWdlSW5mbyBHZXRMYXN0RXJyb3IgR2V0TGF5ZXJBdFBvcyBHZXRMYXllckdyb3VwTWVtYmVycyBHZXRMYXllckdyb3VwcyBHZXRMYXllclBlbiBHZXRMYXllclN0eWxlIEdldExpbmVDYXAgR2V0TGluZUpvaW4gR2V0TGluZVdpZHRoIEdldExvY2FsZUluZm8gR2V0TG9jYWxJbnRlcmZhY2VzIEdldExvY2FsSVAgR2V0TG9jYWxQb3J0IEdldExvY2FsUHJvdG9jb2wgR2V0TUFDQWRkcmVzcyBHZXRNZW1vcnlJbmZvIEdldE1lbVBvaW50ZXIgR2V0TWVtU3RyaW5nIEdldE1ldGFUYWJsZSBHZXRNaXRlckxpbWl0IEdldE1vbml0b3JzIEdldE9iamVjdERhdGEgR2V0T2JqZWN0cyBHZXRPYmplY3RUeXBlIEdldFBhbGV0dGVQZW4gR2V0UGFyaXR5IEdldFBhdGhFeHRlbnRzIEdldFBhdHRlcm5Qb3NpdGlvbiBHZXRQZW4gR2V0UGx1Z2lucyBHZXRQcm9ncmFtRGlyZWN0b3J5IEdldFByb2dyYW1JbmZvIEdldFB1YlNjcmVlbnMgR2V0UmFuZG9tQ29sb3IgR2V0UmFuZG9tRlggR2V0UmF3QXJndW1lbnRzIEdldFJlYWxDb2xvciBHZXRSVFMgR2V0U2FtcGxlRGF0YSBHZXRTZXJpYWxpemVNb2RlIEdldFNob3J0Y3V0UGF0aCBHZXRTb25nUG9zaXRpb24gR2V0U3RhcnREaXJlY3RvcnkgR2V0U3RvcEJpdHMgR2V0U3lzdGVtQ291bnRyeSBHZXRTeXN0ZW1JbmZvIEdldFN5c3RlbUxhbmd1YWdlIEdldFRlbXBGaWxlTmFtZSBHZXRUaW1lIEdldFRpbWVyIEdldFRpbWVzdGFtcCBHZXRUaW1lWm9uZSBHZXRUeXBlIEdldFZlcnNpb24gR2V0VmlkZW9GcmFtZSBHZXRWb2x1bWVJbmZvIEdldFZvbHVtZU5hbWUgR2V0V2Vla2RheSBHb3N1YiBHb3RvIEdyYWJEZXNrdG9wIEdyZWVuIEdyb3VwTGF5ZXIgSGFzSXRlbSBIYXZlQ29uc29sZSBIYXZlRnJlZUNoYW5uZWwgSGF2ZUl0ZW0gSGF2ZU9iamVjdCBIYXZlT2JqZWN0RGF0YSBIYXZlUGx1Z2luIEhhdmVWb2x1bWUgSGV4U3RyIEhpZGVDb25zb2xlQ3Vyc29yIEhpZGVEaXNwbGF5IEhpZGVLZXlib2FyZCBIaWRlTGF5ZXIgSGlkZUxheWVyRlggSGlkZVBvaW50ZXIgSGlkZVNjcmVlbiBIeXBvdCBJZ25vcmVDYXNlIElJZiBJbWFnZVJlcXVlc3QgSW5jcmVhc2VQb2ludGVyIEluaXRDb25zb2xlQ29sb3IgSW5LZXlTdHIgSW5zZXJ0Q29uc29sZUNociBJbnNlcnRDb25zb2xlTGluZSBJbnNlcnRDb25zb2xlU3RyIEluc2VydEl0ZW0gSW5zZXJ0TGF5ZXIgSW5zZXJ0U2FtcGxlIEluc2VydFN0ciBJbnN0YWxsRXZlbnRIYW5kbGVyIEludCBJbnRlcnNlY3Rpb24gSW52ZXJ0QWxwaGFDaGFubmVsIEludmVydEJydXNoIEludmVydE1hc2sgSW52ZXJ0UGFsZXR0ZSBJUGFpcnMgSXNBYnNvbHV0ZVBhdGggSXNBbE51bSBJc0FscGhhIElzQW5pbSBJc0FuaW1QbGF5aW5nIElzQnJ1c2hFbXB0eSBJc0NoYW5uZWxQbGF5aW5nIElzQ250cmwgSXNEaWdpdCBJc0RpcmVjdG9yeSBJc0Zpbml0ZSBJc0dyYXBoIElzSW5mIElzS2V5RG93biBJc0xlZnRNb3VzZSBJc0xvd2VyIElzTWVudUl0ZW1EaXNhYmxlZCBJc01lbnVJdGVtU2VsZWN0ZWQgSXNNaWRNb3VzZSBJc01vZHVsZSBJc011c2ljIElzTXVzaWNQbGF5aW5nIElzTmFuIElzTmlsIElzT25saW5lIElzUGF0aEVtcHR5IElzUGljdHVyZSBJc1ByaW50IElzUHVuY3QgSXNSaWdodE1vdXNlIElzU2FtcGxlIElzU2FtcGxlUGxheWluZyBJc1NvdW5kIElzU3BhY2UgSXNUYWJsZUVtcHR5IElzVW5pY29kZSBJc1VwcGVyIElzVmlkZW8gSXNWaWRlb1BsYXlpbmcgSXNYRGlnaXQgSm95QXhpc1ggSm95QXhpc1kgSm95QXhpc1ogSm95QnV0dG9uIEpveURpciBKb3lGaXJlIExhYmVsIEpveUhhdCBMYXllckV4aXN0cyBMYXllckdyb3VwRXhpc3RzIExheWVyVG9CYWNrIExheWVyVG9Gcm9udCBMZCBMZEV4cCBMZWZ0TW91c2VRdWl0IExlZnRTdHIgTGVnYWN5Q29udHJvbCBMaW1pdCBMaW5lIExpbmVUbyBMaXN0SXRlbXMgTGlzdFJlcXVlc3QgTG4gTG9hZEFuaW0gTG9hZEFuaW1GcmFtZSBMb2FkQkdQaWMgTG9hZEJydXNoIExvYWRJY29uIExvYWRNb2R1bGUgTG9hZFBhbGV0dGUgTG9hZFBsdWdpbiBMb2FkUHJlZnMgTG9hZFNhbXBsZSBMb2FkU3ByaXRlIExvY2F0ZSBMb2cgTG93ZXJTdHIgTWFrZUJ1dHRvbiBNYWtlQ29uc29sZUNociBNYWtlRGF0ZSBNYWtlRGlyZWN0b3J5IE1ha2VIb3N0UGF0aCBNYXRjaFBhdHRlcm4gTWF0cml4MkQgTWF4IE1ENSBNRDVTdHIgTWVtVG9UYWJsZSBNZXJnZUxheWVycyBNaWRTdHIgTWluIE1peEJydXNoIE1peFJHQiBNaXhTYW1wbGUgTW9kIE1vZGlmeUFuaW1GcmFtZXMgTW9kaWZ5QnV0dG9uIE1vZGlmeUtleURvd24gTW9kaWZ5TGF5ZXJGcmFtZXMgTW9kdWxhdGVCcnVzaCBNb2R1bGF0ZVBhbGV0dGUgTW9uaXRvckRpcmVjdG9yeSBNb3VzZVggTW91c2VZIE1vdmVBbmltIE1vdmVCcnVzaCBNb3ZlQ29uc29sZVdpbmRvdyBNb3ZlRGlzcGxheSBNb3ZlRmlsZSBNb3ZlTGF5ZXIgTW92ZVBvaW50ZXIgTW92ZVNwcml0ZSBNb3ZlVGV4dE9iamVjdCBNb3ZlVG8gTXVsIE5lYXJseUVxdWFsIE5leHREaXJlY3RvcnlFbnRyeSBOZXh0RnJhbWUgTmV4dEl0ZW0gTm9ybWFsaXplUGF0aCBOUHJpbnQgT2lsUGFpbnRCcnVzaCBPcGVuQW1pZ2FHdWlkZSBPcGVuQW5pbSBPcGVuQXVkaW8gT3BlbkNhdGFsb2cgT3BlbkNvbm5lY3Rpb24gT3BlbkNvbnNvbGUgT3BlbkRpcmVjdG9yeSBPcGVuRGlzcGxheSBPcGVuRmlsZSBPcGVuRm9udCBPcGVuTXVzaWMgT3BlblJlc291cmNlTW9uaXRvciBPcGVuU2VyaWFsUG9ydCBPcGVuVVJMIE9wZW5WaWRlbyBQYWNrIFBhZE51bSBQYWlycyBQYWxldHRlVG9HcmF5IFBhcnNlRGF0ZSBQYXRoSXRlbXMgUGF0aFBhcnQgUGF0aFJlcXVlc3QgUGF0aFRvQnJ1c2ggUGF0dGVybkZpbmRTdHIgUGF0dGVybkZpbmRTdHJEaXJlY3QgUGF0dGVybkZpbmRTdHJTaG9ydCBQYXR0ZXJuUmVwbGFjZVN0ciBQYXVzZUxheWVyIFBhdXNlTW9kdWxlIFBhdXNlTXVzaWMgUGF1c2VUaW1lciBQYXVzZVZpZGVvIFBlZWsgUGVla0NsaXBib2FyZCBQZW5BcnJheVRvQnJ1c2ggUGVyZm9ybVNlbGVjdG9yIFBlcm1pc3Npb25SZXF1ZXN0IFBlcnNwZWN0aXZlRGlzdG9ydEJydXNoIFBpIFBpeGVsYXRlQnJ1c2ggUGxheUFuaW0gUGxheUFuaW1EaXNrIFBsYXlMYXllciBQbGF5TW9kdWxlIFBsYXlNdXNpYyBQbGF5U2FtcGxlIFBsYXlTdWJzb25nIFBsYXlWaWRlbyBQbG90IFBva2UgUG9sYXJEaXN0b3J0QnJ1c2ggUG9sbFNlcmlhbFF1ZXVlIFBvbHlnb24gUG9wdXBNZW51IFBvdyBQcmludCBRdWFudGl6ZUJydXNoIFJhZCBSYWlzZU9uRXJyb3IgUmFzdGVyaXplQnJ1c2ggUmF3RGl2IFJhd0VxdWFsIFJhd0dldCBSYXdTZXQgUmVhZEJydXNoUGl4ZWwgUmVhZEJ5dGUgUmVhZEJ5dGVzIFJlYWRDaHIgUmVhZENvbnNvbGVLZXkgUmVhZENvbnNvbGVTdHIgUmVhZERpcmVjdG9yeSBSZWFkRmxvYXQgUmVhZEZ1bmN0aW9uIFJlYWRJbnQgUmVhZExpbmUgUmVhZE1lbSBSZWFkUGVuIFJlYWRQaXhlbCBSZWFkUmVnaXN0cnlLZXkgUmVhZFNlcmlhbERhdGEgUmVhZFNob3J0IFJlYWRTdHJpbmcgUmVhZFRhYmxlIFJlY2VpdmVEYXRhIFJlY2VpdmVVRFBEYXRhIFJlZCBSZWR1Y2VBbHBoYUNoYW5uZWwgUmVmcmVzaENvbnNvbGUgUmVmcmVzaERpc3BsYXkgUmVmcmVzaExheWVyIFJlbEN1cnZlVG8gUmVsTGluZVRvIFJlbE1vdmVUbyBSZW1hcEJydXNoIFJlbW92ZUJydXNoUGFsZXR0ZSBSZW1vdmVCdXR0b24gUmVtb3ZlSWNvbkltYWdlIFJlbW92ZUl0ZW0gUmVtb3ZlS2V5RG93biBSZW1vdmVMYXllciBSZW1vdmVMYXllckZYIFJlbW92ZUxheWVycyBSZW1vdmVTcHJpdGUgUmVtb3ZlU3ByaXRlcyBSZW5hbWUgUmVuZGVyTGF5ZXIgUmVwZWF0U3RyIFJlcGxhY2VDb2xvcnMgUmVwbGFjZVN0ciBSZXNldEtleVN0YXRlcyBSZXNldFRhYnMgUmVzZXRUaW1lciBSZXNvbHZlSG9zdE5hbWUgUmVzdW1lQ29yb3V0aW5lIFJlc3VtZUxheWVyIFJlc3VtZU1vZHVsZSBSZXN1bWVNdXNpYyBSZXN1bWVUaW1lciBSZXN1bWVWaWRlbyBSZXZlcnNlRmluZFN0ciBSZXZlcnNlU3RyIFJld2luZERpcmVjdG9yeSBSR0IgUkdCQXJyYXlUb0JydXNoIFJpZ2h0U3RyIFJuZCBSbmRGIFJuZFN0cm9uZyBSb2wgUm9yIFJvdGF0ZUJydXNoIFJvdGF0ZUxheWVyIFJvdGF0ZVRleHRPYmplY3QgUm91bmQgUnQgUnVuIFJ1bkNhbGxiYWNrIFJ1blJleHhTY3JpcHQgU2FyIFNhdmVBbmltIFNhdmVCcnVzaCBTYXZlSWNvbiBTYXZlUGFsZXR0ZSBTYXZlUHJlZnMgU2F2ZVNhbXBsZSBTYXZlU25hcHNob3QgU2NhbGVBbmltIFNjYWxlQkdQaWMgU2NhbGVCcnVzaCBTY2FsZUxheWVyIFNjYWxlU3ByaXRlIFNjYWxlVGV4dE9iamVjdCBTY3JvbGxDb25zb2xlIFNlZWsgU2Vla0xheWVyIFNlZWtNdXNpYyBTZWVrVmlkZW8gU2VsZWN0QWxwaGFDaGFubmVsIFNlbGVjdEFuaW0gU2VsZWN0QkdQaWMgU2VsZWN0QnJ1c2ggU2VsZWN0Q29uc29sZVdpbmRvdyBTZWxlY3REaXNwbGF5IFNlbGVjdExheWVyIFNlbGVjdE1hc2sgU2VsZWN0TWVudUl0ZW0gU2VsZWN0UGFsZXR0ZSBTZW5kQXBwbGljYXRpb25NZXNzYWdlIFNlbmREYXRhIFNlbmRNZXNzYWdlIFNlbmRSZXh4Q29tbWFuZCBTZW5kVURQRGF0YSBTZXBpYVRvbmVCcnVzaCBTZXJpYWxpemVUYWJsZSBTZXRBbGxvY0NvbnNvbGVDb2xvciBTZXRBbHBoYUludGVuc2l0eSBTZXRBbmltRnJhbWVEZWxheSBTZXRBdHRyaWJ1dGUgU2V0QmF1ZFJhdGUgU2V0Qm9yZGVyUGVuIFNldEJydXNoRGVwdGggU2V0QnJ1c2hQYWxldHRlIFNldEJydXNoUGVuIFNldEJydXNoVHJhbnNwYXJlbmN5IFNldEJydXNoVHJhbnNwYXJlbnRQZW4gU2V0QnVsbGV0Q29sb3IgU2V0QnVsbGV0UGVuIFNldENoYW5uZWxWb2x1bWUgU2V0Q2xpcGJvYXJkIFNldENsaXBSZWdpb24gU2V0Q29uc29sZUJhY2tncm91bmQgU2V0Q29uc29sZUNvbG9yIFNldENvbnNvbGVDdXJzb3IgU2V0Q29uc29sZU9wdGlvbnMgU2V0Q29uc29sZVN0eWxlIFNldENvbnNvbGVUaXRsZSBTZXRDeWNsZVRhYmxlIFNldERhc2ggU2V0RGF0YUJpdHMgU2V0RGVmYXVsdEFkYXB0ZXIgU2V0RGVmYXVsdEVuY29kaW5nIFNldERlZmF1bHRMb2FkZXIgU2V0RGVwdGggU2V0RGlzcGxheUF0dHJpYnV0ZXMgU2V0RGl0aGVyTW9kZSBTZXREcmF3UGVuIFNldERyYXdUYWdzRGVmYXVsdCBTZXREVFIgU2V0RW52IFNldEV2ZW50VGltZW91dCBTZXRGaWxlQXR0cmlidXRlcyBTZXRGaWxlRW5jb2RpbmcgU2V0RmlsbFJ1bGUgU2V0RmlsbFN0eWxlIFNldEZsb3dDb250cm9sIFNldEZvbnQgU2V0Rm9udENvbG9yIFNldEZvbnRTdHlsZSBTZXRGb3JtU3R5bGUgU2V0RlBTTGltaXQgU2V0R3JhZGllbnRQYWxldHRlIFNldEljb25Qcm9wZXJ0aWVzIFNldEludGVydmFsIFNldElPTW9kZSBTZXRMYXllckFuY2hvciBTZXRMYXllckJvcmRlciBTZXRMYXllckRlcHRoIFNldExheWVyRmlsdGVyIFNldExheWVyTGlnaHQgU2V0TGF5ZXJOYW1lIFNldExheWVyUGFsZXR0ZSBTZXRMYXllclBlbiBTZXRMYXllclNoYWRvdyBTZXRMYXllclN0eWxlIFNldExheWVyVGludCBTZXRMYXllclRyYW5zcGFyZW5jeSBTZXRMYXllclRyYW5zcGFyZW50UGVuIFNldExheWVyVm9sdW1lIFNldExheWVyWlBvcyBTZXRMaW5lQ2FwIFNldExpbmVKb2luIFNldExpbmVXaWR0aCBTZXRMaXN0SXRlbXMgU2V0TWFyZ2lucyBTZXRNYXNrTW9kZSBTZXRNYXN0ZXJWb2x1bWUgU2V0TWV0YVRhYmxlIFNldE1pdGVyTGltaXQgU2V0TXVzaWNWb2x1bWUgU2V0TmV0d29ya1Byb3RvY29sIFNldE5ldHdvcmtUaW1lb3V0IFNldE9iamVjdERhdGEgU2V0UGFsZXR0ZSBTZXRQYWxldHRlRGVwdGggU2V0UGFsZXR0ZU1vZGUgU2V0UGFsZXR0ZVBlbiBTZXRQYWxldHRlVHJhbnNwYXJlbnRQZW4gU2V0UGFubmluZyBTZXRQYXJpdHkgU2V0UGVuIFNldFBpdGNoIFNldFBvaW50ZXIgU2V0UlRTIFNldFNjcmVlblRpdGxlIFNldFNlcmlhbGl6ZU1vZGUgU2V0U2VyaWFsaXplT3B0aW9ucyBTZXRTaGFkb3dQZW4gU2V0U3ByaXRlWlBvcyBTZXRTdGFuZGFyZEljb25JbWFnZSBTZXRTdGFuZGFyZFBhbGV0dGUgU2V0U3RvcEJpdHMgU2V0U3VidGl0bGUgU2V0VGltZW91dCBTZXRUaW1lckVsYXBzZSBTZXRUaXRsZSBTZXRUcmFuc3BhcmVudFBlbiBTZXRUcmFuc3BhcmVudFRocmVzaG9sZCBTZXRUcmF5SWNvbiBTZXRWYXJUeXBlIFNldFZlY3RvckVuZ2luZSBTZXRWaWRlb1Bvc2l0aW9uIFNldFZpZGVvU2l6ZSBTZXRWaWRlb1ZvbHVtZSBTZXRWb2x1bWUgU2V0V0JJY29uIFNnbiBTaGFycGVuQnJ1c2ggU2hsIFNob3dDb25zb2xlQ3Vyc29yIFNob3dEaXNwbGF5IFNob3dLZXlib2FyZCBTaG93TGF5ZXIgU2hvd0xheWVyRlggU2hvd05vdGlmaWNhdGlvbiBTaG93UG9pbnRlciBTaG93UmluZ2hpb01lc3NhZ2UgU2hvd1NjcmVlbiBTaG93VG9hc3QgU2hyIFNpbiBTbGVlcCBTb2xhcml6ZUJydXNoIFNvbGFyaXplUGFsZXR0ZSBTb3J0IFNwbGl0U3RyIFNxcnQgU3RhcnRDb25zb2xlQ29sb3JNb2RlIFN0YXJ0UGF0aCBTdGFydFN1YlBhdGggU3RhcnRzV2l0aCBTdGFydFRpbWVyIFN0b3BBbmltIFN0b3BDaGFubmVsIFN0b3BMYXllciBTdG9wTW9kdWxlIFN0b3BNdXNpYyBTdG9wU2FtcGxlIFN0b3BUaW1lciBTdG9wVmlkZW8gU3RyaW5nUmVxdWVzdCBTdHJpbmdUb0ZpbGUgU3RyaXBTdHIgU3RyTGVuIFN0clN0ciBTdHJUb0FycmF5IFN1YiBTd2FwTGF5ZXJzIFN3aXJsQnJ1c2ggU3lzdGVtUmVxdWVzdCBUYWJsZUl0ZW1zIFRhYmxlVG9NZW0gVGFuIFRleHRFeHRlbnQgVGV4dEhlaWdodCBUZXh0T3V0IFRleHRXaWR0aCBUaW1lckVsYXBzZWQgVGltZXN0YW1wVG9EYXRlIFRpbnRCcnVzaCBUaW50UGFsZXR0ZSBUb0hvc3ROYW1lIFRvSVAgVG9OdW1iZXIgVG9TdHJpbmcgVG91Y2hDb25zb2xlV2luZG93IFRvVXNlckRhdGEgVHJhbnNmb3JtQm94IFRyYW5zZm9ybUJydXNoIFRyYW5zZm9ybUxheWVyIFRyYW5zZm9ybVBvaW50IFRyYW5zZm9ybVRleHRPYmplY3QgVHJhbnNsYXRlTGF5ZXIgVHJhbnNsYXRlUGF0aCBUcmltQnJ1c2ggVHJpbVN0ciBVbmRlZmluZVZpcnR1YWxTdHJpbmdGaWxlIFVuZG8gVW5kb0ZYIFVuZ3JvdXBMYXllciBVbmxlZnRTdHIgVW5taWRTdHIgVW5wYWNrIFVucmlnaHRTdHIgVW5zZXRFbnYgVXBsb2FkRmlsZSBVcHBlclN0ciBVc2FnZSBVc2VDYXJyaWFnZVJldHVybiBVc2VGb250IFVUQ1RvRGF0ZSBWYWwgVmFsaWRhdGVEYXRlIFZhbGlkYXRlU3RyIFZpYnJhdGUgVldhaXQgV2FpdCBXYWl0QW5pbUVuZCBXYWl0RXZlbnQgV2FpdEtleURvd24gV2FpdExlZnRNb3VzZSBXYWl0TWlkTW91c2UgV2FpdE11c2ljRW5kIFdhaXRQYXR0ZXJuUG9zaXRpb24gV2FpdFJpZ2h0TW91c2UgV2FpdFNhbXBsZUVuZCBXYWl0U29uZ1Bvc2l0aW9uIFdhaXRUaW1lciBXYXRlclJpcHBsZUJydXNoIFdoaWxlS2V5RG93biBXaGlsZU1vdXNlRG93biBXaGlsZU1vdXNlT24gV2hpbGVSaWdodE1vdXNlRG93biBXcmFwIFdyaXRlQW5pbUZyYW1lIFdyaXRlQnJ1c2hQaXhlbCBXcml0ZUJ5dGUgV3JpdGVCeXRlcyBXcml0ZUNociBXcml0ZUZsb2F0IFdyaXRlRnVuY3Rpb24gV3JpdGVJbnQgV3JpdGVMaW5lIFdyaXRlTWVtIFdyaXRlUGVuIFdyaXRlUmVnaXN0cnlLZXkgV3JpdGVTZXJpYWxEYXRhIFdyaXRlU2hvcnQgV3JpdGVTdHJpbmcgV3JpdGVUYWJsZSBZaWVsZENvcm91dGluZQogCiAiIHVzZXItZGVmaW5lZCBjb25zdGFudHMKLXN5biBtYXRjaCBod1VzZXJDb25zdGFudCAiI1w8XHVcK1w+Igorc3luIG1hdGNoIGh3VXNlckNvbnN0YW50ICIjXDxcKFx1XHxfXHwtXHxcZFwpXCtcPlwkXD8iCiAiIHVzZXItZGVmaW5lZCBmdW5jdGlvbnMKIHN5biBtYXRjaCBod1VzZXJGdW5jdGlvbiAiXDxwX1x3XHstMSx9XD4oIm1lPWUtMQogCg==