From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mga02.intel.com (mga02.intel.com [134.134.136.20]) by dpdk.org (Postfix) with ESMTP id 183B42C37 for ; Wed, 4 Jan 2017 06:52:49 +0100 (CET) Received: from orsmga002.jf.intel.com ([10.7.209.21]) by orsmga101.jf.intel.com with ESMTP; 03 Jan 2017 21:52:48 -0800 Message-Id: <5727c7$omfnf@orsmga002.jf.intel.com> Date: 03 Jan 2017 21:52:47 -0800 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.33,458,1477983600"; d="scan'208";a="25902831" Received: from unknown (HELO localhost.localdomain) ([10.240.176.250]) by orsmga002.jf.intel.com with ESMTP; 03 Jan 2017 21:52:47 -0800 Content-Type: multipart/alternative; boundary="===============8618184923920858178==" MIME-Version: 1.0 From: sys_stv@intel.com To: test-report@dpdk.org CC: beilei.xing@intel.com Subject: [dpdk-test-report] |FAILURE| pw18834 [PATCH v5 15/17] net/i40e: add flow flush function X-BeenThere: test-report@dpdk.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: automatic DPDK test reports List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 04 Jan 2017 05:52:51 -0000 --===============8618184923920858178== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: base64 VGVzdC1MYWJlbDogSW50ZWwgY29tcGlsYXRpb24KVGVzdC1TdGF0dXM6IEZBSUxVUkUKCmh0dHA6 Ly9kcGRrLm9yZy9wYXRjaC8xODgzNAoKX0NvbXBpbGF0aW9uIGlzc3Vlc18KClN1Ym1pdHRlcjog QmVpbGVpIFhpbmcgPGJlaWxlaS54aW5nQGludGVsLmNvbT4KRGF0ZTogV2VkLCAgNCBKYW4gMjAx NyAxMToyMjo1NSArMDgwMApEUERLIGdpdCBiYXNlbGluZTogUmVwbzpkcGRrLW5leHQtdmlydGlv LCBCcmFuY2g6bWFzdGVyLCBDb21taXRJRDo1ODRiMDdlZWExN2ZiZDU5NzdkZjQzMDFiYWFlMTE0 NDk0ODU1ZDY0CgpQYXRjaDE4ODIwLTE4ODM0IC0tPiBjb21waWxlIGVycm9yCkJ1aWxkIFN1bW1h cnk6IDE4IEJ1aWxkcyBEb25lLCAwIFN1Y2Nlc3NmdWwsIDE4IEZhaWx1cmVzCgpUZXN0IGVudmly b25tZW50IGFuZCBjb25maWd1cmF0aW9uIGFzIGJlbG93OgpPUzogUkhFTDcuMl82NAogICAgS2Vy bmVsIFZlcnNpb246My4xMC4wLTMyNy5lbDcueDg2XzY0CiAgICBDUFUgaW5mbzpJbnRlbChSKSBY ZW9uKFIpIENQVSBFNS0yNjk5IHY0IEAgMi4yMEdIegogICAgR0NDIFZlcnNpb246Z2NjIChHQ0Mp IDQuOC41IDIwMTUwNjIzIChSZWQgSGF0IDQuOC41LTQpCiAgICBDbGFuZyBWZXJzaW9uOjMuNC4y CiAgICBpNjg2LW5hdGl2ZS1saW51eGFwcC1nY2MKICAgIHg4Nl82NC1uYXRpdmUtbGludXhhcHAt Z2NjCiAgICB4ODZfNjQtbmF0aXZlLWxpbnV4YXBwLWdjYy1zaGFyZWQKT1M6IEZyZWVCU0QxMC4z XzY0CiAgICBLZXJuZWwgVmVyc2lvbjoxMC4zLVJFTEVBU0UKICAgIENQVSBpbmZvOiBJbnRlbChS KSBYZW9uKFIpIENQVSBFNS0yNjk5IHY0IEAgMi4yMEdIeiAoMjE5NC45Ny1NSHogSzgtY2xhc3Mg Q1BVKQogICAgR0NDIFZlcnNpb246Z2NjIChGcmVlQlNEIFBvcnRzIENvbGxlY3Rpb24pIDQuOC41 CiAgICBDbGFuZyBWZXJzaW9uOjMuNC4xCiAgICB4ODZfNjQtbmF0aXZlLWJzZGFwcC1jbGFuZwog ICAgeDg2XzY0LW5hdGl2ZS1ic2RhcHAtZ2NjCk9TOiBGQzI0XzY0CiAgICBLZXJuZWwgVmVyc2lv bjo0LjguNi0yMDEuZmMyNC54ODZfNjQKICAgIENQVSBpbmZvOkludGVsKFIpIFhlb24oUikgQ1BV IEU1LTI2OTkgdjMgQCAyLjMwR0h6CiAgICBHQ0MgVmVyc2lvbjpnY2MgKEdDQykgNi4yLjEgMjAx NjA5MTYgKFJlZCBIYXQgNi4yLjEtMikKICAgIENsYW5nIFZlcnNpb246My44LjAKICAgIHg4Nl82 NC1uYXRpdmUtbGludXhhcHAtZ2NjLWRlYnVnCiAgICBpNjg2LW5hdGl2ZS1saW51eGFwcC1nY2MK ICAgIHg4Nl82NC1uYXRpdmUtbGludXhhcHAtY2xhbmcKICAgIHg4Nl82NC1uYXRpdmUtbGludXhh cHAtZ2NjLXNoYXJlZAogICAgeDg2XzY0LW5hdGl2ZS1saW51eGFwcC1nY2MKT1M6IFVCMTYwNF82 NAogICAgS2VybmVsIFZlcnNpb246NC40LjAtNTMtZ2VuZXJpYwogICAgQ1BVIGluZm86SW50ZWwo UikgWGVvbihSKSBDUFUgRTUtMjY5OSB2MyBAIDIuMzBHSHoKICAgIEdDQyBWZXJzaW9uOmdjYyAo VWJ1bnR1IDUuNC4wLTZ1YnVudHUxfjE2LjA0LjQpIDUuNC4wIDIwMTYwNjA5CiAgICBDbGFuZyBW ZXJzaW9uOjMuOC4wCiAgICBpNjg2LW5hdGl2ZS1saW51eGFwcC1nY2MKICAgIHg4Nl82NC1uYXRp dmUtbGludXhhcHAtZ2NjCiAgICB4ODZfNjQtbmF0aXZlLWxpbnV4YXBwLWdjYy1zaGFyZWQKICAg IHg4Nl82NC1uYXRpdmUtbGludXhhcHAtY2xhbmcKT1M6IENlbnRPUzdfNjQKICAgIEtlcm5lbCBW ZXJzaW9uOjMuMTAuMC0zMjcuZWw3Lng4Nl82NAogICAgQ1BVIGluZm86SW50ZWwoUikgWGVvbihS KSBDUFUgRTUtMjY5OSB2MyBAIDIuMzBHSHoKICAgIEdDQyBWZXJzaW9uOmdjYyAoR0NDKSA0Ljgu NSAyMDE1MDYyMyAoUmVkIEhhdCA0LjguNS00KQogICAgQ2xhbmcgVmVyc2lvbjozLjQuMgogICAg aTY4Ni1uYXRpdmUtbGludXhhcHAtZ2NjCiAgICB4ODZfNjQtbmF0aXZlLWxpbnV4YXBwLWNsYW5n CiAgICB4ODZfNjQtbmF0aXZlLWxpbnV4YXBwLWdjYy1zaGFyZWQKICAgIHg4Nl82NC1uYXRpdmUt bGludXhhcHAtZ2NjCgpGYWlsZWQgQnVpbGQgIzE6Ck9TOiBSSEVMNy4yXzY0ClRhcmdldDogaTY4 Ni1uYXRpdmUtbGludXhhcHAtZ2NjCi9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9kcml2 ZXJzL25ldC9pNDBlL2k0MGVfZXRoZGV2LmM6IEluIGZ1bmN0aW9uIOKAmGV0aF9pNDBlX2Rldl91 bmluaXTigJk6Ci9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9kcml2ZXJzL25ldC9pNDBl L2k0MGVfZXRoZGV2LmM6MTI5Mzo2OiBlcnJvcjog4oCYdHVubmVsX3J1bGXigJkgdW5kZWNsYXJl ZCAoZmlyc3QgdXNlIGluIHRoaXMgZnVuY3Rpb24pCiAgaWYgKHR1bm5lbF9ydWxlLT5oYXNoX21h cCkKICAgICAgXgovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vZHJpdmVycy9uZXQvaTQw ZS9pNDBlX2V0aGRldi5jOjEyOTM6Njogbm90ZTogZWFjaCB1bmRlY2xhcmVkIGlkZW50aWZpZXIg aXMgcmVwb3J0ZWQgb25seSBvbmNlIGZvciBlYWNoIGZ1bmN0aW9uIGl0IGFwcGVhcnMgaW4KL2hv bWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2RyaXZlcnMvbmV0L2k0MGUvaTQwZV9ldGhkZXYu YzoxMjk4OjEwOiBlcnJvcjog4oCYcF90dW5uZWzigJkgdW5kZWNsYXJlZCAoZmlyc3QgdXNlIGlu IHRoaXMgZnVuY3Rpb24pCiAgd2hpbGUgKChwX3R1bm5lbCA9IFRBSUxRX0ZJUlNUKCZ0dW5uZWxf cnVsZS0+dHVubmVsX2xpc3QpKSkgewogICAgICAgICAgXgovaG9tZS9wYXRjaFdvcmtPcmcvY29t cGlsYXRpb24vZHJpdmVycy9uZXQvaTQwZS9pNDBlX2V0aGRldi5jOjEzMDQ6NjogZXJyb3I6IOKA mGZkaXJfaW5mb+KAmSB1bmRlY2xhcmVkIChmaXJzdCB1c2UgaW4gdGhpcyBmdW5jdGlvbikKICBp ZiAoZmRpcl9pbmZvLT5oYXNoX21hcCkKICAgICAgXgovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGls YXRpb24vZHJpdmVycy9uZXQvaTQwZS9pNDBlX2V0aGRldi5jOjEzMDk6MTA6IGVycm9yOiDigJhw X2ZkaXLigJkgdW5kZWNsYXJlZCAoZmlyc3QgdXNlIGluIHRoaXMgZnVuY3Rpb24pCiAgd2hpbGUg KChwX2ZkaXIgPSBUQUlMUV9GSVJTVCgmZmRpcl9pbmZvLT5mZGlyX2xpc3QpKSkgewogICAgICAg ICAgXgoKCkZhaWxlZCBCdWlsZCAjMjoKT1M6IFJIRUw3LjJfNjQKVGFyZ2V0OiB4ODZfNjQtbmF0 aXZlLWxpbnV4YXBwLWdjYwovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vZHJpdmVycy9u ZXQvaTQwZS9pNDBlX2V0aGRldi5jOiBJbiBmdW5jdGlvbiDigJhldGhfaTQwZV9kZXZfdW5pbml0 4oCZOgovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vZHJpdmVycy9uZXQvaTQwZS9pNDBl X2V0aGRldi5jOjEyOTM6NjogZXJyb3I6IOKAmHR1bm5lbF9ydWxl4oCZIHVuZGVjbGFyZWQgKGZp cnN0IHVzZSBpbiB0aGlzIGZ1bmN0aW9uKQogIGlmICh0dW5uZWxfcnVsZS0+aGFzaF9tYXApCiAg ICAgIF4KL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2RyaXZlcnMvbmV0L2k0MGUvaTQw ZV9ldGhkZXYuYzoxMjkzOjY6IG5vdGU6IGVhY2ggdW5kZWNsYXJlZCBpZGVudGlmaWVyIGlzIHJl cG9ydGVkIG9ubHkgb25jZSBmb3IgZWFjaCBmdW5jdGlvbiBpdCBhcHBlYXJzIGluCi9ob21lL3Bh dGNoV29ya09yZy9jb21waWxhdGlvbi9kcml2ZXJzL25ldC9pNDBlL2k0MGVfZXRoZGV2LmM6MTI5 ODoxMDogZXJyb3I6IOKAmHBfdHVubmVs4oCZIHVuZGVjbGFyZWQgKGZpcnN0IHVzZSBpbiB0aGlz IGZ1bmN0aW9uKQogIHdoaWxlICgocF90dW5uZWwgPSBUQUlMUV9GSVJTVCgmdHVubmVsX3J1bGUt PnR1bm5lbF9saXN0KSkpIHsKICAgICAgICAgIF4KL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0 aW9uL2RyaXZlcnMvbmV0L2k0MGUvaTQwZV9ldGhkZXYuYzoxMzA0OjY6IGVycm9yOiDigJhmZGly X2luZm/igJkgdW5kZWNsYXJlZCAoZmlyc3QgdXNlIGluIHRoaXMgZnVuY3Rpb24pCiAgaWYgKGZk aXJfaW5mby0+aGFzaF9tYXApCiAgICAgIF4KL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9u L2RyaXZlcnMvbmV0L2k0MGUvaTQwZV9ldGhkZXYuYzoxMzA5OjEwOiBlcnJvcjog4oCYcF9mZGly 4oCZIHVuZGVjbGFyZWQgKGZpcnN0IHVzZSBpbiB0aGlzIGZ1bmN0aW9uKQogIHdoaWxlICgocF9m ZGlyID0gVEFJTFFfRklSU1QoJmZkaXJfaW5mby0+ZmRpcl9saXN0KSkpIHsKICAgICAgICAgIF4K CgpGYWlsZWQgQnVpbGQgIzM6Ck9TOiBSSEVMNy4yXzY0ClRhcmdldDogeDg2XzY0LW5hdGl2ZS1s aW51eGFwcC1nY2Mtc2hhcmVkCgovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vZHJpdmVy cy9uZXQvaTQwZS9pNDBlX2V0aGRldi5jOiBJbiBmdW5jdGlvbiDigJhldGhfaTQwZV9kZXZfdW5p bml04oCZOgovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vZHJpdmVycy9uZXQvaTQwZS9p NDBlX2V0aGRldi5jOjEyOTM6NjogZXJyb3I6IOKAmHR1bm5lbF9ydWxl4oCZIHVuZGVjbGFyZWQg KGZpcnN0IHVzZSBpbiB0aGlzIGZ1bmN0aW9uKQogIGlmICh0dW5uZWxfcnVsZS0+aGFzaF9tYXAp CiAgICAgIF4KL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2RyaXZlcnMvbmV0L2k0MGUv aTQwZV9ldGhkZXYuYzoxMjkzOjY6IG5vdGU6IGVhY2ggdW5kZWNsYXJlZCBpZGVudGlmaWVyIGlz IHJlcG9ydGVkIG9ubHkgb25jZSBmb3IgZWFjaCBmdW5jdGlvbiBpdCBhcHBlYXJzIGluCi9ob21l L3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9kcml2ZXJzL25ldC9pNDBlL2k0MGVfZXRoZGV2LmM6 MTI5ODoxMDogZXJyb3I6IOKAmHBfdHVubmVs4oCZIHVuZGVjbGFyZWQgKGZpcnN0IHVzZSBpbiB0 aGlzIGZ1bmN0aW9uKQogIHdoaWxlICgocF90dW5uZWwgPSBUQUlMUV9GSVJTVCgmdHVubmVsX3J1 bGUtPnR1bm5lbF9saXN0KSkpIHsKICAgICAgICAgIF4KL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBp bGF0aW9uL2RyaXZlcnMvbmV0L2k0MGUvaTQwZV9ldGhkZXYuYzoxMzA0OjY6IGVycm9yOiDigJhm ZGlyX2luZm/igJkgdW5kZWNsYXJlZCAoZmlyc3QgdXNlIGluIHRoaXMgZnVuY3Rpb24pCiAgaWYg KGZkaXJfaW5mby0+aGFzaF9tYXApCiAgICAgIF4KL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0 aW9uL2RyaXZlcnMvbmV0L2k0MGUvaTQwZV9ldGhkZXYuYzoxMzA5OjEwOiBlcnJvcjog4oCYcF9m ZGly4oCZIHVuZGVjbGFyZWQgKGZpcnN0IHVzZSBpbiB0aGlzIGZ1bmN0aW9uKQogIHdoaWxlICgo cF9mZGlyID0gVEFJTFFfRklSU1QoJmZkaXJfaW5mby0+ZmRpcl9saXN0KSkpIHsKICAgICAgICAg IF4KCgpGYWlsZWQgQnVpbGQgIzQ6Ck9TOiBGcmVlQlNEMTAuM182NApUYXJnZXQ6IHg4Nl82NC1u YXRpdmUtYnNkYXBwLWNsYW5nCi9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9kcml2ZXJz L25ldC9pNDBlL2k0MGVfZXRoZGV2LmM6MTI5Mzo2OiBlcnJvcjogdXNlIG9mIHVuZGVjbGFyZWQg aWRlbnRpZmllciAndHVubmVsX3J1bGUnCiAgICAgICAgaWYgKHR1bm5lbF9ydWxlLT5oYXNoX21h cCkKICAgICAgICAgICAgXgovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vZHJpdmVycy9u ZXQvaTQwZS9pNDBlX2V0aGRldi5jOjEyOTQ6MTI6IGVycm9yOiB1c2Ugb2YgdW5kZWNsYXJlZCBp ZGVudGlmaWVyICd0dW5uZWxfcnVsZScKICAgICAgICAgICAgICAgIHJ0ZV9mcmVlKHR1bm5lbF9y dWxlLT5oYXNoX21hcCk7CiAgICAgICAgICAgICAgICAgICAgICAgICBeCi9ob21lL3BhdGNoV29y a09yZy9jb21waWxhdGlvbi9kcml2ZXJzL25ldC9pNDBlL2k0MGVfZXRoZGV2LmM6MTI5NTo2OiBl cnJvcjogdXNlIG9mIHVuZGVjbGFyZWQgaWRlbnRpZmllciAndHVubmVsX3J1bGUnCiAgICAgICAg aWYgKHR1bm5lbF9ydWxlLT5oYXNoX3RhYmxlKQogICAgICAgICAgICBeCi9ob21lL3BhdGNoV29y a09yZy9jb21waWxhdGlvbi9kcml2ZXJzL25ldC9pNDBlL2k0MGVfZXRoZGV2LmM6MTI5NjoxNzog ZXJyb3I6IHVzZSBvZiB1bmRlY2xhcmVkIGlkZW50aWZpZXIgJ3R1bm5lbF9ydWxlJwogICAgICAg ICAgICAgICAgcnRlX2hhc2hfZnJlZSh0dW5uZWxfcnVsZS0+aGFzaF90YWJsZSk7CiAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIF4KL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2Ry aXZlcnMvbmV0L2k0MGUvaTQwZV9ldGhkZXYuYzoxMjk4OjEwOiBlcnJvcjogdXNlIG9mIHVuZGVj bGFyZWQgaWRlbnRpZmllciAncF90dW5uZWwnCiAgICAgICAgd2hpbGUgKChwX3R1bm5lbCA9IFRB SUxRX0ZJUlNUKCZ0dW5uZWxfcnVsZS0+dHVubmVsX2xpc3QpKSkgewogICAgICAgICAgICAgICAg XgovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vZHJpdmVycy9uZXQvaTQwZS9pNDBlX2V0 aGRldi5jOjEyOTg6MzQ6IGVycm9yOiB1c2Ugb2YgdW5kZWNsYXJlZCBpZGVudGlmaWVyICd0dW5u ZWxfcnVsZScKICAgICAgICB3aGlsZSAoKHBfdHVubmVsID0gVEFJTFFfRklSU1QoJnR1bm5lbF9y dWxlLT50dW5uZWxfbGlzdCkpKSB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICBeCi91c3IvaW5jbHVkZS9zeXMvcXVldWUuaDo2MTQ6Mjk6IG5vdGU6IGV4cGFuZGVkIGZy b20gbWFjcm8gJ1RBSUxRX0ZJUlNUJwojZGVmaW5lIFRBSUxRX0ZJUlNUKGhlYWQpICAgICAgICgo aGVhZCktPnRxaF9maXJzdCkKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF4KL2hv bWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2RyaXZlcnMvbmV0L2k0MGUvaTQwZV9ldGhkZXYu YzoxMjk5OjQzOiBlcnJvcjogdXNlIG9mIHVuZGVjbGFyZWQgaWRlbnRpZmllciAncF90dW5uZWwn CiAgICAgICAgICAgICAgICBUQUlMUV9SRU1PVkUoJnR1bm5lbF9ydWxlLT50dW5uZWxfbGlzdCwg cF90dW5uZWwsIHJ1bGVzKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICBeCi91c3IvaW5jbHVkZS9zeXMvcXVldWUuaDo3MjM6MTk6IG5vdGU6 IGV4cGFuZGVkIGZyb20gbWFjcm8gJ1RBSUxRX1JFTU9WRScKICAgICAgICBpZiAoKFRBSUxRX05F WFQoKGVsbSksIGZpZWxkKSkgIT0gTlVMTCkgICAgICAgICAgICAgICAgICAgICAgICAgXAogICAg ICAgICAgICAgICAgICAgICAgICAgXgovdXNyL2luY2x1ZGUvc3lzL3F1ZXVlLmg6NzEzOjM0OiBu b3RlOiBleHBhbmRlZCBmcm9tIG1hY3JvICdUQUlMUV9ORVhUJwojZGVmaW5lIFRBSUxRX05FWFQo ZWxtLCBmaWVsZCkgKChlbG0pLT5maWVsZC50cWVfbmV4dCkKICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgXgovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vZHJpdmVycy9uZXQv aTQwZS9pNDBlX2V0aGRldi5jOjEyOTk6NDM6IGVycm9yOiB1c2Ugb2YgdW5kZWNsYXJlZCBpZGVu dGlmaWVyICdwX3R1bm5lbCcKL3Vzci9pbmNsdWRlL3N5cy9xdWV1ZS5oOjcyNDoxNTogbm90ZTog ZXhwYW5kZWQgZnJvbSBtYWNybyAnVEFJTFFfUkVNT1ZFJwogICAgICAgICAgICAgICAgVEFJTFFf TkVYVCgoZWxtKSwgZmllbGQpLT5maWVsZC50cWVfcHJldiA9ICAgICAgICAgICAgICBcCiAgICAg ICAgICAgICAgICAgICAgICAgICAgICBeCi91c3IvaW5jbHVkZS9zeXMvcXVldWUuaDo3MTM6MzQ6 IG5vdGU6IGV4cGFuZGVkIGZyb20gbWFjcm8gJ1RBSUxRX05FWFQnCiNkZWZpbmUgVEFJTFFfTkVY VChlbG0sIGZpZWxkKSAoKGVsbSktPmZpZWxkLnRxZV9uZXh0KQogICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICBeCi9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9kcml2ZXJzL25l dC9pNDBlL2k0MGVfZXRoZGV2LmM6MTI5OTo0MzogZXJyb3I6IHVzZSBvZiB1bmRlY2xhcmVkIGlk ZW50aWZpZXIgJ3BfdHVubmVsJwovdXNyL2luY2x1ZGUvc3lzL3F1ZXVlLmg6NzI1Ojg6IG5vdGU6 IGV4cGFuZGVkIGZyb20gbWFjcm8gJ1RBSUxRX1JFTU9WRScKICAgICAgICAgICAgICAgICAgICAo ZWxtKS0+ZmllbGQudHFlX3ByZXY7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAogICAg ICAgICAgICAgICAgICAgICBeCi9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9kcml2ZXJz L25ldC9pNDBlL2k0MGVfZXRoZGV2LmM6MTI5OToxNzogZXJyb3I6IHVzZSBvZiB1bmRlY2xhcmVk IGlkZW50aWZpZXIgJ3R1bm5lbF9ydWxlJwogICAgICAgICAgICAgICAgVEFJTFFfUkVNT1ZFKCZ0 dW5uZWxfcnVsZS0+dHVubmVsX2xpc3QsIHBfdHVubmVsLCBydWxlcyk7CiAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIF4KL3Vzci9pbmNsdWRlL3N5cy9xdWV1ZS5oOjcyNzo0OiBub3RlOiBl eHBhbmRlZCBmcm9tIG1hY3JvICdUQUlMUV9SRU1PVkUnCiAgICAgICAgICAgICAgICAoaGVhZCkt PnRxaF9sYXN0ID0gKGVsbSktPmZpZWxkLnRxZV9wcmV2OyAgICAgICAgICAgICAgIFwKICAgICAg ICAgICAgICAgICBeCi9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9kcml2ZXJzL25ldC9p NDBlL2k0MGVfZXRoZGV2LmM6MTI5OTo0MzogZXJyb3I6IHVzZSBvZiB1bmRlY2xhcmVkIGlkZW50 aWZpZXIgJ3BfdHVubmVsJwogICAgICAgICAgICAgICAgVEFJTFFfUkVNT1ZFKCZ0dW5uZWxfcnVs ZS0+dHVubmVsX2xpc3QsIHBfdHVubmVsLCBydWxlcyk7CiAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXgovdXNyL2luY2x1ZGUvc3lzL3F1ZXVl Lmg6NzI3OjIzOiBub3RlOiBleHBhbmRlZCBmcm9tIG1hY3JvICdUQUlMUV9SRU1PVkUnCiAgICAg ICAgICAgICAgICAoaGVhZCktPnRxaF9sYXN0ID0gKGVsbSktPmZpZWxkLnRxZV9wcmV2OyAgICAg ICAgICAgICAgIFwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXgovaG9tZS9w YXRjaFdvcmtPcmcvY29tcGlsYXRpb24vZHJpdmVycy9uZXQvaTQwZS9pNDBlX2V0aGRldi5jOjEy OTk6NDM6IGVycm9yOiB1c2Ugb2YgdW5kZWNsYXJlZCBpZGVudGlmaWVyICdwX3R1bm5lbCcKL3Vz ci9pbmNsdWRlL3N5cy9xdWV1ZS5oOjczMDo0OiBub3RlOiBleHBhbmRlZCBmcm9tIG1hY3JvICdU QUlMUV9SRU1PVkUnCiAgICAgICAgKihlbG0pLT5maWVsZC50cWVfcHJldiA9IFRBSUxRX05FWFQo KGVsbSksIGZpZWxkKTsgICAgICAgICAgICAgIFwKICAgICAgICAgIF4KL2hvbWUvcGF0Y2hXb3Jr T3JnL2NvbXBpbGF0aW9uL2RyaXZlcnMvbmV0L2k0MGUvaTQwZV9ldGhkZXYuYzoxMjk5OjQzOiBl cnJvcjogdXNlIG9mIHVuZGVjbGFyZWQgaWRlbnRpZmllciAncF90dW5uZWwnCi91c3IvaW5jbHVk ZS9zeXMvcXVldWUuaDo3MzA6Mzk6IG5vdGU6IGV4cGFuZGVkIGZyb20gbWFjcm8gJ1RBSUxRX1JF TU9WRScKICAgICAgICAqKGVsbSktPmZpZWxkLnRxZV9wcmV2ID0gVEFJTFFfTkVYVCgoZWxtKSwg ZmllbGQpOyAgICAgICAgICAgICAgXAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICBeCi91c3IvaW5jbHVkZS9zeXMvcXVldWUuaDo3MTM6MzQ6IG5vdGU6IGV4cGFu ZGVkIGZyb20gbWFjcm8gJ1RBSUxRX05FWFQnCiNkZWZpbmUgVEFJTFFfTkVYVChlbG0sIGZpZWxk KSAoKGVsbSktPmZpZWxkLnRxZV9uZXh0KQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICBeCi9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9kcml2ZXJzL25ldC9pNDBlL2k0MGVf ZXRoZGV2LmM6MTMwMDoxMjogZXJyb3I6IHVzZSBvZiB1bmRlY2xhcmVkIGlkZW50aWZpZXIgJ3Bf dHVubmVsJwogICAgICAgICAgICAgICAgcnRlX2ZyZWUocF90dW5uZWwpOwogICAgICAgICAgICAg ICAgICAgICAgICAgXgovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vZHJpdmVycy9uZXQv aTQwZS9pNDBlX2V0aGRldi5jOjEzMDQ6NjogZXJyb3I6IHVzZSBvZiB1bmRlY2xhcmVkIGlkZW50 aWZpZXIgJ2ZkaXJfaW5mbycKICAgICAgICBpZiAoZmRpcl9pbmZvLT5oYXNoX21hcCkKICAgICAg ICAgICAgXgovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vZHJpdmVycy9uZXQvaTQwZS9p NDBlX2V0aGRldi5jOjEzMDU6MTI6IGVycm9yOiB1c2Ugb2YgdW5kZWNsYXJlZCBpZGVudGlmaWVy ICdmZGlyX2luZm8nCiAgICAgICAgICAgICAgICBydGVfZnJlZShmZGlyX2luZm8tPmhhc2hfbWFw KTsKICAgICAgICAgICAgICAgICAgICAgICAgIF4KL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0 aW9uL2RyaXZlcnMvbmV0L2k0MGUvaTQwZV9ldGhkZXYuYzoxMzA2OjY6IGVycm9yOiB1c2Ugb2Yg dW5kZWNsYXJlZCBpZGVudGlmaWVyICdmZGlyX2luZm8nCiAgICAgICAgaWYgKGZkaXJfaW5mby0+ aGFzaF90YWJsZSkKICAgICAgICAgICAgXgovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24v ZHJpdmVycy9uZXQvaTQwZS9pNDBlX2V0aGRldi5jOjEzMDc6MTc6IGVycm9yOiB1c2Ugb2YgdW5k ZWNsYXJlZCBpZGVudGlmaWVyICdmZGlyX2luZm8nCiAgICAgICAgICAgICAgICBydGVfaGFzaF9m cmVlKGZkaXJfaW5mby0+aGFzaF90YWJsZSk7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAg IF4KL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2RyaXZlcnMvbmV0L2k0MGUvaTQwZV9l dGhkZXYuYzoxMzA5OjEwOiBlcnJvcjogdXNlIG9mIHVuZGVjbGFyZWQgaWRlbnRpZmllciAncF9m ZGlyJwogICAgICAgIHdoaWxlICgocF9mZGlyID0gVEFJTFFfRklSU1QoJmZkaXJfaW5mby0+ZmRp cl9saXN0KSkpIHsKICAgICAgICAgICAgICAgIF4KZmF0YWwgZXJyb3I6IHRvbyBtYW55IGVycm9y cyBlbWl0dGVkLCBzdG9wcGluZyBub3cgWy1mZXJyb3ItbGltaXQ9XQoyMCBlcnJvcnMgZ2VuZXJh dGVkLgovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vbWsvaW50ZXJuYWwvcnRlLmNvbXBp bGUtcHJlLm1rOjEzODogcmVjaXBlIGZvciB0YXJnZXQgJ2k0MGVfZXRoZGV2Lm8nIGZhaWxlZAov aG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vbWsvcnRlLnN1YmRpci5tazo2MTogcmVjaXBl IGZvciB0YXJnZXQgJ2k0MGUnIGZhaWxlZAovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24v bWsvcnRlLnN1YmRpci5tazo2MTogcmVjaXBlIGZvciB0YXJnZXQgJ25ldCcgZmFpbGVkCi9ob21l L3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9tay9ydGUuc2RrYnVpbGQubWs6Nzg6IHJlY2lwZSBm b3IgdGFyZ2V0ICdkcml2ZXJzJyBmYWlsZWQKL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9u L21rL3J0ZS5zZGtyb290Lm1rOjEyNjogcmVjaXBlIGZvciB0YXJnZXQgJ2FsbCcgZmFpbGVkCi9o b21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9tay9ydGUuc2RraW5zdGFsbC5tazo4NTogcmVj aXBlIGZvciB0YXJnZXQgJ3ByZV9pbnN0YWxsJyBmYWlsZWQKL2hvbWUvcGF0Y2hXb3JrT3JnL2Nv bXBpbGF0aW9uL21rL3J0ZS5zZGtyb290Lm1rOjEwMTogcmVjaXBlIGZvciB0YXJnZXQgJ2luc3Rh bGwnIGZhaWxlZAoKCkZhaWxlZCBCdWlsZCAjNToKT1M6IEZyZWVCU0QxMC4zXzY0ClRhcmdldDog eDg2XzY0LW5hdGl2ZS1ic2RhcHAtZ2NjCi9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9k cml2ZXJzL25ldC9pNDBlL2k0MGVfZXRoZGV2LmM6IEluIGZ1bmN0aW9uICdldGhfaTQwZV9kZXZf dW5pbml0JzoKL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2RyaXZlcnMvbmV0L2k0MGUv aTQwZV9ldGhkZXYuYzoxMjkzOjY6IGVycm9yOiAndHVubmVsX3J1bGUnIHVuZGVjbGFyZWQgKGZp cnN0IHVzZSBpbiB0aGlzIGZ1bmN0aW9uKQogIGlmICh0dW5uZWxfcnVsZS0+aGFzaF9tYXApCiAg ICAgIF4KL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2RyaXZlcnMvbmV0L2k0MGUvaTQw ZV9ldGhkZXYuYzoxMjkzOjY6IG5vdGU6IGVhY2ggdW5kZWNsYXJlZCBpZGVudGlmaWVyIGlzIHJl cG9ydGVkIG9ubHkgb25jZSBmb3IgZWFjaCBmdW5jdGlvbiBpdCBhcHBlYXJzIGluCi9ob21lL3Bh dGNoV29ya09yZy9jb21waWxhdGlvbi9kcml2ZXJzL25ldC9pNDBlL2k0MGVfZXRoZGV2LmM6MTI5 ODoxMDogZXJyb3I6ICdwX3R1bm5lbCcgdW5kZWNsYXJlZCAoZmlyc3QgdXNlIGluIHRoaXMgZnVu Y3Rpb24pCiAgd2hpbGUgKChwX3R1bm5lbCA9IFRBSUxRX0ZJUlNUKCZ0dW5uZWxfcnVsZS0+dHVu bmVsX2xpc3QpKSkgewogICAgICAgICAgXgovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24v ZHJpdmVycy9uZXQvaTQwZS9pNDBlX2V0aGRldi5jOjEzMDQ6NjogZXJyb3I6ICdmZGlyX2luZm8n IHVuZGVjbGFyZWQgKGZpcnN0IHVzZSBpbiB0aGlzIGZ1bmN0aW9uKQogIGlmIChmZGlyX2luZm8t Pmhhc2hfbWFwKQogICAgICBeCi9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9kcml2ZXJz L25ldC9pNDBlL2k0MGVfZXRoZGV2LmM6MTMwOToxMDogZXJyb3I6ICdwX2ZkaXInIHVuZGVjbGFy ZWQgKGZpcnN0IHVzZSBpbiB0aGlzIGZ1bmN0aW9uKQogIHdoaWxlICgocF9mZGlyID0gVEFJTFFf RklSU1QoJmZkaXJfaW5mby0+ZmRpcl9saXN0KSkpIHsKICAgICAgICAgIF4KL2hvbWUvcGF0Y2hX b3JrT3JnL2NvbXBpbGF0aW9uL21rL2ludGVybmFsL3J0ZS5jb21waWxlLXByZS5tazoxMzg6IHJl Y2lwZSBmb3IgdGFyZ2V0ICdpNDBlX2V0aGRldi5vJyBmYWlsZWQKL2hvbWUvcGF0Y2hXb3JrT3Jn L2NvbXBpbGF0aW9uL21rL3J0ZS5zdWJkaXIubWs6NjE6IHJlY2lwZSBmb3IgdGFyZ2V0ICdpNDBl JyBmYWlsZWQKL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL21rL3J0ZS5zdWJkaXIubWs6 NjE6IHJlY2lwZSBmb3IgdGFyZ2V0ICduZXQnIGZhaWxlZAovaG9tZS9wYXRjaFdvcmtPcmcvY29t cGlsYXRpb24vbWsvcnRlLnNka2J1aWxkLm1rOjc4OiByZWNpcGUgZm9yIHRhcmdldCAnZHJpdmVy cycgZmFpbGVkCi9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9tay9ydGUuc2Rrcm9vdC5t azoxMjY6IHJlY2lwZSBmb3IgdGFyZ2V0ICdhbGwnIGZhaWxlZAovaG9tZS9wYXRjaFdvcmtPcmcv Y29tcGlsYXRpb24vbWsvcnRlLnNka2luc3RhbGwubWs6ODU6IHJlY2lwZSBmb3IgdGFyZ2V0ICdw cmVfaW5zdGFsbCcgZmFpbGVkCi9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9tay9ydGUu c2Rrcm9vdC5tazoxMDE6IHJlY2lwZSBmb3IgdGFyZ2V0ICdpbnN0YWxsJyBmYWlsZWQKCgpGYWls ZWQgQnVpbGQgIzY6Ck9TOiBGQzI0XzY0ClRhcmdldDogeDg2XzY0LW5hdGl2ZS1saW51eGFwcC1n Y2MtZGVidWcKCi9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9kcml2ZXJzL25ldC9pNDBl L2k0MGVfZXRoZGV2LmM6IEluIGZ1bmN0aW9uIOKAmGV0aF9pNDBlX2Rldl91bmluaXTigJk6Ci9o b21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9kcml2ZXJzL25ldC9pNDBlL2k0MGVfZXRoZGV2 LmM6MTI5Mzo2OiBlcnJvcjog4oCYdHVubmVsX3J1bGXigJkgdW5kZWNsYXJlZCAoZmlyc3QgdXNl IGluIHRoaXMgZnVuY3Rpb24pCiAgaWYgKHR1bm5lbF9ydWxlLT5oYXNoX21hcCkKICAgICAgXn5+ fn5+fn5+fn4KL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2RyaXZlcnMvbmV0L2k0MGUv aTQwZV9ldGhkZXYuYzoxMjkzOjY6IG5vdGU6IGVhY2ggdW5kZWNsYXJlZCBpZGVudGlmaWVyIGlz IHJlcG9ydGVkIG9ubHkgb25jZSBmb3IgZWFjaCBmdW5jdGlvbiBpdCBhcHBlYXJzIGluCi9ob21l L3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9kcml2ZXJzL25ldC9pNDBlL2k0MGVfZXRoZGV2LmM6 MTI5ODoxMDogZXJyb3I6IOKAmHBfdHVubmVs4oCZIHVuZGVjbGFyZWQgKGZpcnN0IHVzZSBpbiB0 aGlzIGZ1bmN0aW9uKQogIHdoaWxlICgocF90dW5uZWwgPSBUQUlMUV9GSVJTVCgmdHVubmVsX3J1 bGUtPnR1bm5lbF9saXN0KSkpIHsKICAgICAgICAgIF5+fn5+fn5+Ci9ob21lL3BhdGNoV29ya09y Zy9jb21waWxhdGlvbi9kcml2ZXJzL25ldC9pNDBlL2k0MGVfZXRoZGV2LmM6MTMwNDo2OiBlcnJv cjog4oCYZmRpcl9pbmZv4oCZIHVuZGVjbGFyZWQgKGZpcnN0IHVzZSBpbiB0aGlzIGZ1bmN0aW9u KQogIGlmIChmZGlyX2luZm8tPmhhc2hfbWFwKQogICAgICBefn5+fn5+fn4KL2hvbWUvcGF0Y2hX b3JrT3JnL2NvbXBpbGF0aW9uL2RyaXZlcnMvbmV0L2k0MGUvaTQwZV9ldGhkZXYuYzoxMzA5OjEw OiBlcnJvcjog4oCYcF9mZGly4oCZIHVuZGVjbGFyZWQgKGZpcnN0IHVzZSBpbiB0aGlzIGZ1bmN0 aW9uKQogIHdoaWxlICgocF9mZGlyID0gVEFJTFFfRklSU1QoJmZkaXJfaW5mby0+ZmRpcl9saXN0 KSkpIHsKICAgICAgICAgIF5+fn5+fgovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vbWsv aW50ZXJuYWwvcnRlLmNvbXBpbGUtcHJlLm1rOjEzODogcmVjaXBlIGZvciB0YXJnZXQgJ2k0MGVf ZXRoZGV2Lm8nIGZhaWxlZAovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vbWsvcnRlLnN1 YmRpci5tazo2MTogcmVjaXBlIGZvciB0YXJnZXQgJ2k0MGUnIGZhaWxlZAovaG9tZS9wYXRjaFdv cmtPcmcvY29tcGlsYXRpb24vbWsvcnRlLnN1YmRpci5tazo2MTogcmVjaXBlIGZvciB0YXJnZXQg J25ldCcgZmFpbGVkCi9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9tay9ydGUuc2RrYnVp bGQubWs6Nzg6IHJlY2lwZSBmb3IgdGFyZ2V0ICdkcml2ZXJzJyBmYWlsZWQKL2hvbWUvcGF0Y2hX b3JrT3JnL2NvbXBpbGF0aW9uL21rL3J0ZS5zZGtyb290Lm1rOjEyNjogcmVjaXBlIGZvciB0YXJn ZXQgJ2FsbCcgZmFpbGVkCi9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9tay9ydGUuc2Rr aW5zdGFsbC5tazo4NTogcmVjaXBlIGZvciB0YXJnZXQgJ3ByZV9pbnN0YWxsJyBmYWlsZWQKL2hv bWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL21rL3J0ZS5zZGtyb290Lm1rOjEwMTogcmVjaXBl IGZvciB0YXJnZXQgJ2luc3RhbGwnIGZhaWxlZAoKCkZhaWxlZCBCdWlsZCAjNzoKT1M6IEZDMjRf NjQKVGFyZ2V0OiBpNjg2LW5hdGl2ZS1saW51eGFwcC1nY2MKL2hvbWUvcGF0Y2hXb3JrT3JnL2Nv bXBpbGF0aW9uL2RyaXZlcnMvbmV0L2k0MGUvaTQwZV9ldGhkZXYuYzogSW4gZnVuY3Rpb24g4oCY ZXRoX2k0MGVfZGV2X3VuaW5pdOKAmToKL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2Ry aXZlcnMvbmV0L2k0MGUvaTQwZV9ldGhkZXYuYzoxMjkzOjY6IGVycm9yOiDigJh0dW5uZWxfcnVs ZeKAmSB1bmRlY2xhcmVkIChmaXJzdCB1c2UgaW4gdGhpcyBmdW5jdGlvbikKICBpZiAodHVubmVs X3J1bGUtPmhhc2hfbWFwKQogICAgICBefn5+fn5+fn5+fgovaG9tZS9wYXRjaFdvcmtPcmcvY29t cGlsYXRpb24vZHJpdmVycy9uZXQvaTQwZS9pNDBlX2V0aGRldi5jOjEyOTM6Njogbm90ZTogZWFj aCB1bmRlY2xhcmVkIGlkZW50aWZpZXIgaXMgcmVwb3J0ZWQgb25seSBvbmNlIGZvciBlYWNoIGZ1 bmN0aW9uIGl0IGFwcGVhcnMgaW4KL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2RyaXZl cnMvbmV0L2k0MGUvaTQwZV9ldGhkZXYuYzoxMjk4OjEwOiBlcnJvcjog4oCYcF90dW5uZWzigJkg dW5kZWNsYXJlZCAoZmlyc3QgdXNlIGluIHRoaXMgZnVuY3Rpb24pCiAgd2hpbGUgKChwX3R1bm5l bCA9IFRBSUxRX0ZJUlNUKCZ0dW5uZWxfcnVsZS0+dHVubmVsX2xpc3QpKSkgewogICAgICAgICAg Xn5+fn5+fn4KL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2RyaXZlcnMvbmV0L2k0MGUv aTQwZV9ldGhkZXYuYzoxMzA0OjY6IGVycm9yOiDigJhmZGlyX2luZm/igJkgdW5kZWNsYXJlZCAo Zmlyc3QgdXNlIGluIHRoaXMgZnVuY3Rpb24pCiAgaWYgKGZkaXJfaW5mby0+aGFzaF9tYXApCiAg ICAgIF5+fn5+fn5+fgovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vZHJpdmVycy9uZXQv aTQwZS9pNDBlX2V0aGRldi5jOjEzMDk6MTA6IGVycm9yOiDigJhwX2ZkaXLigJkgdW5kZWNsYXJl ZCAoZmlyc3QgdXNlIGluIHRoaXMgZnVuY3Rpb24pCiAgd2hpbGUgKChwX2ZkaXIgPSBUQUlMUV9G SVJTVCgmZmRpcl9pbmZvLT5mZGlyX2xpc3QpKSkgewogICAgICAgICAgXn5+fn5+Ci9ob21lL3Bh dGNoV29ya09yZy9jb21waWxhdGlvbi9tay9pbnRlcm5hbC9ydGUuY29tcGlsZS1wcmUubWs6MTM4 OiByZWNpcGUgZm9yIHRhcmdldCAnaTQwZV9ldGhkZXYubycgZmFpbGVkCi9ob21lL3BhdGNoV29y a09yZy9jb21waWxhdGlvbi9tay9ydGUuc3ViZGlyLm1rOjYxOiByZWNpcGUgZm9yIHRhcmdldCAn aTQwZScgZmFpbGVkCi9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9tay9ydGUuc3ViZGly Lm1rOjYxOiByZWNpcGUgZm9yIHRhcmdldCAnbmV0JyBmYWlsZWQKL2hvbWUvcGF0Y2hXb3JrT3Jn L2NvbXBpbGF0aW9uL21rL3J0ZS5zZGtidWlsZC5tazo3ODogcmVjaXBlIGZvciB0YXJnZXQgJ2Ry aXZlcnMnIGZhaWxlZAovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vbWsvcnRlLnNka3Jv b3QubWs6MTI2OiByZWNpcGUgZm9yIHRhcmdldCAnYWxsJyBmYWlsZWQKL2hvbWUvcGF0Y2hXb3Jr T3JnL2NvbXBpbGF0aW9uL21rL3J0ZS5zZGtpbnN0YWxsLm1rOjg1OiByZWNpcGUgZm9yIHRhcmdl dCAncHJlX2luc3RhbGwnIGZhaWxlZAovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vbWsv cnRlLnNka3Jvb3QubWs6MTAxOiByZWNpcGUgZm9yIHRhcmdldCAnaW5zdGFsbCcgZmFpbGVkCgoK RmFpbGVkIEJ1aWxkICM4OgpPUzogRkMyNF82NApUYXJnZXQ6IHg4Nl82NC1uYXRpdmUtbGludXhh cHAtY2xhbmcKL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2RyaXZlcnMvbmV0L2k0MGUv aTQwZV9ldGhkZXYuYzoxMjkzOjY6IGVycm9yOiB1c2Ugb2YgdW5kZWNsYXJlZCBpZGVudGlmaWVy ICd0dW5uZWxfcnVsZScKICAgICAgICBpZiAodHVubmVsX3J1bGUtPmhhc2hfbWFwKQogICAgICAg ICAgICBeCi9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9kcml2ZXJzL25ldC9pNDBlL2k0 MGVfZXRoZGV2LmM6MTI5NDoxMjogZXJyb3I6IHVzZSBvZiB1bmRlY2xhcmVkIGlkZW50aWZpZXIg J3R1bm5lbF9ydWxlJwogICAgICAgICAgICAgICAgcnRlX2ZyZWUodHVubmVsX3J1bGUtPmhhc2hf bWFwKTsKICAgICAgICAgICAgICAgICAgICAgICAgIF4KL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBp bGF0aW9uL2RyaXZlcnMvbmV0L2k0MGUvaTQwZV9ldGhkZXYuYzoxMjk1OjY6IGVycm9yOiB1c2Ug b2YgdW5kZWNsYXJlZCBpZGVudGlmaWVyICd0dW5uZWxfcnVsZScKICAgICAgICBpZiAodHVubmVs X3J1bGUtPmhhc2hfdGFibGUpCiAgICAgICAgICAgIF4KL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBp bGF0aW9uL2RyaXZlcnMvbmV0L2k0MGUvaTQwZV9ldGhkZXYuYzoxMjk2OjE3OiBlcnJvcjogdXNl IG9mIHVuZGVjbGFyZWQgaWRlbnRpZmllciAndHVubmVsX3J1bGUnCiAgICAgICAgICAgICAgICBy dGVfaGFzaF9mcmVlKHR1bm5lbF9ydWxlLT5oYXNoX3RhYmxlKTsKICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgXgovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vZHJpdmVycy9uZXQv aTQwZS9pNDBlX2V0aGRldi5jOjEyOTg6MzQ6IGVycm9yOiB1c2Ugb2YgdW5kZWNsYXJlZCBpZGVu dGlmaWVyICd0dW5uZWxfcnVsZScKICAgICAgICB3aGlsZSAoKHBfdHVubmVsID0gVEFJTFFfRklS U1QoJnR1bm5lbF9ydWxlLT50dW5uZWxfbGlzdCkpKSB7CiAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICBeCi9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9kcml2ZXJz L25ldC9pNDBlL2k0MGVfZXRoZGV2LmM6MTI5ODoxMDogZXJyb3I6IHVzZSBvZiB1bmRlY2xhcmVk IGlkZW50aWZpZXIgJ3BfdHVubmVsJwogICAgICAgIHdoaWxlICgocF90dW5uZWwgPSBUQUlMUV9G SVJTVCgmdHVubmVsX3J1bGUtPnR1bm5lbF9saXN0KSkpIHsKICAgICAgICAgICAgICAgIF4KL2hv bWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2RyaXZlcnMvbmV0L2k0MGUvaTQwZV9ldGhkZXYu YzoxMjk5OjQzOiBlcnJvcjogdXNlIG9mIHVuZGVjbGFyZWQgaWRlbnRpZmllciAncF90dW5uZWwn CiAgICAgICAgICAgICAgICBUQUlMUV9SRU1PVkUoJnR1bm5lbF9ydWxlLT50dW5uZWxfbGlzdCwg cF90dW5uZWwsIHJ1bGVzKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICBeCi9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9kcml2ZXJz L25ldC9pNDBlL2k0MGVfZXRoZGV2LmM6MTI5OTo0MzogZXJyb3I6IHVzZSBvZiB1bmRlY2xhcmVk IGlkZW50aWZpZXIgJ3BfdHVubmVsJwovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vZHJp dmVycy9uZXQvaTQwZS9pNDBlX2V0aGRldi5jOjEyOTk6NDM6IGVycm9yOiB1c2Ugb2YgdW5kZWNs YXJlZCBpZGVudGlmaWVyICdwX3R1bm5lbCcKL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9u L2RyaXZlcnMvbmV0L2k0MGUvaTQwZV9ldGhkZXYuYzoxMjk5OjE3OiBlcnJvcjogdXNlIG9mIHVu ZGVjbGFyZWQgaWRlbnRpZmllciAndHVubmVsX3J1bGUnCiAgICAgICAgICAgICAgICBUQUlMUV9S RU1PVkUoJnR1bm5lbF9ydWxlLT50dW5uZWxfbGlzdCwgcF90dW5uZWwsIHJ1bGVzKTsKICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgXgovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24v ZHJpdmVycy9uZXQvaTQwZS9pNDBlX2V0aGRldi5jOjEyOTk6NDM6IGVycm9yOiB1c2Ugb2YgdW5k ZWNsYXJlZCBpZGVudGlmaWVyICdwX3R1bm5lbCcKICAgICAgICAgICAgICAgIFRBSUxRX1JFTU9W RSgmdHVubmVsX3J1bGUtPnR1bm5lbF9saXN0LCBwX3R1bm5lbCwgcnVsZXMpOwogICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF4KL2hvbWUvcGF0 Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2RyaXZlcnMvbmV0L2k0MGUvaTQwZV9ldGhkZXYuYzoxMjk5 OjQzOiBlcnJvcjogdXNlIG9mIHVuZGVjbGFyZWQgaWRlbnRpZmllciAncF90dW5uZWwnCi9ob21l L3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9kcml2ZXJzL25ldC9pNDBlL2k0MGVfZXRoZGV2LmM6 MTI5OTo0MzogZXJyb3I6IHVzZSBvZiB1bmRlY2xhcmVkIGlkZW50aWZpZXIgJ3BfdHVubmVsJwov aG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vZHJpdmVycy9uZXQvaTQwZS9pNDBlX2V0aGRl di5jOjEzMDA6MTI6IGVycm9yOiB1c2Ugb2YgdW5kZWNsYXJlZCBpZGVudGlmaWVyICdwX3R1bm5l bCcKICAgICAgICAgICAgICAgIHJ0ZV9mcmVlKHBfdHVubmVsKTsKICAgICAgICAgICAgICAgICAg ICAgICAgIF4KL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2RyaXZlcnMvbmV0L2k0MGUv aTQwZV9ldGhkZXYuYzoxMzA0OjY6IGVycm9yOiB1c2Ugb2YgdW5kZWNsYXJlZCBpZGVudGlmaWVy ICdmZGlyX2luZm8nCiAgICAgICAgaWYgKGZkaXJfaW5mby0+aGFzaF9tYXApCiAgICAgICAgICAg IF4KL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2RyaXZlcnMvbmV0L2k0MGUvaTQwZV9l dGhkZXYuYzoxMzA1OjEyOiBlcnJvcjogdXNlIG9mIHVuZGVjbGFyZWQgaWRlbnRpZmllciAnZmRp cl9pbmZvJwogICAgICAgICAgICAgICAgcnRlX2ZyZWUoZmRpcl9pbmZvLT5oYXNoX21hcCk7CiAg ICAgICAgICAgICAgICAgICAgICAgICBeCi9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9k cml2ZXJzL25ldC9pNDBlL2k0MGVfZXRoZGV2LmM6MTMwNjo2OiBlcnJvcjogdXNlIG9mIHVuZGVj bGFyZWQgaWRlbnRpZmllciAnZmRpcl9pbmZvJwogICAgICAgIGlmIChmZGlyX2luZm8tPmhhc2hf dGFibGUpCiAgICAgICAgICAgIF4KL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2RyaXZl cnMvbmV0L2k0MGUvaTQwZV9ldGhkZXYuYzoxMzA3OjE3OiBlcnJvcjogdXNlIG9mIHVuZGVjbGFy ZWQgaWRlbnRpZmllciAnZmRpcl9pbmZvJwogICAgICAgICAgICAgICAgcnRlX2hhc2hfZnJlZShm ZGlyX2luZm8tPmhhc2hfdGFibGUpOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICBeCi9o b21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9kcml2ZXJzL25ldC9pNDBlL2k0MGVfZXRoZGV2 LmM6MTMwOTozMjogZXJyb3I6IHVzZSBvZiB1bmRlY2xhcmVkIGlkZW50aWZpZXIgJ2ZkaXJfaW5m bycKICAgICAgICB3aGlsZSAoKHBfZmRpciA9IFRBSUxRX0ZJUlNUKCZmZGlyX2luZm8tPmZkaXJf bGlzdCkpKSB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXgpmYXRhbCBl cnJvcjogdG9vIG1hbnkgZXJyb3JzIGVtaXR0ZWQsIHN0b3BwaW5nIG5vdyBbLWZlcnJvci1saW1p dD1dCjIwIGVycm9ycyBnZW5lcmF0ZWQuCi9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9t ay9pbnRlcm5hbC9ydGUuY29tcGlsZS1wcmUubWs6MTM4OiByZWNpcGUgZm9yIHRhcmdldCAnaTQw ZV9ldGhkZXYubycgZmFpbGVkCi9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9tay9ydGUu c3ViZGlyLm1rOjYxOiByZWNpcGUgZm9yIHRhcmdldCAnaTQwZScgZmFpbGVkCi9ob21lL3BhdGNo V29ya09yZy9jb21waWxhdGlvbi9tay9ydGUuc3ViZGlyLm1rOjYxOiByZWNpcGUgZm9yIHRhcmdl dCAnbmV0JyBmYWlsZWQKL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL21rL3J0ZS5zZGti dWlsZC5tazo3ODogcmVjaXBlIGZvciB0YXJnZXQgJ2RyaXZlcnMnIGZhaWxlZAovaG9tZS9wYXRj aFdvcmtPcmcvY29tcGlsYXRpb24vbWsvcnRlLnNka3Jvb3QubWs6MTI2OiByZWNpcGUgZm9yIHRh cmdldCAnYWxsJyBmYWlsZWQKL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL21rL3J0ZS5z ZGtpbnN0YWxsLm1rOjg1OiByZWNpcGUgZm9yIHRhcmdldCAncHJlX2luc3RhbGwnIGZhaWxlZAov aG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vbWsvcnRlLnNka3Jvb3QubWs6MTAxOiByZWNp cGUgZm9yIHRhcmdldCAnaW5zdGFsbCcgZmFpbGVkCgoKRmFpbGVkIEJ1aWxkICM5OgpPUzogRkMy NF82NApUYXJnZXQ6IHg4Nl82NC1uYXRpdmUtbGludXhhcHAtZ2NjLXNoYXJlZAoKL2hvbWUvcGF0 Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2RyaXZlcnMvbmV0L2k0MGUvaTQwZV9ldGhkZXYuYzogSW4g ZnVuY3Rpb24g4oCYZXRoX2k0MGVfZGV2X3VuaW5pdOKAmToKL2hvbWUvcGF0Y2hXb3JrT3JnL2Nv bXBpbGF0aW9uL2RyaXZlcnMvbmV0L2k0MGUvaTQwZV9ldGhkZXYuYzoxMjkzOjY6IGVycm9yOiDi gJh0dW5uZWxfcnVsZeKAmSB1bmRlY2xhcmVkIChmaXJzdCB1c2UgaW4gdGhpcyBmdW5jdGlvbikK ICBpZiAodHVubmVsX3J1bGUtPmhhc2hfbWFwKQogICAgICBefn5+fn5+fn5+fgovaG9tZS9wYXRj aFdvcmtPcmcvY29tcGlsYXRpb24vZHJpdmVycy9uZXQvaTQwZS9pNDBlX2V0aGRldi5jOjEyOTM6 Njogbm90ZTogZWFjaCB1bmRlY2xhcmVkIGlkZW50aWZpZXIgaXMgcmVwb3J0ZWQgb25seSBvbmNl IGZvciBlYWNoIGZ1bmN0aW9uIGl0IGFwcGVhcnMgaW4KL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBp bGF0aW9uL2RyaXZlcnMvbmV0L2k0MGUvaTQwZV9ldGhkZXYuYzoxMjk4OjEwOiBlcnJvcjog4oCY cF90dW5uZWzigJkgdW5kZWNsYXJlZCAoZmlyc3QgdXNlIGluIHRoaXMgZnVuY3Rpb24pCiAgd2hp bGUgKChwX3R1bm5lbCA9IFRBSUxRX0ZJUlNUKCZ0dW5uZWxfcnVsZS0+dHVubmVsX2xpc3QpKSkg ewogICAgICAgICAgXn5+fn5+fn4KL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2RyaXZl cnMvbmV0L2k0MGUvaTQwZV9ldGhkZXYuYzoxMzA0OjY6IGVycm9yOiDigJhmZGlyX2luZm/igJkg dW5kZWNsYXJlZCAoZmlyc3QgdXNlIGluIHRoaXMgZnVuY3Rpb24pCiAgaWYgKGZkaXJfaW5mby0+ aGFzaF9tYXApCiAgICAgIF5+fn5+fn5+fgovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24v ZHJpdmVycy9uZXQvaTQwZS9pNDBlX2V0aGRldi5jOjEzMDk6MTA6IGVycm9yOiDigJhwX2ZkaXLi gJkgdW5kZWNsYXJlZCAoZmlyc3QgdXNlIGluIHRoaXMgZnVuY3Rpb24pCiAgd2hpbGUgKChwX2Zk aXIgPSBUQUlMUV9GSVJTVCgmZmRpcl9pbmZvLT5mZGlyX2xpc3QpKSkgewogICAgICAgICAgXn5+ fn5+Ci9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9tay9pbnRlcm5hbC9ydGUuY29tcGls ZS1wcmUubWs6MTM4OiByZWNpcGUgZm9yIHRhcmdldCAnaTQwZV9ldGhkZXYubycgZmFpbGVkCi9o b21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9tay9ydGUuc3ViZGlyLm1rOjYxOiByZWNpcGUg Zm9yIHRhcmdldCAnaTQwZScgZmFpbGVkCi9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9t ay9ydGUuc3ViZGlyLm1rOjYxOiByZWNpcGUgZm9yIHRhcmdldCAnbmV0JyBmYWlsZWQKL2hvbWUv cGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL21rL3J0ZS5zZGtidWlsZC5tazo3ODogcmVjaXBlIGZv ciB0YXJnZXQgJ2RyaXZlcnMnIGZhaWxlZAovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24v bWsvcnRlLnNka3Jvb3QubWs6MTI2OiByZWNpcGUgZm9yIHRhcmdldCAnYWxsJyBmYWlsZWQKL2hv bWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL21rL3J0ZS5zZGtpbnN0YWxsLm1rOjg1OiByZWNp cGUgZm9yIHRhcmdldCAncHJlX2luc3RhbGwnIGZhaWxlZAovaG9tZS9wYXRjaFdvcmtPcmcvY29t cGlsYXRpb24vbWsvcnRlLnNka3Jvb3QubWs6MTAxOiByZWNpcGUgZm9yIHRhcmdldCAnaW5zdGFs bCcgZmFpbGVkCgoKRmFpbGVkIEJ1aWxkICMxMDoKT1M6IEZDMjRfNjQKVGFyZ2V0OiB4ODZfNjQt bmF0aXZlLWxpbnV4YXBwLWdjYwovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vZHJpdmVy cy9uZXQvaTQwZS9pNDBlX2V0aGRldi5jOiBJbiBmdW5jdGlvbiDigJhldGhfaTQwZV9kZXZfdW5p bml04oCZOgovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vZHJpdmVycy9uZXQvaTQwZS9p NDBlX2V0aGRldi5jOjEyOTM6NjogZXJyb3I6IOKAmHR1bm5lbF9ydWxl4oCZIHVuZGVjbGFyZWQg KGZpcnN0IHVzZSBpbiB0aGlzIGZ1bmN0aW9uKQogIGlmICh0dW5uZWxfcnVsZS0+aGFzaF9tYXAp CiAgICAgIF5+fn5+fn5+fn5+Ci9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9kcml2ZXJz L25ldC9pNDBlL2k0MGVfZXRoZGV2LmM6MTI5Mzo2OiBub3RlOiBlYWNoIHVuZGVjbGFyZWQgaWRl bnRpZmllciBpcyByZXBvcnRlZCBvbmx5IG9uY2UgZm9yIGVhY2ggZnVuY3Rpb24gaXQgYXBwZWFy cyBpbgovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vZHJpdmVycy9uZXQvaTQwZS9pNDBl X2V0aGRldi5jOjEyOTg6MTA6IGVycm9yOiDigJhwX3R1bm5lbOKAmSB1bmRlY2xhcmVkIChmaXJz dCB1c2UgaW4gdGhpcyBmdW5jdGlvbikKICB3aGlsZSAoKHBfdHVubmVsID0gVEFJTFFfRklSU1Qo JnR1bm5lbF9ydWxlLT50dW5uZWxfbGlzdCkpKSB7CiAgICAgICAgICBefn5+fn5+fgovaG9tZS9w YXRjaFdvcmtPcmcvY29tcGlsYXRpb24vZHJpdmVycy9uZXQvaTQwZS9pNDBlX2V0aGRldi5jOjEz MDQ6NjogZXJyb3I6IOKAmGZkaXJfaW5mb+KAmSB1bmRlY2xhcmVkIChmaXJzdCB1c2UgaW4gdGhp cyBmdW5jdGlvbikKICBpZiAoZmRpcl9pbmZvLT5oYXNoX21hcCkKICAgICAgXn5+fn5+fn5+Ci9o b21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9kcml2ZXJzL25ldC9pNDBlL2k0MGVfZXRoZGV2 LmM6MTMwOToxMDogZXJyb3I6IOKAmHBfZmRpcuKAmSB1bmRlY2xhcmVkIChmaXJzdCB1c2UgaW4g dGhpcyBmdW5jdGlvbikKICB3aGlsZSAoKHBfZmRpciA9IFRBSUxRX0ZJUlNUKCZmZGlyX2luZm8t PmZkaXJfbGlzdCkpKSB7CiAgICAgICAgICBefn5+fn4KL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBp bGF0aW9uL21rL2ludGVybmFsL3J0ZS5jb21waWxlLXByZS5tazoxMzg6IHJlY2lwZSBmb3IgdGFy Z2V0ICdpNDBlX2V0aGRldi5vJyBmYWlsZWQKL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9u L21rL3J0ZS5zdWJkaXIubWs6NjE6IHJlY2lwZSBmb3IgdGFyZ2V0ICdpNDBlJyBmYWlsZWQKL2hv bWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL21rL3J0ZS5zdWJkaXIubWs6NjE6IHJlY2lwZSBm b3IgdGFyZ2V0ICduZXQnIGZhaWxlZAovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vbWsv cnRlLnNka2J1aWxkLm1rOjc4OiByZWNpcGUgZm9yIHRhcmdldCAnZHJpdmVycycgZmFpbGVkCi9o b21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9tay9ydGUuc2Rrcm9vdC5tazoxMjY6IHJlY2lw ZSBmb3IgdGFyZ2V0ICdhbGwnIGZhaWxlZAovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24v bWsvcnRlLnNka2luc3RhbGwubWs6ODU6IHJlY2lwZSBmb3IgdGFyZ2V0ICdwcmVfaW5zdGFsbCcg ZmFpbGVkCi9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9tay9ydGUuc2Rrcm9vdC5tazox MDE6IHJlY2lwZSBmb3IgdGFyZ2V0ICdpbnN0YWxsJyBmYWlsZWQKCgpGYWlsZWQgQnVpbGQgIzEx OgpPUzogVUIxNjA0XzY0ClRhcmdldDogaTY4Ni1uYXRpdmUtbGludXhhcHAtZ2NjCi9ob21lL3Bh dGNoV29ya09yZy9jb21waWxhdGlvbi9kcml2ZXJzL25ldC9pNDBlL2k0MGVfZXRoZGV2LmM6IElu IGZ1bmN0aW9uIOKAmGV0aF9pNDBlX2Rldl91bmluaXTigJk6Ci9ob21lL3BhdGNoV29ya09yZy9j b21waWxhdGlvbi9kcml2ZXJzL25ldC9pNDBlL2k0MGVfZXRoZGV2LmM6MTI5Mzo2OiBlcnJvcjog 4oCYdHVubmVsX3J1bGXigJkgdW5kZWNsYXJlZCAoZmlyc3QgdXNlIGluIHRoaXMgZnVuY3Rpb24p CiAgaWYgKHR1bm5lbF9ydWxlLT5oYXNoX21hcCkKICAgICAgXgovaG9tZS9wYXRjaFdvcmtPcmcv Y29tcGlsYXRpb24vZHJpdmVycy9uZXQvaTQwZS9pNDBlX2V0aGRldi5jOjEyOTM6Njogbm90ZTog ZWFjaCB1bmRlY2xhcmVkIGlkZW50aWZpZXIgaXMgcmVwb3J0ZWQgb25seSBvbmNlIGZvciBlYWNo IGZ1bmN0aW9uIGl0IGFwcGVhcnMgaW4KL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2Ry aXZlcnMvbmV0L2k0MGUvaTQwZV9ldGhkZXYuYzoxMjk4OjEwOiBlcnJvcjog4oCYcF90dW5uZWzi gJkgdW5kZWNsYXJlZCAoZmlyc3QgdXNlIGluIHRoaXMgZnVuY3Rpb24pCiAgd2hpbGUgKChwX3R1 bm5lbCA9IFRBSUxRX0ZJUlNUKCZ0dW5uZWxfcnVsZS0+dHVubmVsX2xpc3QpKSkgewogICAgICAg ICAgXgovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vZHJpdmVycy9uZXQvaTQwZS9pNDBl X2V0aGRldi5jOjEzMDQ6NjogZXJyb3I6IOKAmGZkaXJfaW5mb+KAmSB1bmRlY2xhcmVkIChmaXJz dCB1c2UgaW4gdGhpcyBmdW5jdGlvbikKICBpZiAoZmRpcl9pbmZvLT5oYXNoX21hcCkKICAgICAg XgovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vZHJpdmVycy9uZXQvaTQwZS9pNDBlX2V0 aGRldi5jOjEzMDk6MTA6IGVycm9yOiDigJhwX2ZkaXLigJkgdW5kZWNsYXJlZCAoZmlyc3QgdXNl IGluIHRoaXMgZnVuY3Rpb24pCiAgd2hpbGUgKChwX2ZkaXIgPSBUQUlMUV9GSVJTVCgmZmRpcl9p bmZvLT5mZGlyX2xpc3QpKSkgewogICAgICAgICAgXgovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGls YXRpb24vbWsvaW50ZXJuYWwvcnRlLmNvbXBpbGUtcHJlLm1rOjEzODogcmVjaXBlIGZvciB0YXJn ZXQgJ2k0MGVfZXRoZGV2Lm8nIGZhaWxlZAovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24v bWsvcnRlLnN1YmRpci5tazo2MTogcmVjaXBlIGZvciB0YXJnZXQgJ2k0MGUnIGZhaWxlZAovaG9t ZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vbWsvcnRlLnN1YmRpci5tazo2MTogcmVjaXBlIGZv ciB0YXJnZXQgJ25ldCcgZmFpbGVkCi9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9tay9y dGUuc2RrYnVpbGQubWs6Nzg6IHJlY2lwZSBmb3IgdGFyZ2V0ICdkcml2ZXJzJyBmYWlsZWQKL2hv bWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL21rL3J0ZS5zZGtyb290Lm1rOjEyNjogcmVjaXBl IGZvciB0YXJnZXQgJ2FsbCcgZmFpbGVkCi9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9t ay9ydGUuc2RraW5zdGFsbC5tazo4NTogcmVjaXBlIGZvciB0YXJnZXQgJ3ByZV9pbnN0YWxsJyBm YWlsZWQKL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL21rL3J0ZS5zZGtyb290Lm1rOjEw MTogcmVjaXBlIGZvciB0YXJnZXQgJ2luc3RhbGwnIGZhaWxlZAoKCkZhaWxlZCBCdWlsZCAjMTI6 Ck9TOiBVQjE2MDRfNjQKVGFyZ2V0OiB4ODZfNjQtbmF0aXZlLWxpbnV4YXBwLWdjYwovaG9tZS9w YXRjaFdvcmtPcmcvY29tcGlsYXRpb24vZHJpdmVycy9uZXQvaTQwZS9pNDBlX2V0aGRldi5jOiBJ biBmdW5jdGlvbiDigJhldGhfaTQwZV9kZXZfdW5pbml04oCZOgovaG9tZS9wYXRjaFdvcmtPcmcv Y29tcGlsYXRpb24vZHJpdmVycy9uZXQvaTQwZS9pNDBlX2V0aGRldi5jOjEyOTM6NjogZXJyb3I6 IOKAmHR1bm5lbF9ydWxl4oCZIHVuZGVjbGFyZWQgKGZpcnN0IHVzZSBpbiB0aGlzIGZ1bmN0aW9u KQogIGlmICh0dW5uZWxfcnVsZS0+aGFzaF9tYXApCiAgICAgIF4KL2hvbWUvcGF0Y2hXb3JrT3Jn L2NvbXBpbGF0aW9uL2RyaXZlcnMvbmV0L2k0MGUvaTQwZV9ldGhkZXYuYzoxMjkzOjY6IG5vdGU6 IGVhY2ggdW5kZWNsYXJlZCBpZGVudGlmaWVyIGlzIHJlcG9ydGVkIG9ubHkgb25jZSBmb3IgZWFj aCBmdW5jdGlvbiBpdCBhcHBlYXJzIGluCi9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9k cml2ZXJzL25ldC9pNDBlL2k0MGVfZXRoZGV2LmM6MTI5ODoxMDogZXJyb3I6IOKAmHBfdHVubmVs 4oCZIHVuZGVjbGFyZWQgKGZpcnN0IHVzZSBpbiB0aGlzIGZ1bmN0aW9uKQogIHdoaWxlICgocF90 dW5uZWwgPSBUQUlMUV9GSVJTVCgmdHVubmVsX3J1bGUtPnR1bm5lbF9saXN0KSkpIHsKICAgICAg ICAgIF4KL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2RyaXZlcnMvbmV0L2k0MGUvaTQw ZV9ldGhkZXYuYzoxMzA0OjY6IGVycm9yOiDigJhmZGlyX2luZm/igJkgdW5kZWNsYXJlZCAoZmly c3QgdXNlIGluIHRoaXMgZnVuY3Rpb24pCiAgaWYgKGZkaXJfaW5mby0+aGFzaF9tYXApCiAgICAg IF4KL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2RyaXZlcnMvbmV0L2k0MGUvaTQwZV9l dGhkZXYuYzoxMzA5OjEwOiBlcnJvcjog4oCYcF9mZGly4oCZIHVuZGVjbGFyZWQgKGZpcnN0IHVz ZSBpbiB0aGlzIGZ1bmN0aW9uKQogIHdoaWxlICgocF9mZGlyID0gVEFJTFFfRklSU1QoJmZkaXJf aW5mby0+ZmRpcl9saXN0KSkpIHsKICAgICAgICAgIF4KL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBp bGF0aW9uL21rL2ludGVybmFsL3J0ZS5jb21waWxlLXByZS5tazoxMzg6IHJlY2lwZSBmb3IgdGFy Z2V0ICdpNDBlX2V0aGRldi5vJyBmYWlsZWQKL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9u L21rL3J0ZS5zdWJkaXIubWs6NjE6IHJlY2lwZSBmb3IgdGFyZ2V0ICdpNDBlJyBmYWlsZWQKL2hv bWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL21rL3J0ZS5zdWJkaXIubWs6NjE6IHJlY2lwZSBm b3IgdGFyZ2V0ICduZXQnIGZhaWxlZAovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vbWsv cnRlLnNka2J1aWxkLm1rOjc4OiByZWNpcGUgZm9yIHRhcmdldCAnZHJpdmVycycgZmFpbGVkCi9o b21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9tay9ydGUuc2Rrcm9vdC5tazoxMjY6IHJlY2lw ZSBmb3IgdGFyZ2V0ICdhbGwnIGZhaWxlZAovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24v bWsvcnRlLnNka2luc3RhbGwubWs6ODU6IHJlY2lwZSBmb3IgdGFyZ2V0ICdwcmVfaW5zdGFsbCcg ZmFpbGVkCi9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9tay9ydGUuc2Rrcm9vdC5tazox MDE6IHJlY2lwZSBmb3IgdGFyZ2V0ICdpbnN0YWxsJyBmYWlsZWQKCgpGYWlsZWQgQnVpbGQgIzEz OgpPUzogVUIxNjA0XzY0ClRhcmdldDogeDg2XzY0LW5hdGl2ZS1saW51eGFwcC1nY2Mtc2hhcmVk CgovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vZHJpdmVycy9uZXQvaTQwZS9pNDBlX2V0 aGRldi5jOiBJbiBmdW5jdGlvbiDigJhldGhfaTQwZV9kZXZfdW5pbml04oCZOgovaG9tZS9wYXRj aFdvcmtPcmcvY29tcGlsYXRpb24vZHJpdmVycy9uZXQvaTQwZS9pNDBlX2V0aGRldi5jOjEyOTM6 NjogZXJyb3I6IOKAmHR1bm5lbF9ydWxl4oCZIHVuZGVjbGFyZWQgKGZpcnN0IHVzZSBpbiB0aGlz IGZ1bmN0aW9uKQogIGlmICh0dW5uZWxfcnVsZS0+aGFzaF9tYXApCiAgICAgIF4KL2hvbWUvcGF0 Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2RyaXZlcnMvbmV0L2k0MGUvaTQwZV9ldGhkZXYuYzoxMjkz OjY6IG5vdGU6IGVhY2ggdW5kZWNsYXJlZCBpZGVudGlmaWVyIGlzIHJlcG9ydGVkIG9ubHkgb25j ZSBmb3IgZWFjaCBmdW5jdGlvbiBpdCBhcHBlYXJzIGluCi9ob21lL3BhdGNoV29ya09yZy9jb21w aWxhdGlvbi9kcml2ZXJzL25ldC9pNDBlL2k0MGVfZXRoZGV2LmM6MTI5ODoxMDogZXJyb3I6IOKA mHBfdHVubmVs4oCZIHVuZGVjbGFyZWQgKGZpcnN0IHVzZSBpbiB0aGlzIGZ1bmN0aW9uKQogIHdo aWxlICgocF90dW5uZWwgPSBUQUlMUV9GSVJTVCgmdHVubmVsX3J1bGUtPnR1bm5lbF9saXN0KSkp IHsKICAgICAgICAgIF4KL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2RyaXZlcnMvbmV0 L2k0MGUvaTQwZV9ldGhkZXYuYzoxMzA0OjY6IGVycm9yOiDigJhmZGlyX2luZm/igJkgdW5kZWNs YXJlZCAoZmlyc3QgdXNlIGluIHRoaXMgZnVuY3Rpb24pCiAgaWYgKGZkaXJfaW5mby0+aGFzaF9t YXApCiAgICAgIF4KL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2RyaXZlcnMvbmV0L2k0 MGUvaTQwZV9ldGhkZXYuYzoxMzA5OjEwOiBlcnJvcjog4oCYcF9mZGly4oCZIHVuZGVjbGFyZWQg KGZpcnN0IHVzZSBpbiB0aGlzIGZ1bmN0aW9uKQogIHdoaWxlICgocF9mZGlyID0gVEFJTFFfRklS U1QoJmZkaXJfaW5mby0+ZmRpcl9saXN0KSkpIHsKICAgICAgICAgIF4KL2hvbWUvcGF0Y2hXb3Jr T3JnL2NvbXBpbGF0aW9uL21rL2ludGVybmFsL3J0ZS5jb21waWxlLXByZS5tazoxMzg6IHJlY2lw ZSBmb3IgdGFyZ2V0ICdpNDBlX2V0aGRldi5vJyBmYWlsZWQKL2hvbWUvcGF0Y2hXb3JrT3JnL2Nv bXBpbGF0aW9uL21rL3J0ZS5zdWJkaXIubWs6NjE6IHJlY2lwZSBmb3IgdGFyZ2V0ICdpNDBlJyBm YWlsZWQKL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL21rL3J0ZS5zdWJkaXIubWs6NjE6 IHJlY2lwZSBmb3IgdGFyZ2V0ICduZXQnIGZhaWxlZAovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGls YXRpb24vbWsvcnRlLnNka2J1aWxkLm1rOjc4OiByZWNpcGUgZm9yIHRhcmdldCAnZHJpdmVycycg ZmFpbGVkCi9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9tay9ydGUuc2Rrcm9vdC5tazox MjY6IHJlY2lwZSBmb3IgdGFyZ2V0ICdhbGwnIGZhaWxlZAovaG9tZS9wYXRjaFdvcmtPcmcvY29t cGlsYXRpb24vbWsvcnRlLnNka2luc3RhbGwubWs6ODU6IHJlY2lwZSBmb3IgdGFyZ2V0ICdwcmVf aW5zdGFsbCcgZmFpbGVkCi9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9tay9ydGUuc2Rr cm9vdC5tazoxMDE6IHJlY2lwZSBmb3IgdGFyZ2V0ICdpbnN0YWxsJyBmYWlsZWQKCgpGYWlsZWQg QnVpbGQgIzE0OgpPUzogVUIxNjA0XzY0ClRhcmdldDogeDg2XzY0LW5hdGl2ZS1saW51eGFwcC1j bGFuZwovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vZHJpdmVycy9uZXQvaTQwZS9pNDBl X2V0aGRldi5jOjEyOTM6NjogZXJyb3I6IHVzZSBvZiB1bmRlY2xhcmVkIGlkZW50aWZpZXIgJ3R1 bm5lbF9ydWxlJwogICAgICAgIGlmICh0dW5uZWxfcnVsZS0+aGFzaF9tYXApCiAgICAgICAgICAg IF4KL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2RyaXZlcnMvbmV0L2k0MGUvaTQwZV9l dGhkZXYuYzoxMjk0OjEyOiBlcnJvcjogdXNlIG9mIHVuZGVjbGFyZWQgaWRlbnRpZmllciAndHVu bmVsX3J1bGUnCiAgICAgICAgICAgICAgICBydGVfZnJlZSh0dW5uZWxfcnVsZS0+aGFzaF9tYXAp OwogICAgICAgICAgICAgICAgICAgICAgICAgXgovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRp b24vZHJpdmVycy9uZXQvaTQwZS9pNDBlX2V0aGRldi5jOjEyOTU6NjogZXJyb3I6IHVzZSBvZiB1 bmRlY2xhcmVkIGlkZW50aWZpZXIgJ3R1bm5lbF9ydWxlJwogICAgICAgIGlmICh0dW5uZWxfcnVs ZS0+aGFzaF90YWJsZSkKICAgICAgICAgICAgXgovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRp b24vZHJpdmVycy9uZXQvaTQwZS9pNDBlX2V0aGRldi5jOjEyOTY6MTc6IGVycm9yOiB1c2Ugb2Yg dW5kZWNsYXJlZCBpZGVudGlmaWVyICd0dW5uZWxfcnVsZScKICAgICAgICAgICAgICAgIHJ0ZV9o YXNoX2ZyZWUodHVubmVsX3J1bGUtPmhhc2hfdGFibGUpOwogICAgICAgICAgICAgICAgICAgICAg ICAgICAgICBeCi9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9kcml2ZXJzL25ldC9pNDBl L2k0MGVfZXRoZGV2LmM6MTI5ODozNDogZXJyb3I6IHVzZSBvZiB1bmRlY2xhcmVkIGlkZW50aWZp ZXIgJ3R1bm5lbF9ydWxlJwogICAgICAgIHdoaWxlICgocF90dW5uZWwgPSBUQUlMUV9GSVJTVCgm dHVubmVsX3J1bGUtPnR1bm5lbF9saXN0KSkpIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIF4KL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2RyaXZlcnMvbmV0 L2k0MGUvaTQwZV9ldGhkZXYuYzoxMjk4OjEwOiBlcnJvcjogdXNlIG9mIHVuZGVjbGFyZWQgaWRl bnRpZmllciAncF90dW5uZWwnCiAgICAgICAgd2hpbGUgKChwX3R1bm5lbCA9IFRBSUxRX0ZJUlNU KCZ0dW5uZWxfcnVsZS0+dHVubmVsX2xpc3QpKSkgewogICAgICAgICAgICAgICAgXgovaG9tZS9w YXRjaFdvcmtPcmcvY29tcGlsYXRpb24vZHJpdmVycy9uZXQvaTQwZS9pNDBlX2V0aGRldi5jOjEy OTk6NDM6IGVycm9yOiB1c2Ugb2YgdW5kZWNsYXJlZCBpZGVudGlmaWVyICdwX3R1bm5lbCcKICAg ICAgICAgICAgICAgIFRBSUxRX1JFTU9WRSgmdHVubmVsX3J1bGUtPnR1bm5lbF9saXN0LCBwX3R1 bm5lbCwgcnVsZXMpOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIF4KL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2RyaXZlcnMvbmV0 L2k0MGUvaTQwZV9ldGhkZXYuYzoxMjk5OjQzOiBlcnJvcjogdXNlIG9mIHVuZGVjbGFyZWQgaWRl bnRpZmllciAncF90dW5uZWwnCi9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9kcml2ZXJz L25ldC9pNDBlL2k0MGVfZXRoZGV2LmM6MTI5OTo0MzogZXJyb3I6IHVzZSBvZiB1bmRlY2xhcmVk IGlkZW50aWZpZXIgJ3BfdHVubmVsJwovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vZHJp dmVycy9uZXQvaTQwZS9pNDBlX2V0aGRldi5jOjEyOTk6MTc6IGVycm9yOiB1c2Ugb2YgdW5kZWNs YXJlZCBpZGVudGlmaWVyICd0dW5uZWxfcnVsZScKICAgICAgICAgICAgICAgIFRBSUxRX1JFTU9W RSgmdHVubmVsX3J1bGUtPnR1bm5lbF9saXN0LCBwX3R1bm5lbCwgcnVsZXMpOwogICAgICAgICAg ICAgICAgICAgICAgICAgICAgICBeCi9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9kcml2 ZXJzL25ldC9pNDBlL2k0MGVfZXRoZGV2LmM6MTI5OTo0MzogZXJyb3I6IHVzZSBvZiB1bmRlY2xh cmVkIGlkZW50aWZpZXIgJ3BfdHVubmVsJwogICAgICAgICAgICAgICAgVEFJTFFfUkVNT1ZFKCZ0 dW5uZWxfcnVsZS0+dHVubmVsX2xpc3QsIHBfdHVubmVsLCBydWxlcyk7CiAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXgovaG9tZS9wYXRjaFdv cmtPcmcvY29tcGlsYXRpb24vZHJpdmVycy9uZXQvaTQwZS9pNDBlX2V0aGRldi5jOjEyOTk6NDM6 IGVycm9yOiB1c2Ugb2YgdW5kZWNsYXJlZCBpZGVudGlmaWVyICdwX3R1bm5lbCcKL2hvbWUvcGF0 Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2RyaXZlcnMvbmV0L2k0MGUvaTQwZV9ldGhkZXYuYzoxMjk5 OjQzOiBlcnJvcjogdXNlIG9mIHVuZGVjbGFyZWQgaWRlbnRpZmllciAncF90dW5uZWwnCi9ob21l L3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9kcml2ZXJzL25ldC9pNDBlL2k0MGVfZXRoZGV2LmM6 MTMwMDoxMjogZXJyb3I6IHVzZSBvZiB1bmRlY2xhcmVkIGlkZW50aWZpZXIgJ3BfdHVubmVsJwog ICAgICAgICAgICAgICAgcnRlX2ZyZWUocF90dW5uZWwpOwogICAgICAgICAgICAgICAgICAgICAg ICAgXgovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vZHJpdmVycy9uZXQvaTQwZS9pNDBl X2V0aGRldi5jOjEzMDQ6NjogZXJyb3I6IHVzZSBvZiB1bmRlY2xhcmVkIGlkZW50aWZpZXIgJ2Zk aXJfaW5mbycKICAgICAgICBpZiAoZmRpcl9pbmZvLT5oYXNoX21hcCkKICAgICAgICAgICAgXgov aG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vZHJpdmVycy9uZXQvaTQwZS9pNDBlX2V0aGRl di5jOjEzMDU6MTI6IGVycm9yOiB1c2Ugb2YgdW5kZWNsYXJlZCBpZGVudGlmaWVyICdmZGlyX2lu Zm8nCiAgICAgICAgICAgICAgICBydGVfZnJlZShmZGlyX2luZm8tPmhhc2hfbWFwKTsKICAgICAg ICAgICAgICAgICAgICAgICAgIF4KL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2RyaXZl cnMvbmV0L2k0MGUvaTQwZV9ldGhkZXYuYzoxMzA2OjY6IGVycm9yOiB1c2Ugb2YgdW5kZWNsYXJl ZCBpZGVudGlmaWVyICdmZGlyX2luZm8nCiAgICAgICAgaWYgKGZkaXJfaW5mby0+aGFzaF90YWJs ZSkKICAgICAgICAgICAgXgovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vZHJpdmVycy9u ZXQvaTQwZS9pNDBlX2V0aGRldi5jOjEzMDc6MTc6IGVycm9yOiB1c2Ugb2YgdW5kZWNsYXJlZCBp ZGVudGlmaWVyICdmZGlyX2luZm8nCiAgICAgICAgICAgICAgICBydGVfaGFzaF9mcmVlKGZkaXJf aW5mby0+aGFzaF90YWJsZSk7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF4KL2hvbWUv cGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2RyaXZlcnMvbmV0L2k0MGUvaTQwZV9ldGhkZXYuYzox MzA5OjMyOiBlcnJvcjogdXNlIG9mIHVuZGVjbGFyZWQgaWRlbnRpZmllciAnZmRpcl9pbmZvJwog ICAgICAgIHdoaWxlICgocF9mZGlyID0gVEFJTFFfRklSU1QoJmZkaXJfaW5mby0+ZmRpcl9saXN0 KSkpIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBeCmZhdGFsIGVycm9y OiB0b28gbWFueSBlcnJvcnMgZW1pdHRlZCwgc3RvcHBpbmcgbm93IFstZmVycm9yLWxpbWl0PV0K MjAgZXJyb3JzIGdlbmVyYXRlZC4KL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL21rL2lu dGVybmFsL3J0ZS5jb21waWxlLXByZS5tazoxMzg6IHJlY2lwZSBmb3IgdGFyZ2V0ICdpNDBlX2V0 aGRldi5vJyBmYWlsZWQKL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL21rL3J0ZS5zdWJk aXIubWs6NjE6IHJlY2lwZSBmb3IgdGFyZ2V0ICdpNDBlJyBmYWlsZWQKL2hvbWUvcGF0Y2hXb3Jr T3JnL2NvbXBpbGF0aW9uL21rL3J0ZS5zdWJkaXIubWs6NjE6IHJlY2lwZSBmb3IgdGFyZ2V0ICdu ZXQnIGZhaWxlZAovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vbWsvcnRlLnNka2J1aWxk Lm1rOjc4OiByZWNpcGUgZm9yIHRhcmdldCAnZHJpdmVycycgZmFpbGVkCi9ob21lL3BhdGNoV29y a09yZy9jb21waWxhdGlvbi9tay9ydGUuc2Rrcm9vdC5tazoxMjY6IHJlY2lwZSBmb3IgdGFyZ2V0 ICdhbGwnIGZhaWxlZAovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vbWsvcnRlLnNka2lu c3RhbGwubWs6ODU6IHJlY2lwZSBmb3IgdGFyZ2V0ICdwcmVfaW5zdGFsbCcgZmFpbGVkCi9ob21l L3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9tay9ydGUuc2Rrcm9vdC5tazoxMDE6IHJlY2lwZSBm b3IgdGFyZ2V0ICdpbnN0YWxsJyBmYWlsZWQKCgpGYWlsZWQgQnVpbGQgIzE1OgpPUzogQ2VudE9T N182NApUYXJnZXQ6IGk2ODYtbmF0aXZlLWxpbnV4YXBwLWdjYwovaG9tZS9wYXRjaFdvcmtPcmcv Y29tcGlsYXRpb24vZHJpdmVycy9uZXQvaTQwZS9pNDBlX2V0aGRldi5jOiBJbiBmdW5jdGlvbiDi gJhldGhfaTQwZV9kZXZfdW5pbml04oCZOgovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24v ZHJpdmVycy9uZXQvaTQwZS9pNDBlX2V0aGRldi5jOjEyOTM6NjogZXJyb3I6IOKAmHR1bm5lbF9y dWxl4oCZIHVuZGVjbGFyZWQgKGZpcnN0IHVzZSBpbiB0aGlzIGZ1bmN0aW9uKQogIGlmICh0dW5u ZWxfcnVsZS0+aGFzaF9tYXApCiAgICAgIF4KL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9u L2RyaXZlcnMvbmV0L2k0MGUvaTQwZV9ldGhkZXYuYzoxMjkzOjY6IG5vdGU6IGVhY2ggdW5kZWNs YXJlZCBpZGVudGlmaWVyIGlzIHJlcG9ydGVkIG9ubHkgb25jZSBmb3IgZWFjaCBmdW5jdGlvbiBp dCBhcHBlYXJzIGluCi9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9kcml2ZXJzL25ldC9p NDBlL2k0MGVfZXRoZGV2LmM6MTI5ODoxMDogZXJyb3I6IOKAmHBfdHVubmVs4oCZIHVuZGVjbGFy ZWQgKGZpcnN0IHVzZSBpbiB0aGlzIGZ1bmN0aW9uKQogIHdoaWxlICgocF90dW5uZWwgPSBUQUlM UV9GSVJTVCgmdHVubmVsX3J1bGUtPnR1bm5lbF9saXN0KSkpIHsKICAgICAgICAgIF4KL2hvbWUv cGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2RyaXZlcnMvbmV0L2k0MGUvaTQwZV9ldGhkZXYuYzox MzA0OjY6IGVycm9yOiDigJhmZGlyX2luZm/igJkgdW5kZWNsYXJlZCAoZmlyc3QgdXNlIGluIHRo aXMgZnVuY3Rpb24pCiAgaWYgKGZkaXJfaW5mby0+aGFzaF9tYXApCiAgICAgIF4KL2hvbWUvcGF0 Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2RyaXZlcnMvbmV0L2k0MGUvaTQwZV9ldGhkZXYuYzoxMzA5 OjEwOiBlcnJvcjog4oCYcF9mZGly4oCZIHVuZGVjbGFyZWQgKGZpcnN0IHVzZSBpbiB0aGlzIGZ1 bmN0aW9uKQogIHdoaWxlICgocF9mZGlyID0gVEFJTFFfRklSU1QoJmZkaXJfaW5mby0+ZmRpcl9s aXN0KSkpIHsKICAgICAgICAgIF4KCgpGYWlsZWQgQnVpbGQgIzE2OgpPUzogQ2VudE9TN182NApU YXJnZXQ6IHg4Nl82NC1uYXRpdmUtbGludXhhcHAtY2xhbmcKL2hvbWUvcGF0Y2hXb3JrT3JnL2Nv bXBpbGF0aW9uL2RyaXZlcnMvbmV0L2k0MGUvaTQwZV9ldGhkZXYuYzoxMjkzOjY6IGVycm9yOiB1 c2Ugb2YgdW5kZWNsYXJlZCBpZGVudGlmaWVyICd0dW5uZWxfcnVsZScKICAgICAgICBpZiAodHVu bmVsX3J1bGUtPmhhc2hfbWFwKQogICAgICAgICAgICBeCi9ob21lL3BhdGNoV29ya09yZy9jb21w aWxhdGlvbi9kcml2ZXJzL25ldC9pNDBlL2k0MGVfZXRoZGV2LmM6MTI5NDoxMjogZXJyb3I6IHVz ZSBvZiB1bmRlY2xhcmVkIGlkZW50aWZpZXIgJ3R1bm5lbF9ydWxlJwogICAgICAgICAgICAgICAg cnRlX2ZyZWUodHVubmVsX3J1bGUtPmhhc2hfbWFwKTsKICAgICAgICAgICAgICAgICAgICAgICAg IF4KL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2RyaXZlcnMvbmV0L2k0MGUvaTQwZV9l dGhkZXYuYzoxMjk1OjY6IGVycm9yOiB1c2Ugb2YgdW5kZWNsYXJlZCBpZGVudGlmaWVyICd0dW5u ZWxfcnVsZScKICAgICAgICBpZiAodHVubmVsX3J1bGUtPmhhc2hfdGFibGUpCiAgICAgICAgICAg IF4KL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2RyaXZlcnMvbmV0L2k0MGUvaTQwZV9l dGhkZXYuYzoxMjk2OjE3OiBlcnJvcjogdXNlIG9mIHVuZGVjbGFyZWQgaWRlbnRpZmllciAndHVu bmVsX3J1bGUnCiAgICAgICAgICAgICAgICBydGVfaGFzaF9mcmVlKHR1bm5lbF9ydWxlLT5oYXNo X3RhYmxlKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXgovaG9tZS9wYXRjaFdvcmtP cmcvY29tcGlsYXRpb24vZHJpdmVycy9uZXQvaTQwZS9pNDBlX2V0aGRldi5jOjEyOTg6MTA6IGVy cm9yOiB1c2Ugb2YgdW5kZWNsYXJlZCBpZGVudGlmaWVyICdwX3R1bm5lbCcKICAgICAgICB3aGls ZSAoKHBfdHVubmVsID0gVEFJTFFfRklSU1QoJnR1bm5lbF9ydWxlLT50dW5uZWxfbGlzdCkpKSB7 CiAgICAgICAgICAgICAgICBeCi9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9kcml2ZXJz L25ldC9pNDBlL2k0MGVfZXRoZGV2LmM6MTI5ODozNDogZXJyb3I6IHVzZSBvZiB1bmRlY2xhcmVk IGlkZW50aWZpZXIgJ3R1bm5lbF9ydWxlJwogICAgICAgIHdoaWxlICgocF90dW5uZWwgPSBUQUlM UV9GSVJTVCgmdHVubmVsX3J1bGUtPnR1bm5lbF9saXN0KSkpIHsKICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIF4KL3Vzci9pbmNsdWRlL3N5cy9xdWV1ZS5oOjQ1ODozMDog bm90ZTogZXhwYW5kZWQgZnJvbSBtYWNybyAnVEFJTFFfRklSU1QnCiNkZWZpbmUgVEFJTFFfRklS U1QoaGVhZCkgICAgICAgICAgICAgICAoKGhlYWQpLT50cWhfZmlyc3QpCiAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIF4KL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0 aW9uL2RyaXZlcnMvbmV0L2k0MGUvaTQwZV9ldGhkZXYuYzoxMjk5OjQzOiBlcnJvcjogdXNlIG9m IHVuZGVjbGFyZWQgaWRlbnRpZmllciAncF90dW5uZWwnCiAgICAgICAgICAgICAgICBUQUlMUV9S RU1PVkUoJnR1bm5lbF9ydWxlLT50dW5uZWxfbGlzdCwgcF90dW5uZWwsIHJ1bGVzKTsKICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBeCi91c3Iv aW5jbHVkZS9zeXMvcXVldWUuaDo0Mjc6ODogbm90ZTogZXhwYW5kZWQgZnJvbSBtYWNybyAnVEFJ TFFfUkVNT1ZFJwogICAgICAgIGlmICgoKGVsbSktPmZpZWxkLnRxZV9uZXh0KSAhPSBOVUxMKSAg ICAgICAgICAgICAgICAgICAgICAgICAgICBcCiAgICAgICAgICAgICAgXgovaG9tZS9wYXRjaFdv cmtPcmcvY29tcGlsYXRpb24vZHJpdmVycy9uZXQvaTQwZS9pNDBlX2V0aGRldi5jOjEyOTk6NDM6 IGVycm9yOiB1c2Ugb2YgdW5kZWNsYXJlZCBpZGVudGlmaWVyICdwX3R1bm5lbCcKL3Vzci9pbmNs dWRlL3N5cy9xdWV1ZS5oOjQyODo0OiBub3RlOiBleHBhbmRlZCBmcm9tIG1hY3JvICdUQUlMUV9S RU1PVkUnCiAgICAgICAgICAgICAgICAoZWxtKS0+ZmllbGQudHFlX25leHQtPmZpZWxkLnRxZV9w cmV2ID0gICAgICAgICAgICAgICAgIFwKICAgICAgICAgICAgICAgICBeCi9ob21lL3BhdGNoV29y a09yZy9jb21waWxhdGlvbi9kcml2ZXJzL25ldC9pNDBlL2k0MGVfZXRoZGV2LmM6MTI5OTo0Mzog ZXJyb3I6IHVzZSBvZiB1bmRlY2xhcmVkIGlkZW50aWZpZXIgJ3BfdHVubmVsJwovdXNyL2luY2x1 ZGUvc3lzL3F1ZXVlLmg6NDI5Ojg6IG5vdGU6IGV4cGFuZGVkIGZyb20gbWFjcm8gJ1RBSUxRX1JF TU9WRScKICAgICAgICAgICAgICAgICAgICAoZWxtKS0+ZmllbGQudHFlX3ByZXY7ICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgXAogICAgICAgICAgICAgICAgICAgICBeCi9ob21lL3BhdGNo V29ya09yZy9jb21waWxhdGlvbi9kcml2ZXJzL25ldC9pNDBlL2k0MGVfZXRoZGV2LmM6MTI5OTox NzogZXJyb3I6IHVzZSBvZiB1bmRlY2xhcmVkIGlkZW50aWZpZXIgJ3R1bm5lbF9ydWxlJwogICAg ICAgICAgICAgICAgVEFJTFFfUkVNT1ZFKCZ0dW5uZWxfcnVsZS0+dHVubmVsX2xpc3QsIHBfdHVu bmVsLCBydWxlcyk7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF4KL3Vzci9pbmNsdWRl L3N5cy9xdWV1ZS5oOjQzMTo0OiBub3RlOiBleHBhbmRlZCBmcm9tIG1hY3JvICdUQUlMUV9SRU1P VkUnCiAgICAgICAgICAgICAgICAoaGVhZCktPnRxaF9sYXN0ID0gKGVsbSktPmZpZWxkLnRxZV9w cmV2OyAgICAgICAgICAgICAgIFwKICAgICAgICAgICAgICAgICBeCi9ob21lL3BhdGNoV29ya09y Zy9jb21waWxhdGlvbi9kcml2ZXJzL25ldC9pNDBlL2k0MGVfZXRoZGV2LmM6MTI5OTo0MzogZXJy b3I6IHVzZSBvZiB1bmRlY2xhcmVkIGlkZW50aWZpZXIgJ3BfdHVubmVsJwogICAgICAgICAgICAg ICAgVEFJTFFfUkVNT1ZFKCZ0dW5uZWxfcnVsZS0+dHVubmVsX2xpc3QsIHBfdHVubmVsLCBydWxl cyk7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgXgovdXNyL2luY2x1ZGUvc3lzL3F1ZXVlLmg6NDMxOjIzOiBub3RlOiBleHBhbmRlZCBmcm9t IG1hY3JvICdUQUlMUV9SRU1PVkUnCiAgICAgICAgICAgICAgICAoaGVhZCktPnRxaF9sYXN0ID0g KGVsbSktPmZpZWxkLnRxZV9wcmV2OyAgICAgICAgICAgICAgIFwKICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgXgovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vZHJpdmVy cy9uZXQvaTQwZS9pNDBlX2V0aGRldi5jOjEyOTk6NDM6IGVycm9yOiB1c2Ugb2YgdW5kZWNsYXJl ZCBpZGVudGlmaWVyICdwX3R1bm5lbCcKL3Vzci9pbmNsdWRlL3N5cy9xdWV1ZS5oOjQzMjo0OiBu b3RlOiBleHBhbmRlZCBmcm9tIG1hY3JvICdUQUlMUV9SRU1PVkUnCiAgICAgICAgKihlbG0pLT5m aWVsZC50cWVfcHJldiA9IChlbG0pLT5maWVsZC50cWVfbmV4dDsgICAgICAgICAgICAgICAgIFwK ICAgICAgICAgIF4KL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2RyaXZlcnMvbmV0L2k0 MGUvaTQwZV9ldGhkZXYuYzoxMjk5OjQzOiBlcnJvcjogdXNlIG9mIHVuZGVjbGFyZWQgaWRlbnRp ZmllciAncF90dW5uZWwnCi91c3IvaW5jbHVkZS9zeXMvcXVldWUuaDo0MzI6Mjg6IG5vdGU6IGV4 cGFuZGVkIGZyb20gbWFjcm8gJ1RBSUxRX1JFTU9WRScKICAgICAgICAqKGVsbSktPmZpZWxkLnRx ZV9wcmV2ID0gKGVsbSktPmZpZWxkLnRxZV9uZXh0OyAgICAgICAgICAgICAgICAgXAogICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgXgovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRp b24vZHJpdmVycy9uZXQvaTQwZS9pNDBlX2V0aGRldi5jOjEzMDA6MTI6IGVycm9yOiB1c2Ugb2Yg dW5kZWNsYXJlZCBpZGVudGlmaWVyICdwX3R1bm5lbCcKICAgICAgICAgICAgICAgIHJ0ZV9mcmVl KHBfdHVubmVsKTsKICAgICAgICAgICAgICAgICAgICAgICAgIF4KL2hvbWUvcGF0Y2hXb3JrT3Jn L2NvbXBpbGF0aW9uL2RyaXZlcnMvbmV0L2k0MGUvaTQwZV9ldGhkZXYuYzoxMzA0OjY6IGVycm9y OiB1c2Ugb2YgdW5kZWNsYXJlZCBpZGVudGlmaWVyICdmZGlyX2luZm8nCiAgICAgICAgaWYgKGZk aXJfaW5mby0+aGFzaF9tYXApCiAgICAgICAgICAgIF4KL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBp bGF0aW9uL2RyaXZlcnMvbmV0L2k0MGUvaTQwZV9ldGhkZXYuYzoxMzA1OjEyOiBlcnJvcjogdXNl IG9mIHVuZGVjbGFyZWQgaWRlbnRpZmllciAnZmRpcl9pbmZvJwogICAgICAgICAgICAgICAgcnRl X2ZyZWUoZmRpcl9pbmZvLT5oYXNoX21hcCk7CiAgICAgICAgICAgICAgICAgICAgICAgICBeCi9o b21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9kcml2ZXJzL25ldC9pNDBlL2k0MGVfZXRoZGV2 LmM6MTMwNjo2OiBlcnJvcjogdXNlIG9mIHVuZGVjbGFyZWQgaWRlbnRpZmllciAnZmRpcl9pbmZv JwogICAgICAgIGlmIChmZGlyX2luZm8tPmhhc2hfdGFibGUpCiAgICAgICAgICAgIF4KL2hvbWUv cGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2RyaXZlcnMvbmV0L2k0MGUvaTQwZV9ldGhkZXYuYzox MzA3OjE3OiBlcnJvcjogdXNlIG9mIHVuZGVjbGFyZWQgaWRlbnRpZmllciAnZmRpcl9pbmZvJwog ICAgICAgICAgICAgICAgcnRlX2hhc2hfZnJlZShmZGlyX2luZm8tPmhhc2hfdGFibGUpOwogICAg ICAgICAgICAgICAgICAgICAgICAgICAgICBeCi9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlv bi9kcml2ZXJzL25ldC9pNDBlL2k0MGVfZXRoZGV2LmM6MTMwOToxMDogZXJyb3I6IHVzZSBvZiB1 bmRlY2xhcmVkIGlkZW50aWZpZXIgJ3BfZmRpcicKICAgICAgICB3aGlsZSAoKHBfZmRpciA9IFRB SUxRX0ZJUlNUKCZmZGlyX2luZm8tPmZkaXJfbGlzdCkpKSB7CiAgICAgICAgICAgICAgICBeCmZh dGFsIGVycm9yOiB0b28gbWFueSBlcnJvcnMgZW1pdHRlZCwgc3RvcHBpbmcgbm93IFstZmVycm9y LWxpbWl0PV0KMjAgZXJyb3JzIGdlbmVyYXRlZC4KCgpGYWlsZWQgQnVpbGQgIzE3OgpPUzogQ2Vu dE9TN182NApUYXJnZXQ6IHg4Nl82NC1uYXRpdmUtbGludXhhcHAtZ2NjLXNoYXJlZAoKL2hvbWUv cGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2RyaXZlcnMvbmV0L2k0MGUvaTQwZV9ldGhkZXYuYzog SW4gZnVuY3Rpb24g4oCYZXRoX2k0MGVfZGV2X3VuaW5pdOKAmToKL2hvbWUvcGF0Y2hXb3JrT3Jn L2NvbXBpbGF0aW9uL2RyaXZlcnMvbmV0L2k0MGUvaTQwZV9ldGhkZXYuYzoxMjkzOjY6IGVycm9y OiDigJh0dW5uZWxfcnVsZeKAmSB1bmRlY2xhcmVkIChmaXJzdCB1c2UgaW4gdGhpcyBmdW5jdGlv bikKICBpZiAodHVubmVsX3J1bGUtPmhhc2hfbWFwKQogICAgICBeCi9ob21lL3BhdGNoV29ya09y Zy9jb21waWxhdGlvbi9kcml2ZXJzL25ldC9pNDBlL2k0MGVfZXRoZGV2LmM6MTI5Mzo2OiBub3Rl OiBlYWNoIHVuZGVjbGFyZWQgaWRlbnRpZmllciBpcyByZXBvcnRlZCBvbmx5IG9uY2UgZm9yIGVh Y2ggZnVuY3Rpb24gaXQgYXBwZWFycyBpbgovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24v ZHJpdmVycy9uZXQvaTQwZS9pNDBlX2V0aGRldi5jOjEyOTg6MTA6IGVycm9yOiDigJhwX3R1bm5l bOKAmSB1bmRlY2xhcmVkIChmaXJzdCB1c2UgaW4gdGhpcyBmdW5jdGlvbikKICB3aGlsZSAoKHBf dHVubmVsID0gVEFJTFFfRklSU1QoJnR1bm5lbF9ydWxlLT50dW5uZWxfbGlzdCkpKSB7CiAgICAg ICAgICBeCi9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9kcml2ZXJzL25ldC9pNDBlL2k0 MGVfZXRoZGV2LmM6MTMwNDo2OiBlcnJvcjog4oCYZmRpcl9pbmZv4oCZIHVuZGVjbGFyZWQgKGZp cnN0IHVzZSBpbiB0aGlzIGZ1bmN0aW9uKQogIGlmIChmZGlyX2luZm8tPmhhc2hfbWFwKQogICAg ICBeCi9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9kcml2ZXJzL25ldC9pNDBlL2k0MGVf ZXRoZGV2LmM6MTMwOToxMDogZXJyb3I6IOKAmHBfZmRpcuKAmSB1bmRlY2xhcmVkIChmaXJzdCB1 c2UgaW4gdGhpcyBmdW5jdGlvbikKICB3aGlsZSAoKHBfZmRpciA9IFRBSUxRX0ZJUlNUKCZmZGly X2luZm8tPmZkaXJfbGlzdCkpKSB7CiAgICAgICAgICBeCgoKRmFpbGVkIEJ1aWxkICMxODoKT1M6 IENlbnRPUzdfNjQKVGFyZ2V0OiB4ODZfNjQtbmF0aXZlLWxpbnV4YXBwLWdjYwovaG9tZS9wYXRj aFdvcmtPcmcvY29tcGlsYXRpb24vZHJpdmVycy9uZXQvaTQwZS9pNDBlX2V0aGRldi5jOiBJbiBm dW5jdGlvbiDigJhldGhfaTQwZV9kZXZfdW5pbml04oCZOgovaG9tZS9wYXRjaFdvcmtPcmcvY29t cGlsYXRpb24vZHJpdmVycy9uZXQvaTQwZS9pNDBlX2V0aGRldi5jOjEyOTM6NjogZXJyb3I6IOKA mHR1bm5lbF9ydWxl4oCZIHVuZGVjbGFyZWQgKGZpcnN0IHVzZSBpbiB0aGlzIGZ1bmN0aW9uKQog IGlmICh0dW5uZWxfcnVsZS0+aGFzaF9tYXApCiAgICAgIF4KL2hvbWUvcGF0Y2hXb3JrT3JnL2Nv bXBpbGF0aW9uL2RyaXZlcnMvbmV0L2k0MGUvaTQwZV9ldGhkZXYuYzoxMjkzOjY6IG5vdGU6IGVh Y2ggdW5kZWNsYXJlZCBpZGVudGlmaWVyIGlzIHJlcG9ydGVkIG9ubHkgb25jZSBmb3IgZWFjaCBm dW5jdGlvbiBpdCBhcHBlYXJzIGluCi9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9kcml2 ZXJzL25ldC9pNDBlL2k0MGVfZXRoZGV2LmM6MTI5ODoxMDogZXJyb3I6IOKAmHBfdHVubmVs4oCZ IHVuZGVjbGFyZWQgKGZpcnN0IHVzZSBpbiB0aGlzIGZ1bmN0aW9uKQogIHdoaWxlICgocF90dW5u ZWwgPSBUQUlMUV9GSVJTVCgmdHVubmVsX3J1bGUtPnR1bm5lbF9saXN0KSkpIHsKICAgICAgICAg IF4KL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2RyaXZlcnMvbmV0L2k0MGUvaTQwZV9l dGhkZXYuYzoxMzA0OjY6IGVycm9yOiDigJhmZGlyX2luZm/igJkgdW5kZWNsYXJlZCAoZmlyc3Qg dXNlIGluIHRoaXMgZnVuY3Rpb24pCiAgaWYgKGZkaXJfaW5mby0+aGFzaF9tYXApCiAgICAgIF4K L2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2RyaXZlcnMvbmV0L2k0MGUvaTQwZV9ldGhk ZXYuYzoxMzA5OjEwOiBlcnJvcjog4oCYcF9mZGly4oCZIHVuZGVjbGFyZWQgKGZpcnN0IHVzZSBp biB0aGlzIGZ1bmN0aW9uKQogIHdoaWxlICgocF9mZGlyID0gVEFJTFFfRklSU1QoJmZkaXJfaW5m by0+ZmRpcl9saXN0KSkpIHsKICAgICAgICAgIF4KCgpEUERLIFNUViB0ZWFtCg== --===============8618184923920858178==--