From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:42642) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1X0H3D-0007Bm-SN for qemu-devel@nongnu.org; Thu, 26 Jun 2014 17:17:54 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1X0H38-0002pL-9e for qemu-devel@nongnu.org; Thu, 26 Jun 2014 17:17:47 -0400 Received: from mx1.redhat.com ([209.132.183.28]:13002) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1X0H37-0002pF-RQ for qemu-devel@nongnu.org; Thu, 26 Jun 2014 17:17:42 -0400 Message-ID: <53AC8DE9.4030001@redhat.com> Date: Thu, 26 Jun 2014 23:17:29 +0200 From: Max Reitz MIME-Version: 1.0 References: <1403706959-6979-1-git-send-email-kwolf@redhat.com> In-Reply-To: <1403706959-6979-1-git-send-email-kwolf@redhat.com> Content-Type: multipart/mixed; boundary="------------050804070708040705060807" Subject: Re: [Qemu-devel] [PATCH v2 0/9] bdrv_open() cleanups, part 1 List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: Kevin Wolf , qemu-devel@nongnu.org Cc: benoit.canet@irqsave.net, armbru@redhat.com, stefanha@redhat.com This is a multi-part message in MIME format. --------------050804070708040705060807 Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: quoted-printable X-MIME-Autoconverted: from 8bit to quoted-printable by mx1.redhat.com id s5QLHZMf028925 On 25.06.2014 16:35, Kevin Wolf wrote: > This is the first part of an attempt for disentangling bdrv_open(). At = the end > of this series, bdrv_open() code is somewhat easier to read, but the re= al > changes (including some bug fixes and changes of behaviour) haven't hap= pened > yet. > > Just sending out the first part now to get this merged early and avoid > conflicts. > > v2: > - Rebased on current git master > - Patch 1: Removed redundant if condition [Beno=C3=AEt] > Replaced redundant error check with assertion [Eric] > - Patch 2: Fixed leak in error path [Beno=C3=AEt] > > Kevin Wolf (9): > block: Create bdrv_fill_options() > block: Move bdrv_fill_options() call to bdrv_open() > block: Move json: parsing to bdrv_fill_options() > block: Always pass driver name through options QDict > block: Use common driver selection code for bdrv_open_file() > block: Inline bdrv_file_open() > block: Remove second bdrv_open() recursion > block: Catch backing files assigned to non-COW drivers > block: Remove a special case for protocols > > block.c | 280 ++++++++++++++++++++++--------------= --------- > block/cow.c | 1 + > block/qcow.c | 1 + > block/qcow2.c | 1 + > block/qed.c | 1 + > block/vmdk.c | 1 + > include/block/block_int.h | 3 + > tests/qemu-iotests/051 | 6 + > tests/qemu-iotests/051.out | 14 ++- > 9 files changed, 164 insertions(+), 144 deletions(-) With this series, iotests 040, 041 and 067 fail for me. I attached the=20 result. Max --------------050804070708040705060807 Content-Type: text/plain; charset=UTF-8; name="log" Content-Disposition: attachment; filename="log" Content-Transfer-Encoding: base64 UUVNVSAgICAgICAgICAtLSAvaG9tZS9tcmVpdHovcHJvamVjdHMvcWVtdS90ZXN0cy9xZW11 LWlvdGVzdHMvcWVtdQpRRU1VX0lNRyAgICAgIC0tIC9ob21lL21yZWl0ei9wcm9qZWN0cy9x ZW11L3Rlc3RzL3FlbXUtaW90ZXN0cy9xZW11LWltZwpRRU1VX0lPICAgICAgIC0tIC9ob21l L21yZWl0ei9wcm9qZWN0cy9xZW11L3Rlc3RzL3FlbXUtaW90ZXN0cy9xZW11LWlvIApRRU1V X05CRCAgICAgIC0tIC9ob21lL21yZWl0ei9wcm9qZWN0cy9xZW11L3Rlc3RzL3FlbXUtaW90 ZXN0cy9xZW11LW5iZApJTUdGTVQgICAgICAgIC0tIHFjb3cyIChjb21wYXQ9MS4xKQpJTUdQ Uk9UTyAgICAgIC0tIGZpbGUKUExBVEZPUk0gICAgICAtLSBMaW51eC94ODZfNjQgZHJlc2Rl biAzLjE0LjUtMjAwLmZjMjAueDg2XzY0ClNPQ0tFVF9TQ01fSEVMUEVSIC0tIAoKMDQwIDEw cyAuLi4gICAgICAgIFsyMzoxNTo0MV0gWzIzOjE1OjUyXSBbZmFpbGVkLCBleGl0IHN0YXR1 cyAxXSAtIG91dHB1dCBtaXNtYXRjaCAoc2VlIDA0MC5vdXQuYmFkKQotLS0gMDQwLm91dAky MDE0LTA2LTI2IDIzOjEwOjAwLjU5MTA3MzMyMyArMDIwMAorKysgMDQwLm91dC5iYWQJMjAx NC0wNi0yNiAyMzoxNTo1Mi4xMDI0NjU4ODQgKzAyMDAKQEAgLTEsNSArMSw0NyBAQAotLi4u Li4uLi4uLi4uLi4uLi4uLi4uLi4uCisuLi4uLkYuLi4uLi4uRi4uLi4uLi5GLi4KKz09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT0KK0ZBSUw6IHRlc3RfdG9wX2lzX2FjdGl2ZSAoX19tYWluX18uVGVzdEFj dGl2ZVplcm9MZW5ndGhJbWFnZSkKKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KK1RyYWNlYmFjayAobW9z dCByZWNlbnQgY2FsbCBsYXN0KToKKyAgRmlsZSAiLi8wNDAiLCBsaW5lIDExMiwgaW4gdGVz dF90b3BfaXNfYWN0aXZlCisgICAgc2VsZi5ydW5fY29tbWl0X3Rlc3QodGVzdF9pbWcsIGJh Y2tpbmdfaW1nLCBuZWVkX3JlYWR5PVRydWUpCisgIEZpbGUgIi4vMDQwIiwgbGluZSA1Nywg aW4gcnVuX2NvbW1pdF90ZXN0CisgICAgc2VsZi5hc3NlcnRfcW1wKGV2ZW50LCAnZGF0YS90 eXBlJywgJ2NvbW1pdCcpCisgIEZpbGUgIi9ob21lL21yZWl0ei9wcm9qZWN0cy9xZW11L3Rl c3RzL3FlbXUtaW90ZXN0cy9pb3Rlc3RzLnB5IiwgbGluZSAyMzIsIGluIGFzc2VydF9xbXAK KyAgICByZXN1bHQgPSBzZWxmLmRpY3RwYXRoKGQsIHBhdGgpCisgIEZpbGUgIi9ob21lL21y ZWl0ei9wcm9qZWN0cy9xZW11L3Rlc3RzL3FlbXUtaW90ZXN0cy9pb3Rlc3RzLnB5IiwgbGlu ZSAyMTEsIGluIGRpY3RwYXRoCisgICAgc2VsZi5mYWlsKCdmYWlsZWQgcGF0aCB0cmF2ZXJz YWwgZm9yICIlcyIgaW4gIiVzIicgJSAocGF0aCwgc3RyKGQpKSkKK0Fzc2VydGlvbkVycm9y OiBmYWlsZWQgcGF0aCB0cmF2ZXJzYWwgZm9yICJkYXRhL3R5cGUiIGluICJ7dSdkZXZpY2Un OiB1J2RyaXZlMCd9IgorCis9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CitGQUlMOiB0ZXN0X3RvcF9pc19h Y3RpdmUgKF9fbWFpbl9fLlRlc3RSZWxhdGl2ZVBhdGhzKQorLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQor VHJhY2ViYWNrIChtb3N0IHJlY2VudCBjYWxsIGxhc3QpOgorICBGaWxlICIuLzA0MCIsIGxp bmUgMjAyLCBpbiB0ZXN0X3RvcF9pc19hY3RpdmUKKyAgICBzZWxmLnJ1bl9jb21taXRfdGVz dChzZWxmLnRlc3RfaW1nLCBzZWxmLmJhY2tpbmdfaW1nKQorICBGaWxlICIuLzA0MCIsIGxp bmUgNTcsIGluIHJ1bl9jb21taXRfdGVzdAorICAgIHNlbGYuYXNzZXJ0X3FtcChldmVudCwg J2RhdGEvdHlwZScsICdjb21taXQnKQorICBGaWxlICIvaG9tZS9tcmVpdHovcHJvamVjdHMv cWVtdS90ZXN0cy9xZW11LWlvdGVzdHMvaW90ZXN0cy5weSIsIGxpbmUgMjMyLCBpbiBhc3Nl cnRfcW1wCisgICAgcmVzdWx0ID0gc2VsZi5kaWN0cGF0aChkLCBwYXRoKQorICBGaWxlICIv aG9tZS9tcmVpdHovcHJvamVjdHMvcWVtdS90ZXN0cy9xZW11LWlvdGVzdHMvaW90ZXN0cy5w eSIsIGxpbmUgMjExLCBpbiBkaWN0cGF0aAorICAgIHNlbGYuZmFpbCgnZmFpbGVkIHBhdGgg dHJhdmVyc2FsIGZvciAiJXMiIGluICIlcyInICUgKHBhdGgsIHN0cihkKSkpCitBc3NlcnRp b25FcnJvcjogZmFpbGVkIHBhdGggdHJhdmVyc2FsIGZvciAiZGF0YS90eXBlIiBpbiAie3Un ZGV2aWNlJzogdSdkcml2ZTAnfSIKKworPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQorRkFJTDogdGVzdF90 b3BfaXNfYWN0aXZlIChfX21haW5fXy5UZXN0U2luZ2xlRHJpdmUpCistLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tCitUcmFjZWJhY2sgKG1vc3QgcmVjZW50IGNhbGwgbGFzdCk6CisgIEZpbGUgIi4vMDQw IiwgbGluZSAxMTIsIGluIHRlc3RfdG9wX2lzX2FjdGl2ZQorICAgIHNlbGYucnVuX2NvbW1p dF90ZXN0KHRlc3RfaW1nLCBiYWNraW5nX2ltZywgbmVlZF9yZWFkeT1UcnVlKQorICBGaWxl ICIuLzA0MCIsIGxpbmUgNTcsIGluIHJ1bl9jb21taXRfdGVzdAorICAgIHNlbGYuYXNzZXJ0 X3FtcChldmVudCwgJ2RhdGEvdHlwZScsICdjb21taXQnKQorICBGaWxlICIvaG9tZS9tcmVp dHovcHJvamVjdHMvcWVtdS90ZXN0cy9xZW11LWlvdGVzdHMvaW90ZXN0cy5weSIsIGxpbmUg MjMyLCBpbiBhc3NlcnRfcW1wCisgICAgcmVzdWx0ID0gc2VsZi5kaWN0cGF0aChkLCBwYXRo KQorICBGaWxlICIvaG9tZS9tcmVpdHovcHJvamVjdHMvcWVtdS90ZXN0cy9xZW11LWlvdGVz dHMvaW90ZXN0cy5weSIsIGxpbmUgMjExLCBpbiBkaWN0cGF0aAorICAgIHNlbGYuZmFpbCgn ZmFpbGVkIHBhdGggdHJhdmVyc2FsIGZvciAiJXMiIGluICIlcyInICUgKHBhdGgsIHN0cihk KSkpCitBc3NlcnRpb25FcnJvcjogZmFpbGVkIHBhdGggdHJhdmVyc2FsIGZvciAiZGF0YS90 eXBlIiBpbiAie3UnZGV2aWNlJzogdSdkcml2ZTAnfSIKKwogLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQog UmFuIDI0IHRlc3RzCiAKLU9LCitGQUlMRUQgKGZhaWx1cmVzPTMpCjA0MSAxN3MgLi4uICAg ICAgICBbMjM6MTU6NTJdIFsyMzoxNjoyMV0gW2ZhaWxlZCwgZXhpdCBzdGF0dXMgMV0gLSBv dXRwdXQgbWlzbWF0Y2ggKHNlZSAwNDEub3V0LmJhZCkKLS0tIDA0MS5vdXQJMjAxNC0wNi0y NiAyMzoxMDowMC41OTEwNzMzMjMgKzAyMDAKKysrIDA0MS5vdXQuYmFkCTIwMTQtMDYtMjYg MjM6MTY6MjEuNTAyODMzMjc3ICswMjAwCkBAIC0xLDUgKzEsMzk5IEBACi0uLi4uLi4uLi4u Li4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLgorRkVGRkZGRkYuLkZGLkZGLi5GLkZGRi5GRi4u LkZGRkZGRkZGCis9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09CitFUlJPUjogdGVzdF9jYW5jZWwgKF9fbWFp bl9fLlRlc3RNaXJyb3JOb0JhY2tpbmcpCistLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCitUcmFjZWJhY2sg KG1vc3QgcmVjZW50IGNhbGwgbGFzdCk6CisgIEZpbGUgIi4vMDQxIiwgbGluZSAyMzUsIGlu IHRlYXJEb3duCisgICAgb3MucmVtb3ZlKHRhcmdldF9iYWNraW5nX2ltZykKK09TRXJyb3I6 IFtFcnJubyAyXSBObyBzdWNoIGZpbGUgb3IgZGlyZWN0b3J5OiAnL2hvbWUvbXJlaXR6L3By b2plY3RzL3FlbXUvdGVzdHMvcWVtdS1pb3Rlc3RzL3NjcmF0Y2gvdGFyZ2V0LWJhY2tpbmcu aW1nJworCis9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09CitGQUlMOiB0ZXN0X2NhbmNlbCAoX19tYWluX18u VGVzdE1pcnJvck5vQmFja2luZykKKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KK1RyYWNlYmFjayAobW9z dCByZWNlbnQgY2FsbCBsYXN0KToKKyAgRmlsZSAiLi8wNDEiLCBsaW5lIDI2MSwgaW4gdGVz dF9jYW5jZWwKKyAgICBzZWxmLndhaXRfcmVhZHlfYW5kX2NhbmNlbCgpCisgIEZpbGUgIi4v MDQxIiwgbGluZSA0NSwgaW4gd2FpdF9yZWFkeV9hbmRfY2FuY2VsCisgICAgc2VsZi53YWl0 X3JlYWR5KGRyaXZlKQorICBGaWxlICIuLzA0MSIsIGxpbmUgNDAsIGluIHdhaXRfcmVhZHkK KyAgICBzZWxmLmFzc2VydF9xbXAoZXZlbnQsICdkYXRhL3R5cGUnLCAnbWlycm9yJykKKyAg RmlsZSAiL2hvbWUvbXJlaXR6L3Byb2plY3RzL3FlbXUvdGVzdHMvcWVtdS1pb3Rlc3RzL2lv dGVzdHMucHkiLCBsaW5lIDIzMiwgaW4gYXNzZXJ0X3FtcAorICAgIHJlc3VsdCA9IHNlbGYu ZGljdHBhdGgoZCwgcGF0aCkKKyAgRmlsZSAiL2hvbWUvbXJlaXR6L3Byb2plY3RzL3FlbXUv dGVzdHMvcWVtdS1pb3Rlc3RzL2lvdGVzdHMucHkiLCBsaW5lIDIxMSwgaW4gZGljdHBhdGgK KyAgICBzZWxmLmZhaWwoJ2ZhaWxlZCBwYXRoIHRyYXZlcnNhbCBmb3IgIiVzIiBpbiAiJXMi JyAlIChwYXRoLCBzdHIoZCkpKQorQXNzZXJ0aW9uRXJyb3I6IGZhaWxlZCBwYXRoIHRyYXZl cnNhbCBmb3IgImRhdGEvdHlwZSIgaW4gInt1J2RldmljZSc6IHUnZHJpdmUwJ30iCisKKz09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT0KK0ZBSUw6IHRlc3RfY29tcGxldGUgKF9fbWFpbl9fLlRlc3RNaXJy b3JOb0JhY2tpbmcpCistLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCitUcmFjZWJhY2sgKG1vc3QgcmVjZW50 IGNhbGwgbGFzdCk6CisgIEZpbGUgIi4vMDQxIiwgbGluZSAyNDYsIGluIHRlc3RfY29tcGxl dGUKKyAgICBzZWxmLmNvbXBsZXRlX2FuZF93YWl0KCkKKyAgRmlsZSAiLi8wNDEiLCBsaW5l IDIxOSwgaW4gY29tcGxldGVfYW5kX3dhaXQKKyAgICByZXR1cm4gSW1hZ2VNaXJyb3JpbmdU ZXN0Q2FzZS5jb21wbGV0ZV9hbmRfd2FpdChzZWxmLCBkcml2ZSwgd2FpdF9yZWFkeSkKKyAg RmlsZSAiLi8wNDEiLCBsaW5lIDU1LCBpbiBjb21wbGV0ZV9hbmRfd2FpdAorICAgIHNlbGYu d2FpdF9yZWFkeSgpCisgIEZpbGUgIi4vMDQxIiwgbGluZSA0MCwgaW4gd2FpdF9yZWFkeQor ICAgIHNlbGYuYXNzZXJ0X3FtcChldmVudCwgJ2RhdGEvdHlwZScsICdtaXJyb3InKQorICBG aWxlICIvaG9tZS9tcmVpdHovcHJvamVjdHMvcWVtdS90ZXN0cy9xZW11LWlvdGVzdHMvaW90 ZXN0cy5weSIsIGxpbmUgMjMyLCBpbiBhc3NlcnRfcW1wCisgICAgcmVzdWx0ID0gc2VsZi5k aWN0cGF0aChkLCBwYXRoKQorICBGaWxlICIvaG9tZS9tcmVpdHovcHJvamVjdHMvcWVtdS90 ZXN0cy9xZW11LWlvdGVzdHMvaW90ZXN0cy5weSIsIGxpbmUgMjExLCBpbiBkaWN0cGF0aAor ICAgIHNlbGYuZmFpbCgnZmFpbGVkIHBhdGggdHJhdmVyc2FsIGZvciAiJXMiIGluICIlcyIn ICUgKHBhdGgsIHN0cihkKSkpCitBc3NlcnRpb25FcnJvcjogZmFpbGVkIHBhdGggdHJhdmVy c2FsIGZvciAiZGF0YS90eXBlIiBpbiAie3UnZGV2aWNlJzogdSdkcml2ZTAnfSIKKworPT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PQorRkFJTDogdGVzdF9sYXJnZV9jbHVzdGVyIChfX21haW5fXy5UZXN0 TWlycm9yTm9CYWNraW5nKQorLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorVHJhY2ViYWNrIChtb3N0IHJl Y2VudCBjYWxsIGxhc3QpOgorICBGaWxlICIuLzA0MSIsIGxpbmUgMjgyLCBpbiB0ZXN0X2xh cmdlX2NsdXN0ZXIKKyAgICBzZWxmLmNvbXBsZXRlX2FuZF93YWl0KCkKKyAgRmlsZSAiLi8w NDEiLCBsaW5lIDIxOSwgaW4gY29tcGxldGVfYW5kX3dhaXQKKyAgICByZXR1cm4gSW1hZ2VN aXJyb3JpbmdUZXN0Q2FzZS5jb21wbGV0ZV9hbmRfd2FpdChzZWxmLCBkcml2ZSwgd2FpdF9y ZWFkeSkKKyAgRmlsZSAiLi8wNDEiLCBsaW5lIDU1LCBpbiBjb21wbGV0ZV9hbmRfd2FpdAor ICAgIHNlbGYud2FpdF9yZWFkeSgpCisgIEZpbGUgIi4vMDQxIiwgbGluZSA0MCwgaW4gd2Fp dF9yZWFkeQorICAgIHNlbGYuYXNzZXJ0X3FtcChldmVudCwgJ2RhdGEvdHlwZScsICdtaXJy b3InKQorICBGaWxlICIvaG9tZS9tcmVpdHovcHJvamVjdHMvcWVtdS90ZXN0cy9xZW11LWlv dGVzdHMvaW90ZXN0cy5weSIsIGxpbmUgMjMyLCBpbiBhc3NlcnRfcW1wCisgICAgcmVzdWx0 ID0gc2VsZi5kaWN0cGF0aChkLCBwYXRoKQorICBGaWxlICIvaG9tZS9tcmVpdHovcHJvamVj dHMvcWVtdS90ZXN0cy9xZW11LWlvdGVzdHMvaW90ZXN0cy5weSIsIGxpbmUgMjExLCBpbiBk aWN0cGF0aAorICAgIHNlbGYuZmFpbCgnZmFpbGVkIHBhdGggdHJhdmVyc2FsIGZvciAiJXMi IGluICIlcyInICUgKHBhdGgsIHN0cihkKSkpCitBc3NlcnRpb25FcnJvcjogZmFpbGVkIHBh dGggdHJhdmVyc2FsIGZvciAiZGF0YS90eXBlIiBpbiAie3UnZGV2aWNlJzogdSdkcml2ZTAn fSIKKworPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PQorRkFJTDogdGVzdF9jb21wbGV0ZV9mdWxsIChfX21h aW5fXy5UZXN0TWlycm9yUmVzaXplZCkKKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KK1RyYWNlYmFjayAo bW9zdCByZWNlbnQgY2FsbCBsYXN0KToKKyAgRmlsZSAiLi8wNDEiLCBsaW5lIDMzMCwgaW4g dGVzdF9jb21wbGV0ZV9mdWxsCisgICAgc2VsZi5jb21wbGV0ZV9hbmRfd2FpdCgpCisgIEZp bGUgIi4vMDQxIiwgbGluZSA1NSwgaW4gY29tcGxldGVfYW5kX3dhaXQKKyAgICBzZWxmLndh aXRfcmVhZHkoKQorICBGaWxlICIuLzA0MSIsIGxpbmUgNDAsIGluIHdhaXRfcmVhZHkKKyAg ICBzZWxmLmFzc2VydF9xbXAoZXZlbnQsICdkYXRhL3R5cGUnLCAnbWlycm9yJykKKyAgRmls ZSAiL2hvbWUvbXJlaXR6L3Byb2plY3RzL3FlbXUvdGVzdHMvcWVtdS1pb3Rlc3RzL2lvdGVz dHMucHkiLCBsaW5lIDIzMiwgaW4gYXNzZXJ0X3FtcAorICAgIHJlc3VsdCA9IHNlbGYuZGlj dHBhdGgoZCwgcGF0aCkKKyAgRmlsZSAiL2hvbWUvbXJlaXR6L3Byb2plY3RzL3FlbXUvdGVz dHMvcWVtdS1pb3Rlc3RzL2lvdGVzdHMucHkiLCBsaW5lIDIxMSwgaW4gZGljdHBhdGgKKyAg ICBzZWxmLmZhaWwoJ2ZhaWxlZCBwYXRoIHRyYXZlcnNhbCBmb3IgIiVzIiBpbiAiJXMiJyAl IChwYXRoLCBzdHIoZCkpKQorQXNzZXJ0aW9uRXJyb3I6IGZhaWxlZCBwYXRoIHRyYXZlcnNh bCBmb3IgImRhdGEvdHlwZSIgaW4gInt1J2RldmljZSc6IHUnZHJpdmUwJ30iCisKKz09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT0KK0ZBSUw6IHRlc3RfY29tcGxldGVfdG9wIChfX21haW5fXy5UZXN0TWly cm9yUmVzaXplZCkKKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KK1RyYWNlYmFjayAobW9zdCByZWNlbnQg Y2FsbCBsYXN0KToKKyAgRmlsZSAiLi8wNDEiLCBsaW5lIDMxNiwgaW4gdGVzdF9jb21wbGV0 ZV90b3AKKyAgICBzZWxmLmNvbXBsZXRlX2FuZF93YWl0KCkKKyAgRmlsZSAiLi8wNDEiLCBs aW5lIDU1LCBpbiBjb21wbGV0ZV9hbmRfd2FpdAorICAgIHNlbGYud2FpdF9yZWFkeSgpCisg IEZpbGUgIi4vMDQxIiwgbGluZSA0MCwgaW4gd2FpdF9yZWFkeQorICAgIHNlbGYuYXNzZXJ0 X3FtcChldmVudCwgJ2RhdGEvdHlwZScsICdtaXJyb3InKQorICBGaWxlICIvaG9tZS9tcmVp dHovcHJvamVjdHMvcWVtdS90ZXN0cy9xZW11LWlvdGVzdHMvaW90ZXN0cy5weSIsIGxpbmUg MjMyLCBpbiBhc3NlcnRfcW1wCisgICAgcmVzdWx0ID0gc2VsZi5kaWN0cGF0aChkLCBwYXRo KQorICBGaWxlICIvaG9tZS9tcmVpdHovcHJvamVjdHMvcWVtdS90ZXN0cy9xZW11LWlvdGVz dHMvaW90ZXN0cy5weSIsIGxpbmUgMjExLCBpbiBkaWN0cGF0aAorICAgIHNlbGYuZmFpbCgn ZmFpbGVkIHBhdGggdHJhdmVyc2FsIGZvciAiJXMiIGluICIlcyInICUgKHBhdGgsIHN0cihk KSkpCitBc3NlcnRpb25FcnJvcjogZmFpbGVkIHBhdGggdHJhdmVyc2FsIGZvciAiZGF0YS90 eXBlIiBpbiAie3UnZGV2aWNlJzogdSdkcml2ZTAnfSIKKworPT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQor RkFJTDogdGVzdF9pZ25vcmVfcmVhZCAoX19tYWluX18uVGVzdFJlYWRFcnJvcnMpCistLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tCitUcmFjZWJhY2sgKG1vc3QgcmVjZW50IGNhbGwgbGFzdCk6CisgIEZp bGUgIi4vMDQxIiwgbGluZSA0MjgsIGluIHRlc3RfaWdub3JlX3JlYWQKKyAgICBzZWxmLmNv bXBsZXRlX2FuZF93YWl0KCkKKyAgRmlsZSAiLi8wNDEiLCBsaW5lIDU1LCBpbiBjb21wbGV0 ZV9hbmRfd2FpdAorICAgIHNlbGYud2FpdF9yZWFkeSgpCisgIEZpbGUgIi4vMDQxIiwgbGlu ZSA0MCwgaW4gd2FpdF9yZWFkeQorICAgIHNlbGYuYXNzZXJ0X3FtcChldmVudCwgJ2RhdGEv dHlwZScsICdtaXJyb3InKQorICBGaWxlICIvaG9tZS9tcmVpdHovcHJvamVjdHMvcWVtdS90 ZXN0cy9xZW11LWlvdGVzdHMvaW90ZXN0cy5weSIsIGxpbmUgMjMyLCBpbiBhc3NlcnRfcW1w CisgICAgcmVzdWx0ID0gc2VsZi5kaWN0cGF0aChkLCBwYXRoKQorICBGaWxlICIvaG9tZS9t cmVpdHovcHJvamVjdHMvcWVtdS90ZXN0cy9xZW11LWlvdGVzdHMvaW90ZXN0cy5weSIsIGxp bmUgMjExLCBpbiBkaWN0cGF0aAorICAgIHNlbGYuZmFpbCgnZmFpbGVkIHBhdGggdHJhdmVy c2FsIGZvciAiJXMiIGluICIlcyInICUgKHBhdGgsIHN0cihkKSkpCitBc3NlcnRpb25FcnJv cjogZmFpbGVkIHBhdGggdHJhdmVyc2FsIGZvciAiZGF0YS90eXBlIiBpbiAie3UnZGV2aWNl JzogdSdkcml2ZTAnfSIKKworPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQorRkFJTDogdGVzdF9sYXJnZV9j bHVzdGVyIChfX21haW5fXy5UZXN0UmVhZEVycm9ycykKKy0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KK1Ry YWNlYmFjayAobW9zdCByZWNlbnQgY2FsbCBsYXN0KToKKyAgRmlsZSAiLi8wNDEiLCBsaW5l IDQ0OSwgaW4gdGVzdF9sYXJnZV9jbHVzdGVyCisgICAgc2VsZi5jb21wbGV0ZV9hbmRfd2Fp dCgpCisgIEZpbGUgIi4vMDQxIiwgbGluZSA1NSwgaW4gY29tcGxldGVfYW5kX3dhaXQKKyAg ICBzZWxmLndhaXRfcmVhZHkoKQorICBGaWxlICIuLzA0MSIsIGxpbmUgNDAsIGluIHdhaXRf cmVhZHkKKyAgICBzZWxmLmFzc2VydF9xbXAoZXZlbnQsICdkYXRhL3R5cGUnLCAnbWlycm9y JykKKyAgRmlsZSAiL2hvbWUvbXJlaXR6L3Byb2plY3RzL3FlbXUvdGVzdHMvcWVtdS1pb3Rl c3RzL2lvdGVzdHMucHkiLCBsaW5lIDIzMiwgaW4gYXNzZXJ0X3FtcAorICAgIHJlc3VsdCA9 IHNlbGYuZGljdHBhdGgoZCwgcGF0aCkKKyAgRmlsZSAiL2hvbWUvbXJlaXR6L3Byb2plY3Rz L3FlbXUvdGVzdHMvcWVtdS1pb3Rlc3RzL2lvdGVzdHMucHkiLCBsaW5lIDIxMSwgaW4gZGlj dHBhdGgKKyAgICBzZWxmLmZhaWwoJ2ZhaWxlZCBwYXRoIHRyYXZlcnNhbCBmb3IgIiVzIiBp biAiJXMiJyAlIChwYXRoLCBzdHIoZCkpKQorQXNzZXJ0aW9uRXJyb3I6IGZhaWxlZCBwYXRo IHRyYXZlcnNhbCBmb3IgImRhdGEvdHlwZSIgaW4gInt1J2RldmljZSc6IHUnZHJpdmUwJ30i CisKKz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT0KK0ZBSUw6IHRlc3Rfc2V0X3NwZWVkIChfX21haW5fXy5U ZXN0U2V0U3BlZWQpCistLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCitUcmFjZWJhY2sgKG1vc3QgcmVjZW50 IGNhbGwgbGFzdCk6CisgIEZpbGUgIi4vMDQxIiwgbGluZSA2NTQsIGluIHRlc3Rfc2V0X3Nw ZWVkCisgICAgc2VsZi53YWl0X3JlYWR5X2FuZF9jYW5jZWwoKQorICBGaWxlICIuLzA0MSIs IGxpbmUgNDUsIGluIHdhaXRfcmVhZHlfYW5kX2NhbmNlbAorICAgIHNlbGYud2FpdF9yZWFk eShkcml2ZSkKKyAgRmlsZSAiLi8wNDEiLCBsaW5lIDQwLCBpbiB3YWl0X3JlYWR5CisgICAg c2VsZi5hc3NlcnRfcW1wKGV2ZW50LCAnZGF0YS90eXBlJywgJ21pcnJvcicpCisgIEZpbGUg Ii9ob21lL21yZWl0ei9wcm9qZWN0cy9xZW11L3Rlc3RzL3FlbXUtaW90ZXN0cy9pb3Rlc3Rz LnB5IiwgbGluZSAyMzIsIGluIGFzc2VydF9xbXAKKyAgICByZXN1bHQgPSBzZWxmLmRpY3Rw YXRoKGQsIHBhdGgpCisgIEZpbGUgIi9ob21lL21yZWl0ei9wcm9qZWN0cy9xZW11L3Rlc3Rz L3FlbXUtaW90ZXN0cy9pb3Rlc3RzLnB5IiwgbGluZSAyMTEsIGluIGRpY3RwYXRoCisgICAg c2VsZi5mYWlsKCdmYWlsZWQgcGF0aCB0cmF2ZXJzYWwgZm9yICIlcyIgaW4gIiVzIicgJSAo cGF0aCwgc3RyKGQpKSkKK0Fzc2VydGlvbkVycm9yOiBmYWlsZWQgcGF0aCB0cmF2ZXJzYWwg Zm9yICJkYXRhL3R5cGUiIGluICJ7dSdkZXZpY2UnOiB1J2RyaXZlMCd9IgorCis9PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09CitGQUlMOiB0ZXN0X3NldF9zcGVlZF9pbnZhbGlkIChfX21haW5fXy5UZXN0 U2V0U3BlZWQpCistLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCitUcmFjZWJhY2sgKG1vc3QgcmVjZW50IGNh bGwgbGFzdCk6CisgIEZpbGUgIi4vMDQxIiwgbGluZSA2ODMsIGluIHRlc3Rfc2V0X3NwZWVk X2ludmFsaWQKKyAgICBzZWxmLndhaXRfcmVhZHlfYW5kX2NhbmNlbCgpCisgIEZpbGUgIi4v MDQxIiwgbGluZSA0NSwgaW4gd2FpdF9yZWFkeV9hbmRfY2FuY2VsCisgICAgc2VsZi53YWl0 X3JlYWR5KGRyaXZlKQorICBGaWxlICIuLzA0MSIsIGxpbmUgNDAsIGluIHdhaXRfcmVhZHkK KyAgICBzZWxmLmFzc2VydF9xbXAoZXZlbnQsICdkYXRhL3R5cGUnLCAnbWlycm9yJykKKyAg RmlsZSAiL2hvbWUvbXJlaXR6L3Byb2plY3RzL3FlbXUvdGVzdHMvcWVtdS1pb3Rlc3RzL2lv dGVzdHMucHkiLCBsaW5lIDIzMiwgaW4gYXNzZXJ0X3FtcAorICAgIHJlc3VsdCA9IHNlbGYu ZGljdHBhdGgoZCwgcGF0aCkKKyAgRmlsZSAiL2hvbWUvbXJlaXR6L3Byb2plY3RzL3FlbXUv dGVzdHMvcWVtdS1pb3Rlc3RzL2lvdGVzdHMucHkiLCBsaW5lIDIxMSwgaW4gZGljdHBhdGgK KyAgICBzZWxmLmZhaWwoJ2ZhaWxlZCBwYXRoIHRyYXZlcnNhbCBmb3IgIiVzIiBpbiAiJXMi JyAlIChwYXRoLCBzdHIoZCkpKQorQXNzZXJ0aW9uRXJyb3I6IGZhaWxlZCBwYXRoIHRyYXZl cnNhbCBmb3IgImRhdGEvdHlwZSIgaW4gInt1J2RldmljZSc6IHUnZHJpdmUwJ30iCisKKz09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT0KK0ZBSUw6IHRlc3RfY2FuY2VsX2FmdGVyX3JlYWR5IChfX21haW5f Xy5UZXN0U2luZ2xlRHJpdmUpCistLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCitUcmFjZWJhY2sgKG1vc3Qg cmVjZW50IGNhbGwgbGFzdCk6CisgIEZpbGUgIi4vMDQxIiwgbGluZSAxMTQsIGluIHRlc3Rf Y2FuY2VsX2FmdGVyX3JlYWR5CisgICAgc2VsZi53YWl0X3JlYWR5X2FuZF9jYW5jZWwoKQor ICBGaWxlICIuLzA0MSIsIGxpbmUgNDUsIGluIHdhaXRfcmVhZHlfYW5kX2NhbmNlbAorICAg IHNlbGYud2FpdF9yZWFkeShkcml2ZSkKKyAgRmlsZSAiLi8wNDEiLCBsaW5lIDQwLCBpbiB3 YWl0X3JlYWR5CisgICAgc2VsZi5hc3NlcnRfcW1wKGV2ZW50LCAnZGF0YS90eXBlJywgJ21p cnJvcicpCisgIEZpbGUgIi9ob21lL21yZWl0ei9wcm9qZWN0cy9xZW11L3Rlc3RzL3FlbXUt aW90ZXN0cy9pb3Rlc3RzLnB5IiwgbGluZSAyMzIsIGluIGFzc2VydF9xbXAKKyAgICByZXN1 bHQgPSBzZWxmLmRpY3RwYXRoKGQsIHBhdGgpCisgIEZpbGUgIi9ob21lL21yZWl0ei9wcm9q ZWN0cy9xZW11L3Rlc3RzL3FlbXUtaW90ZXN0cy9pb3Rlc3RzLnB5IiwgbGluZSAyMTEsIGlu IGRpY3RwYXRoCisgICAgc2VsZi5mYWlsKCdmYWlsZWQgcGF0aCB0cmF2ZXJzYWwgZm9yICIl cyIgaW4gIiVzIicgJSAocGF0aCwgc3RyKGQpKSkKK0Fzc2VydGlvbkVycm9yOiBmYWlsZWQg cGF0aCB0cmF2ZXJzYWwgZm9yICJkYXRhL3R5cGUiIGluICJ7dSdkZXZpY2UnOiB1J2RyaXZl MCd9IgorCis9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09CitGQUlMOiB0ZXN0X2NvbXBsZXRlIChfX21haW5f Xy5UZXN0U2luZ2xlRHJpdmUpCistLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCitUcmFjZWJhY2sgKG1vc3Qg cmVjZW50IGNhbGwgbGFzdCk6CisgIEZpbGUgIi4vMDQxIiwgbGluZSA4OCwgaW4gdGVzdF9j b21wbGV0ZQorICAgIHNlbGYuY29tcGxldGVfYW5kX3dhaXQoKQorICBGaWxlICIuLzA0MSIs IGxpbmUgNTUsIGluIGNvbXBsZXRlX2FuZF93YWl0CisgICAgc2VsZi53YWl0X3JlYWR5KCkK KyAgRmlsZSAiLi8wNDEiLCBsaW5lIDQwLCBpbiB3YWl0X3JlYWR5CisgICAgc2VsZi5hc3Nl cnRfcW1wKGV2ZW50LCAnZGF0YS90eXBlJywgJ21pcnJvcicpCisgIEZpbGUgIi9ob21lL21y ZWl0ei9wcm9qZWN0cy9xZW11L3Rlc3RzL3FlbXUtaW90ZXN0cy9pb3Rlc3RzLnB5IiwgbGlu ZSAyMzIsIGluIGFzc2VydF9xbXAKKyAgICByZXN1bHQgPSBzZWxmLmRpY3RwYXRoKGQsIHBh dGgpCisgIEZpbGUgIi9ob21lL21yZWl0ei9wcm9qZWN0cy9xZW11L3Rlc3RzL3FlbXUtaW90 ZXN0cy9pb3Rlc3RzLnB5IiwgbGluZSAyMTEsIGluIGRpY3RwYXRoCisgICAgc2VsZi5mYWls KCdmYWlsZWQgcGF0aCB0cmF2ZXJzYWwgZm9yICIlcyIgaW4gIiVzIicgJSAocGF0aCwgc3Ry KGQpKSkKK0Fzc2VydGlvbkVycm9yOiBmYWlsZWQgcGF0aCB0cmF2ZXJzYWwgZm9yICJkYXRh L3R5cGUiIGluICJ7dSdkZXZpY2UnOiB1J2RyaXZlMCd9IgorCis9PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 CitGQUlMOiB0ZXN0X2xhcmdlX2NsdXN0ZXIgKF9fbWFpbl9fLlRlc3RTaW5nbGVEcml2ZSkK Ky0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0KK1RyYWNlYmFjayAobW9zdCByZWNlbnQgY2FsbCBsYXN0KToK KyAgRmlsZSAiLi8wNDEiLCBsaW5lIDE4NywgaW4gdGVzdF9sYXJnZV9jbHVzdGVyCisgICAg c2VsZi5jb21wbGV0ZV9hbmRfd2FpdCgpCisgIEZpbGUgIi4vMDQxIiwgbGluZSA1NSwgaW4g Y29tcGxldGVfYW5kX3dhaXQKKyAgICBzZWxmLndhaXRfcmVhZHkoKQorICBGaWxlICIuLzA0 MSIsIGxpbmUgNDAsIGluIHdhaXRfcmVhZHkKKyAgICBzZWxmLmFzc2VydF9xbXAoZXZlbnQs ICdkYXRhL3R5cGUnLCAnbWlycm9yJykKKyAgRmlsZSAiL2hvbWUvbXJlaXR6L3Byb2plY3Rz L3FlbXUvdGVzdHMvcWVtdS1pb3Rlc3RzL2lvdGVzdHMucHkiLCBsaW5lIDIzMiwgaW4gYXNz ZXJ0X3FtcAorICAgIHJlc3VsdCA9IHNlbGYuZGljdHBhdGgoZCwgcGF0aCkKKyAgRmlsZSAi L2hvbWUvbXJlaXR6L3Byb2plY3RzL3FlbXUvdGVzdHMvcWVtdS1pb3Rlc3RzL2lvdGVzdHMu cHkiLCBsaW5lIDIxMSwgaW4gZGljdHBhdGgKKyAgICBzZWxmLmZhaWwoJ2ZhaWxlZCBwYXRo IHRyYXZlcnNhbCBmb3IgIiVzIiBpbiAiJXMiJyAlIChwYXRoLCBzdHIoZCkpKQorQXNzZXJ0 aW9uRXJyb3I6IGZhaWxlZCBwYXRoIHRyYXZlcnNhbCBmb3IgImRhdGEvdHlwZSIgaW4gInt1 J2RldmljZSc6IHUnZHJpdmUwJ30iCisKKz09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KK0ZBSUw6IHRlc3Rf cGF1c2UgKF9fbWFpbl9fLlRlc3RTaW5nbGVEcml2ZSkKKy0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KK1Ry YWNlYmFjayAobW9zdCByZWNlbnQgY2FsbCBsYXN0KToKKyAgRmlsZSAiLi8wNDEiLCBsaW5l IDE0MiwgaW4gdGVzdF9wYXVzZQorICAgIHNlbGYuY29tcGxldGVfYW5kX3dhaXQoKQorICBG aWxlICIuLzA0MSIsIGxpbmUgNTUsIGluIGNvbXBsZXRlX2FuZF93YWl0CisgICAgc2VsZi53 YWl0X3JlYWR5KCkKKyAgRmlsZSAiLi8wNDEiLCBsaW5lIDQwLCBpbiB3YWl0X3JlYWR5Cisg ICAgc2VsZi5hc3NlcnRfcW1wKGV2ZW50LCAnZGF0YS90eXBlJywgJ21pcnJvcicpCisgIEZp bGUgIi9ob21lL21yZWl0ei9wcm9qZWN0cy9xZW11L3Rlc3RzL3FlbXUtaW90ZXN0cy9pb3Rl c3RzLnB5IiwgbGluZSAyMzIsIGluIGFzc2VydF9xbXAKKyAgICByZXN1bHQgPSBzZWxmLmRp Y3RwYXRoKGQsIHBhdGgpCisgIEZpbGUgIi9ob21lL21yZWl0ei9wcm9qZWN0cy9xZW11L3Rl c3RzL3FlbXUtaW90ZXN0cy9pb3Rlc3RzLnB5IiwgbGluZSAyMTEsIGluIGRpY3RwYXRoCisg ICAgc2VsZi5mYWlsKCdmYWlsZWQgcGF0aCB0cmF2ZXJzYWwgZm9yICIlcyIgaW4gIiVzIicg JSAocGF0aCwgc3RyKGQpKSkKK0Fzc2VydGlvbkVycm9yOiBmYWlsZWQgcGF0aCB0cmF2ZXJz YWwgZm9yICJkYXRhL3R5cGUiIGluICJ7dSdkZXZpY2UnOiB1J2RyaXZlMCd9IgorCis9PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09CitGQUlMOiB0ZXN0X3NtYWxsX2J1ZmZlciAoX19tYWluX18uVGVzdFNp bmdsZURyaXZlKQorLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorVHJhY2ViYWNrIChtb3N0IHJlY2VudCBj YWxsIGxhc3QpOgorICBGaWxlICIuLzA0MSIsIGxpbmUgMTU1LCBpbiB0ZXN0X3NtYWxsX2J1 ZmZlcgorICAgIHNlbGYuY29tcGxldGVfYW5kX3dhaXQoKQorICBGaWxlICIuLzA0MSIsIGxp bmUgNTUsIGluIGNvbXBsZXRlX2FuZF93YWl0CisgICAgc2VsZi53YWl0X3JlYWR5KCkKKyAg RmlsZSAiLi8wNDEiLCBsaW5lIDQwLCBpbiB3YWl0X3JlYWR5CisgICAgc2VsZi5hc3NlcnRf cW1wKGV2ZW50LCAnZGF0YS90eXBlJywgJ21pcnJvcicpCisgIEZpbGUgIi9ob21lL21yZWl0 ei9wcm9qZWN0cy9xZW11L3Rlc3RzL3FlbXUtaW90ZXN0cy9pb3Rlc3RzLnB5IiwgbGluZSAy MzIsIGluIGFzc2VydF9xbXAKKyAgICByZXN1bHQgPSBzZWxmLmRpY3RwYXRoKGQsIHBhdGgp CisgIEZpbGUgIi9ob21lL21yZWl0ei9wcm9qZWN0cy9xZW11L3Rlc3RzL3FlbXUtaW90ZXN0 cy9pb3Rlc3RzLnB5IiwgbGluZSAyMTEsIGluIGRpY3RwYXRoCisgICAgc2VsZi5mYWlsKCdm YWlsZWQgcGF0aCB0cmF2ZXJzYWwgZm9yICIlcyIgaW4gIiVzIicgJSAocGF0aCwgc3RyKGQp KSkKK0Fzc2VydGlvbkVycm9yOiBmYWlsZWQgcGF0aCB0cmF2ZXJzYWwgZm9yICJkYXRhL3R5 cGUiIGluICJ7dSdkZXZpY2UnOiB1J2RyaXZlMCd9IgorCis9PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CitG QUlMOiB0ZXN0X3NtYWxsX2J1ZmZlcjIgKF9fbWFpbl9fLlRlc3RTaW5nbGVEcml2ZSkKKy0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0KK1RyYWNlYmFjayAobW9zdCByZWNlbnQgY2FsbCBsYXN0KToKKyAg RmlsZSAiLi8wNDEiLCBsaW5lIDE3MSwgaW4gdGVzdF9zbWFsbF9idWZmZXIyCisgICAgc2Vs Zi5jb21wbGV0ZV9hbmRfd2FpdCgpCisgIEZpbGUgIi4vMDQxIiwgbGluZSA1NSwgaW4gY29t cGxldGVfYW5kX3dhaXQKKyAgICBzZWxmLndhaXRfcmVhZHkoKQorICBGaWxlICIuLzA0MSIs IGxpbmUgNDAsIGluIHdhaXRfcmVhZHkKKyAgICBzZWxmLmFzc2VydF9xbXAoZXZlbnQsICdk YXRhL3R5cGUnLCAnbWlycm9yJykKKyAgRmlsZSAiL2hvbWUvbXJlaXR6L3Byb2plY3RzL3Fl bXUvdGVzdHMvcWVtdS1pb3Rlc3RzL2lvdGVzdHMucHkiLCBsaW5lIDIzMiwgaW4gYXNzZXJ0 X3FtcAorICAgIHJlc3VsdCA9IHNlbGYuZGljdHBhdGgoZCwgcGF0aCkKKyAgRmlsZSAiL2hv bWUvbXJlaXR6L3Byb2plY3RzL3FlbXUvdGVzdHMvcWVtdS1pb3Rlc3RzL2lvdGVzdHMucHki LCBsaW5lIDIxMSwgaW4gZGljdHBhdGgKKyAgICBzZWxmLmZhaWwoJ2ZhaWxlZCBwYXRoIHRy YXZlcnNhbCBmb3IgIiVzIiBpbiAiJXMiJyAlIChwYXRoLCBzdHIoZCkpKQorQXNzZXJ0aW9u RXJyb3I6IGZhaWxlZCBwYXRoIHRyYXZlcnNhbCBmb3IgImRhdGEvdHlwZSIgaW4gInt1J2Rl dmljZSc6IHUnZHJpdmUwJ30iCisKKz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KK0ZBSUw6IHRlc3RfY2Fu Y2VsX2FmdGVyX3JlYWR5IChfX21haW5fXy5UZXN0U2luZ2xlRHJpdmVaZXJvTGVuZ3RoKQor LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLQorVHJhY2ViYWNrIChtb3N0IHJlY2VudCBjYWxsIGxhc3QpOgor ICBGaWxlICIuLzA0MSIsIGxpbmUgMTE0LCBpbiB0ZXN0X2NhbmNlbF9hZnRlcl9yZWFkeQor ICAgIHNlbGYud2FpdF9yZWFkeV9hbmRfY2FuY2VsKCkKKyAgRmlsZSAiLi8wNDEiLCBsaW5l IDQ1LCBpbiB3YWl0X3JlYWR5X2FuZF9jYW5jZWwKKyAgICBzZWxmLndhaXRfcmVhZHkoZHJp dmUpCisgIEZpbGUgIi4vMDQxIiwgbGluZSA0MCwgaW4gd2FpdF9yZWFkeQorICAgIHNlbGYu YXNzZXJ0X3FtcChldmVudCwgJ2RhdGEvdHlwZScsICdtaXJyb3InKQorICBGaWxlICIvaG9t ZS9tcmVpdHovcHJvamVjdHMvcWVtdS90ZXN0cy9xZW11LWlvdGVzdHMvaW90ZXN0cy5weSIs IGxpbmUgMjMyLCBpbiBhc3NlcnRfcW1wCisgICAgcmVzdWx0ID0gc2VsZi5kaWN0cGF0aChk LCBwYXRoKQorICBGaWxlICIvaG9tZS9tcmVpdHovcHJvamVjdHMvcWVtdS90ZXN0cy9xZW11 LWlvdGVzdHMvaW90ZXN0cy5weSIsIGxpbmUgMjExLCBpbiBkaWN0cGF0aAorICAgIHNlbGYu ZmFpbCgnZmFpbGVkIHBhdGggdHJhdmVyc2FsIGZvciAiJXMiIGluICIlcyInICUgKHBhdGgs IHN0cihkKSkpCitBc3NlcnRpb25FcnJvcjogZmFpbGVkIHBhdGggdHJhdmVyc2FsIGZvciAi ZGF0YS90eXBlIiBpbiAie3UnZGV2aWNlJzogdSdkcml2ZTAnfSIKKworPT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PQorRkFJTDogdGVzdF9jb21wbGV0ZSAoX19tYWluX18uVGVzdFNpbmdsZURyaXZlWmVy b0xlbmd0aCkKKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KK1RyYWNlYmFjayAobW9zdCByZWNlbnQgY2Fs bCBsYXN0KToKKyAgRmlsZSAiLi8wNDEiLCBsaW5lIDg4LCBpbiB0ZXN0X2NvbXBsZXRlCisg ICAgc2VsZi5jb21wbGV0ZV9hbmRfd2FpdCgpCisgIEZpbGUgIi4vMDQxIiwgbGluZSA1NSwg aW4gY29tcGxldGVfYW5kX3dhaXQKKyAgICBzZWxmLndhaXRfcmVhZHkoKQorICBGaWxlICIu LzA0MSIsIGxpbmUgNDAsIGluIHdhaXRfcmVhZHkKKyAgICBzZWxmLmFzc2VydF9xbXAoZXZl bnQsICdkYXRhL3R5cGUnLCAnbWlycm9yJykKKyAgRmlsZSAiL2hvbWUvbXJlaXR6L3Byb2pl Y3RzL3FlbXUvdGVzdHMvcWVtdS1pb3Rlc3RzL2lvdGVzdHMucHkiLCBsaW5lIDIzMiwgaW4g YXNzZXJ0X3FtcAorICAgIHJlc3VsdCA9IHNlbGYuZGljdHBhdGgoZCwgcGF0aCkKKyAgRmls ZSAiL2hvbWUvbXJlaXR6L3Byb2plY3RzL3FlbXUvdGVzdHMvcWVtdS1pb3Rlc3RzL2lvdGVz dHMucHkiLCBsaW5lIDIxMSwgaW4gZGljdHBhdGgKKyAgICBzZWxmLmZhaWwoJ2ZhaWxlZCBw YXRoIHRyYXZlcnNhbCBmb3IgIiVzIiBpbiAiJXMiJyAlIChwYXRoLCBzdHIoZCkpKQorQXNz ZXJ0aW9uRXJyb3I6IGZhaWxlZCBwYXRoIHRyYXZlcnNhbCBmb3IgImRhdGEvdHlwZSIgaW4g Int1J2RldmljZSc6IHUnZHJpdmUwJ30iCisKKz09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KK0ZBSUw6IHRl c3RfcGF1c2UgKF9fbWFpbl9fLlRlc3RTaW5nbGVEcml2ZVplcm9MZW5ndGgpCistLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tCitUcmFjZWJhY2sgKG1vc3QgcmVjZW50IGNhbGwgbGFzdCk6CisgIEZpbGUg Ii4vMDQxIiwgbGluZSAxNDIsIGluIHRlc3RfcGF1c2UKKyAgICBzZWxmLmNvbXBsZXRlX2Fu ZF93YWl0KCkKKyAgRmlsZSAiLi8wNDEiLCBsaW5lIDU1LCBpbiBjb21wbGV0ZV9hbmRfd2Fp dAorICAgIHNlbGYud2FpdF9yZWFkeSgpCisgIEZpbGUgIi4vMDQxIiwgbGluZSA0MCwgaW4g d2FpdF9yZWFkeQorICAgIHNlbGYuYXNzZXJ0X3FtcChldmVudCwgJ2RhdGEvdHlwZScsICdt aXJyb3InKQorICBGaWxlICIvaG9tZS9tcmVpdHovcHJvamVjdHMvcWVtdS90ZXN0cy9xZW11 LWlvdGVzdHMvaW90ZXN0cy5weSIsIGxpbmUgMjMyLCBpbiBhc3NlcnRfcW1wCisgICAgcmVz dWx0ID0gc2VsZi5kaWN0cGF0aChkLCBwYXRoKQorICBGaWxlICIvaG9tZS9tcmVpdHovcHJv amVjdHMvcWVtdS90ZXN0cy9xZW11LWlvdGVzdHMvaW90ZXN0cy5weSIsIGxpbmUgMjExLCBp biBkaWN0cGF0aAorICAgIHNlbGYuZmFpbCgnZmFpbGVkIHBhdGggdHJhdmVyc2FsIGZvciAi JXMiIGluICIlcyInICUgKHBhdGgsIHN0cihkKSkpCitBc3NlcnRpb25FcnJvcjogZmFpbGVk IHBhdGggdHJhdmVyc2FsIGZvciAiZGF0YS90eXBlIiBpbiAie3UnZGV2aWNlJzogdSdkcml2 ZTAnfSIKKworPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PQorRkFJTDogdGVzdF9zbWFsbF9idWZmZXIgKF9f bWFpbl9fLlRlc3RTaW5nbGVEcml2ZVplcm9MZW5ndGgpCistLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCitU cmFjZWJhY2sgKG1vc3QgcmVjZW50IGNhbGwgbGFzdCk6CisgIEZpbGUgIi4vMDQxIiwgbGlu ZSAxNTUsIGluIHRlc3Rfc21hbGxfYnVmZmVyCisgICAgc2VsZi5jb21wbGV0ZV9hbmRfd2Fp dCgpCisgIEZpbGUgIi4vMDQxIiwgbGluZSA1NSwgaW4gY29tcGxldGVfYW5kX3dhaXQKKyAg ICBzZWxmLndhaXRfcmVhZHkoKQorICBGaWxlICIuLzA0MSIsIGxpbmUgNDAsIGluIHdhaXRf cmVhZHkKKyAgICBzZWxmLmFzc2VydF9xbXAoZXZlbnQsICdkYXRhL3R5cGUnLCAnbWlycm9y JykKKyAgRmlsZSAiL2hvbWUvbXJlaXR6L3Byb2plY3RzL3FlbXUvdGVzdHMvcWVtdS1pb3Rl c3RzL2lvdGVzdHMucHkiLCBsaW5lIDIzMiwgaW4gYXNzZXJ0X3FtcAorICAgIHJlc3VsdCA9 IHNlbGYuZGljdHBhdGgoZCwgcGF0aCkKKyAgRmlsZSAiL2hvbWUvbXJlaXR6L3Byb2plY3Rz L3FlbXUvdGVzdHMvcWVtdS1pb3Rlc3RzL2lvdGVzdHMucHkiLCBsaW5lIDIxMSwgaW4gZGlj dHBhdGgKKyAgICBzZWxmLmZhaWwoJ2ZhaWxlZCBwYXRoIHRyYXZlcnNhbCBmb3IgIiVzIiBp biAiJXMiJyAlIChwYXRoLCBzdHIoZCkpKQorQXNzZXJ0aW9uRXJyb3I6IGZhaWxlZCBwYXRo IHRyYXZlcnNhbCBmb3IgImRhdGEvdHlwZSIgaW4gInt1J2RldmljZSc6IHUnZHJpdmUwJ30i CisKKz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT0KK0ZBSUw6IHRlc3RfYWJzb2x1dGVfcGF0aHNfZnVsbCAo X19tYWluX18uVGVzdFVuYmFja2VkU291cmNlKQorLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorVHJhY2Vi YWNrIChtb3N0IHJlY2VudCBjYWxsIGxhc3QpOgorICBGaWxlICIuLzA0MSIsIGxpbmUgNzA1 LCBpbiB0ZXN0X2Fic29sdXRlX3BhdGhzX2Z1bGwKKyAgICBzZWxmLmNvbXBsZXRlX2FuZF93 YWl0KCkKKyAgRmlsZSAiLi8wNDEiLCBsaW5lIDU1LCBpbiBjb21wbGV0ZV9hbmRfd2FpdAor ICAgIHNlbGYud2FpdF9yZWFkeSgpCisgIEZpbGUgIi4vMDQxIiwgbGluZSA0MCwgaW4gd2Fp dF9yZWFkeQorICAgIHNlbGYuYXNzZXJ0X3FtcChldmVudCwgJ2RhdGEvdHlwZScsICdtaXJy b3InKQorICBGaWxlICIvaG9tZS9tcmVpdHovcHJvamVjdHMvcWVtdS90ZXN0cy9xZW11LWlv dGVzdHMvaW90ZXN0cy5weSIsIGxpbmUgMjMyLCBpbiBhc3NlcnRfcW1wCisgICAgcmVzdWx0 ID0gc2VsZi5kaWN0cGF0aChkLCBwYXRoKQorICBGaWxlICIvaG9tZS9tcmVpdHovcHJvamVj dHMvcWVtdS90ZXN0cy9xZW11LWlvdGVzdHMvaW90ZXN0cy5weSIsIGxpbmUgMjExLCBpbiBk aWN0cGF0aAorICAgIHNlbGYuZmFpbCgnZmFpbGVkIHBhdGggdHJhdmVyc2FsIGZvciAiJXMi IGluICIlcyInICUgKHBhdGgsIHN0cihkKSkpCitBc3NlcnRpb25FcnJvcjogZmFpbGVkIHBh dGggdHJhdmVyc2FsIGZvciAiZGF0YS90eXBlIiBpbiAie3UnZGV2aWNlJzogdSdkcml2ZTAn fSIKKworPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PQorRkFJTDogdGVzdF9hYnNvbHV0ZV9wYXRoc19ub25l IChfX21haW5fXy5UZXN0VW5iYWNrZWRTb3VyY2UpCistLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCitUcmFj ZWJhY2sgKG1vc3QgcmVjZW50IGNhbGwgbGFzdCk6CisgIEZpbGUgIi4vMDQxIiwgbGluZSA3 MjMsIGluIHRlc3RfYWJzb2x1dGVfcGF0aHNfbm9uZQorICAgIHNlbGYuY29tcGxldGVfYW5k X3dhaXQoKQorICBGaWxlICIuLzA0MSIsIGxpbmUgNTUsIGluIGNvbXBsZXRlX2FuZF93YWl0 CisgICAgc2VsZi53YWl0X3JlYWR5KCkKKyAgRmlsZSAiLi8wNDEiLCBsaW5lIDQwLCBpbiB3 YWl0X3JlYWR5CisgICAgc2VsZi5hc3NlcnRfcW1wKGV2ZW50LCAnZGF0YS90eXBlJywgJ21p cnJvcicpCisgIEZpbGUgIi9ob21lL21yZWl0ei9wcm9qZWN0cy9xZW11L3Rlc3RzL3FlbXUt aW90ZXN0cy9pb3Rlc3RzLnB5IiwgbGluZSAyMzIsIGluIGFzc2VydF9xbXAKKyAgICByZXN1 bHQgPSBzZWxmLmRpY3RwYXRoKGQsIHBhdGgpCisgIEZpbGUgIi9ob21lL21yZWl0ei9wcm9q ZWN0cy9xZW11L3Rlc3RzL3FlbXUtaW90ZXN0cy9pb3Rlc3RzLnB5IiwgbGluZSAyMTEsIGlu IGRpY3RwYXRoCisgICAgc2VsZi5mYWlsKCdmYWlsZWQgcGF0aCB0cmF2ZXJzYWwgZm9yICIl cyIgaW4gIiVzIicgJSAocGF0aCwgc3RyKGQpKSkKK0Fzc2VydGlvbkVycm9yOiBmYWlsZWQg cGF0aCB0cmF2ZXJzYWwgZm9yICJkYXRhL3R5cGUiIGluICJ7dSdkZXZpY2UnOiB1J2RyaXZl MCd9IgorCis9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09CitGQUlMOiB0ZXN0X2Fic29sdXRlX3BhdGhzX3Rv cCAoX19tYWluX18uVGVzdFVuYmFja2VkU291cmNlKQorLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorVHJh Y2ViYWNrIChtb3N0IHJlY2VudCBjYWxsIGxhc3QpOgorICBGaWxlICIuLzA0MSIsIGxpbmUg NzE0LCBpbiB0ZXN0X2Fic29sdXRlX3BhdGhzX3RvcAorICAgIHNlbGYuY29tcGxldGVfYW5k X3dhaXQoKQorICBGaWxlICIuLzA0MSIsIGxpbmUgNTUsIGluIGNvbXBsZXRlX2FuZF93YWl0 CisgICAgc2VsZi53YWl0X3JlYWR5KCkKKyAgRmlsZSAiLi8wNDEiLCBsaW5lIDQwLCBpbiB3 YWl0X3JlYWR5CisgICAgc2VsZi5hc3NlcnRfcW1wKGV2ZW50LCAnZGF0YS90eXBlJywgJ21p cnJvcicpCisgIEZpbGUgIi9ob21lL21yZWl0ei9wcm9qZWN0cy9xZW11L3Rlc3RzL3FlbXUt aW90ZXN0cy9pb3Rlc3RzLnB5IiwgbGluZSAyMzIsIGluIGFzc2VydF9xbXAKKyAgICByZXN1 bHQgPSBzZWxmLmRpY3RwYXRoKGQsIHBhdGgpCisgIEZpbGUgIi9ob21lL21yZWl0ei9wcm9q ZWN0cy9xZW11L3Rlc3RzL3FlbXUtaW90ZXN0cy9pb3Rlc3RzLnB5IiwgbGluZSAyMTEsIGlu IGRpY3RwYXRoCisgICAgc2VsZi5mYWlsKCdmYWlsZWQgcGF0aCB0cmF2ZXJzYWwgZm9yICIl cyIgaW4gIiVzIicgJSAocGF0aCwgc3RyKGQpKSkKK0Fzc2VydGlvbkVycm9yOiBmYWlsZWQg cGF0aCB0cmF2ZXJzYWwgZm9yICJkYXRhL3R5cGUiIGluICJ7dSdkZXZpY2UnOiB1J2RyaXZl MCd9IgorCis9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09CitGQUlMOiB0ZXN0X2lnbm9yZV93cml0ZSAoX19t YWluX18uVGVzdFdyaXRlRXJyb3JzKQorLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorVHJhY2ViYWNrICht b3N0IHJlY2VudCBjYWxsIGxhc3QpOgorICBGaWxlICIuLzA0MSIsIGxpbmUgNTc2LCBpbiB0 ZXN0X2lnbm9yZV93cml0ZQorICAgIHNlbGYuYXNzZXJ0X3FtcChldmVudCwgJ2RhdGEvZGV2 aWNlJywgJ2RyaXZlMCcpCisgIEZpbGUgIi9ob21lL21yZWl0ei9wcm9qZWN0cy9xZW11L3Rl c3RzL3FlbXUtaW90ZXN0cy9pb3Rlc3RzLnB5IiwgbGluZSAyMzMsIGluIGFzc2VydF9xbXAK KyAgICBzZWxmLmFzc2VydEVxdWFsKHJlc3VsdCwgdmFsdWUsICd2YWx1ZXMgbm90IGVxdWFs ICIlcyIgYW5kICIlcyInICUgKHN0cihyZXN1bHQpLCBzdHIodmFsdWUpKSkKK0Fzc2VydGlv bkVycm9yOiB2YWx1ZXMgbm90IGVxdWFsICIiIGFuZCAiZHJpdmUwIgorCis9PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09CitGQUlMOiB0ZXN0X3JlcG9ydF93cml0ZSAoX19tYWluX18uVGVzdFdyaXRlRXJy b3JzKQorLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorVHJhY2ViYWNrIChtb3N0IHJlY2VudCBjYWxsIGxh c3QpOgorICBGaWxlICIuLzA0MSIsIGxpbmUgNTUwLCBpbiB0ZXN0X3JlcG9ydF93cml0ZQor ICAgIHNlbGYuYXNzZXJ0X3FtcChldmVudCwgJ2RhdGEvZGV2aWNlJywgJ2RyaXZlMCcpCisg IEZpbGUgIi9ob21lL21yZWl0ei9wcm9qZWN0cy9xZW11L3Rlc3RzL3FlbXUtaW90ZXN0cy9p b3Rlc3RzLnB5IiwgbGluZSAyMzMsIGluIGFzc2VydF9xbXAKKyAgICBzZWxmLmFzc2VydEVx dWFsKHJlc3VsdCwgdmFsdWUsICd2YWx1ZXMgbm90IGVxdWFsICIlcyIgYW5kICIlcyInICUg KHN0cihyZXN1bHQpLCBzdHIodmFsdWUpKSkKK0Fzc2VydGlvbkVycm9yOiB2YWx1ZXMgbm90 IGVxdWFsICIiIGFuZCAiZHJpdmUwIgorCis9PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CitGQUlMOiB0ZXN0 X3N0b3Bfd3JpdGUgKF9fbWFpbl9fLlRlc3RXcml0ZUVycm9ycykKKy0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0KK1RyYWNlYmFjayAobW9zdCByZWNlbnQgY2FsbCBsYXN0KToKKyAgRmlsZSAiLi8wNDEi LCBsaW5lIDU5NiwgaW4gdGVzdF9zdG9wX3dyaXRlCisgICAgc2VsZi5hc3NlcnRfcW1wKGV2 ZW50LCAnZGF0YS9kZXZpY2UnLCAnZHJpdmUwJykKKyAgRmlsZSAiL2hvbWUvbXJlaXR6L3By b2plY3RzL3FlbXUvdGVzdHMvcWVtdS1pb3Rlc3RzL2lvdGVzdHMucHkiLCBsaW5lIDIzMywg aW4gYXNzZXJ0X3FtcAorICAgIHNlbGYuYXNzZXJ0RXF1YWwocmVzdWx0LCB2YWx1ZSwgJ3Zh bHVlcyBub3QgZXF1YWwgIiVzIiBhbmQgIiVzIicgJSAoc3RyKHJlc3VsdCksIHN0cih2YWx1 ZSkpKQorQXNzZXJ0aW9uRXJyb3I6IHZhbHVlcyBub3QgZXF1YWwgIiIgYW5kICJkcml2ZTAi CisKIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0KIFJhbiAzNSB0ZXN0cwogCi1PSworRkFJTEVEIChmYWls dXJlcz0yNSwgZXJyb3JzPTEpCjA2NyAxcyAuLi4gICAgICAgIFsyMzoxNjoyMV0gWzIzOjE2 OjIxXSAtIG91dHB1dCBtaXNtYXRjaCAoc2VlIDA2Ny5vdXQuYmFkKQotLS0gMDY3Lm91dAky MDE0LTA2LTI2IDIzOjEwOjAwLjU5MzA3MzM0OCArMDIwMAorKysgMDY3Lm91dC5iYWQJMjAx NC0wNi0yNiAyMzoxNjoyMS44ODM4MzgwMzkgKzAyMDAKQEAgLTksNyArOSw2IEBACiB7InJl dHVybiI6IFt7ImlvLXN0YXR1cyI6ICJvayIsICJkZXZpY2UiOiAiZGlzayIsICJsb2NrZWQi OiBmYWxzZSwgInJlbW92YWJsZSI6IGZhbHNlLCAiaW5zZXJ0ZWQiOiB7ImlvcHNfcmQiOiAw LCAiZGV0ZWN0X3plcm9lcyI6ICJvZmYiLCAiaW1hZ2UiOiB7InZpcnR1YWwtc2l6ZSI6IDEz NDIxNzcyOCwgImZpbGVuYW1lIjogIlRFU1RfRElSL3QucWNvdzIiLCAiY2x1c3Rlci1zaXpl IjogNjU1MzYsICJmb3JtYXQiOiAicWNvdzIiLCAiYWN0dWFsLXNpemUiOiBTSVpFLCAiZm9y bWF0LXNwZWNpZmljIjogeyJ0eXBlIjogInFjb3cyIiwgImRhdGEiOiB7ImNvbXBhdCI6ICIx LjEiLCAibGF6eS1yZWZjb3VudHMiOiBmYWxzZX19LCAiZGlydHktZmxhZyI6IGZhbHNlfSwg ImlvcHNfd3IiOiAwLCAicm8iOiBmYWxzZSwgImJhY2tpbmdfZmlsZV9kZXB0aCI6IDAsICJk cnYiOiAicWNvdzIiLCAiaW9wcyI6IDAsICJicHNfd3IiOiAwLCAiZW5jcnlwdGVkIjogZmFs c2UsICJicHMiOiAwLCAiYnBzX3JkIjogMCwgImZpbGUiOiAiVEVTVF9ESVIvdC5xY293MiIs ICJlbmNyeXB0aW9uX2tleV9taXNzaW5nIjogZmFsc2V9LCAidHlwZSI6ICJ1bmtub3duIn0s IHsiaW8tc3RhdHVzIjogIm9rIiwgImRldmljZSI6ICJpZGUxLWNkMCIsICJsb2NrZWQiOiBm YWxzZSwgInJlbW92YWJsZSI6IHRydWUsICJ0cmF5X29wZW4iOiBmYWxzZSwgInR5cGUiOiAi dW5rbm93biJ9LCB7ImRldmljZSI6ICJmbG9wcHkwIiwgImxvY2tlZCI6IGZhbHNlLCAicmVt b3ZhYmxlIjogdHJ1ZSwgInRyYXlfb3BlbiI6IGZhbHNlLCAidHlwZSI6ICJ1bmtub3duIn0s IHsiZGV2aWNlIjogInNkMCIsICJsb2NrZWQiOiBmYWxzZSwgInJlbW92YWJsZSI6IHRydWUs ICJ0cmF5X29wZW4iOiBmYWxzZSwgInR5cGUiOiAidW5rbm93biJ9XX0KIHsicmV0dXJuIjog e319CiB7InJldHVybiI6IHt9fQoteyJ0aW1lc3RhbXAiOiB7InNlY29uZHMiOiAgVElNRVNU QU1QLCAibWljcm9zZWNvbmRzIjogIFRJTUVTVEFNUH0sICJldmVudCI6ICJERVZJQ0VfREVM RVRFRCIsICJkYXRhIjogeyJwYXRoIjogIi9tYWNoaW5lL3BlcmlwaGVyYWwvdmlydGlvMC92 aXJ0aW8tYmFja2VuZCJ9fQogeyJ0aW1lc3RhbXAiOiB7InNlY29uZHMiOiAgVElNRVNUQU1Q LCAibWljcm9zZWNvbmRzIjogIFRJTUVTVEFNUH0sICJldmVudCI6ICJERVZJQ0VfREVMRVRF RCIsICJkYXRhIjogeyJkZXZpY2UiOiAidmlydGlvMCIsICJwYXRoIjogIi9tYWNoaW5lL3Bl cmlwaGVyYWwvdmlydGlvMCJ9fQogeyJ0aW1lc3RhbXAiOiB7InNlY29uZHMiOiAgVElNRVNU QU1QLCAibWljcm9zZWNvbmRzIjogIFRJTUVTVEFNUH0sICJldmVudCI6ICJSRVNFVCJ9CiB7 InJldHVybiI6IFt7ImlvLXN0YXR1cyI6ICJvayIsICJkZXZpY2UiOiAiaWRlMS1jZDAiLCAi bG9ja2VkIjogZmFsc2UsICJyZW1vdmFibGUiOiB0cnVlLCAidHJheV9vcGVuIjogZmFsc2Us ICJ0eXBlIjogInVua25vd24ifSwgeyJkZXZpY2UiOiAiZmxvcHB5MCIsICJsb2NrZWQiOiBm YWxzZSwgInJlbW92YWJsZSI6IHRydWUsICJ0cmF5X29wZW4iOiBmYWxzZSwgInR5cGUiOiAi dW5rbm93biJ9LCB7ImRldmljZSI6ICJzZDAiLCAibG9ja2VkIjogZmFsc2UsICJyZW1vdmFi bGUiOiB0cnVlLCAidHJheV9vcGVuIjogZmFsc2UsICJ0eXBlIjogInVua25vd24ifV19CkBA IC0yOCw3ICsyNyw2IEBACiB7InJldHVybiI6IHt9fQogeyJyZXR1cm4iOiB7fX0KIHsicmV0 dXJuIjoge319Ci17InRpbWVzdGFtcCI6IHsic2Vjb25kcyI6ICBUSU1FU1RBTVAsICJtaWNy b3NlY29uZHMiOiAgVElNRVNUQU1QfSwgImV2ZW50IjogIkRFVklDRV9ERUxFVEVEIiwgImRh dGEiOiB7InBhdGgiOiAiL21hY2hpbmUvcGVyaXBoZXJhbC92aXJ0aW8wL3ZpcnRpby1iYWNr ZW5kIn19CiB7InRpbWVzdGFtcCI6IHsic2Vjb25kcyI6ICBUSU1FU1RBTVAsICJtaWNyb3Nl Y29uZHMiOiAgVElNRVNUQU1QfSwgImV2ZW50IjogIkRFVklDRV9ERUxFVEVEIiwgImRhdGEi OiB7ImRldmljZSI6ICJ2aXJ0aW8wIiwgInBhdGgiOiAiL21hY2hpbmUvcGVyaXBoZXJhbC92 aXJ0aW8wIn19CiB7InRpbWVzdGFtcCI6IHsic2Vjb25kcyI6ICBUSU1FU1RBTVAsICJtaWNy b3NlY29uZHMiOiAgVElNRVNUQU1QfSwgImV2ZW50IjogIlJFU0VUIn0KIHsicmV0dXJuIjog W3siaW8tc3RhdHVzIjogIm9rIiwgImRldmljZSI6ICJpZGUxLWNkMCIsICJsb2NrZWQiOiBm YWxzZSwgInJlbW92YWJsZSI6IHRydWUsICJ0cmF5X29wZW4iOiBmYWxzZSwgInR5cGUiOiAi dW5rbm93biJ9LCB7ImRldmljZSI6ICJmbG9wcHkwIiwgImxvY2tlZCI6IGZhbHNlLCAicmVt b3ZhYmxlIjogdHJ1ZSwgInRyYXlfb3BlbiI6IGZhbHNlLCAidHlwZSI6ICJ1bmtub3duIn0s IHsiZGV2aWNlIjogInNkMCIsICJsb2NrZWQiOiBmYWxzZSwgInJlbW92YWJsZSI6IHRydWUs ICJ0cmF5X29wZW4iOiBmYWxzZSwgInR5cGUiOiAidW5rbm93biJ9XX0KQEAgLTQ4LDcgKzQ2 LDYgQEAKIHsicmV0dXJuIjoge319CiB7InJldHVybiI6IHt9fQogeyJyZXR1cm4iOiB7fX0K LXsidGltZXN0YW1wIjogeyJzZWNvbmRzIjogIFRJTUVTVEFNUCwgIm1pY3Jvc2Vjb25kcyI6 ICBUSU1FU1RBTVB9LCAiZXZlbnQiOiAiREVWSUNFX0RFTEVURUQiLCAiZGF0YSI6IHsicGF0 aCI6ICIvbWFjaGluZS9wZXJpcGhlcmFsL3ZpcnRpbzAvdmlydGlvLWJhY2tlbmQifX0KIHsi dGltZXN0YW1wIjogeyJzZWNvbmRzIjogIFRJTUVTVEFNUCwgIm1pY3Jvc2Vjb25kcyI6ICBU SU1FU1RBTVB9LCAiZXZlbnQiOiAiREVWSUNFX0RFTEVURUQiLCAiZGF0YSI6IHsiZGV2aWNl IjogInZpcnRpbzAiLCAicGF0aCI6ICIvbWFjaGluZS9wZXJpcGhlcmFsL3ZpcnRpbzAifX0K IHsidGltZXN0YW1wIjogeyJzZWNvbmRzIjogIFRJTUVTVEFNUCwgIm1pY3Jvc2Vjb25kcyI6 ICBUSU1FU1RBTVB9LCAiZXZlbnQiOiAiUkVTRVQifQogeyJyZXR1cm4iOiBbeyJpby1zdGF0 dXMiOiAib2siLCAiZGV2aWNlIjogImlkZTEtY2QwIiwgImxvY2tlZCI6IGZhbHNlLCAicmVt b3ZhYmxlIjogdHJ1ZSwgInRyYXlfb3BlbiI6IGZhbHNlLCAidHlwZSI6ICJ1bmtub3duIn0s IHsiZGV2aWNlIjogImZsb3BweTAiLCAibG9ja2VkIjogZmFsc2UsICJyZW1vdmFibGUiOiB0 cnVlLCAidHJheV9vcGVuIjogZmFsc2UsICJ0eXBlIjogInVua25vd24ifSwgeyJkZXZpY2Ui OiAic2QwIiwgImxvY2tlZCI6IGZhbHNlLCAicmVtb3ZhYmxlIjogdHJ1ZSwgInRyYXlfb3Bl biI6IGZhbHNlLCAidHlwZSI6ICJ1bmtub3duIn1dfQpAQCAtNjgsNyArNjUsNiBAQAogeyJy ZXR1cm4iOiB7fX0KIHsicmV0dXJuIjoge319CiB7InJldHVybiI6IHt9fQoteyJ0aW1lc3Rh bXAiOiB7InNlY29uZHMiOiAgVElNRVNUQU1QLCAibWljcm9zZWNvbmRzIjogIFRJTUVTVEFN UH0sICJldmVudCI6ICJERVZJQ0VfREVMRVRFRCIsICJkYXRhIjogeyJwYXRoIjogIi9tYWNo aW5lL3BlcmlwaGVyYWwvdmlydGlvMC92aXJ0aW8tYmFja2VuZCJ9fQogeyJ0aW1lc3RhbXAi OiB7InNlY29uZHMiOiAgVElNRVNUQU1QLCAibWljcm9zZWNvbmRzIjogIFRJTUVTVEFNUH0s ICJldmVudCI6ICJERVZJQ0VfREVMRVRFRCIsICJkYXRhIjogeyJkZXZpY2UiOiAidmlydGlv MCIsICJwYXRoIjogIi9tYWNoaW5lL3BlcmlwaGVyYWwvdmlydGlvMCJ9fQogeyJ0aW1lc3Rh bXAiOiB7InNlY29uZHMiOiAgVElNRVNUQU1QLCAibWljcm9zZWNvbmRzIjogIFRJTUVTVEFN UH0sICJldmVudCI6ICJSRVNFVCJ9CiB7InJldHVybiI6IFt7ImlvLXN0YXR1cyI6ICJvayIs ICJkZXZpY2UiOiAiaWRlMS1jZDAiLCAibG9ja2VkIjogZmFsc2UsICJyZW1vdmFibGUiOiB0 cnVlLCAidHJheV9vcGVuIjogZmFsc2UsICJ0eXBlIjogInVua25vd24ifSwgeyJkZXZpY2Ui OiAiZmxvcHB5MCIsICJsb2NrZWQiOiBmYWxzZSwgInJlbW92YWJsZSI6IHRydWUsICJ0cmF5 X29wZW4iOiBmYWxzZSwgInR5cGUiOiAidW5rbm93biJ9LCB7ImRldmljZSI6ICJzZDAiLCAi bG9ja2VkIjogZmFsc2UsICJyZW1vdmFibGUiOiB0cnVlLCAidHJheV9vcGVuIjogZmFsc2Us ICJ0eXBlIjogInVua25vd24ifSwgeyJpby1zdGF0dXMiOiAib2siLCAiZGV2aWNlIjogImRp c2siLCAibG9ja2VkIjogZmFsc2UsICJyZW1vdmFibGUiOiB0cnVlLCAiaW5zZXJ0ZWQiOiB7 ImlvcHNfcmQiOiAwLCAiZGV0ZWN0X3plcm9lcyI6ICJvZmYiLCAiaW1hZ2UiOiB7InZpcnR1 YWwtc2l6ZSI6IDEzNDIxNzcyOCwgImZpbGVuYW1lIjogIlRFU1RfRElSL3QucWNvdzIiLCAi Y2x1c3Rlci1zaXplIjogNjU1MzYsICJmb3JtYXQiOiAicWNvdzIiLCAiYWN0dWFsLXNpemUi OiBTSVpFLCAiZm9ybWF0LXNwZWNpZmljIjogeyJ0eXBlIjogInFjb3cyIiwgImRhdGEiOiB7 ImNvbXBhdCI6ICIxLjEiLCAibGF6eS1yZWZjb3VudHMiOiBmYWxzZX19LCAiZGlydHktZmxh ZyI6IGZhbHNlfSwgImlvcHNfd3IiOiAwLCAicm8iOiBmYWxzZSwgImJhY2tpbmdfZmlsZV9k ZXB0aCI6IDAsICJkcnYiOiAicWNvdzIiLCAiaW9wcyI6IDAsICJicHNfd3IiOiAwLCAiZW5j cnlwdGVkIjogZmFsc2UsICJicHMiOiAwLCAiYnBzX3JkIjogMCwgImZpbGUiOiAiVEVTVF9E SVIvdC5xY293MiIsICJlbmNyeXB0aW9uX2tleV9taXNzaW5nIjogZmFsc2V9LCAidHJheV9v cGVuIjogZmFsc2UsICJ0eXBlIjogInVua25vd24ifV19CkZhaWx1cmVzOiAwNDAgMDQxIDA2 NwpGYWlsZWQgMyBvZiAzIHRlc3RzCg== --------------050804070708040705060807--