ZGlmZiAtLWdpdCBhL3J1bnRpbWUvc3ludGF4L2FiYXAudmltIGIvcnVudGltZS9zeW50YXgvYWJhcC52aW0KbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMmIxMjI5ZgotLS0gL2Rldi9udWxsCisrKyBiL3J1bnRpbWUvc3ludGF4L2FiYXAudmltCkBAIC0wLDAgKzEsMTUyIEBACisiIFZpbSBBQkFQIHN5bnRheCBmaWxlCisiICAgIExhbmd1YWdlOglTQVAgLSBBQkFQLzQKKyIgICAgUmV2aXNpb246CTAuOAorIiAgTWFpbnRhaW5lcjoJTWFyaXVzIHZhbiBXeWsgPG1hcml1c0BlLmNvLnphPgorIiBMYXN0IENoYW5nZToJMjAwNCBBdWcgMzAKKworIiBGb3IgdmVyc2lvbiA1Lng6IENsZWFyIGFsbCBzeW50YXggaXRlbXMKKyIgRm9yIHZlcnNpb24gNi54OiBRdWl0IHdoZW4gYSBzeW50YXggZmlsZSB3YXMgYWxyZWFkeSBsb2FkZWQKK2lmIHZlcnNpb24gPCA2MDAKKyAgc3ludGF4IGNsZWFyCitlbHNlaWYgZXhpc3RzKCJiOmN1cnJlbnRfc3ludGF4IikKKyAgZmluaXNoCitlbmRpZgorCisiIEFsd2F5cyBpZ25vcmUgY2FzZQorc3luIGNhc2UgaWdub3JlCisKKyIgU3ltYm9sIE9wZXJhdG9ycworc3luIG1hdGNoICAgYWJhcFN5bWJvbE9wZXJhdG9yICAgICAgIlsrXC0vPTw+JF0iCitzeW4gbWF0Y2ggICBhYmFwU3ltYm9sT3BlcmF0b3IgICAgICAiXCoiCitzeW4gbWF0Y2ggICBhYmFwU3ltYm9sT3BlcmF0b3IgICAgICAiWzw+XT0iCitzeW4gbWF0Y2ggICBhYmFwU3ltYm9sT3BlcmF0b3IgICAgICAiPD4iCitzeW4gbWF0Y2ggICBhYmFwU3ltYm9sT3BlcmF0b3IgICAgICAiXCpcKiIKK3N5biBtYXRjaCAgIGFiYXBTeW1ib2xPcGVyYXRvciAgICAgICJbKCldIgorc3luIG1hdGNoICAgYWJhcFN5bWJvbE9wZXJhdG9yICAgICAgIls6LFwuXSIKKworIiBMaXRlcmFscworc3luIHJlZ2lvbiAgYWJhcFN0cmluZyBtYXRjaGdyb3VwPWFiYXBTdHJpbmcgc3RhcnQ9IiciIGVuZD0iJyIgY29udGFpbnM9YWJhcFN0cmluZ0VzY2FwZQorc3luIG1hdGNoICAgYWJhcFN0cmluZ0VzY2FwZSBjb250YWluZWQgIicnIgorCitzeW4gbWF0Y2ggICBhYmFwTnVtYmVyCSItXD1cPFxkXCtcPiIKK3N5biByZWdpb24gIGFiYXBIZXggICAgIG1hdGNoZ3JvdXA9YWJhcEhleCBzdGFydD0iWCciIGVuZD0iJyIKKworaWYgdmVyc2lvbiA+PSA2MDAKKyAgc2V0bG9jYWwgaXNrZXl3b3JkPS0sNDgtNTcsXyxBLVosYS16CitlbHNlCisgIHNldCBpc2tleXdvcmQ9LSw0OC01NyxfLEEtWixhLXoKK2VuZGlmCisKKyIgQUJBUCBzdGF0ZW1lbnRzCitzeW4ga2V5d29yZCBhYmFwU3RhdGVtZW50IEFERCBBREQtQ09SUkVTUE9ORElORyBBU1NJR04gQVQgQVVUSE9SSVRZLUNIRUNLCitzeW4ga2V5d29yZCBhYmFwU3RhdGVtZW50IEJBQ0sgQlJFQUstUE9JTlQKK3N5biBrZXl3b3JkIGFiYXBTdGF0ZW1lbnQgQ0FMTCBDQVNFIENIRUNLIENMRUFSIENMT1NFIENOVCBDT0xMRUNUIENPTU1JVCBDT01NVU5JQ0FUSU9OIENPTVBVVEUgQ09OQ0FURU5BVEUgQ09OREVOU0UgQ09OU1RBTlRTIENPTlRJTlVFIENPTlRST0xTIENPTlZFUlQgQ1JFQVRFIENVUlJFTkNZCitzeW4ga2V5d29yZCBhYmFwU3RhdGVtZW50IERBVEEgREVGSU5FIERFTEVURSBERVNDUklCRSBERVRBSUwgRElWSURFIERJVklERS1DT1JSRVNQT05ESU5HIERPCitzeW4ga2V5d29yZCBhYmFwU3RhdGVtZW50IEVESVRPUi1DQUxMIEVMU0UgRUxTRUlGIEVORC1PRi1ERUZJTklUSU9OIEVORC1PRi1QQUdFIEVORC1PRi1TRUxFQ1RJT04gRU5EQVQgRU5EQ0FTRSBFTkRETyBFTkRFWEVDIEVOREZPUk0gRU5ERlVOQ1RJT04gRU5ESUYgRU5ESUZFTkQgRU5ETE9PUCBFTkRNT0RVTEUgRU5ET04gRU5EUFJPVklERSBFTkRTRUxFQ1QgRU5EV0hJTEUgRVhFQyBFWFBPUlQgRVhQT1JUSU5HIEVYVFJBQ1QKK3N5biBrZXl3b3JkIGFiYXBTdGF0ZW1lbnQgRkVUQ0ggRklFTEQtR1JPVVBTIEZJRUxELVNZTUJPTFMgRklFTERTIEZPUk0gRk9STUFUIEZSRUUgRlVOQ1RJT04gRlVOQ1RJT04tUE9PTAorc3luIGtleXdvcmQgYWJhcFN0YXRlbWVudCBHRU5FUkFURSBHRVQKK3N5biBrZXl3b3JkIGFiYXBTdGF0ZW1lbnQgSElERQorc3luIGtleXdvcmQgYWJhcFN0YXRlbWVudCBJRiBJTVBPUlQgSU1QT1JUSU5HIElOREVYIElORk9UWVBFUyBJTklUSUFMSVpBVElPTiBJTlBVVCBJTlNFUlQKK3N5biBrZXl3b3JkIGFiYXBTdGF0ZW1lbnQgTEVBVkUgTElLRSBMT0FEIExPQ0FMIExPT1AKK3N5biBrZXl3b3JkIGFiYXBTdGF0ZW1lbnQgTUVTU0FHRSBNT0RJRlkgTU9EVUxFIE1PVkUgTU9WRS1DT1JSRVNQT05ESU5HIE1VTFRJUExZIE1VTFRJUExZLUNPUlJFU1BPTkRJTkcKK3N5biBrZXl3b3JkIGFiYXBTdGF0ZW1lbnQgTkVXLUxJTkUgTkVXLVBBR0UgTkVXLVNFQ1RJT04KK3N5biBrZXl3b3JkIGFiYXBTdGF0ZW1lbnQgT04gT1ZFUkxBWQorc3luIGtleXdvcmQgYWJhcFN0YXRlbWVudCBQQUNLIFBBUkFNRVRFUlMgUEVSRk9STSBQT1NJVElPTiBQUklOVC1DT05UUk9MIFBST0dSQU0gUFJPVklERSBQVVQKK3N5biBrZXl3b3JkIGFiYXBTdGF0ZW1lbnQgUkFJU0UgUkFOR0VTIFJFQUQgUkVDRUlWRSBSRUZSRVNIIFJFSkVDVCBSRVBMQUNFIFJFUE9SVCBSRVNFUlZFIFJFU1RPUkUgUk9MTEJBQ0sKK3N5biBrZXl3b3JkIGFiYXBTdGF0ZW1lbnQgU0NBTiBTQ1JPTEwgU0VBUkNIIFNFTEVDVCBTRUxFQ1QtT1BUSU9OUyBTRUxFQ1RJT04tU0NSRUVOIFNFVCBTSElGVCBTS0lQIFNPUlQgU1BMSVQgU1RBUlQtT0YtU0VMRUNUSU9OIFNUQVRJQ1MgU1RPUCBTVUJNSVQgU1VCVFJBQ1QgU1VCVFJBQ1QtQ09SUkVTUE9ORElORyBTVU0gU1VNTUFSWSBTVVBQUkVTUyBTWU5UQVgtQ0hFQ0sgU1lOVEFYLVRSQUNFCitzeW4ga2V5d29yZCBhYmFwU3RhdGVtZW50IFRBQkxFUyBUT1AtT0YtUEFHRSBUUkFOU0ZFUiBUUkFOU0xBVEUgVFlQRSBUWVBFLVBPT0wgVFlQRS1QT09MUyBUWVBFUworc3luIGtleXdvcmQgYWJhcFN0YXRlbWVudCBVTlBBQ0sgVVBEQVRFCitzeW4ga2V5d29yZCBhYmFwU3RhdGVtZW50IFdIRU4gV0hJTEUgV0lORE9XIFdSSVRFCisKKyIgTW9yZSBzdGF0ZW1ldHMKK3N5biBrZXl3b3JkIGFiYXBTdGF0ZW1lbnQgT0NDVVJTIFNUUlVDVFVSRSBPQkpFQ1QgUFJPUEVSVFkKK3N5biBrZXl3b3JkIGFiYXBTdGF0ZW1lbnQgQ0FTVElORyBBUFBFTkQgUkFJU0lORyBWQUxVRSBDT0xPUgorc3luIGtleXdvcmQgYWJhcFN0YXRlbWVudCBMSU5FLVNJWkUgTElORS1DT1VOVCBNRVNTQUdFLUlECitzeW4ga2V5d29yZCBhYmFwU3RhdGVtZW50IENIQU5HSU5HIEVYQ0VQVElPTlMgREVGQVVMVCBDSEVDS0JPWCBDT01NRU5UCitzeW4ga2V5d29yZCBhYmFwU3RhdGVtZW50IElEIE5VTUJFUiBGT1IgRElTUExBWS1NT0RFIFRJVExFIE9VVFBVVAorCisiIE1vcmUgbXVsdGktd29yZCBzdGF0ZW1lbnRzCitzeW4gbWF0Y2ggICBhYmFwU3RhdGVtZW50ICJcKFxXXHxeXClcKFdJVEhcV1wrXChIRUFERVJcV1wrTElORVx8RlJBTUVcfEtFWVwpXHxXSVRIXClcKFxXXHwkXCkibXM9cysxLG1lPWUtMQorc3luIG1hdGNoICAgYWJhcFN0YXRlbWVudCAiXChcV1x8XlwpTk9cV1wrU1RBTkRBUkRcV1wrUEFHRVxXXCtIRUFESU5HXChcV1x8JFwpIm1zPXMrMSxtZT1lLTEKK3N5biBtYXRjaCAgIGFiYXBTdGF0ZW1lbnQgIlwoXFdcfF5cKVwoRVhJVFxXXCtGUk9NXFdcK1NURVBcV1wrTE9PUFx8RVhJVFwpXChcV1x8JFwpIm1zPXMrMSxtZT1lLTEKK3N5biBtYXRjaCAgIGFiYXBTdGF0ZW1lbnQgIlwoXFdcfF5cKVwoQkVHSU5cV1wrT0ZcV1wrXChCTE9DS1x8TElORVwpXHxCRUdJTlxXXCtPRlwpXChcV1x8JFwpIm1zPXMrMSxtZT1lLTEKK3N5biBtYXRjaCAgIGFiYXBTdGF0ZW1lbnQgIlwoXFdcfF5cKVwoRU5EXFdcK09GXFdcK1woQkxPQ0tcfExJTkVcKVx8RU5EXFdcK09GXClcKFxXXHwkXCkibXM9cysxLG1lPWUtMQorc3luIG1hdGNoICAgYWJhcFN0YXRlbWVudCAiXChcV1x8XlwpSVNcV1wrSU5JVElBTFwoXFdcfCRcKSJtcz1zKzEsbWU9ZS0xCitzeW4gbWF0Y2ggICBhYmFwU3RhdGVtZW50ICJcKFxXXHxeXClOT1xXXCtJTlRFUlZBTFNcKFxXXHwkXCkibXM9cysxLG1lPWUtMQorc3luIG1hdGNoICAgYWJhcFN0YXRlbWVudCAiXChcV1x8XlwpU0VQQVJBVEVEXFdcK0JZXChcV1x8JFwpIm1zPXMrMSxtZT1lLTEKK3N5biBtYXRjaCAgIGFiYXBTdGF0ZW1lbnQgIlwoXFdcfF5cKVwoVVNJTkdcV1wrXChFRElUXFdcK01BU0tcKVx8VVNJTkdcKVwoXFdcfCRcKSJtcz1zKzEsbWU9ZS0xCitzeW4gbWF0Y2ggICBhYmFwU3RhdGVtZW50ICJcKFxXXHxeXClcKFdIRVJFXFdcK1woTElORVwpXClcKFxXXHwkXCkibXM9cysxLG1lPWUtMQorc3luIG1hdGNoICAgYWJhcFN0YXRlbWVudCAiXChcV1x8XlwpUkFESU9CVVRUT05cV1wrR1JPVVBcKFxXXHwkXCkibXM9cysxLG1lPWUtMQorc3luIG1hdGNoICAgYWJhcFN0YXRlbWVudCAiXChcV1x8XlwpUkVGXFdcK1RPXChcV1x8JFwpIm1zPXMrMSxtZT1lLTEKKworIiBTcGVjaWFsIEFCQVAgc3BlY2lmaWMgdGFibGVzOgorc3luIG1hdGNoICAgYWJhcFNwZWNpYWwgICAgICAgIlwoXFdcfF5cKVwoc3lcfFwocFx8cGFcKVxkXGRcZFxkXHx0XGRcZFxkLlx8aW5ubm5cKVwoXFdcfCRcKSJtcz1zKzEsbWU9ZS0xCitzeW4gbWF0Y2ggICBhYmFwU3BlY2lhbFRhYmxlcyAiXChzeVx8XChwXHxwYVwpXGRcZFxkXGRcfHRcZFxkXGQuXHxpbm5ublwpLSJtZT1lLTEgY29udGFpbmVkCitzeW4gbWF0Y2ggICBhYmFwU3BlY2lhbCAgICAgICAiXChcV1x8XlwpXHdcKy1cd1wrIm1zPXMrMSBjb250YWlucz1hYmFwU3BlY2lhbFRhYmxlcworCisiIFBvaW50ZXIKK3N5biBtYXRjaCAgIGFiYXBTcGVjaWFsICAiPFx3XCs+IgorCisiIEFiYXAgY29uc3RhbnRzOgorc3luIGtleXdvcmQgYWJhcFNwZWNpYWwgIFRSVUUgRkFMU0UgTlVMTCBTUEFDRQorCisiIEluY2x1ZGVzCitzeW4gcmVnaW9uIGFiYXBJbmNsdWRlICAgc3RhcnQ9ImluY2x1ZGUiIGVuZD0iLiIgY29udGFpbnM9YWJhcENvbW1lbnQKKworIiBUeXBlcworc3luIGtleXdvcmQgYWJhcFR5cGVzICAgIGMgbiBpIHAgZiBkIHQgeAorCisiIEF0cml0bWl0aWMgb3BlcmF0b3JzCitzeW4ga2V5d29yZCBhYmFwT3BlcmF0b3IgYWJzIHNpZ24gY2VpbCBmbG9vciB0cnVuYyBmcmFjIGFjb3MgYXNpbiBhdGFuIGNvcyBzaW4gdGFuCitzeW4ga2V5d29yZCBhYmFwT3BlcmF0b3IgY29zaCBzaW5oIHRhbmggZXhwIGxvZyBsb2cxMCBzcXJ0CisKKyIgU3RyaW5nIG9wZXJhdG9ycworc3luIGtleXdvcmQgYWJhcE9wZXJhdG9yIHN0cmxlbiB4c3RybGVuIGNoYXJsZW4gbnVtb2ZjaGFyIGRibWF4bGVuCisKKyIgVGFibGUgb3BlcmF0b3JzCitzeW4ga2V5d29yZCBhYmFwT3BlcmF0b3IgbGluZXMKKworIiBUYWJsZSBvcGVyYXRvcnMgKFNFTEVDVCBvcGVyYXRvcnMpCitzeW4ga2V5d29yZCBhYmFwT3BlcmF0b3IgSU5UTyBGUk9NIFdIRVJFIEdST1VQIEJZIEhBVklORyBPUkRFUiBCWSBTSU5HTEUKK3N5biBrZXl3b3JkIGFiYXBPcGVyYXRvciBBUFBFTkRJTkcgQ09SUkVTUE9ORElORyBGSUVMRFMgT0YgVEFCTEUKK3N5biBrZXl3b3JkIGFiYXBPcGVyYXRvciBMRUZUIFJJR0hUIE9VVEVSIElOTkVSIEpPSU4gQVMgQ0xJRU5UIFNQRUNJRklFRCBCWVBBU1NJTkcgQlVGRkVSIFVQIFRPIFJPV1MgQ09OTkVDVElORworc3luIGtleXdvcmQgYWJhcE9wZXJhdG9yIEVRIE5FIExUIExFIEdUIEdFIE5PVCBBTkQgT1IgWE9SIElOIExJS0UgQkVUV0VFTgorCisiIEFuIGVycm9yPyBOb3Qgc3RyaWN0bHkuLi4gYnV0IGNhbm5vdCB0aGluayBvZiByZWFzb24gdGhpcyBpcyBpbnRlbmRlZC4KK3N5biBtYXRjaCAgIGFiYXBFcnJvciAgICAiXC5cLiIKKworIiBDb21tZW50cworc3luIHJlZ2lvbiAgYWJhcENvbW1lbnQgIHN0YXJ0PSJeXCoiIGVuZD0iJCIgY29udGFpbnM9YWJhcFRvZG8KK3N5biBtYXRjaCAgIGFiYXBDb21tZW50ICAiXCIuKiIgY29udGFpbnM9YWJhcFRvZG8KK3N5biBrZXl3b3JkIGFiYXBUb2RvICAgICBjb250YWluZWQJVE9ETyBOT1RFCisKKyIgRGVmaW5lIHRoZSBkZWZhdWx0IGhpZ2hsaWdodGluZy4KKyIgRm9yIHZlcnNpb24gNS43IGFuZCBlYXJsaWVyOiBvbmx5IHdoZW4gbm90IGRvbmUgYWxyZWFkeQorIiBGb3IgdmVyc2lvbiA1LjggYW5kIGxhdGVyOiBvbmx5IHdoZW4gYW4gaXRlbSBkb2Vzbid0IGhhdmUgaGlnaGxpZ2h0aW5nIHlldAoraWYgdmVyc2lvbiA+PSA1MDggfHwgIWV4aXN0cygiZGlkX2FiYXBfc3ludGF4X2luaXRzIikKKyAgaWYgdmVyc2lvbiA8IDUwOAorICAgIGxldCBkaWRfYWJhcF9zeW50YXhfaW5pdHMgPSAxCisgICAgY29tbWFuZCAtbmFyZ3M9KyBIaUxpbmsgaGkgbGluayA8YXJncz4KKyAgZWxzZQorICAgIGNvbW1hbmQgLW5hcmdzPSsgSGlMaW5rIGhpIGRlZiBsaW5rIDxhcmdzPgorICBlbmRpZgorCisgIEhpTGluayBhYmFwRXJyb3IgICAgICAgICAgRXJyb3IKKyAgSGlMaW5rIGFiYXBDb21tZW50CSAgICAgIENvbW1lbnQKKyAgSGlMaW5rIGFiYXBJbmNsdWRlCSAgICAgIEluY2x1ZGUKKyAgSGlMaW5rIGFiYXBTcGVjaWFsICAgICAgICBTcGVjaWFsCisgIEhpTGluayBhYmFwU3BlY2lhbFRhYmxlcyAgUHJlUHJvYworICBIaUxpbmsgYWJhcFN5bWJvbE9wZXJhdG9yCWFiYXBPcGVyYXRvcgorICBIaUxpbmsgYWJhcE9wZXJhdG9yCSAgICAgIE9wZXJhdG9yCisgIEhpTGluayBhYmFwU3RhdGVtZW50CSAgICBTdGF0ZW1lbnQKKyAgSGlMaW5rIGFiYXBTdHJpbmcJICAgICAgICBTdHJpbmcKKyAgSGlMaW5rIGFiYXBGbG9hdAkgICAgICAgIEZsb2F0CisgIEhpTGluayBhYmFwTnVtYmVyCSAgICAgICAgTnVtYmVyCisgIEhpTGluayBhYmFwSGV4CSAgICAgICAgICBOdW1iZXIKKworICBkZWxjb21tYW5kIEhpTGluaworZW5kaWYKKworbGV0IGI6Y3VycmVudF9zeW50YXggPSAiYWJhcCIKKworIiB2aW06IHRzPTggc3c9MgpkaWZmIC0tZ2l0IGEvcnVudGltZS9zeW50YXgvYXNwdmJzLnZpbSBiL3J1bnRpbWUvc3ludGF4L2FzcHZicy52aW0KaW5kZXggNTAyNzkxYy4uNzRiZjJhMSAxMDA2NDQKLS0tIGEvcnVudGltZS9zeW50YXgvYXNwdmJzLnZpbQorKysgYi9ydW50aW1lL3N5bnRheC9hc3B2YnMudmltCkBAIC0xLDggKzEsOCBAQAogIiBWaW0gc3ludGF4IGZpbGUKICIgTGFuZ3VhZ2U6CU1pY3Jvc29mdCBWQlNjcmlwdCBXZWIgQ29udGVudCAoQVNQKQotIiBNYWludGFpbmVyOglEZXZpbiBXZWF2ZXIgPGt0b2hnQHRyaXRhcmdldC5jb20+Ci0iIFVSTDoJCWh0dHA6Ly90cml0YXJnZXQuY29tL3B1Yi92aW0vc3ludGF4L2FzcHZicy52aW0KLSIgTGFzdCBDaGFuZ2U6CTIwMDMgQXByIDI1CisiIE1haW50YWluZXI6CURldmluIFdlYXZlciA8a3RvaGdAdHJpdGFyZ2V0LmNvbT4gKG5vbi1mdW5jdGlvbmFsKQorIiBVUkw6CQlodHRwOi8vdHJpdGFyZ2V0LmNvbS9wdWIvdmltL3N5bnRheC9hc3B2YnMudmltIChicm9rZW4pCisiIExhc3QgQ2hhbmdlOgkyMDA0IEp1bCAyOQogIiBWZXJzaW9uOgkkUmV2aXNpb24kCiAiIFRoYW5rcyB0byBKYXktSmF5IDx2aW1AamF5LWpheS5uZXQ+IGZvciBhIHN5bnRheCBzeW5jIGhhY2ssIGh1bmdhcmlhbgogIiBub3RhdGlvbiwgYW5kIGV4dHJhIGhpZ2hsaWdodGluZy4KQEAgLTEwOCw3ICsxMDgsNyBAQAogc3luIGtleXdvcmQgQXNwVkJTTWV0aG9kcyBjb250YWluZWQgT3BlblRleHRGaWxlIFJhaXNlIFJlYWQgUmVhZEFsbCBSZWFkTGluZSBSZW1vdmUKIHN5biBrZXl3b3JkIEFzcFZCU01ldGhvZHMgY29udGFpbmVkIFJlbW92ZUFsbCBTa2lwIFNraXBMaW5lIFdyaXRlIFdyaXRlQmxhbmtMaW5lcwogc3luIGtleXdvcmQgQXNwVkJTTWV0aG9kcyBjb250YWluZWQgV3JpdGVMaW5lCi1zeW4gbWF0Y2ggQXNwVkJTTWV0aG9kcyBjb250YWluZWQgIlJlc3BvbnNlXC5cUyoiCitzeW4gbWF0Y2ggQXNwVkJTTWV0aG9kcyBjb250YWluZWQgIlJlc3BvbnNlXC5cdyoiCiAiIENvbG9yaXplIGJvb2xlYW4gY29uc3RhbnRzOgogc3luIGtleXdvcmQgQXNwVkJTTWV0aG9kcyBjb250YWluZWQgdHJ1ZSBmYWxzZQogCmRpZmYgLS1naXQgYS9ydW50aW1lL3N5bnRheC9jaC52aW0gYi9ydW50aW1lL3N5bnRheC9jaC52aW0KaW5kZXggMmU3ODdjOC4uYWRkNzM5NSAxMDA2NDQKLS0tIGEvcnVudGltZS9zeW50YXgvY2gudmltCisrKyBiL3J1bnRpbWUvc3ludGF4L2NoLnZpbQpAQCAtMiw3ICsyLDcgQEAKICIgTGFuZ3VhZ2U6ICAgICBDaAogIiBNYWludGFpbmVyOiAgIFNvZnRJbnRlZ3JhdGlvbiwgSW5jLiA8aW5mb0Bzb2Z0aW50ZWdyYXRpb24uY29tPgogIiBVUkw6CQlodHRwOi8vd3d3LnNvZnRpbnRlZ3JhdGlvbi5jb20vZG93bmxvYWQvdmltL3N5bnRheC9jaC52aW0KLSIgTGFzdCBjaGFuZ2U6CTIwMDQgTWF5IDE2CisiIExhc3QgY2hhbmdlOgkyMDA0IFNlcCAwMQogIgkJQ3JlYXRlZCBiYXNlZCBvbiBjcHAudmltCiAiCiAiIENoIGlzIGEgQy9DKysgaW50ZXJwcmV0ZXIgd2l0aCBtYW55IGhpZ2ggbGV2ZWwgZXh0ZW5zaW9ucwpAQCAtMjYsNyArMjYsNyBAQAogCiAiIENoIGV4dGVudGlvbnMKIAotc3luIGtleXdvcmQJY2hTdGF0ZW1lbnQJbmV3IGRlbGV0ZSB0aGlzCitzeW4ga2V5d29yZAljaFN0YXRlbWVudAluZXcgZGVsZXRlIHRoaXMgZm9yZWFjaAogc3luIGtleXdvcmQJY2hBY2Nlc3MJcHVibGljIHByaXZhdGUKIHN5biBrZXl3b3JkCWNoU3RvcmFnZUNsYXNzCV9fZGVjbHNwZWMoZ2xvYmFsKSBfX2RlY2xzcGVjKGxvY2FsKQogc3luIGtleXdvcmQJY2hTdHJ1Y3R1cmUJY2xhc3MKZGlmZiAtLWdpdCBhL3J1bnRpbWUvc3ludGF4L2xleC52aW0gYi9ydW50aW1lL3N5bnRheC9sZXgudmltCmluZGV4IDI1YzQyM2UuLjZjNjEyMWUgMTAwNjQ0Ci0tLSBhL3J1bnRpbWUvc3ludGF4L2xleC52aW0KKysrIGIvcnVudGltZS9zeW50YXgvbGV4LnZpbQpAQCAtMSw4ICsxLDggQEAKICIgVmltIHN5bnRheCBmaWxlCiAiIExhbmd1YWdlOglMZXgKICIgTWFpbnRhaW5lcjoJRHIuIENoYXJsZXMgRS4gQ2FtcGJlbGwsIEpyLiA8TmRyT2NoaXBTQFBjYW1wYmVsbEFmYW1pbHkuTWJpej4KLSIgTGFzdCBDaGFuZ2U6CVNlcCAwMiwgMjAwMwotIiBWZXJzaW9uOgk0CisiIExhc3QgQ2hhbmdlOglKdWwgMjgsIDIwMDQKKyIgVmVyc2lvbjoJNQogIiBVUkw6CWh0dHA6Ly93d3cuZXJvbHMuY29tL2FzdHJvbmF1dC92aW0vaW5kZXguaHRtbCN2aW1saW5rc19zeW50YXgKICIKICIgT3B0aW9uOgpAQCAtMzIsMTkgKzMyLDIyIEBACiAgIGVuZGlmCiBlbmRpZgogCisiIC0tLSA9PT09PT09PT0gLS0tCiAiIC0tLSBMZXggc3R1ZmYgLS0tCisiIC0tLSA9PT09PT09PT0gLS0tCiAKICJJJ2QgcHJlZmVyIHRvIHVzZSBsZXguKiAsIGJ1dCBpdCBkb2Vzbid0IGhhbmRsZSBmb3J3YXJkIGRlZmluaXRpb25zIHlldAogc3luIGNsdXN0ZXIgbGV4TGlzdEdyb3VwCQljb250YWlucz1sZXhBYmJydkJsb2NrLGxleEFiYnJ2LGxleEFiYnJ2LGxleEFiYnJ2UmVnRXhwLGxleEluY2x1ZGUsbGV4UGF0QmxvY2ssbGV4UGF0LGxleEJyYWNlLGxleFBhdFN0cmluZyxsZXhQYXRUYWcsbGV4UGF0VGFnLGxleFBhdENvbW1lbnQsbGV4UGF0Q29kZUxpbmUsbGV4TW9yZVBhdCxsZXhQYXRTZXAsbGV4U2xhc2hRdW90ZSxsZXhQYXRDb2RlLGNJblBhcmVuLGNVc2VyTGFiZWwsY09jdGFsWmVybyxjQ3BwU2tpcCxjRXJySW5CcmFja2V0LGNFcnJJblBhcmVuLGNPY3RhbEVycm9yLGNDcHBPdXQyLGNDb21tZW50U3RhcnRFcnJvcixjUGFyZW5FcnJvcgogc3luIGNsdXN0ZXIgbGV4TGlzdFBhdENvZGVHcm91cAljb250YWlucz1sZXhBYmJydkJsb2NrLGxleEFiYnJ2LGxleEFiYnJ2LGxleEFiYnJ2UmVnRXhwLGxleEluY2x1ZGUsbGV4UGF0QmxvY2ssbGV4UGF0LGxleEJyYWNlLGxleFBhdFRhZyxsZXhQYXRUYWcsbGV4UGF0Q29tbWVudCxsZXhQYXRDb2RlTGluZSxsZXhNb3JlUGF0LGxleFBhdFNlcCxsZXhTbGFzaFF1b3RlLGNJblBhcmVuLGNVc2VyTGFiZWwsY09jdGFsWmVybyxjQ3BwU2tpcCxjRXJySW5CcmFja2V0LGNFcnJJblBhcmVuLGNPY3RhbEVycm9yLGNDcHBPdXQyLGNDb21tZW50U3RhcnRFcnJvcixjUGFyZW5FcnJvcgogCiAiIEFiYnJldmlhdGlvbnMgU2VjdGlvbgotc3luIHJlZ2lvbiBsZXhBYmJydkJsb2NrCXN0YXJ0PSJeXChbYS16QS1aX11cK1x0XHwle1wpIiBlbmQ9Il4lJSQibWU9ZS0yCXNraXBubAluZXh0Z3JvdXA9bGV4UGF0QmxvY2sgY29udGFpbnM9bGV4QWJicnYsbGV4SW5jbHVkZSxsZXhBYmJydkNvbW1lbnQKK3N5biByZWdpb24gbGV4QWJicnZCbG9jawlzdGFydD0iXlwoXGhcK1xzXHwle1wpIiBlbmQ9Il5cemUlJSQiCXNraXBubAluZXh0Z3JvdXA9bGV4UGF0QmxvY2sgY29udGFpbnM9bGV4QWJicnYsbGV4SW5jbHVkZSxsZXhBYmJydkNvbW1lbnQsbGV4U3RhcnRTdGF0ZQogc3luIG1hdGNoICBsZXhBYmJydgkJIl5cSVxpKlxzIm1lPWUtMQkJCXNraXB3aGl0ZQljb250YWluZWQgbmV4dGdyb3VwPWxleEFiYnJ2UmVnRXhwCiBzeW4gbWF0Y2ggIGxleEFiYnJ2CQkiXiVbc3hdIgkJCQkJY29udGFpbmVkCiBzeW4gbWF0Y2ggIGxleEFiYnJ2UmVnRXhwCSJcc1xTLiokImxjPTEJCQkJY29udGFpbmVkIG5leHRncm91cD1sZXhBYmJydixsZXhJbmNsdWRlCiBzeW4gcmVnaW9uIGxleEluY2x1ZGUJbWF0Y2hncm91cD1sZXhTZXAJc3RhcnQ9Il4leyIgZW5kPSIlfSIJY29udGFpbmVkCWNvbnRhaW5zPUFMTEJVVCxAbGV4TGlzdEdyb3VwCiBzeW4gcmVnaW9uIGxleEFiYnJ2Q29tbWVudAlzdGFydD0iXlxzXCsvXCoiCWVuZD0iXCovIgkJCWNvbnRhaW5zPUBTcGVsbAorc3luIHJlZ2lvbiBsZXhTdGFydFN0YXRlCW1hdGNoZ3JvdXA9bGV4QWJicnYJc3RhcnQ9Il4lXGFcKyIJZW5kPSIkIgkJCWNvbnRhaW5lZAogCiAiJSUgOiBQYXR0ZXJucyB7QWN0aW9uc30KIHN5biByZWdpb24gbGV4UGF0QmxvY2sJbWF0Y2hncm91cD1Ub2RvCXN0YXJ0PSJeJSUkIiBtYXRjaGdyb3VwPVRvZG8gZW5kPSJeJSUkIglza2lwbmwgc2tpcHdoaXRlIGNvbnRhaW5zPWxleFBhdCxsZXhQYXRUYWcsbGV4UGF0Q29tbWVudApAQCAtODEsMTUgKzg0LDE2IEBACiBoaSBkZWYgbGluayBsZXhCcmFjZQlsZXhQYXQKIGhpIGRlZiBsaW5rIGxleEFiYnJ2Q29tbWVudAlsZXhQYXRDb21tZW50CiAKLWhpIGRlZiBsaW5rIGxleEFiYnJ2CVNwZWNpYWxDaGFyCiBoaSBkZWYgbGluayBsZXhBYmJydlJlZ0V4cAlNYWNybworaGkgZGVmIGxpbmsgbGV4QWJicnYJU3BlY2lhbENoYXIKIGhpIGRlZiBsaW5rIGxleENGdW5jdGlvbnMJRnVuY3Rpb24KIGhpIGRlZiBsaW5rIGxleE1vcmVQYXQJU3BlY2lhbENoYXIKLWhpIGRlZiBsaW5rIGxleFBhdAkJRnVuY3Rpb24KIGhpIGRlZiBsaW5rIGxleFBhdENvbW1lbnQJQ29tbWVudAoraGkgZGVmIGxpbmsgbGV4UGF0CQlGdW5jdGlvbgogaGkgZGVmIGxpbmsgbGV4UGF0U3RyaW5nCUZ1bmN0aW9uCiBoaSBkZWYgbGluayBsZXhQYXRUYWcJU3BlY2lhbAogaGkgZGVmIGxpbmsgbGV4U2VwCQlEZWxpbWl0ZXIKK2hpIGRlZiBsaW5rIGxleFN0YXJ0U3RhdGUJU3RhdGVtZW50CiAKIGxldCBiOmN1cnJlbnRfc3ludGF4ID0gImxleCIKIApkaWZmIC0tZ2l0IGEvcnVudGltZS9zeW50YXgvbGhhc2tlbGwudmltIGIvcnVudGltZS9zeW50YXgvbGhhc2tlbGwudmltCmluZGV4IDI1MGNjZmEuLmQ2ZjIxYWUgMTAwNjQ0Ci0tLSBhL3J1bnRpbWUvc3ludGF4L2xoYXNrZWxsLnZpbQorKysgYi9ydW50aW1lL3N5bnRheC9saGFza2VsbC52aW0KQEAgLTQsNyArNCw3IEBACiAiCQkJXGJlZ2lue2NvZGV9IFxlbmR7Y29kZX0gYmxvY2tzCiAiIE1haW50YWluZXI6CQlIYXNrZWxsIENhZmUgbWFpbGluZ2xpc3QgPGhhc2tlbGwtY2FmZUBoYXNrZWxsLm9yZz4KICIgT3JpZ2luYWwgQXV0aG9yOglBcnRodXIgdmFuIExlZXV3ZW4gPGFydGh1cnZsQGNzLnV1Lm5sPgotIiBMYXN0IENoYW5nZToJCTIwMDQgTWF5IDE2CisiIExhc3QgQ2hhbmdlOgkJMjAwNCBBdWcgMzEKICIgVmVyc2lvbjoJCTEuMDEKICIKICIgVGhhbmtzIHRvIElhbiBMeW5hZ2ggZm9yIHRob3VnaHRmdWwgY29tbWVudHMgb24gaW5pdGlhbCB2ZXJzaW9ucyBhbmQKQEAgLTgyLDkgKzgyLDEyIEBACiBpZiBiOmxoc19tYXJrdXAgPT0gInRleCIKICAgICBpZiB2ZXJzaW9uIDwgNjAwCiAJc291cmNlIDxzZmlsZT46cDpoL3RleC52aW0KKwlzZXQgaXNrKz1fCiAgICAgZWxzZQogCXJ1bnRpbWUhIHN5bnRheC90ZXgudmltCiAJdW5sZXQgYjpjdXJyZW50X3N5bnRheAorCSIgVGV4LnZpbSByZW1vdmVzICJfIiBmcm9tICdpc2tleXdvcmQnLCBidXQgd2UgbmVlZCBpdCBmb3IgSGFza2VsbC4KKwlzZXRsb2NhbCBpc2srPV8KICAgICBlbmRpZgogZW5kaWYKIApkaWZmIC0tZ2l0IGEvcnVudGltZS9zeW50YXgvbHVhLnZpbSBiL3J1bnRpbWUvc3ludGF4L2x1YS52aW0KaW5kZXggMGJjZGE2Mi4uNTU1MzcyOCAxMDA2NDQKLS0tIGEvcnVudGltZS9zeW50YXgvbHVhLnZpbQorKysgYi9ydW50aW1lL3N5bnRheC9sdWEudmltCkBAIC0xLDEyICsxLDEwIEBACiAiIFZpbSBzeW50YXggZmlsZQogIiBMYW5ndWFnZToJTHVhIDQuMCBhbmQgTHVhIDUuMAotIiBNYWludGFpbmVyOglNYXJjdXMgQXVyZWxpdXMgRmFyaWFzIDxtYXJjdXNjZkB2YW50LmNvbS5icj4KLSIgRmlyc3QgQXV0aG9yOglDYXJsb3MgQXVndXN0byBUZWl4ZWlyYSBNZW5kZXMgPGNtZW5kZXNAaW5mLnB1Yy1yaW8uYnI+Ci0iIExhc3QgQ2hhbmdlOgkyMDAzIE1heSAwNAorIiBNYWludGFpbmVyOglNYXJjdXMgQXVyZWxpdXMgRmFyaWFzIDxtYXJjdXMuY2YgJ2F0JyBib2wuY29tLmJyPgorIiBGaXJzdCBBdXRob3I6CUNhcmxvcyBBdWd1c3RvIFRlaXhlaXJhIE1lbmRlcyA8Y21lbmRlcyAnYXQnIGluZiBwdWMtcmlvIGJyPgorIiBMYXN0IENoYW5nZToJMjAwNCBBdWcgMjkKICIgT3B0aW9uczoJbHVhX3ZlcnNpb24gPSA0IG9yIDUgW2RlZmF1bHRdCiAiCi0iIFN0aWxsIGhhcyBzb21lIHN5bmNpbmcgcHJvYmxlbXMgKGxvbmcgW1tzdHJpbmdzXV0pLi4uCi0KICIgRm9yIHZlcnNpb24gNS54OiBDbGVhciBhbGwgc3ludGF4IGl0ZW1zCiAiIEZvciB2ZXJzaW9uIDYueDogUXVpdCB3aGVuIGEgc3ludGF4IGZpbGUgd2FzIGFscmVhZHkgbG9hZGVkCiBpZiB2ZXJzaW9uIDwgNjAwCkBAIC0zNyw3ICszNSw3IEBACiBzeW4gcmVnaW9uICBsdWFQYXJlbgkJdHJhbnNwYXJlbnQgc3RhcnQ9JygnIGVuZD0nKScgY29udGFpbnM9QUxMQlVULGx1YUVycm9yLGx1YVRvZG8sbHVhU3BlY2lhbCxsdWFDb25kLGx1YUNvbmRFbHNlaWYsbHVhQ29uZEVuZCxsdWFDb25kU3RhcnQsbHVhQmxvY2ssbHVhUmVwZWF0QmxvY2ssbHVhUmVwZWF0LGx1YVN0YXRlbWVudAogc3luIG1hdGNoICAgbHVhRXJyb3IJCSIpIgogc3luIG1hdGNoICAgbHVhRXJyb3IJCSJ9Igotc3luIG1hdGNoICAgbHVhRXJyb3IJCSJcPFwoZW5kXHxlbHNlXHxlbHNlaWZcfHRoZW5cfHVudGlsXHxpblwpXD4iCitzeW4gbWF0Y2ggICBsdWFFcnJvcgkJIlw8XCUoZW5kXHxlbHNlXHxlbHNlaWZcfHRoZW5cfHVudGlsXHxpblwpXD4iCiAKIAogIiBGdW5jdGlvbiBkZWNsYXJhdGlvbgpAQCAtODAsNyArNzgsNyBAQAogZW5kaWYKIAogIiBQcmUgcHJvY2Vzc29yIGRvZXNuJ3QgZXhpc3Qgc2luY2UgTHVhIDQuMAotIiBzeW4gbWF0Y2ggICBsdWFQcmVQcm9jCSAgIl5ccyokXChkZWJ1Z1x8bm9kZWJ1Z1x8aWZcfGlmbm90XHxlbmRcfGVsc2VcfGVuZGlucHV0XClcPiIKKyIgc3luIG1hdGNoICAgbHVhUHJlUHJvYwkgICJeXHMqJFwlKGRlYnVnXHxub2RlYnVnXHxpZlx8aWZub3RcfGVuZFx8ZWxzZVx8ZW5kaW5wdXRcKVw+IgogCiAiIFN0cmluZ3MKIHN5biBtYXRjaCAgIGx1YVNwZWNpYWwJCWNvbnRhaW5lZCAiXFxbXFxhYmZucnR2XCdcIltcXV1cfFxcXGRceywzfSIKQEAgLTkyLDkgKzkwLDkgQEAKICIgaW50ZWdlciBudW1iZXIKIHN5biBtYXRjaCBsdWFOdW1iZXIJCSJcPFswLTldXCtcPiIKICIgZmxvYXRpbmcgcG9pbnQgbnVtYmVyLCB3aXRoIGRvdCwgb3B0aW9uYWwgZXhwb25lbnQKLXN5biBtYXRjaCBsdWFGbG9hdAkJIlw8WzAtOV1cK1wuWzAtOV0qXChlWy0rXVw9WzAtOV1cK1wpXD1cPiIKK3N5biBtYXRjaCBsdWFGbG9hdAkJIlw8WzAtOV1cK1wuWzAtOV0qXCUoZVstK11cPVswLTldXCtcKVw9XD4iCiAiIGZsb2F0aW5nIHBvaW50IG51bWJlciwgc3RhcnRpbmcgd2l0aCBhIGRvdCwgb3B0aW9uYWwgZXhwb25lbnQKLXN5biBtYXRjaCBsdWFGbG9hdAkJIlwuWzAtOV1cK1woZVstK11cPVswLTldXCtcKVw9XD4iCitzeW4gbWF0Y2ggbHVhRmxvYXQJCSJcLlswLTldXCtcJShlWy0rXVw9WzAtOV1cK1wpXD1cPiIKICIgZmxvYXRpbmcgcG9pbnQgbnVtYmVyLCB3aXRob3V0IGRvdCwgd2l0aCBleHBvbmVudAogc3luIG1hdGNoIGx1YUZsb2F0CQkiXDxbMC05XVwrZVstK11cPVswLTldXCtcPiIKIApAQCAtMTI5LDcgKzEyNyw3IEBACiAgIHN5biBrZXl3b3JkIGx1YUZ1bmMJbG9hZGxpYiBsb2Fkc3RyaW5nIHBhaXJzIHBjYWxsIHJhd2VxdWFsCiAgIHN5biBrZXl3b3JkIGx1YUZ1bmMJcmVxdWlyZSBzZXRmZW52IHNldG1ldGF0YWJsZSB1bnBhY2sgeHBjYWxsCiAgIHN5biBrZXl3b3JkIGx1YUZ1bmMJTFVBX1BBVEggX0xPQURFRCBfUkVRVUlSRUROQU1FCi0iIE5vdCBzdXJlIGlmIGFsbCB0aGVzZSBmdW5jdGlvbnMgbmVlZCB0byBiZSBoaWdobGlnaHRlZC4uLgorICAiIE5vdCBzdXJlIGlmIGFsbCB0aGVzZSBmdW5jdGlvbnMgbmVlZCB0byBiZSBoaWdobGlnaHRlZC4uLgogICBzeW4gbWF0Y2ggICBsdWFGdW5jCS9jb3JvdXRpbmVcLmNyZWF0ZS8KICAgc3luIG1hdGNoICAgbHVhRnVuYwkvY29yb3V0aW5lXC5yZXN1bWUvCiAgIHN5biBtYXRjaCAgIGx1YUZ1bmMJL2Nvcm91dGluZVwuc3RhdHVzLwpkaWZmIC0tZ2l0IGEvcnVudGltZS9zeW50YXgvbWFwbGUudmltIGIvcnVudGltZS9zeW50YXgvbWFwbGUudmltCmluZGV4IGNkYTdjNzUuLjJmYTA0NTcgMTAwNjQ0Ci0tLSBhL3J1bnRpbWUvc3ludGF4L21hcGxlLnZpbQorKysgYi9ydW50aW1lL3N5bnRheC9tYXBsZS52aW0KQEAgLTEsOCArMSw4IEBACiAiIFZpbSBzeW50YXggZmlsZQogIiBMYW5ndWFnZToJTWFwbGUgViAoYmFzZWQgb24gcmVsZWFzZSA0KQogIiBNYWludGFpbmVyOglEci4gQ2hhcmxlcyBFLiBDYW1wYmVsbCwgSnIuIDxOZHJPY2hpcFNAUGNhbXBiZWxsQWZhbWlseS5NYml6PgotIiBMYXN0IENoYW5nZToJTWFyIDEwLCAyMDA0Ci0iIFZlcnNpb246CTQKKyIgTGFzdCBDaGFuZ2U6CUF1ZyAxOSwgMjAwNAorIiBWZXJzaW9uOgk1CiAiIFVSTDoJaHR0cDovL3d3dy5lcm9scy5jb20vYXN0cm9uYXV0L3ZpbS9pbmRleC5odG1sI3ZpbWxpbmtzX3N5bnRheAogIgogIiBQYWNrYWdlIEZ1bmN0aW9uIFNlbGVjdGlvbjoge3t7MQpAQCAtMTcsNiArMTcsOSBAQAogIgogIiAqT1IqIGxldCBtdnBrZ19hbGw9MQogCisiIFRoaXMgc3ludGF4IGZpbGUgY29udGFpbnMgYWxsIHRoZSBrZXl3b3JkcyBhbmQgdG9wLWxldmVsIHBhY2thZ2VzIG9mIE1hcGxlIDkuNQorIiBidXQgb25seSB0aGUgY29udGVudHMgb2YgcGFja2FnZXMgb2YgTWFwbGUgViBSZWxlYXNlIDQsIGFuZCB0aGUgdG9wLWxldmVsCisiIHJvdXRpbmVzIG9mIFJlbGVhc2UgNC4gIDxKYWNxdWVzIENhcmV0dGUgLSBjYXJldHRlQG1jbWFzdGVyLmNhPgogCiAiIEZvciB2ZXJzaW9uIDUueDogQ2xlYXIgYWxsIHN5bnRheCBpdGVtcwogIiBGb3IgdmVyc2lvbiA2Lng6IFF1aXQgd2hlbiBhIHN5bnRheCBmaWxlIHdhcyBhbHJlYWR5IGxvYWRlZApAQCAtNzAsNiArNzMsOSBAQAogZW5kaWYKIAogIiBQYXJlbnRoZXNpcy9jdXJseS9icmFjZSBzYW5pdHkgY2hlY2tlcjoge3t7MQorc3luIGNhc2UgbWF0Y2gKKworIiBwYXJlbnRoZXNpcy9jdXJseS9icmFjZSBzYW5pdHkgY2hlY2tlcgogc3luIHJlZ2lvbiBtdlpvbmUJbWF0Y2hncm91cD1EZWxpbWl0ZXIgc3RhcnQ9IigiIG1hdGNoZ3JvdXA9RGVsaW1pdGVyIGVuZD0iKSIgdHJhbnNwYXJlbnQgY29udGFpbnM9QUxMQlVULG12RXJyb3IsbXZCcmFjZUVycm9yLG12Q3VybHlFcnJvcgogc3luIHJlZ2lvbiBtdlpvbmUJbWF0Y2hncm91cD1EZWxpbWl0ZXIgc3RhcnQ9InsiIG1hdGNoZ3JvdXA9RGVsaW1pdGVyIGVuZD0ifSIgdHJhbnNwYXJlbnQgY29udGFpbnM9QUxMQlVULG12RXJyb3IsbXZCcmFjZUVycm9yLG12UGFyZW5FcnJvcgogc3luIHJlZ2lvbiBtdlpvbmUJbWF0Y2hncm91cD1EZWxpbWl0ZXIgc3RhcnQ9IlxbIiBtYXRjaGdyb3VwPURlbGltaXRlciBlbmQ9Il0iIHRyYW5zcGFyZW50IGNvbnRhaW5zPUFMTEJVVCxtdkVycm9yLG12Q3VybHlFcnJvcixtdlBhcmVuRXJyb3IKQEAgLTc5LDIxICs4NSw0NyBAQAogc3luIG1hdGNoICBtdlBhcmVuRXJyb3IJIltcXX1dIgljb250YWluZWQKIHN5biBtYXRjaCAgbXZDb21tYQkJIlssOzpdIgogc3luIG1hdGNoICBtdlNlbWlFcnJvcgkiWzs6XSIJY29udGFpbmVkCitzeW4gbWF0Y2ggIG12RGNvbG9uCQkiOjoiCiAKLSIgTWFwbGUgViBQYWNrYWdlcywgY2lyY2EgUmVsZWFzZSA0OiB7e3sxCi1zeW4ga2V5d29yZCBtdlBhY2thZ2UJREV0b29scwlkaWZmb3Jtcwlncm91cAluZXR3b3JrcwlwbG90cwlzdGF0cwotc3luIGtleXdvcmQgbXZQYWNrYWdlCUdhbG9pcwlmaW5hbmNlCWludHRyYW5zCW51bWFwcHJveAlwbG90dG9vbHMJc3R1ZGVudAotc3luIGtleXdvcmQgbXZQYWNrYWdlCUdhdXNzSW50CWdlbmZ1bmMJbGllc3ltbQludW10aGVvcnkJcG93c2VyaWVzCXN1bXRvb2xzCi1zeW4ga2V5d29yZCBtdlBhY2thZ2UJTFJFdG9vbHMJZ2VvbWV0cnkJbGluYWxnCW9ydGhvcG9seQlwcm9jZXNzCXRlbnNvcgotc3luIGtleXdvcmQgbXZQYWNrYWdlCWNvbWJpbmF0CWdyb2JuZXIJbG9naWMJcGFkaWMJc2ltcGxleAl0b3RvcmRlcgotc3luIGtleXdvcmQgbXZQYWNrYWdlCWNvbWJzdHJ1Y3QKKyIgTWFwbGUgUGFja2FnZXMsIHVwZGF0ZWQgZm9yIE1hcGxlIDkuNQorc3luIGtleXdvcmQgbXZQYWNrYWdlCWFsZ2N1cnZlcwlBcnJheVRvb2xzCUNhY2hlCWNvZGVnZW4KK3N5biBrZXl3b3JkIG12UGFja2FnZQlDb2RlR2VuZXJhdGlvbglDb2RlVG9vbHMJY29tYmluYXQJY29tYnN0cnVjdAorc3luIGtleXdvcmQgbXZQYWNrYWdlCUNvbnRleHRNZW51CUN1cnZlRml0dGluZwlERXRvb2xzCWRpZmZhbGcKK3N5biBrZXl3b3JkIG12UGFja2FnZQlkaWZmb3JtcwlEaXNjcmV0ZVRyYW5zZm9ybXMJRG9tYWlucwlFeHRlcm5hbENhbGxpbmcKK3N5biBrZXl3b3JkIG12UGFja2FnZQlGaWxlVG9vbHMJZmluYW5jZQlHYXVzc0ludAlnZW5mdW5jCitzeW4ga2V5d29yZCBtdlBhY2thZ2UJZ2VvbTNkCWdlb21ldHJ5CWdmdW4JR3JvZWJuZXIKK3N5biBrZXl3b3JkIG12UGFja2FnZQlncm91cAloYXNobXNldAlJbnRlZ2VyUmVsYXRpb25zCWludHRyYW5zCitzeW4ga2V5d29yZCBtdlBhY2thZ2UJTGFyZ2VFeHByZXNzaW9ucwlMaWJyYXJ5VG9vbHMJbGllc3ltbQlsaW5hbGcKK3N5biBrZXl3b3JkIG12UGFja2FnZQlMaW5lYXJBbGdlYnJhCUxpbmVhckZ1bmN0aW9uYWxTeXN0ZW1zCUxpbmVhck9wZXJhdG9ycworc3luIGtleXdvcmQgbXZQYWNrYWdlCUxpc3RUb29scwlMb2dpYwlMUkV0b29scwlNYXBsZXRzCitzeW4ga2V5d29yZCBtdlBhY2thZ2UJTWF0aGVtYXRpY2FsRnVuY3Rpb25zCU1hdGhNTAlNYXRsYWIKK3N5biBrZXl3b3JkIG12UGFja2FnZQlNYXRyaXhQb2x5bm9taWFsQWxnZWJyYQlNbWFUcmFuc2xhdG9yCW5ldHdvcmtzCitzeW4ga2V5d29yZCBtdlBhY2thZ2UJbnVtYXBwcm94CW51bXRoZW9yeQlPcHRpbWl6YXRpb24JT3JlVG9vbHMKK3N5biBrZXl3b3JkIG12UGFja2FnZQlPcmVfYWxnZWJyYQlPcnRob2dvbmFsU2VyaWVzCW9ydGhvcG9seQlwYWRpYworc3luIGtleXdvcmQgbXZQYWNrYWdlCVBERXRvb2xzCXBsb3RzCXBsb3R0b29scwlQb2x5bm9taWFsSWRlYWxzCitzeW4ga2V5d29yZCBtdlBhY2thZ2UJUG9seW5vbWlhbFRvb2xzCXBvd3Nlcmllcwlwcm9jZXNzCVFEaWZmZXJlbmNlRXF1YXRpb25zCitzeW4ga2V5d29yZCBtdlBhY2thZ2UJUmFuZG9tVG9vbHMJUmF0aW9uYWxOb3JtYWxGb3JtcwlSZWFsRG9tYWluCVJvb3RGaW5kaW5nCitzeW4ga2V5d29yZCBtdlBhY2thZ2UJU2NpZW50aWZpY0NvbnN0YW50cwlTY2llbnRpZmljRXJyb3JBbmFseXNpcwlzaW1wbGV4CitzeW4ga2V5d29yZCBtdlBhY2thZ2UJU2xvZGUJU05BUAlTb2NrZXRzCVNvZnR3YXJlTWV0cmljcworc3luIGtleXdvcmQgbXZQYWNrYWdlCVNvbHZlVG9vbHMJU3ByZWFkCXN0YXRzCVN0cmluZ1Rvb2xzCitzeW4ga2V5d29yZCBtdlBhY2thZ2UJU3R1ZGVudAlzdHVkZW50CXN1bXRvb2xzCVN1bVRvb2xzCitzeW4ga2V5d29yZCBtdlBhY2thZ2UJdGVuc29yCVR5cGVUb29scwlVbml0cwlWYXJpYXRpb25hbENhbGN1bHVzCitzeW4ga2V5d29yZCBtdlBhY2thZ2UJVmVjdG9yQ2FsY3VsdXMJV29ya3NoZWV0CVhNTFRvb2xzCiAKICIgTGFuZ3VhZ2UgU3VwcG9ydDoge3t7MQogc3luIGtleXdvcmQgbXZUb2RvCWNvbnRhaW5lZAlUT0RPCi1zeW4gcmVnaW9uICBtdlN0cmluZwlzdGFydD0rYCsgc2tpcD0rYGArIGVuZD0rYCsJa2VlcGVuZAljb250YWlucz1tdlRvZG8KLXN5biByZWdpb24gIG12RGVsYXlFdmFsCXN0YXJ0PSsnKyBlbmQ9KycrCWtlZXBlbmQgY29udGFpbnM9QUxMQlVULG12RXJyb3IsbXZCcmFjZUVycm9yLG12Q3VybHlFcnJvcixtdlBhcmVuRXJyb3IsbXZTZW1pRXJyb3IKLXN5biBtYXRjaCAgIG12VmFyQXNzaWduCSJbYS16QS1aX11bYS16QS1aXzAtOV0qWyBcdF0qOj0iIGNvbnRhaW5zPW12QXNzaWduCi1zeW4gbWF0Y2ggICBtdkFzc2lnbgkiOj0iCWNvbnRhaW5lZAoraWYgZXhpc3RzKCJnOm1hcGxldmVyc2lvbiIpICYmIGc6bWFwbGV2ZXJzaW9uIDwgOQorIHN5biByZWdpb24gIG12U3RyaW5nCXN0YXJ0PStgKyBza2lwPStgYCsgZW5kPStgKwlrZWVwZW5kCWNvbnRhaW5zPW12VG9kbworIHN5biByZWdpb24gIG12RGVsYXlFdmFsCXN0YXJ0PSsnKyBlbmQ9KycrCWtlZXBlbmQgY29udGFpbnM9QUxMQlVULG12RXJyb3IsbXZCcmFjZUVycm9yLG12Q3VybHlFcnJvcixtdlBhcmVuRXJyb3IsbXZTZW1pRXJyb3IKKyBzeW4gbWF0Y2ggICBtdlZhckFzc2lnbgkiW2EtekEtWl9dW2EtekEtWl8wLTldKlsgXHRdKjo9IiBjb250YWlucz1tdkFzc2lnbgorIHN5biBtYXRjaCAgIG12QXNzaWduCSI6PSIJY29udGFpbmVkCitlbHNlCisgc3luIHJlZ2lvbiAgbXZOYW1lCXN0YXJ0PStgKyBza2lwPStgYCsgZW5kPStgKwlrZWVwZW5kCWNvbnRhaW5zPW12VG9kbworIHN5biByZWdpb24gIG12U3RyaW5nCXN0YXJ0PSsiKyBza2lwPSsiIisgZW5kPSsiKwlrZWVwZW5kCisgc3luIHJlZ2lvbiAgbXZEZWxheUV2YWwJc3RhcnQ9KycrIGVuZD0rJysJa2VlcGVuZCBjb250YWlucz1BTExCVVQsbXZFcnJvcixtdkJyYWNlRXJyb3IsbXZDdXJseUVycm9yLG12UGFyZW5FcnJvcgorIHN5biBtYXRjaCAgIG12RGVsaW0JCSJbOzpdIglkaXNwbGF5Cisgc3luIG1hdGNoICAgbXZBc3NpZ24JIjo9IgorZW5kaWYKIAogIiBMb3dlci1Qcmlvcml0eSBPcGVyYXRvcnM6IHt7ezEKIHN5biBtYXRjaCBtdk9wZXIJIlwuIgpAQCAtMTIwLDE0ICsxNTIsMTYgQEAKIHN5biBtYXRjaCBtdlJhbmdlCSJcLlwuIgogCiAiIE9wZXJhdG9yczoge3t7MQotc3luIGtleXdvcmQgbXZPcGVyCWFuZCBub3Qgb3IKK3N5biBrZXl3b3JkIG12T3BlcglhbmQgbm90IG9yIHhvciBpbXBsaWVzIHVuaW9uIGludGVyc2VjdCBzdWJzZXQgbWludXMgbW9kCiBzeW4gbWF0Y2ggICBtdk9wZXIJIjw+XHxbPD5dPVx8Wzw+XVx8PSIKIHN5biBtYXRjaCAgIG12T3BlcgkiJitcfCYtXHwmXCpcfCZcL1x8JiIKIHN5biBtYXRjaCAgIG12RXJyb3IJIlwuXC5cLiIKIAogIiBNYXBsZVYgU3RhdGVtZW50czogPyBzdGF0ZW1lbnQge3t7MQorCisiIE1hcGxlViBTdGF0ZW1lbnRzOiA/IHN0YXRlbWVudAogIiBTcGxpdCBpbnRvIGJvb2xlYW5zLCBjb25kaXRpb25hbHMsIG9wZXJhdG9ycywgcmVwZWF0LWxvZ2ljLCBldGMKLXN5biBrZXl3b3JkIG12Qm9vbAl0cnVlCWZhbHNlCitzeW4ga2V5d29yZCBtdkJvb2wJdHJ1ZQlmYWxzZQlGQUlMCiBzeW4ga2V5d29yZCBtdkNvbmQJZWxpZgllbHNlCWZpCWlmCXRoZW4KIAogc3luIGtleXdvcmQgbXZSZXBlYXQJYnkJZm9yCWluCXRvCkBAIC0xMzYsMTUgKzE3MCwyNSBAQAogc3luIGtleXdvcmQgbXZTcGVjaWFsCU5VTEwKIHN5biBtYXRjaCAgIG12U3BlY2lhbAkiXFtcXVx8e30iCiAKLXN5biBrZXl3b3JkIG12U3RhdGVtZW50CU9yZGVyCWZhaWwJb3B0aW9ucwlyZWFkCXNhdmUKLXN5biBrZXl3b3JkIG12U3RhdGVtZW50CWJyZWFrCWxvY2FsCXBvaW50CXJlbWVtYmVyCXN0b3AKLXN5biBrZXl3b3JkIG12U3RhdGVtZW50CWRvbmUJbW9kCXByb2MJcmVzdGFydAl3aXRoCi1zeW4ga2V5d29yZCBtdlN0YXRlbWVudAllbmQJbW9kcwlxdWl0CXJldHVybgotc3luIGtleXdvcmQgbXZTdGF0ZW1lbnQJZXJyb3IJbmV4dAoraWYgZXhpc3RzKCJnOm1hcGxldmVyc2lvbiIpICYmIGc6bWFwbGV2ZXJzaW9uIDwgOQorIHN5biBrZXl3b3JkIG12U3RhdGVtZW50CU9yZGVyCWZhaWwJb3B0aW9ucwlyZWFkCXNhdmUKKyBzeW4ga2V5d29yZCBtdlN0YXRlbWVudAlicmVhawlsb2NhbAlwb2ludAlyZW1lbWJlcglzdG9wCisgc3luIGtleXdvcmQgbXZTdGF0ZW1lbnQJZG9uZQltb2QJcHJvYwlyZXN0YXJ0CXdpdGgKKyBzeW4ga2V5d29yZCBtdlN0YXRlbWVudAllbmQJbW9kcwlxdWl0CXJldHVybgorIHN5biBrZXl3b3JkIG12U3RhdGVtZW50CWVycm9yCW5leHQKK2Vsc2UKKyBzeW4ga2V5d29yZCBtdlN0YXRlbWVudAlvcHRpb24Jb3B0aW9ucwlyZWFkCXNhdmUKKyBzeW4ga2V5d29yZCBtdlN0YXRlbWVudAlicmVhawlsb2NhbAlyZW1lbWJlcglzdG9wCisgc3luIGtleXdvcmQgbXZTdGF0ZW1lbnQJZG9uZQltb2QJcHJvYwlyZXN0YXJ0Cisgc3luIGtleXdvcmQgbXZTdGF0ZW1lbnQJZW5kCW1vZHMJcXVpdAlyZXR1cm4KKyBzeW4ga2V5d29yZCBtdlN0YXRlbWVudAllcnJvcgluZXh0CXRyeQljYXRjaAorIHN5biBrZXl3b3JkIG12U3RhdGVtZW50CWZpbmFsbHkJYXNzdW1pbmcJZ2xvYmFsCWV4cG9ydAorIHN5biBrZXl3b3JkIG12U3RhdGVtZW50CW1vZHVsZQlkZXNjcmlwdGlvbgl1c2UKK2VuZGlmCiAKICIgQnVpbHRpbiBDb25zdGFudHM6ID8gY29uc3RhbnRzIHt7ezEKIHN5biBrZXl3b3JkIG12Q29uc3RhbnQJQ2F0YWxhbglJCWdhbW1hCWluZmluaXR5Ci1zeW4ga2V5d29yZCBtdkNvbnN0YW50CUZBSUwJUGkKK3N5biBrZXl3b3JkIG12Q29uc3RhbnQJUGkKIAogIiBDb21tZW50czogIERFQlVHLCBpZiBpbiBhIGNvbW1lbnQsIGlzIHNwZWNpYWxseSBoaWdobGlnaHRlZC4ge3t7MQogc3luIGtleXdvcmQgbXZEZWJ1Zwljb250YWluZWQJREVCVUcKQEAgLTU1Miw2ICs1OTYsNyBAQAogICBIaUxpbmsgbXZQa2dfdG90b3JkZXIJbXZQa2dGdW5jCiAgIEhpTGluayBtdlJhbmdlCQltdk9wZXIKICAgSGlMaW5rIG12U2VtaUVycm9yCW12RXJyb3IKKyAgSGlMaW5rIG12RGVsaW0JCURlbGltaXRlcgogCiAgICIgTWFwbGUtPlN0YW5kYXJkIExpbmtzIHt7ezIKICAgSGlMaW5rIG12QXNzaWduCQlEZWxpbWl0ZXIKQEAgLTU2MSwxNiArNjA2LDE5IEBACiAgIEhpTGluayBtdkNvbmQJCUNvbmRpdGlvbmFsCiAgIEhpTGluayBtdkNvbnN0YW50CQlOdW1iZXIKICAgSGlMaW5rIG12RGVsYXlFdmFsCUxhYmVsCisgIEhpTGluayBtdkRjb2xvbgkJRGVsaW1pdGVyCiAgIEhpTGluayBtdkVycm9yCQlFcnJvcgogICBIaUxpbmsgbXZMaWJyYXJ5CQlTdGF0ZW1lbnQKICAgSGlMaW5rIG12TnVtYmVyCQlOdW1iZXIKICAgSGlMaW5rIG12T3BlcgkJT3BlcmF0b3IKKyAgSGlMaW5rIG12QXNzaWduCQlEZWxpbWl0ZXIKICAgSGlMaW5rIG12UGFja2FnZQkJVHlwZQogICBIaUxpbmsgbXZQa2dGdW5jCQlGdW5jdGlvbgogICBIaUxpbmsgbXZQa3RPcHRpb24JU3BlY2lhbAogICBIaUxpbmsgbXZSZXBlYXQJCVJlcGVhdAogICBIaUxpbmsgbXZTcGVjaWFsCQlTcGVjaWFsCiAgIEhpTGluayBtdlN0YXRlbWVudAlTdGF0ZW1lbnQKKyAgSGlMaW5rIG12TmFtZQkJU3RyaW5nCiAgIEhpTGluayBtdlN0cmluZwkJU3RyaW5nCiAgIEhpTGluayBtdlRvZG8JCVRvZG8KIApkaWZmIC0tZ2l0IGEvcnVudGltZS9zeW50YXgvbmV0cndsaXN0LnZpbSBiL3J1bnRpbWUvc3ludGF4L25ldHJ3bGlzdC52aW0KaW5kZXggOGYzMDkxZC4uYWU2OGM5MSAxMDA2NDQKLS0tIGEvcnVudGltZS9zeW50YXgvbmV0cndsaXN0LnZpbQorKysgYi9ydW50aW1lL3N5bnRheC9uZXRyd2xpc3QudmltCkBAIC0xLDcgKzEsOCBAQAogIiBMYW5ndWFnZSAgIDogTmV0cncgUmVtb3RlLURpcmVjdG9yeSBMaXN0aW5nIFN5bnRheAogIiBNYWludGFpbmVyIDogQ2hhcmxlcyBFLiBDYW1wYmVsbCwgSnIuCi0iIExhc3QgY2hhbmdlOiBKdWwgMDYsIDIwMDQKLSIgVmVyc2lvbiAgICA6IDIKKyIgTGFzdCBjaGFuZ2U6IEF1ZyAyMCwgMjAwNAorIiBWZXJzaW9uICAgIDogNAorIiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIAogIiBTeW50YXggQ2xlYXJpbmc6IHt7ezEKIGlmIHZlcnNpb24gPCA2MDAKQEAgLTEwLDI4ICsxMSwzOSBAQAogIGZpbmlzaAogZW5kaWYKIAorIiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KICIgRGlyZWN0b3J5IExpc3QgU3ludGF4IEhpZ2hsaWdodGluZzoge3t7MQotc3luIG1hdGNoIG5ldHJ3RGlyCQkJCSJeLiovXCUoXHRcfCRcKSIJY29udGFpbnM9bmV0cndDbGFzc2lmeQotc3luIG1hdGNoIG5ldHJ3Q2xhc3NpZnkJCQkJIlsqPXxAL11cJShcdFx8JFwpIgotc3luIG1hdGNoIG5ldHJ3U3ltTGluawkJCQkiXi4qQFwlKFx0XHwkXCkiCWNvbnRhaW5zPW5ldHJ3Q2xhc3NpZnkKLXN5biBtYXRjaCBuZXRyd0NvbW1lbnQJCQkJJyIuKlwlKFx0XHwkXCknCQljb250YWlucz1uZXRyd0hpZGUsbmV0cndTb3J0QnksbmV0cndTb3J0U2VxCi1zeW4gbWF0Y2ggbmV0cndIaWRlCQkJCSdeIlxzKkhpZGluZzonCQlza2lwd2hpdGUgbmV4dGdyb3VwPW5ldHJ3SGlkZVBhdAotc3luIG1hdGNoIG5ldHJ3U2xhc2gJY29udGFpbmVkCQkJIi8iCi1zeW4gbWF0Y2ggbmV0cndIaWRlUGF0CWNvbnRhaW5lZAkJIlteLF1cKyIJCXNraXB3aGl0ZSBuZXh0Z3JvdXA9bmV0cndIaWRlU2VwCi1zeW4gbWF0Y2ggbmV0cndIaWRlU2VwCWNvbnRhaW5lZCB0cmFuc3BhcmVudAkiLCIJCQlza2lwd2hpdGUgbmV4dGdyb3VwPW5ldHJ3SGlkZVBhdAotc3luIG1hdGNoIG5ldHJ3U29ydEJ5CWNvbnRhaW5lZCB0cmFuc3BhcmVudAkiU29ydGVkIGJ5IgkJc2tpcHdoaXRlIG5leHRncm91cD1uZXRyd0xpc3QKLXN5biBtYXRjaCBuZXRyd1NvcnRTZXEJY29udGFpbmVkIHRyYW5zcGFyZW50CSJTb3J0IHNlcXVlbmNlOiIJc2tpcHdoaXRlIG5leHRncm91cD1uZXRyd0xpc3QKLXN5biBtYXRjaCBuZXRyd0xpc3QJY29udGFpbmVkCQkiLiokIgkJCWNvbnRhaW5zPW5ldHJ3Q29tbWEKLXN5biBtYXRjaCBuZXRyd0NvbW1hCWNvbnRhaW5lZAkJIiwiCitzeW4gY2x1c3RlciBOZXRyd0dyb3VwIGNvbnRhaW5zPW5ldHJ3SGlkZSxuZXRyd1NvcnRCeSxuZXRyd1NvcnRTZXEsbmV0cndRdWlja0hlbHAsbmV0cndWZXJzaW9uCitzeW4gbWF0Y2ggIG5ldHJ3RGlyCQkJCSJeLiovXCUoXHRcfCRcKSIJY29udGFpbnM9bmV0cndDbGFzc2lmeQorc3luIG1hdGNoICBuZXRyd0NsYXNzaWZ5CQkJIlsqPXxAL11cJShcdFx8JFwpIgorc3luIG1hdGNoICBuZXRyd1N5bUxpbmsJCQkJIl4uKkBcJShcdFx8JFwpIgljb250YWlucz1uZXRyd0NsYXNzaWZ5CitzeW4gbWF0Y2ggIG5ldHJ3Q29tbWVudAkJCQknIi4qXCUoXHRcfCRcKScJCWNvbnRhaW5zPUBOZXRyd0dyb3VwCitzeW4gbWF0Y2ggIG5ldHJ3SGlkZQkJCQknXiJccypIaWRpbmc6JwkJc2tpcHdoaXRlIG5leHRncm91cD1uZXRyd0hpZGVQYXQKK3N5biBtYXRjaCAgbmV0cndTbGFzaAljb250YWluZWQJCSIvIgorc3luIG1hdGNoICBuZXRyd0hpZGVQYXQJY29udGFpbmVkCQkiW14sXVwrIgkJc2tpcHdoaXRlIG5leHRncm91cD1uZXRyd0hpZGVTZXAKK3N5biBtYXRjaCAgbmV0cndIaWRlU2VwCWNvbnRhaW5lZCB0cmFuc3BhcmVudAkiLCIJCQlza2lwd2hpdGUgbmV4dGdyb3VwPW5ldHJ3SGlkZVBhdAorc3luIG1hdGNoICBuZXRyd1NvcnRCeQljb250YWluZWQgdHJhbnNwYXJlbnQJIlNvcnRlZCBieSIJCXNraXB3aGl0ZSBuZXh0Z3JvdXA9bmV0cndMaXN0CitzeW4gbWF0Y2ggIG5ldHJ3U29ydFNlcQljb250YWluZWQgdHJhbnNwYXJlbnQJIlNvcnQgc2VxdWVuY2U6Iglza2lwd2hpdGUgbmV4dGdyb3VwPW5ldHJ3TGlzdAorc3luIG1hdGNoICBuZXRyd0xpc3QJY29udGFpbmVkCQkiLiokIgkJCWNvbnRhaW5zPW5ldHJ3Q29tbWEKK3N5biBtYXRjaCAgbmV0cndDb21tYQljb250YWluZWQJCSIsIgorc3luIHJlZ2lvbiBuZXRyd1F1aWNrSGVscCBjb250YWluZWQgbWF0Y2hncm91cD1Db21tZW50IHN0YXJ0PSJRdWljayBIZWxwOlxzXCsiIGVuZD0iJCIgY29udGFpbnM9bmV0cndIZWxwQ21kIGtlZXBlbmQKK3N5biBtYXRjaCAgbmV0cndIZWxwQ21kCWNvbnRhaW5lZAkJIlxTXHplOiIJCXNraXB3aGl0ZSBuZXh0Z3JvdXA9bmV0cndDbWRTZXAKK3N5biBtYXRjaCAgbmV0cndDbWRTZXAJY29udGFpbmVkCQkiOiIJCQluZXh0Z3JvdXA9bmV0cndDbWROb3RlCitzeW4gbWF0Y2ggIG5ldHJ3Q21kTm90ZQljb250YWluZWQJCSIuXHstfVx6ZSAgIgorc3luIG1hdGNoICBuZXRyd1ZlcnNpb24gY29udGFpbmVkCQkiKG5ldHJ3LiopIgogCisiIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQogIiBIaWdobGlnaHRpbmcgTGlua3M6IHt7ezEKIGlmICFleGlzdHMoImRpZF9kcmNoaXBfZGJnX3N5bnRheCIpCiAgbGV0IGRpZF9kcmNoaXBfbmV0cndsaXN0X3N5bnRheD0gMQogIGhpIGxpbmsgbmV0cndDbGFzc2lmeQlGdW5jdGlvbgorIGhpIGxpbmsgbmV0cndDbWRTZXAJRGVsaW1pdGVyCiAgaGkgbGluayBuZXRyd0NvbW1lbnQJQ29tbWVudAogIGhpIGxpbmsgbmV0cndEaXIJRGlyZWN0b3J5Ci0gaGkgbGluayBuZXRyd0hpZGVQYXQJU3RyaW5nCi0gaGkgbGluayBuZXRyd0xpc3QJU3RyaW5nCisgaGkgbGluayBuZXRyd0hlbHBDbWQJRnVuY3Rpb24KKyBoaSBsaW5rIG5ldHJ3SGlkZVBhdAlTdGF0ZW1lbnQKKyBoaSBsaW5rIG5ldHJ3TGlzdAlTdGF0ZW1lbnQKKyBoaSBsaW5rIG5ldHJ3VmVyc2lvbglJZGVudGlmaWVyCiAgaGkgbGluayBuZXRyd1N5bUxpbmsJU3BlY2lhbAogCiAgaGkgbGluayBuZXRyd0NvbW1hCW5ldHJ3Q29tbWVudApAQCAtNDAsNCArNTIsNSBAQAogCiAiIEN1cnJlbnQgU3ludGF4OiB7e3sxCiBsZXQgICBiOmN1cnJlbnRfc3ludGF4ID0gIm5ldHJ3bGlzdCIKKyIgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiAiIHZpbTogdHM9OCBmZG09bWFya2VyCmRpZmYgLS1naXQgYS9ydW50aW1lL3N5bnRheC9wZXJsLnZpbSBiL3J1bnRpbWUvc3ludGF4L3BlcmwudmltCmluZGV4IDQzODg3MjkuLjMyN2NjMTEgMTAwNjQ0Ci0tLSBhL3J1bnRpbWUvc3ludGF4L3BlcmwudmltCisrKyBiL3J1bnRpbWUvc3ludGF4L3BlcmwudmltCkBAIC0xLDcgKzEsNyBAQAogIiBWaW0gc3ludGF4IGZpbGUKICIgTGFuZ3VhZ2U6CVBlcmwKICIgTWFpbnRhaW5lcjoJTmljayBIaWJtYSA8bl9oaWJtYUB2YW4tbGFhcmhvdmVuLm9yZz4KLSIgTGFzdCBDaGFuZ2U6CTIwMDQgTWF5IDE2CisiIExhc3QgQ2hhbmdlOgkyMDA0IEF1ZyAyOQogIiBMb2NhdGlvbjoJaHR0cDovL3d3dy52YW4tbGFhcmhvdmVuLm9yZy92aW0vc3ludGF4L3BlcmwudmltCiAiCiAiIFBsZWFzZSBkb3dubG9hZCBtb3N0IHJlY2VudCB2ZXJzaW9uIGZpcnN0IGJlZm9yZSBtYWlsaW5nCkBAIC0xNyw4ICsxNyw4IEBACiAiIHBlcmwgc3ludGF4IGhpZ2hsaWdodGluZywgd2l0aCBkZWZhdWx0cyBnaXZlbjoKICIKICIgdW5sZXQgcGVybF9pbmNsdWRlX3BvZAotIiB1bmxldCBwZXJsX3dhbnRfc2NvcGVfaW5fdmFyaWFibGVzCi0iIHVubGV0IHBlcmxfZXh0ZW5kZWRfdmFycworIiB1bmxldCBwZXJsX25vX3Njb3BlX2luX3ZhcmlhYmxlcworIiB1bmxldCBwZXJsX25vX2V4dGVuZGVkX3ZhcnMKICIgdW5sZXQgcGVybF9zdHJpbmdfYXNfc3RhdGVtZW50CiAiIHVubGV0IHBlcmxfbm9fc3luY19vbl9zdWIKICIgdW5sZXQgcGVybF9ub19zeW5jX29uX2dsb2JhbF92YXIKQEAgLTE0NywxNiArMTQ3LDExIEBACiAiIEFuZCBwbGFpbiBpZGVudGlmaWVycwogc3luIG1hdGNoICBwZXJsUGFja2FnZVJlZgkgIlwoXGhcdypcKVw9XCg6Olx8J1wpXEkibWU9ZS0xIGNvbnRhaW5lZAogCi0iIFRvIGhpZ2hsaWdodCBwYWNrYWdlcyBpbiB2YXJpYWJsZXMgYXMgYSBzY29wZSByZWZlcmVuY2UgLSBpLmUuIGluICRwYWNrOjp2YXIsCi0iIHBhY2s6OiBpcyBhIHNjb3BlLCBqdXN0IHNldCAicGVybF93YW50X3Njb3BlX2luX3ZhcmlhYmxlcyIKLSIgSWYgeW91ICp3YW50KiBjb21wbGV4IHRoaW5ncyBsaWtlIEB7JHsiZm9vIn19IHRvIGJlIHByb2Nlc3NlZCwKLSIganVzdCBzZXQgdGhlIHZhcmlhYmxlICJwZXJsX2V4dGVuZGVkX3ZhcnMiLi4uCi0KICIgRklYTUUgdmFsdWUgYmV0d2VlbiB7fSBzaG91bGQgYmUgbWFya2VkIGFzIHN0cmluZy4gaXMgdHJlYXRlZCBhcyBzdWNoIGJ5IFBlcmwuCiAiIEF0IHRoZSBtb21lbnQgaXQgaXMgbWFya2VkIGFzIHNvbWV0aGluZyBncmV5aXNoIGluc3RlYWQgb2YgcmVhZC4gUHJvYmFibHkgdG9kbwogIiB3aXRoIHRyYW5zcGFyZW5jeS4gT3IgbWF5YmUgd2Ugc2hvdWxkIGhhbmRsZSB0aGUgYmFyZSB3b3JkIGluIHRoYXQgY2FzZS4gb3IgbWFrZSBpdCBpbnRvCiAKLWlmIGV4aXN0cygicGVybF93YW50X3Njb3BlX2luX3ZhcmlhYmxlcyIpCitpZiAhZXhpc3RzKCJwZXJsX25vX3Njb3BlX2luX3ZhcmlhYmxlcyIpCiAgIHN5biBtYXRjaCAgcGVybFZhclBsYWluCSJcXFw9XChbQCUkXVx8XCQjXClcJCpcKFxJXGkqXClcPVwoXCg6Olx8J1wpXElcaSpcKSpcPiIgY29udGFpbnM9cGVybFBhY2thZ2VSZWYgbmV4dGdyb3VwPXBlcmxWYXJNZW1iZXIscGVybFZhclNpbXBsZU1lbWJlcixwZXJsTWV0aG9kCiAgIHN5biBtYXRjaCAgcGVybEZ1bmN0aW9uTmFtZQkiXFxcPSZcJCpcKFxJXGkqXClcPVwoXCg6Olx8J1wpXElcaSpcKSpcPiIgY29udGFpbnM9cGVybFBhY2thZ2VSZWYgbmV4dGdyb3VwPXBlcmxWYXJNZW1iZXIscGVybFZhclNpbXBsZU1lbWJlcgogZWxzZQpAQCAtMTY0LDcgKzE1OSw3IEBACiAgIHN5biBtYXRjaCAgcGVybEZ1bmN0aW9uTmFtZQkiXFxcPSZcJCpcKFxJXGkqXClcPVwoXCg6Olx8J1wpXElcaSpcKSpcPiIgbmV4dGdyb3VwPXBlcmxWYXJNZW1iZXIscGVybFZhclNpbXBsZU1lbWJlcgogZW5kaWYKIAotaWYgZXhpc3RzKCJwZXJsX2V4dGVuZGVkX3ZhcnMiKQoraWYgIWV4aXN0cygicGVybF9ub19leHRlbmRlZF92YXJzIikKICAgc3luIGNsdXN0ZXIgcGVybEV4cHIJCWNvbnRhaW5zPXBlcmxTdGF0ZW1lbnRTY2FsYXIscGVybFN0YXRlbWVudFJlZ2V4cCxwZXJsU3RhdGVtZW50TnVtZXJpYyxwZXJsU3RhdGVtZW50TGlzdCxwZXJsU3RhdGVtZW50SGFzaCxwZXJsU3RhdGVtZW50RmlsZXMscGVybFN0YXRlbWVudFRpbWUscGVybFN0YXRlbWVudE1pc2MscGVybFZhclBsYWluLHBlcmxWYXJOb3RJbk1hdGNoZXMscGVybFZhclNsYXNoLHBlcmxWYXJCbG9jayxwZXJsU2hlbGxDb21tYW5kLHBlcmxGbG9hdCxwZXJsTnVtYmVyLHBlcmxTdHJpbmdVbmV4cGFuZGVkLHBlcmxTdHJpbmcscGVybFFRCiAgIHN5biByZWdpb24gcGVybFZhckJsb2NrCW1hdGNoZ3JvdXA9cGVybFZhclBsYWluIHN0YXJ0PSJcKCQjXHxbQCUkXVwpXCQqeyIgc2tpcD0iXFx9IiBlbmQ9In0iIGNvbnRhaW5zPUBwZXJsRXhwciBuZXh0Z3JvdXA9cGVybFZhck1lbWJlcixwZXJsVmFyU2ltcGxlTWVtYmVyCiAgIHN5biByZWdpb24gcGVybFZhckJsb2NrCW1hdGNoZ3JvdXA9cGVybFZhclBsYWluIHN0YXJ0PSImXCQqeyIgc2tpcD0iXFx9IiBlbmQ9In0iIGNvbnRhaW5zPUBwZXJsRXhwcgpAQCAtMzU5LDcgKzM1NCw3IEBACiBzeW4ga2V5d29yZCBwZXJsU3RhdGVtZW50U3ViCXN1YiBjb250YWluZWQKIAogc3luIG1hdGNoICBwZXJsRnVuY3Rpb25Qcm90b3R5cGUJIihbXildKikiIGNvbnRhaW5lZAotaWYgZXhpc3RzKCJwZXJsX3dhbnRfc2NvcGVfaW5fdmFyaWFibGVzIikKK2lmICFleGlzdHMoInBlcmxfbm9fc2NvcGVfaW5fdmFyaWFibGVzIikKICAgIHN5biBtYXRjaCAgcGVybEZ1bmN0aW9uUFJlZgkiXGhcdyo6OiIgY29udGFpbmVkCiAgICBzeW4gbWF0Y2ggIHBlcmxGdW5jdGlvbk5hbWUJIlxoXHcqW146XSIgY29udGFpbmVkCiBlbHNlCmRpZmYgLS1naXQgYS9ydW50aW1lL3N5bnRheC9zaC52aW0gYi9ydW50aW1lL3N5bnRheC9zaC52aW0KaW5kZXggYzhmNmVlMC4uZjg2MjRhZSAxMDA2NDQKLS0tIGEvcnVudGltZS9zeW50YXgvc2gudmltCisrKyBiL3J1bnRpbWUvc3ludGF4L3NoLnZpbQpAQCAtMiwxMSArMiwxMSBAQAogIiBMYW5ndWFnZToJCXNoZWxsIChzaCkgS29ybiBzaGVsbCAoa3NoKSBiYXNoIChzaCkKICIgTWFpbnRhaW5lcjoJCURyLiBDaGFybGVzIEUuIENhbXBiZWxsLCBKci4gIDxOZHJPY2hpcFNAUGNhbXBiZWxsQWZhbWlseS5NYml6PgogIiBQcmV2aW91cyBNYWludGFpbmVyOglMZW5uYXJ0IFNjaHVsdHogPExlbm5hcnQuU2NodWx0ekBlY213Zi5pbnQ+Ci0iIExhc3QgQ2hhbmdlOgkJQXByIDI4LCAyMDA0Ci0iIFZlcnNpb246CQk2OAorIiBMYXN0IENoYW5nZToJCUp1bCAyNiwgMjAwNAorIiBWZXJzaW9uOgkJNjkKICIgVVJMOgkJaHR0cDovL3d3dy5lcm9scy5jb20vYXN0cm9uYXV0L3ZpbS9pbmRleC5odG1sI3ZpbWxpbmtzX3N5bnRheAogIgotIiBVc2luZyB0aGUgZm9sbG93aW5nIFZJTSB2YXJpYWJsZXM6CisiIFVzaW5nIHRoZSBmb2xsb3dpbmcgVklNIHZhcmlhYmxlczoge3t7MQogIiBiOmlzX2tvcm5zaGVsbAlpZiBkZWZpbmVkLCBlbmhhbmNlIHdpdGgga29ybnNoZWxsIHN5bnRheAogIiBiOmlzX2Jhc2gJCWlmIGRlZmluZWQsIGVuaGFuY2Ugd2l0aCBiYXNoIHN5bnRheAogIiAgIGlzX2tvcm5zaGVsbAlpZiBuZWl0aGVyIGI6aXNfa29ybnNoZWxsIG9yIGI6aXNfYmFzaCBpcwpAQCAtMjAsNyArMjAsNyBAQAogIgogIiBUaGlzIGZpbGUgaW5jbHVkZXMgbWFueSBpZGVhcyBmcm9tIMlyaWMgQnJ1bmV0IChlcmljLmJydW5ldEBlbnMuZnIpCiAKLSIgRm9yIHZlcnNpb24gNS54OiBDbGVhciBhbGwgc3ludGF4IGl0ZW1zCisiIEZvciB2ZXJzaW9uIDUueDogQ2xlYXIgYWxsIHN5bnRheCBpdGVtcyB7e3sxCiAiIEZvciB2ZXJzaW9uIDYueDogUXVpdCB3aGVuIGEgc3ludGF4IGZpbGUgd2FzIGFscmVhZHkgbG9hZGVkCiBpZiB2ZXJzaW9uIDwgNjAwCiAgIHN5bnRheCBjbGVhcgpAQCAtMjgsNiArMjgsNyBAQAogICBmaW5pc2gKIGVuZGlmCiAKKyIgaGFuZGxpbmcgL2Jpbi9zaCB3aXRoIGlzX2tvcm5zaGVsbC9pc19zaCB7e3sxCiAiIGI6aXNfc2ggaXMgc2V0IHdoZW4gIiMhIC9iaW4vc2giIGlzIGZvdW5kOwogIiBIb3dldmVyLCBpdCBvZnRlbiBpcyBqdXN0IGEgbWFzcXVlcmFkZSBieSBiYXNoICh0eXBpY2FsbHkgTGludXgpCiAiIG9yIGtvcm5zaGVsbCAodHlwaWNhbGx5IHdvcmtzdGF0aW9ucyB3aXRoIFBvc2l4ICJzaCIpLgpAQCAtNTcsNyArNTgsNyBAQAogIiBzaCBzeW50YXggaXMgY2FzZSBzZW5zaXRpdmUKIHN5biBjYXNlIG1hdGNoCiAKLSIgQ2x1c3RlcnM6IGNvbnRhaW5zPUAuLi4gY2x1c3RlcnMKKyIgQ2x1c3RlcnM6IGNvbnRhaW5zPUAuLi4gY2x1c3RlcnMge3t7MQogIj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KIHN5biBjbHVzdGVyIHNoQ2FzZUVzYWNMaXN0CWNvbnRhaW5zPXNoQ2FzZVN0YXJ0LHNoQ2FzZSxzaENhc2VCYXIsc2hDYXNlSW4sc2hDb21tZW50LHNoRGVyZWYsc2hEZXJlZlNpbXBsZSxzaENhc2VDb21tYW5kU3ViLHNoQ2FzZVNpbmdsZVF1b3RlLHNoQ2FzZURvdWJsZVF1b3RlLHNoU3BlY2lhbAogc3luIGNsdXN0ZXIgc2hDYXNlTGlzdAljb250YWlucz1Ac2hDb21tYW5kU3ViTGlzdCxzaENhc2VFc2FjLHNoQ29sb24sc2hDb21tYW5kU3ViLHNoQ29tbWFuZFN1YixzaENvbW1lbnQsc2hEbyxzaEVjaG8sc2hFeHByLHNoRm9yLHNoSGVyZURvYyxzaElmLHNoUmVkaXIsc2hTZXRMaXN0LHNoU291cmNlLHNoU3RhdGVtZW50LHNoVmFyaWFibGUsYmtzaEZ1bmN0aW9uLHNoU3BlY2lhbApAQCAtNzksNyArODAsNyBAQAogc3luIGNsdXN0ZXIgc2hUZXN0TGlzdAljb250YWlucz1zaENoYXJDbGFzcyxzaENvbW1lbnQsc2hDb21tYW5kU3ViLHNoRGVyZWYsc2hEZXJlZlNpbXBsZSxzaERvdWJsZVF1b3RlLHNoRXhwcixzaEV4cHIsc2hOdW1iZXIsc2hPcGVyYXRvcixzaFNpbmdsZVF1b3RlLHNoU3BlY2lhbCxzaFRlc3RPcHIKIAogCi0iIEVjaG86CisiIEVjaG86IHt7ezEKICIgPT09PQogIiBUaGlzIG9uZSBpcyBuZWVkZWQgSU5TSURFIGEgQ29tbWFuZFN1Yiwgc28gdGhhdCBgZWNobyBibGFgIGJlIGNvcnJlY3QKIHN5biByZWdpb24gc2hFY2hvIG1hdGNoZ3JvdXA9c2hTdGF0ZW1lbnQgc3RhcnQ9Ilw8ZWNob1w+IiAgc2tpcD0iXFwkIiBtYXRjaGdyb3VwPXNoT3BlcmF0b3IgZW5kPSIkIiBtYXRjaGdyb3VwPU5PTkUgZW5kPSJbPD47JnwoKV0ibWU9ZS0xIGVuZD0iXGRbPD5dIm1lPWUtMiBlbmQ9IiMibWU9ZS0xIGNvbnRhaW5zPUBzaEVjaG9MaXN0CkBAIC04OCw3ICs4OSw3IEBACiAiIFRoaXMgbXVzdCBiZSBhZnRlciB0aGUgc3RyaW5ncywgc28gdGhhdCBibGEgXCIgYmUgY29ycmVjdAogc3luIHJlZ2lvbiBzaEVtYmVkZGVkRWNobyBjb250YWluZWQgbWF0Y2hncm91cD1zaFN0YXRlbWVudCBzdGFydD0iXDxwcmludFw+IiBza2lwPSJcXCQiIG1hdGNoZ3JvdXA9c2hPcGVyYXRvciBlbmQ9IiQiIG1hdGNoZ3JvdXA9Tk9ORSBlbmQ9Ils8PjsmfGApXSJtZT1lLTEgZW5kPSJcZFs8Pl0ibWU9ZS0yIGVuZD0iIyJtZT1lLTEgY29udGFpbnM9c2hOdW1iZXIsc2hTaW5nbGVRdW90ZSxzaERlcmVmLHNoRGVyZWZTaW1wbGUsc2hTcGVjaWFsVmFyLHNoU3BlY2lhbCxzaE9wZXJhdG9yLHNoRG91YmxlUXVvdGUsc2hDaGFyQ2xhc3MKIAotIiBBbGlhczoKKyIgQWxpYXM6IHt7ezEKICIgPT09PT0KIGlmIGV4aXN0cygiYjppc19rb3Juc2hlbGwiKSB8fCBleGlzdHMoImI6aXNfYmFzaCIpCiAgc3luIG1hdGNoIHNoU3RhdGVtZW50ICJcPGFsaWFzXD4iCkBAIC05Niw4ICs5Nyw4IEBACiAgc3luIHJlZ2lvbiBzaEFsaWFzIG1hdGNoZ3JvdXA9c2hTdGF0ZW1lbnQgc3RhcnQ9Ilw8YWxpYXNcPlxzXCtcKFx3XCs9XClcQD0iIHNraXA9IlxcJCIgZW5kPSI9IgogZW5kaWYKIAotIiBFcnJvciBDb2RlcwotIiA9PT09PT09PT09PQorIiBFcnJvciBDb2Rlczoge3t7MQorIiA9PT09PT09PT09PT0KIHN5biBtYXRjaCAgIHNoRG9FcnJvciAiXDxkb25lXD4iCiBzeW4gbWF0Y2ggICBzaElmRXJyb3IgIlw8ZmlcPiIKIHN5biBtYXRjaCAgIHNoSW5FcnJvciAiXDxpblw+IgpAQCAtMTEwLDI1ICsxMTEsMjUgQEAKIGVuZGlmCiBzeW4gbWF0Y2ggICAgIHNoVGVzdEVycm9yICJdIgogCi0iIE9wdGlvbnMgaW50ZXJjZXB0b3IKLSIgPT09PT09PT09PT09PT09PT09PQorIiBPcHRpb25zIEludGVyY2VwdG9yOiB7e3sxCisiID09PT09PT09PT09PT09PT09PT09CiBzeW4gbWF0Y2ggICBzaE9wdGlvbiAgIlxzW1wtK11bYS16QS1aMC05XVwrXD4ibXM9cysxCiBzeW4gbWF0Y2ggICBzaE9wdGlvbiAgIlxzLS1cU1wrIm1zPXMrMQogCi0iIE9wZXJhdG9yczoKLSIgPT09PT09PT09CisiIE9wZXJhdG9yczoge3t7MQorIiA9PT09PT09PT09CiBzeW4gbWF0Y2ggICBzaE9wZXJhdG9yCSJbISY7fF0iCiBzeW4gbWF0Y2ggICBzaE9wZXJhdG9yCSJcW1tbXjpdXHxcXV0iCiBzeW4gbWF0Y2ggICBzaE9wZXJhdG9yCSIhXD09IgkJc2tpcHdoaXRlIG5leHRncm91cD1zaFBhdHRlcm4KIHN5biBtYXRjaCAgIHNoUGF0dGVybgkiXDxcU1wrXCgpKVwpXEA9Igljb250YWluZWQgY29udGFpbnM9c2hTaW5nbGVRdW90ZSxzaERvdWJsZVF1b3RlLHNoRGVyZWYKIAotIiBTdWJzaGVsbHM6Ci0iID09PT09PT09PQorIiBTdWJzaGVsbHM6IHt7ezEKKyIgPT09PT09PT09PQogc3luIHJlZ2lvbiBzaEV4cHIgIHRyYW5zcGFyZW50IG1hdGNoZ3JvdXA9c2hFeHByUmVnaW9uICBzdGFydD0ieyIgZW5kPSJ9Igljb250YWlucz1Ac2hFeHByTGlzdDIKIHN5biByZWdpb24gc2hTdWJTaCB0cmFuc3BhcmVudCBtYXRjaGdyb3VwPXNoU3ViU2hSZWdpb24gc3RhcnQ9IigiIGVuZD0iKSIJY29udGFpbnM9QHNoU3ViU2hMaXN0CiAKLSIgVGVzdHMKLSI9PT09PT0KKyIgVGVzdHM6IHt7ezEKKyI9PT09PT09CiAic3luIHJlZ2lvbiAgc2hFeHByIHRyYW5zcGFyZW50IG1hdGNoZ3JvdXA9c2hSYW5nZSBzdGFydD0iXFsiIHNraXA9K1xcXFxcfFxcJCsgZW5kPSJcXSIgY29udGFpbnM9QHNoVGVzdExpc3QKIHN5biByZWdpb24gIHNoRXhwciBtYXRjaGdyb3VwPXNoUmFuZ2Ugc3RhcnQ9IlxbIiBza2lwPStcXFxcXHxcXCQrIGVuZD0iXF0iIGNvbnRhaW5zPUBzaFRlc3RMaXN0CiBzeW4gcmVnaW9uICBzaEV4cHIgdHJhbnNwYXJlbnQgbWF0Y2hncm91cD1zaFN0YXRlbWVudCBzdGFydD0iXDx0ZXN0XD4iIHNraXA9K1xcXFxcfFxcJCsgbWF0Y2hncm91cD1OT05FIGVuZD0iWzsmfF0ibWU9ZS0xIGVuZD0iJCIgY29udGFpbnM9QHNoRXhwckxpc3QxCkBAIC0xMzgsMTIgKzEzOSwxMiBAQAogIHN5biByZWdpb24gIHNoRGJsUGFyZW4gbWF0Y2hncm91cD1EZWxpbWl0ZXIgc3RhcnQ9IigoIiBza2lwPStcXFxcXHxcXCQrIGVuZD0iKSkiCWNvbnRhaW5zPUBzaFRlc3RMaXN0CiBlbmRpZgogCi0iIENoYXJhY3RlciBDbGFzcyBpbiBSYW5nZQotIiA9PT09PT09PT09PT09PT09PT09PT09PT0KKyIgQ2hhcmFjdGVyIENsYXNzIEluIFJhbmdlOiB7e3sxCisiID09PT09PT09PT09PT09PT09PT09PT09PT0KIHN5biBtYXRjaCAgIHNoQ2hhckNsYXNzCWNvbnRhaW5lZAkiXFs6XChiYWNrc3BhY2VcfGVzY2FwZVx8cmV0dXJuXHx4ZGlnaXRcfGFsbnVtXHxhbHBoYVx8YmxhbmtcfGNudHJsXHxkaWdpdFx8Z3JhcGhcfGxvd2VyXHxwcmludFx8cHVuY3RcfHNwYWNlXHx1cHBlclx8dGFiXCk6XF0iCiAKLSIgTG9vcHM6IGRvLCBpZiwgd2hpbGUsIHVudGlsCi0iID09PT09CisiIExvb3BzOiBkbywgaWYsIHdoaWxlLCB1bnRpbCB7e3sxCisiID09PT09PQogc3luIHJlZ2lvbiBzaERvCQl0cmFuc3BhcmVudCBtYXRjaGdyb3VwPXNoQ29uZGl0aW9uYWwgc3RhcnQ9Ilw8ZG9cPiIgbWF0Y2hncm91cD1zaENvbmRpdGlvbmFsIGVuZD0iXDxkb25lXD4iIGNvbnRhaW5zPUBzaExvb3BMaXN0CiBzeW4gcmVnaW9uIHNoSWYJCXRyYW5zcGFyZW50IG1hdGNoZ3JvdXA9c2hDb25kaXRpb25hbCBzdGFydD0iXDxpZlw+IiBtYXRjaGdyb3VwPXNoQ29uZGl0aW9uYWwgZW5kPSJcPDtcX3MqdGhlblw+IiBlbmQ9Ilw8ZmlcPiIgICBjb250YWlucz1Ac2hMb29wTGlzdCxzaERibEJyYWNlLHNoRGJsUGFyZW4KIHN5biByZWdpb24gc2hGb3IJbWF0Y2hncm91cD1zaExvb3Agc3RhcnQ9Ilw8Zm9yXD4iIGVuZD0iXDxpblw+IiBlbmQ9Ilw8ZG9cPiJtZT1lLTIJY29udGFpbnM9QHNoTG9vcExpc3Qsc2hEYmxQYXJlbgpAQCAtMTU3LDcgKzE1OCw3IEBACiAgc3luIHJlZ2lvbiBzaFJlcGVhdCAgIG1hdGNoZ3JvdXA9c2hMb29wICAgc3RhcnQ9Ilw8dW50aWxcPiIgZW5kPSJcPGRvXD4ibWU9ZS0yCQljb250YWlucz1Ac2hMb29wTGlzdAogZW5kaWYKIAotIiBDYXNlOiBjYXNlLi4uZXNhYworIiBDYXNlOiBjYXNlLi4uZXNhYyB7e3sxCiAiID09PT0KIHN5biBtYXRjaCAgIHNoQ2FzZUJhcgljb250YWluZWQgc2tpcHdoaXRlICJbXnwiYCcoKV1cey19fCJocz1lCQluZXh0Z3JvdXA9c2hDYXNlLHNoQ2FzZVN0YXJ0LHNoQ2FzZUJhcixzaENvbW1lbnQsc2hDYXNlU2luZ2xlUXVvdGUsc2hDYXNlRG91YmxlUXVvdGUKIHN5biBtYXRjaCAgIHNoQ2FzZVN0YXJ0CWNvbnRhaW5lZCBza2lwd2hpdGUgc2tpcG5sICIoIgkJCW5leHRncm91cD1zaENhc2Usc2hDYXNlQmFyCkBAIC0xNjgsMTEgKzE2OSwxMiBAQAogc3luIHJlZ2lvbiAgc2hDYXNlRG91YmxlUXVvdGUJbWF0Y2hncm91cD1zaE9wZXJhdG9yIHN0YXJ0PSsiKyBza2lwPStcXFxcXHxcXC4rIGVuZD0rIisJY29udGFpbnM9QHNoRGJsUXVvdGVMaXN0LHNoU3RyaW5nU3BlY2lhbAlza2lwd2hpdGUgc2tpcG5sIG5leHRncm91cD1zaENhc2VCYXIJY29udGFpbmVkCiBzeW4gcmVnaW9uICBzaENhc2VDb21tYW5kU3ViCXN0YXJ0PStgKyBza2lwPStcXFxcXHxcXC4rIGVuZD0rYCsJCWNvbnRhaW5zPUBzaENvbW1hbmRTdWJMaXN0CQlza2lwd2hpdGUgc2tpcG5sIG5leHRncm91cD1zaENhc2VCYXIJY29udGFpbmVkCiAKLSIgTWlzYwotIj09PT09CisiIE1pc2M6IHt7ezEKKyI9PT09PT0KIHN5biBtYXRjaCAgIHNoV3JhcExpbmVPcGVyYXRvciAiXFwkIgogc3luIHJlZ2lvbiAgc2hDb21tYW5kU3ViICAgc3RhcnQ9ImAiIHNraXA9IlxcXFxcfFxcLiIgZW5kPSJgIiBjb250YWlucz1Ac2hDb21tYW5kU3ViTGlzdAogCisiICQoKSBhbmQgJCgoKSk6IHt7ezEKICIgJCguLikgaXMgbm90IHN1cHBvcnRlZCBieSBzaCAoQm91cm5lIHNoZWxsKS4gIEhvd2V2ZXIsIGFwcGFyZW50bHkKICIgc29tZSBzeXN0ZW1zIChIUD8pIGhhdmUgYXMgdGhlaXIgL2Jpbi9zaCBhIChsaW5rIHRvKSBLb3JuIHNoZWxsCiAiIChpZS4gUG9zaXggY29tcGxpYW50IHNoZWxsKS4gIC9iaW4va3NoIHNob3VsZCB3b3JrIGZvciB0aG9zZQpAQCAtMjA1LDggKzIwNyw4IEBACiBzeW4gbWF0Y2ggICBzaFNvdXJjZQkiXHNcLlxzIgogc3luIHJlZ2lvbiAgc2hDb2xvbglzdGFydD0iXlxzKjoiIGVuZD0iJFx8IiBlbmQ9IiMibWU9ZS0xIGNvbnRhaW5zPUBzaENvbG9uTGlzdAogCi0iIFN0cmluZyBhbmQgQ2hhcmFjdGVyIGNvbnN0YW50cwotIj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KKyIgU3RyaW5nIEFuZCBDaGFyYWN0ZXIgQ29uc3RhbnRzOiB7e3sxCisiPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KIHN5biBtYXRjaCAgIHNoTnVtYmVyCSItXD1cPFxkXCtcPiIKIHN5biBtYXRjaCAgIHNoU3BlY2lhbAkiXFxcZFxkXGRcfFxcW2FiY2ZucnR2MF0iCWNvbnRhaW5lZAogc3luIHJlZ2lvbiAgc2hTaW5nbGVRdW90ZQltYXRjaGdyb3VwPXNoT3BlcmF0b3Igc3RhcnQ9KycrIGVuZD0rJysJCWNvbnRhaW5zPXNoU3RyaW5nU3BlY2lhbApAQCAtMjE0LDIwICsyMTYsMjEgQEAKIHN5biBtYXRjaCAgIHNoU3RyaW5nU3BlY2lhbAkiW15bOnByaW50Ol1dIgljb250YWluZWQKIHN5biBtYXRjaCAgIHNoU3BlY2lhbAkiXFxbXFxcIlwnYCQoKSNdIgogCi0iIENvbW1lbnRzCi0iPT09PT09PT09CisiIENvbW1lbnRzOiB7e3sxCisiPT09PT09PT09PQogc3luIGNsdXN0ZXIgICAgc2hDb21tZW50R3JvdXAJY29udGFpbnM9c2hUb2RvLEBTcGVsbAogc3luIGtleXdvcmQgICAgc2hUb2RvCWNvbnRhaW5lZAlUT0RPCiBzeW4gbWF0Y2ggICAgICBzaENvbW1lbnQJIiMuKiQiIGNvbnRhaW5zPUBzaENvbW1lbnRHcm91cAogCi0iIEZpbGUgcmVkaXJlY3Rpb24gaGlnaGxpZ2h0ZWQgYXMgb3BlcmF0b3JzCi0iPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CisiIEZpbGUgUmVkaXJlY3Rpb24gSGlnaGxpZ2h0ZWQgQXMgT3BlcmF0b3JzOiB7e3sxCisiPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQogc3luIG1hdGNoICAgICAgc2hSZWRpcgkiXGRcPT5cKCZbLTAtOV1cKVw9Igogc3luIG1hdGNoICAgICAgc2hSZWRpcgkiXGRcPT4+LVw9Igogc3luIG1hdGNoICAgICAgc2hSZWRpcgkiXGRcPTxcKCZbLTAtOV1cKVw9Igogc3luIG1hdGNoICAgICAgc2hSZWRpcgkiXGQ8PC1cPSIKIAotIiBTaGVsbCBJbnB1dCBSZWRpcmVjdGlvbiAoSGVyZSBEb2N1bWVudHMpCisiIEhlcmUgRG9jdW1lbnRzOiB7e3sxCisiID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CiBpZiB2ZXJzaW9uIDwgNjAwCiAgc3luIHJlZ2lvbiBzaEhlcmVEb2MgbWF0Y2hncm91cD1zaFJlZGlyIHN0YXJ0PSI8PFxzKlwqKkVORFthLXpBLVpfMC05XSpcKioiICBtYXRjaGdyb3VwPXNoUmVkaXIgZW5kPSJeRU5EW2EtekEtWl8wLTldKiQiIGNvbnRhaW5zPUBzaERibFF1b3RlTGlzdAogIHN5biByZWdpb24gc2hIZXJlRG9jIG1hdGNoZ3JvdXA9c2hSZWRpciBzdGFydD0iPDwtXHMqXCoqRU5EW2EtekEtWl8wLTldKlwqKiIgbWF0Y2hncm91cD1zaFJlZGlyIGVuZD0iXlxzKkVORFthLXpBLVpfMC05XSokIiBjb250YWlucz1Ac2hEYmxRdW90ZUxpc3QKQEAgLTI5OCwxMyArMzAxLDE2IEBACiAgIHN5biBtYXRjaCAgc2hCZWdpbkxpbmUgIi4qJCIJCWNvbnRhaW5lZAlza2lwbmwJbmV4dGdyb3VwPXNoSGVyZVBheWxvYWQJY29udGFpbnM9QHNoQ29tbWFuZFN1Ykxpc3QKICAgc3luIG1hdGNoICBzaEJlZ2luSGVyZSAiPDwtXD1ccypcU1wrIgljb250YWluZWQJCW5leHRncm91cD1zaEJlZ2luTGluZQogIGVuZGlmCi0gaWYgZXhpc3RzKCJiOmlzX2Jhc2giKQotICBzeW4gbWF0Y2ggc2hSZWRpciAiPDw8IgotIGVuZGlmCiBlbmRpZgogCi0iIElkZW50aWZpZXJzCi0iPT09PT09PT09PT09CisiIEhlcmUgU3RyaW5nczoge3t7MQorIiA9PT09PT09PT09PT09CitpZiBleGlzdHMoImI6aXNfYmFzaCIpCisgc3luIG1hdGNoIHNoUmVkaXIgIjw8PCIKK2VuZGlmCisKKyIgSWRlbnRpZmllcnM6IHt7ezEKKyI9PT09PT09PT09PT09CiBzeW4gbWF0Y2ggIHNoVmFyaWFibGUgIlw8XChbYndnbHNhdl06XClcPVthLXpBLVowLTkuIUBfJSssXSpcemU9IgluZXh0Z3JvdXA9c2hTZXRJZGVudGlmaWVyCiBzeW4gbWF0Y2ggIHNoSWRXaGl0ZVNwYWNlICBjb250YWluZWQJIlxzIgogc3luIG1hdGNoICBzaFNldElkZW50aWZpZXIgY29udGFpbmVkCSI9IgluZXh0Z3JvdXA9c2hQYXR0ZXJuLHNoRGVyZWYsc2hEZXJlZlNpbXBsZSxzaERvdWJsZVF1b3RlLHNoU2luZ2xlUXVvdGUKQEAgLTMyMSw2ICszMjcsNyBAQAogICBzeW4gbWF0Y2ggIHNoU3RhdGVtZW50ICJcPFwoc2V0XHxleHBvcnRcfHVuc2V0XCkkIgogZW5kaWYKIAorIiBGdW5jdGlvbnM6IHt7ezEKICIgaGFuZGxlcyBmdW5jdGlvbnMgd2hpY2ggc3RhcnQ6ICBGdW5jdGlvbiAoKSB7CiAiICAgQXBwYXJlbnRseSBCb3VybmUgc2hlbGwgYWNjZXB0cyBmdW5jdGlvbnMgdG9vLAogIiAgIGV2ZW4gdGhvdWdoIGl0IGlzbid0IGRvY3VtZW50ZWQgYnkgbXkgbWFuIHBhZ2VzCkBAIC0zMzUsOCArMzQyLDggQEAKIHN5biBtYXRjaCBia3NoRnVuY3Rpb25QYXJlbgkiWygpXSIJY29udGFpbmVkCiBzeW4gbWF0Y2ggYmtzaEZ1bmN0aW9uRGVsaW0JIlt7fV0iCWNvbnRhaW5lZAogCi0iIFBhcmFtZXRlciBEZXJlZmVyZW5jaW5nCi0iID09PT09PT09PT09PT09PT09PT09PT09CisiIFBhcmFtZXRlciBEZXJlZmVyZW5jaW5nOiB7e3sxCisiID09PT09PT09PT09PT09PT09PT09PT09PQogc3luIG1hdGNoICBzaERlcmVmU2ltcGxlCSJcJFx3XCsiCiBzeW4gcmVnaW9uIHNoRGVyZWYJbWF0Y2hncm91cD1QcmVQcm9jIHN0YXJ0PSJcJHsiIGVuZD0ifSIJY29udGFpbnM9QHNoRGVyZWZMaXN0LHNoRGVyZWZWYXJBcnJheQogc3luIG1hdGNoICBzaERlcmVmV29yZEVycm9yCSJbXn0kW10iCWNvbnRhaW5lZApAQCAtMzQ2LDggKzM1Myw4IEBACiAgc3luIHJlZ2lvbiBzaERlcmVmCW1hdGNoZ3JvdXA9UHJlUHJvYyBzdGFydD0iXCR7IyNcPSIgZW5kPSJ9Igljb250YWlucz1Ac2hEZXJlZkxpc3QKIGVuZGlmCiAKLSIgYmFzaCA6ICR7IXByZWZpeCp9Ci0iIGJhc2ggOiAkeyNwYXJhbWV0ZXJ9CisiIGJhc2g6ICR7IXByZWZpeCp9IGFuZCAkeyNwYXJhbWV0ZXJ9OiB7e3sxCisiID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQogaWYgZXhpc3RzKCJiOmlzX2Jhc2giKQogIHN5biByZWdpb24gc2hEZXJlZgltYXRjaGdyb3VwPVByZVByb2Mgc3RhcnQ9IlwkeyEiIGVuZD0iXCpcPX0iCWNvbnRhaW5zPUBzaERlcmVmTGlzdCxzaERlcmVmT3AKICBzeW4gbWF0Y2ggIHNoRGVyZWZWYXIJY29udGFpbmVkCSJ7XEA8PSFcd1wrIgkJbmV4dGdyb3VwPUBzaERlcmVmVmFyTGlzdApAQCAtMzU3LDkgKzM2NCwxMCBAQAogc3luIG1hdGNoICBzaERlcmVmU3BlY2lhbAljb250YWluZWQJIlwoe1sjIV1cKVxAPD1bWzphbG51bTpdKkBfXVwrIgluZXh0Z3JvdXA9QHNoRGVyZWZWYXJMaXN0LHNoRGVyZWZPcAogc3luIG1hdGNoICBzaERlcmVmVmFyCWNvbnRhaW5lZAkie1xAPD1cd1wrIgkJbmV4dGdyb3VwPUBzaERlcmVmVmFyTGlzdAogCi0iIHNoIGtzaCBiYXNoIDogJHt2YXJbLi4uIF0uLi59ICBhcnJheSByZWZlcmVuY2UKKyIgc2gga3NoIGJhc2ggOiAke3ZhclsuLi4gXS4uLn0gIGFycmF5IHJlZmVyZW5jZToge3t7MQogc3luIHJlZ2lvbiAgc2hEZXJlZlZhckFycmF5ICAgY29udGFpbmVkCW1hdGNoZ3JvdXA9c2hEZXJlZiBzdGFydD0iXFsiIGVuZD0iXSIJY29udGFpbnM9QHNoQ29tbWFuZFN1Ykxpc3QgbmV4dGdyb3VwPXNoRGVyZWZPcCxzaERlcmVmT3BFcnJvcgogCisiIFNwZWNpYWwgJHtwYXJhbWV0ZXIgT1BFUkFUT1Igd29yZH0gaGFuZGxpbmc6IHt7ezEKICIgc2gga3NoIGJhc2ggOiAke3BhcmFtZXRlcjotd29yZH0gICAgd29yZCBpcyBkZWZhdWx0IHZhbHVlCiAiIHNoIGtzaCBiYXNoIDogJHtwYXJhbWV0ZXI6PXdvcmR9ICAgIGFzc2lnbiB3b3JkIGFzIGRlZmF1bHQgdmFsdWUKICIgc2gga3NoIGJhc2ggOiAke3BhcmFtZXRlcjo/d29yZH0gICAgZGlzcGxheSB3b3JkIGlmIHBhcmFtZXRlciBpcyBudWxsCkBAIC0zOTUsMTUgKzQwMywyMCBAQAogIHN5biBtYXRjaCAgc2hEZXJlZlBhdFN0cmluZwljb250YWluZWQJIltefV1cezEsfSIKIGVuZGlmCiAKLSIgQSBidW5jaCBvZiB1c2VmdWwgc2gga2V5d29yZHMKKyIgVXNlZnVsIHNoIEtleXdvcmRzOiB7e3sxCisiID09PT09PT09PT09PT09PT09PT0KIHN5biBrZXl3b3JkIHNoU3RhdGVtZW50IGJyZWFrIGNkIGNoZGlyIGNvbnRpbnVlIGV2YWwgZXhlYyBleGl0IGtpbGwgbmV3Z3JwIHB3ZCByZWFkIHJlYWRvbmx5IHJldHVybiBzaGlmdCB0ZXN0IHRyYXAgdWxpbWl0IHVtYXNrIHdhaXQKIHN5biBrZXl3b3JkIHNoQ29uZGl0aW9uYWwgY29udGFpbmVkIGVsaWYgZWxzZSB0aGVuCiBzeW4ga2V5d29yZCBzaENvbmRFcnJvciBlbGlmIGVsc2UgdGhlbgogCisiIFVzZWZ1bCBrc2ggS2V5d29yZHM6IHt7ezEKKyIgPT09PT09PT09PT09PT09PT09PT0KIGlmIGV4aXN0cygiYjppc19rb3Juc2hlbGwiKSB8fCBleGlzdHMoImI6aXNfYmFzaCIpCiAgc3luIGtleXdvcmQgc2hGdW5jdGlvbglmdW5jdGlvbgogIHN5biBrZXl3b3JkIHNoU3RhdGVtZW50IGF1dG9sb2FkIGJnIGZhbHNlIGZjIGZnIGZ1bmN0aW9ucyBnZXRvcHRzIGhhc2ggaGlzdG9yeSBpbnRlZ2VyIGpvYnMgbGV0IG5vaHVwIHByaW50IHByaW50ZiByIHN0b3Agc3VzcGVuZCB0aW1lIHRpbWVzIHRydWUgdHlwZSB1bmFsaWFzIHdoZW5jZQogCisiIFVzZWZ1bCBiYXNoIEtleXdvcmRzOiB7e3sxCisiID09PT09PT09PT09PT09PT09PT09PQogIGlmIGV4aXN0cygiYjppc19iYXNoIikKICAgc3luIGtleXdvcmQgc2hTdGF0ZW1lbnQgYmluZCBidWlsdGluIGRpcnMgZGlzb3duIGVuYWJsZSBoZWxwIGxvY2FsIGxvZ291dCBwb3BkIHB1c2hkIHNob3B0IHNvdXJjZQogIGVsc2UKQEAgLTQxMSw4ICs0MjQsOCBAQAogIGVuZGlmCiBlbmRpZgogCi0iIFN5bmNzCi0iID09PT09CisiIFN5bmNocm9uaXphdGlvbjoge3t7MQorIiA9PT09PT09PT09PT09PT09CiBpZiAhZXhpc3RzKCJzaF9taW5saW5lcyIpCiAgIGxldCBzaF9taW5saW5lcyA9IDIwMAogZW5kaWYKQEAgLTQzMSw3ICs0NDQsOCBAQAogc3luIHN5bmMgbWF0Y2ggc2hVbnRpbFN5bmMJZ3JvdXBoZXJlCXNoUmVwZWF0CSJcPHVudGlsXD4iCiBzeW4gc3luYyBtYXRjaCBzaFdoaWxlU3luYwlncm91cGhlcmUJc2hSZXBlYXQJIlw8d2hpbGVcPiIKIAotIiBUaGUgZGVmYXVsdCBoaWdobGlnaHRpbmcuCisiIERlZmF1bHQgSGlnaGxpZ2h0aW5nOiB7e3sxCisiID09PT09PT09PT09PT09PT09PT09PQogaGkgZGVmIGxpbmsgc2hBcml0aFJlZ2lvbglzaFNoZWxsVmFyaWFibGVzCiBoaSBkZWYgbGluayBzaENhc2VCYXIJc2hDb25kaXRpb25hbAogaGkgZGVmIGxpbmsgc2hDYXNlSW4Jc2hDb25kaXRpb25hbApAQCAtNTI1LDggKzUzOSw4IEBACiBoaSBkZWYgbGluayBzaFRvZG8JCVRvZG8KIGhpIGRlZiBsaW5rIHNoQWxpYXMJCUlkZW50aWZpZXIKIAotIiBDdXJyZW50IFN5bnRheAotIiA9PT09PT09PT09PT09PQorIiBTZXQgQ3VycmVudCBTeW50YXg6IHt7ezEKKyIgPT09PT09PT09PT09PT09PT09PQogaWYgZXhpc3RzKCJiOmlzX2Jhc2giKQogIGxldCBiOmN1cnJlbnRfc3ludGF4ID0gImJhc2giCiBlbHNlaWYgZXhpc3RzKCJiOmlzX2tvcm5zaGVsbCIpCkBAIC01MzUsNCArNTQ5LDQgQEAKICBsZXQgYjpjdXJyZW50X3N5bnRheCA9ICJzaCIKIGVuZGlmCiAKLSIgdmltOiB0cz0xNgorIiB2aW06IHRzPTE2IGZkbT1tYXJrZXIKZGlmZiAtLWdpdCBhL3J1bnRpbWUvc3ludGF4L3NxbGluZm9ybWl4LnZpbSBiL3J1bnRpbWUvc3ludGF4L3NxbGluZm9ybWl4LnZpbQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5iNGQwMjM2Ci0tLSAvZGV2L251bGwKKysrIGIvcnVudGltZS9zeW50YXgvc3FsaW5mb3JtaXgudmltCkBAIC0wLDAgKzEsMTk2IEBACisiIFZpbSBzeW50YXggZmlsZQorIiBJbmZvcm1peCBTdHJ1Y3R1cmVkIFF1ZXJ5IExhbmd1YWdlIChTUUwpIGFuZCBTdG9yZWQgUHJvY2VkdXJlIExhbmd1YWdlIChTUEwpCisiIExhbmd1YWdlOglTUUwsIFNQTCAoSW5mb3JtaXggRHluYW1pYyBTZXJ2ZXIgMjAwMCB2OS4yKQorIiBNYWludGFpbmVyOglEZWFuIEhpbGwgPGRoaWxsQGhvdG1haWwuY29tPgorIiBMYXN0IENoYW5nZToJMjAwNCBBdWcgMzAKKworIiBGb3IgdmVyc2lvbiA1Lng6IENsZWFyIGFsbCBzeW50YXggaXRlbXMKKyIgRm9yIHZlcnNpb24gNi54OiBRdWl0IHdoZW4gYSBzeW50YXggZmlsZSB3YXMgYWxyZWFkeSBsb2FkZWQKK2lmIHZlcnNpb24gPCA2MDAKKyAgc3ludGF4IGNsZWFyCitlbHNlaWYgZXhpc3RzKCJiOmN1cnJlbnRfc3ludGF4IikKKyAgZmluaXNoCitlbmRpZgorCitzeW4gY2FzZSBpZ25vcmUKKworCisKKyIgPT09IENvbW1lbnQgc3ludGF4IGdyb3VwID09PQorc3luIHJlZ2lvbiBzcWxDb21tZW50ICAgIHN0YXJ0PSJ7IiAgZW5kPSJ9IiBjb250YWlucz1zcWxUb2RvCitzeW4gbWF0Y2ggc3FsQ29tbWVudAkiLS0uKiQiIGNvbnRhaW5zPXNxbFRvZG8KK3N5biBzeW5jIGNjb21tZW50IHNxbENvbW1lbnQKKworCisKKyIgPT09IENvbnN0YW50IHN5bnRheCBncm91cCA9PT0KKyIgPSBCb29sZWFuIHN1Ymdyb3VwID0KK3N5biBrZXl3b3JkIHNxbEJvb2xlYW4gIHRydWUgZmFsc2UKK3N5biBrZXl3b3JkIHNxbEJvb2xlYW4gIG51bGwKK3N5biBrZXl3b3JkIHNxbEJvb2xlYW4gIHB1YmxpYyB1c2VyCitzeW4ga2V5d29yZCBzcWxCb29sZWFuICBjdXJyZW50IHRvZGF5CitzeW4ga2V5d29yZCBzcWxCb29sZWFuICB5ZWFyIG1vbnRoIGRheSBob3VyIG1pbnV0ZSBzZWNvbmQgZnJhY3Rpb24KKworIiA9IFN0cmluZyBzdWJncm91cCA9CitzeW4gcmVnaW9uIHNxbFN0cmluZwkJc3RhcnQ9KyIrICBlbmQ9KyIrCitzeW4gcmVnaW9uIHNxbFN0cmluZwkJc3RhcnQ9KycrICBlbmQ9KycrCisKKyIgPSBOdW1iZXJzIHN1Ymdyb3VwID0KK3N5biBtYXRjaCBzcWxOdW1iZXIJCSItXD1cPFxkKlwuXD1bMC05X11cPiIKKworCisKKyIgPT09IFN0YXRlbWVudCBzeW50YXggZ3JvdXAgPT09CisiIFNRTAorc3luIGtleXdvcmQgc3FsU3RhdGVtZW50IGFsbG9jYXRlIGFsdGVyCitzeW4ga2V5d29yZCBzcWxTdGF0ZW1lbnQgYmVnaW4KK3N5biBrZXl3b3JkIHNxbFN0YXRlbWVudCBjbG9zZSBjb21taXQgY29ubmVjdCBjcmVhdGUKK3N5biBrZXl3b3JkIHNxbFN0YXRlbWVudCBkYXRhYmFzZSBkZWFsbG9jYXRlIGRlY2xhcmUgZGVsZXRlIGRlc2NyaWJlIGRpc2Nvbm5lY3QgZHJvcAorc3luIGtleXdvcmQgc3FsU3RhdGVtZW50IGV4ZWN1dGUgZmV0Y2ggZmx1c2ggZnJlZSBnZXQgZ3JhbnQgaW5mbyBpbnNlcnQKK3N5biBrZXl3b3JkIHNxbFN0YXRlbWVudCBsb2FkIGxvY2sgb3BlbiBvdXRwdXQKK3N5biBrZXl3b3JkIHNxbFN0YXRlbWVudCBwcmVwYXJlIHB1dAorc3luIGtleXdvcmQgc3FsU3RhdGVtZW50IHJlbmFtZSByZXZva2Ugcm9sbGJhY2sgc2VsZWN0IHNldCBzdGFydCBzdG9wCitzeW4ga2V5d29yZCBzcWxTdGF0ZW1lbnQgdHJ1bmNhdGUgdW5sb2FkIHVubG9jayB1cGRhdGUKK3N5biBrZXl3b3JkIHNxbFN0YXRlbWVudCB3aGVuZXZlcgorIiBTUEwKK3N5biBrZXl3b3JkIHNxbFN0YXRlbWVudCBjYWxsIGNvbnRpbnVlIGRlZmluZQorc3luIGtleXdvcmQgc3FsU3RhdGVtZW50IGV4aXQKK3N5biBrZXl3b3JkIHNxbFN0YXRlbWVudCBsZXQKK3N5biBrZXl3b3JkIHNxbFN0YXRlbWVudCByZXR1cm4gc3lzdGVtIHRyYWNlCisKKyIgPSBDb25kaXRpb25hbCBzdWJncm91cCA9CisiIFNQTAorc3luIGtleXdvcmQgc3FsQ29uZGl0aW9uYWwgZWxpZiBlbHNlIGlmIHRoZW4KK3N5biBrZXl3b3JkIHNxbENvbmRpdGlvbmFsIGNhc2UKKyIgSGlnaGxpZ2h0ICJlbmQgaWYiIHdpdGggb25lIG9yIG1vcmUgc2VwYXJhdGluZyBzcGFjZXMKK3N5biBtYXRjaCAgc3FsQ29uZGl0aW9uYWwgImVuZCBcK2lmIgorCisiID0gUmVwZWF0IHN1Ymdyb3VwID0KKyIgU1FML1NQTAorIiBIYW5kbGUgU1FMIHRyaWdnZXJzJyAiZm9yIGVhY2ggcm93IiBjbGF1c2UgYW5kIFNQTCAiZm9yIiBsb29wCitzeW4gbWF0Y2ggIHNxbFJlcGVhdCAiZm9yXCggXCtlYWNoIFwrcm93XClcPSIKKyIgU1BMCitzeW4ga2V5d29yZCBzcWxSZXBlYXQgZm9yZWFjaCB3aGlsZQorIiBIaWdobGlnaHQgImVuZCBmb3IiLCBldGMuIHdpdGggb25lIG9yIG1vcmUgc2VwYXJhdGluZyBzcGFjZXMKK3N5biBtYXRjaCAgc3FsUmVwZWF0ICJlbmQgXCtmb3IiCitzeW4gbWF0Y2ggIHNxbFJlcGVhdCAiZW5kIFwrZm9yZWFjaCIKK3N5biBtYXRjaCAgc3FsUmVwZWF0ICJlbmQgXCt3aGlsZSIKKworIiA9IEV4Y2VwdGlvbiBzdWJncm91cCA9CisiIFNQTAorc3luIG1hdGNoICBzcWxFeGNlcHRpb24gIm9uIFwrZXhjZXB0aW9uIgorc3luIG1hdGNoICBzcWxFeGNlcHRpb24gImVuZCBcK2V4Y2VwdGlvbiIKK3N5biBtYXRjaCAgc3FsRXhjZXB0aW9uICJlbmQgXCtleGNlcHRpb24gXCt3aXRoIFwrcmVzdW1lIgorc3luIG1hdGNoICBzcWxFeGNlcHRpb24gInJhaXNlIFwrZXhjZXB0aW9uIgorCisiID0gS2V5d29yZCBzdWJncm91cCA9CisiIFNRTAorc3luIGtleXdvcmQgc3FsS2V5d29yZCBhZ2dyZWdhdGUgYWRkIGFzIGF1dGhvcml6YXRpb24gYXV0b2ZyZWUgYnkKK3N5biBrZXl3b3JkIHNxbEtleXdvcmQgY2FjaGUgY2FzY2FkZSBjaGVjayBjbHVzdGVyIGNvbGxhdGlvbgorc3luIGtleXdvcmQgc3FsS2V5d29yZCBjb2x1bW4gY29ubmVjdGlvbiBjb25zdHJhaW50IGNyb3NzCitzeW4ga2V5d29yZCBzcWxLZXl3b3JkIGRhdGFza2lwIGRlYnVnIGRlZmF1bHQgZGVmZXJyZWRfcHJlcGFyZQorc3luIGtleXdvcmQgc3FsS2V5d29yZCBkZXNjcmlwdG9yIGRpYWdub3N0aWNzCitzeW4ga2V5d29yZCBzcWxLZXl3b3JkIGVhY2ggZXNjYXBlIGV4cGxhaW4gZXh0ZXJuYWwKK3N5biBrZXl3b3JkIHNxbEtleXdvcmQgZmlsZSBmb3JlaWduIGZyYWdtZW50IGZyb20gZnVuY3Rpb24KK3N5biBrZXl3b3JkIHNxbEtleXdvcmQgZ3JvdXAgaGF2aW5nCitzeW4ga2V5d29yZCBzcWxLZXl3b3JkIGltbWVkaWF0ZSBpbmRleCBpbm5lciBpbnRvIGlzb2xhdGlvbgorc3luIGtleXdvcmQgc3FsS2V5d29yZCBqb2luIGtleQorc3luIGtleXdvcmQgc3FsS2V5d29yZCBsZWZ0IGxldmVsIGxvZworc3luIGtleXdvcmQgc3FsS2V5d29yZCBtb2RlIG1vZGlmeSBtb3VudGluZyBuZXcgbm8KK3N5biBrZXl3b3JkIHNxbEtleXdvcmQgb2JqZWN0IG9mIG9sZCBvcHRpY2FsIG9wdGlvbgorc3luIGtleXdvcmQgc3FsS2V5d29yZCBvcHRpbWl6YXRpb24gb3JkZXIgb3V0ZXIKK3N5biBrZXl3b3JkIHNxbEtleXdvcmQgcGRxcHJpb3JpdHkgcGxvYWQgcHJpbWFyeSBwcm9jZWR1cmUKK3N5biBrZXl3b3JkIHNxbEtleXdvcmQgcmVmZXJlbmNlcyByZWZlcmVuY2luZyByZWxlYXNlIHJlc2VydmUKK3N5biBrZXl3b3JkIHNxbEtleXdvcmQgcmVzaWRlbmN5IHJpZ2h0IHJvbGUgcm91dGluZSByb3cKK3N5biBrZXl3b3JkIHNxbEtleXdvcmQgc2NoZWR1bGUgc2NoZW1hIHNjcmF0Y2ggc2Vzc2lvbiBzZXQKK3N5biBrZXl3b3JkIHNxbEtleXdvcmQgc3RhdGVtZW50IHN0YXRpc3RpY3Mgc3lub255bQorc3luIGtleXdvcmQgc3FsS2V5d29yZCB0YWJsZSB0ZW1wIHRlbXBvcmFyeSB0aW1lb3V0IHRvIHRyYW5zYWN0aW9uIHRyaWdnZXIKK3N5biBrZXl3b3JkIHNxbEtleXdvcmQgdXNpbmcgdmFsdWVzIHZpZXcgdmlvbGF0aW9ucworc3luIGtleXdvcmQgc3FsS2V5d29yZCB3aGVyZSB3aXRoIHdvcmsKKyIgSGlnaGxpZ2h0ICJvbiIgKGlmIGl0J3Mgbm90IGZvbGxvd2VkIGJ5IHNvbWUgd29yZHMgd2UndmUgYWxyZWFkeSBoYW5kbGVkKQorc3luIG1hdGNoIHNxbEtleXdvcmQgIm9uIFwrXChleGNlcHRpb25cKVxAISIKKyIgU1BMCisiIEhpZ2hsaWdodCAiZW5kIiAoaWYgaXQncyBub3QgZm9sbG93ZWQgYnkgc29tZSB3b3JkcyB3ZSd2ZSBhbHJlYWR5IGhhbmRsZWQpCitzeW4gbWF0Y2ggc3FsS2V5d29yZCAiZW5kIFwrXChpZlx8Zm9yXHxmb3JlYWNoXHx3aGlsZVx8ZXhjZXB0aW9uXClcQCEiCitzeW4ga2V5d29yZCBzcWxLZXl3b3JkIHJlc3VtZSByZXR1cm5pbmcKKworIiA9IE9wZXJhdG9yIHN1Ymdyb3VwID0KKyIgU1FMCitzeW4ga2V5d29yZCBzcWxPcGVyYXRvcglub3QgYW5kIG9yCitzeW4ga2V5d29yZCBzcWxPcGVyYXRvcglpbiBpcyBhbnkgc29tZSBhbGwgYmV0d2VlbiBleGlzdHMKK3N5biBrZXl3b3JkIHNxbE9wZXJhdG9yCWxpa2UgbWF0Y2hlcworc3luIGtleXdvcmQgc3FsT3BlcmF0b3IgdW5pb24gaW50ZXJzZWN0CitzeW4ga2V5d29yZCBzcWxPcGVyYXRvciBkaXN0aW5jdCB1bmlxdWUKKworCisKKyIgPT09IElkZW50aWZpZXIgc3ludGF4IGdyb3VwID09PQorIiA9IEZ1bmN0aW9uIHN1Ymdyb3VwID0KKyIgU1FMCitzeW4ga2V5d29yZCBzcWxGdW5jdGlvbglhYnMgYWNvcyBhc2luIGF0YW4gYXRhbjIgYXZnCitzeW4ga2V5d29yZCBzcWxGdW5jdGlvbgljYXJkaW5hbGl0eSBjYXN0IGNoYXJfbGVuZ3RoIGNoYXJhY3Rlcl9sZW5ndGggY29zIGNvdW50CitzeW4ga2V5d29yZCBzcWxGdW5jdGlvbglleHAgZmlsZXRvYmxvYiBmaWxldG9jbG9iIGhleAorc3luIGtleXdvcmQgc3FsRnVuY3Rpb24JaW5pdGNhcCBsZW5ndGggbG9nbiBsb2cxMCBsb3dlciBscGFkCitzeW4ga2V5d29yZCBzcWxGdW5jdGlvbgltaW4gbWF4IG1vZCBvY3RldF9sZW5ndGggcG93IHJhbmdlIHJlcGxhY2Ugcm9vdCByb3VuZCBycGFkCitzeW4ga2V5d29yZCBzcWxGdW5jdGlvbglzaW4gc3FydCBzdGRldiBzdWJzdHIgc3Vic3RyaW5nIHN1bQorc3luIGtleXdvcmQgc3FsRnVuY3Rpb24JdG9fY2hhciB0YW4gdG9fZGF0ZSB0cmltIHRydW5jIHVwcGVyIHZhcmlhbmNlCisKKworCisiID09PSBUeXBlIHN5bnRheCBncm91cCA9PT0KKyIgU1FMCitzeW4ga2V5d29yZCBzcWxUeXBlCWJsb2IgYm9vbGVhbiBieXRlIGNoYXIgY2hhcmFjdGVyIGNsb2IKK3N5biBrZXl3b3JkIHNxbFR5cGUJZGF0ZSBkYXRldGltZSBkZWMgZGVjaW1hbCBkb3VibGUKK3N5biBrZXl3b3JkIHNxbFR5cGUJZmxvYXQgaW50IGludDggaW50ZWdlciBpbnRlcnZhbCBsaXN0IGx2YXJjaGFyCitzeW4ga2V5d29yZCBzcWxUeXBlCW1vbmV5IG11bHRpc2V0IG5jaGFyIG51bWVyaWMgbnZhcmNoYXIKK3N5biBrZXl3b3JkIHNxbFR5cGUJcmVhbCBzZXJpYWwgc2VyaWFsOCBzbWFsbGZsb2F0IHNtYWxsaW50CitzeW4ga2V5d29yZCBzcWxUeXBlCXRleHQgdmFyY2hhciB2YXJ5aW5nCisKKworCisiID09PSBUb2RvIHN5bnRheCBncm91cCA9PT0KK3N5biBrZXl3b3JkIHNxbFRvZG8gVE9ETyBGSVhNRSBYWFggREVCVUcgTk9URQorCisKKworIiBEZWZpbmUgdGhlIGRlZmF1bHQgaGlnaGxpZ2h0aW5nLgorIiBGb3IgdmVyc2lvbiA1LjcgYW5kIGVhcmxpZXI6IG9ubHkgd2hlbiBub3QgZG9uZSBhbHJlYWR5CisiIEZvciB2ZXJzaW9uIDUuOCBhbmQgbGF0ZXI6IG9ubHkgd2hlbiBhbiBpdGVtIGRvZXNuJ3QgaGF2ZSBoaWdobGlnaHRpbmcgeWV0CitpZiB2ZXJzaW9uID49IDUwOCB8fCAhZXhpc3RzKCJkaWRfc3FsX3N5bl9pbml0cyIpCisgIGlmIHZlcnNpb24gPCA1MDgKKyAgICBsZXQgZGlkX3NxbF9zeW5faW5pdHMgPSAxCisgICAgY29tbWFuZCAtbmFyZ3M9KyBIaUxpbmsgaGkgbGluayA8YXJncz4KKyAgZWxzZQorICAgIGNvbW1hbmQgLW5hcmdzPSsgSGlMaW5rIGhpIGRlZiBsaW5rIDxhcmdzPgorICBlbmRpZgorCisKKyAgIiA9PT0gQ29tbWVudCBzeW50YXggZ3JvdXAgPT09CisgIEhpTGluayBzcWxDb21tZW50CUNvbW1lbnQKKworICAiID09PSBDb25zdGFudCBzeW50YXggZ3JvdXAgPT09CisgIEhpTGluayBzcWxOdW1iZXIJTnVtYmVyCisgIEhpTGluayBzcWxCb29sZWFuCUJvb2xlYW4KKyAgSGlMaW5rIHNxbFN0cmluZwlTdHJpbmcKKworICAiID09PSBTdGF0bWVudCBzeW50YXggZ3JvdXAgPT09CisgIEhpTGluayBzcWxTdGF0ZW1lbnQJU3RhdGVtZW50CisgIEhpTGluayBzcWxDb25kaXRpb25hbAlDb25kaXRpb25hbAorICBIaUxpbmsgc3FsUmVwZWF0CQlSZXBlYXQKKyAgSGlMaW5rIHNxbEtleXdvcmQJCUtleXdvcmQKKyAgSGlMaW5rIHNxbE9wZXJhdG9yCU9wZXJhdG9yCisgIEhpTGluayBzcWxFeGNlcHRpb24JRXhjZXB0aW9uCisKKyAgIiA9PT0gSWRlbnRpZmllciBzeW50YXggZ3JvdXAgPT09CisgIEhpTGluayBzcWxGdW5jdGlvbglGdW5jdGlvbgorCisgICIgPT09IFR5cGUgc3ludGF4IGdyb3VwID09PQorICBIaUxpbmsgc3FsVHlwZQlUeXBlCisKKyAgIiA9PT0gVG9kbyBzeW50YXggZ3JvdXAgPT09CisgIEhpTGluayBzcWxUb2RvCVRvZG8KKworICBkZWxjb21tYW5kIEhpTGluaworZW5kaWYKKworbGV0IGI6Y3VycmVudF9zeW50YXggPSAic3FsaW5mb3JtaXgiCmRpZmYgLS1naXQgYS9ydW50aW1lL3N5bnRheC9zeW5sb2FkLnZpbSBiL3J1bnRpbWUvc3ludGF4L3N5bmxvYWQudmltCmluZGV4IGY4MTZiYzIuLjY1MmNkYmEgMTAwNjQ0Ci0tLSBhL3J1bnRpbWUvc3ludGF4L3N5bmxvYWQudmltCisrKyBiL3J1bnRpbWUvc3ludGF4L3N5bmxvYWQudmltCkBAIC0xLDYgKzEsNiBAQAogIiBWaW0gc3ludGF4IHN1cHBvcnQgZmlsZQogIiBNYWludGFpbmVyOglCcmFtIE1vb2xlbmFhciA8QnJhbUB2aW0ub3JnPgotIiBMYXN0IENoYW5nZToJMjAwMSBNYXkgMjEKKyIgTGFzdCBDaGFuZ2U6CTIwMDQgQXVnIDI4CiAKICIgVGhpcyBmaWxlIHNldHMgdXAgZm9yIHN5bnRheCBoaWdobGlnaHRpbmcuCiAiIEl0IGlzIGxvYWRlZCBmcm9tICJzeW50YXgudmltIiBhbmQgIm1hbnVhbC52aW0iLgpAQCAtNTAsMTUgKzUwLDI1IEBACiAKICAgaWYgcyAhPSAiIgogICAgICIgTG9hZCB0aGUgc3ludGF4IGZpbGUocykKLSIgICBpZiBoYXMoIm1hYyIpCi0iICAgICBleGUgInJ1bnRpbWUhIHN5bnRheDoiIC4gcyAuICIudmltIgotIiAgIGVsc2UKLSAgICAgIGV4ZSAicnVudGltZSEgc3ludGF4LyIgLiBzIC4gIi52aW0iCi0iICAgZW5kaWYKKyAgICBleGUgInJ1bnRpbWUhIHN5bnRheC8iIC4gcyAuICIudmltIgogICBlbmRpZgogZW5kZnVuCiAKIAorIiBIYW5kbGUgYWRkaW5nIGRveHlnZW4gdG8gb3RoZXIgbGFuZ3VhZ2VzIChDLCBDKyssIElETCkKK2F1IFN5bnRheCBjcHAsYyxpZGwgCisJXCBpZiAoZXhpc3RzKCdiOmxvYWRfZG94eWdlbl9zeW50YXgnKSAmJiBiOmxvYWRfZG94eWdlbl9zeW50YXgpCisJXAl8fCAoZXhpc3RzKCdnOmxvYWRfZG94eWdlbl9zeW50YXgnKSAmJiBnOmxvYWRfZG94eWdlbl9zeW50YXgpCisJXCAgIHwgcnVudGltZSBzeW50YXgvZG94eWdlbi52aW0gCisJXCB8IGVuZGlmCisKK2F1IFN5bnRheCAqZG94eWdlbgorCVwgaWYgZXhpc3RzKCJiOmN1cnJlbnRfc3ludGF4IikgfCBmaW5pc2ggfCBlbmRpZgorCVwgfCBsZXQgc3luID0gc3Vic3RpdHV0ZShleHBhbmQoIjxhbWF0Y2g+IiksICdkb3h5Z2VuJCcsICcnLCAnJykKKwlcIHwgaWYgc3luICE9ICcnIHwgZXhlICdydW50aW1lIHN5bnRheC8nLnN5bi4nLnZpbScgfCBlbmRpZgorCVwgfCBpZiBiOmN1cnJlbnRfc3ludGF4ICF+ICdkb3h5Z2VuJyB8IHJ1bnRpbWUgc3ludGF4L2RveHlnZW4udmltIHwgZW5kaWYKKworCiAiIFNvdXJjZSB0aGUgdXNlci1zcGVjaWZpZWQgc3ludGF4IGhpZ2hsaWdodGluZyBmaWxlCiBpZiBleGlzdHMoIm15c3ludGF4ZmlsZSIpICYmIGZpbGVyZWFkYWJsZShleHBhbmQobXlzeW50YXhmaWxlKSkKICAgZXhlY3V0ZSAic291cmNlICIgLiBteXN5bnRheGZpbGUK